@bpfdev/oly-ui 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/components/AddCommentInput/AddCommentInput.tsx","../src/components/AdvancedFiltersDialog/AdvancedFiltersDialog.tsx","../src/components/FalconMultiSelect/FalconMultiSelect.tsx","../src/components/ButtonWithIcon/ButtonWithIcon.tsx","../src/components/FalconButton/FalconButton.tsx","../src/components/FalconDIstrictFilter/FalconDIstrictFilter.tsx","../src/components/FalconGrayButton/FalconGrayButton.tsx","../src/components/FalconPagination/FalconPagination.tsx","../src/components/FalconSelect/FalconSelect.tsx","../src/components/FalconSingleSwitch/FalconSingleSwitch.tsx","../src/components/FalconTable/FalconTable.tsx","../src/components/FalconTicketColumsFilter/FalconTicketColumsFilter.tsx","../src/components/FalconTicketFilter/FalconTicketFilter.tsx","../src/components/HeatMapChartLegend/HeatMapChartLegend.tsx","../src/components/ProgressBarNumber/ProgressBarNumber.tsx","../src/components/FalconThemeProvider/FalconThemeProvider.tsx"],"sourcesContent":["// Core components\nexport { AddCommentInput } from './components/AddCommentInput';\nexport type { AddCommentInputProps } from './components/AddCommentInput';\nexport { AdvancedFiltersDialog } from './components/AdvancedFiltersDialog';\nexport type { AdvancedFiltersDialogProps } from './components/AdvancedFiltersDialog';\nexport { ButtonWithIcon } from './components/ButtonWithIcon';\nexport type { ButtonWithIconProps } from './components/ButtonWithIcon';\nexport { FalconButton } from './components/FalconButton';\nexport type { FalconButtonProps } from './components/FalconButton';\nexport { FalconDIstrictFilter } from './components/FalconDIstrictFilter';\nexport type {\n FalconDIstrictFilterOption,\n FalconDIstrictFilterProps,\n} from './components/FalconDIstrictFilter';\nexport { FalconGrayButton } from './components/FalconGrayButton';\nexport type { FalconGrayButtonProps } from './components/FalconGrayButton';\nexport { FalconMultiSelect } from './components/FalconMultiSelect';\nexport type {\n FalconMultiSelectOption,\n FalconMultiSelectStyleProps,\n FalconMultiSelectProps,\n} from './components/FalconMultiSelect';\nexport { FalconPagination } from './components/FalconPagination';\nexport type { FalconPaginationProps } from './components/FalconPagination';\nexport { FalconSelect } from './components/FalconSelect';\nexport type {\n FalconSelectOption,\n FalconSelectProps,\n} from './components/FalconSelect';\nexport { FalconSingleSwitch } from './components/FalconSingleSwitch';\nexport type { FalconSingleSwitchProps } from './components/FalconSingleSwitch';\nexport { FalconTable } from './components/FalconTable';\nexport type { FalconTableProps } from './components/FalconTable';\nexport { FalconTicketColumsFilter } from './components/FalconTicketColumsFilter';\nexport type { FalconTicketColumsFilterProps } from './components/FalconTicketColumsFilter';\nexport { FalconTicketFilter } from './components/FalconTicketFilter';\nexport type { FalconTicketFilterProps } from './components/FalconTicketFilter';\nexport { HeatMapChartLegend } from './components/HeatMapChartLegend';\nexport type {\n HeatMapChartLegendProps,\n HeatMapLegendItem,\n} from './components/HeatMapChartLegend';\nexport { ProgressBarNumber } from './components/ProgressBarNumber';\nexport type { ProgressBarNumberProps } from './components/ProgressBarNumber';\n\n// Theme\nexport { FalconThemeProvider } from './components/FalconThemeProvider';\nexport type {\n FalconThemeMode,\n FalconThemeDirection,\n FalconThemeSettings,\n FalconThemeProviderProps,\n} from './components/FalconThemeProvider';\n","import { Button, InputAdornment, TextField } from '@mui/material';\nimport type { ChangeEvent } from 'react';\nimport type { AddCommentInputProps } from './AddCommentInput.types';\n\nexport const AddCommentInput = ({\n value,\n setValue,\n handleAddComment,\n placeholder = 'Write Comment here',\n buttonLabel = 'Add Comment',\n}: AddCommentInputProps) => {\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value);\n };\n\n return (\n <TextField\n label=\"\"\n fullWidth\n sx={{ width: '550px', maxWidth: '100%' }}\n value={value}\n placeholder={placeholder}\n onChange={handleChange}\n type=\"text\"\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <Button\n variant=\"contained\"\n sx={{\n background: '#000',\n color: '#fff',\n position: 'absolute',\n right: 0,\n top: 0,\n padding: '16px',\n cursor: 'pointer',\n borderRadius: '0 5px 5px 0',\n }}\n onClick={handleAddComment}\n onMouseDown={(e) => e.preventDefault()}\n >\n {buttonLabel}\n </Button>\n </InputAdornment>\n ),\n }}\n />\n );\n};\n","import { Close as CloseIcon } from '@mui/icons-material';\nimport {\n\tBox,\n\tButton,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tDialogTitle,\n\tIconButton,\n\tTypography,\n} from '@mui/material';\nimport { FalconMultiSelect } from '../FalconMultiSelect';\nimport type { AdvancedFiltersDialogProps } from './AdvancedFiltersDialog.types';\n\nconst defaultLocationOptions = [\n\t{ id: 1, label: 'Location A' },\n\t{ id: 2, label: 'Location B' },\n];\n\nconst defaultBusinessAreaOptions = [\n\t{ id: 1, label: 'Retail' },\n\t{ id: 2, label: 'Healthcare' },\n];\n\nexport const AdvancedFiltersDialog = ({\n\topen,\n\tonClose,\n\tlocationOptions = defaultLocationOptions.map((option) => ({\n\t\tid: option.id,\n\t\tname: option.label,\n\t})),\n\tbusinessAreaOptions = defaultBusinessAreaOptions.map((option) => ({\n\t\tid: option.id,\n\t\tname: option.label,\n\t})),\n\tselectedLocations = [],\n\tselectedBusinessAreas = [],\n\tonLocationsChange = () => { },\n\tonBusinessAreasChange = () => { },\n\tonApply,\n\tonCancel,\n}: AdvancedFiltersDialogProps) => {\n\tconst handleApply = () => {\n\t\tonApply?.();\n\t\tonClose();\n\t};\n\n\tconst handleCancel = () => {\n\t\tonCancel?.();\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Dialog open={open} onClose={onClose} maxWidth=\"sm\" fullWidth>\n\t\t\t<DialogTitle>\n\t\t\t\t<Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\">\n\t\t\t\t\t<Typography variant=\"h6\">Advanced Filters</Typography>\n\t\t\t\t\t<IconButton onClick={onClose} size=\"small\" aria-label=\"Close\">\n\t\t\t\t\t\t<CloseIcon />\n\t\t\t\t\t</IconButton>\n\t\t\t\t</Box>\n\t\t\t</DialogTitle>\n\t\t\t<DialogContent>\n\t\t\t\t<Box sx={{ display: 'flex', flexDirection: 'column', gap: 2, pt: 1 }}>\n\t\t\t\t\t<FalconMultiSelect\n\t\t\t\t\t\tlabel=\"Locations\"\n\t\t\t\t\t\tlist={locationOptions}\n\t\t\t\t\t\tdata={selectedLocations}\n\t\t\t\t\t\tsetData={onLocationsChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<FalconMultiSelect\n\t\t\t\t\t\tlabel=\"Business Areas\"\n\t\t\t\t\t\tlist={businessAreaOptions}\n\t\t\t\t\t\tdata={selectedBusinessAreas}\n\t\t\t\t\t\tsetData={onBusinessAreasChange}\n\t\t\t\t\t/>\n\t\t\t\t</Box>\n\t\t\t</DialogContent>\n\t\t\t<DialogActions>\n\t\t\t\t<Button onClick={handleCancel}>Cancel</Button>\n\t\t\t\t<Button variant=\"contained\" onClick={handleApply}>\n\t\t\t\t\tApply\n\t\t\t\t</Button>\n\t\t\t</DialogActions>\n\t\t</Dialog>\n\t);\n};\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport { Icon } from '@iconify/react';\nimport { Stack, Typography } from '@mui/material';\nimport Autocomplete, {\n AutocompleteCloseReason,\n autocompleteClasses,\n} from '@mui/material/Autocomplete';\nimport Box from '@mui/material/Box';\nimport ButtonBase from '@mui/material/ButtonBase';\nimport Checkbox from '@mui/material/Checkbox';\nimport ClickAwayListener from '@mui/material/ClickAwayListener';\nimport Popper from '@mui/material/Popper';\nimport TextField from '@mui/material/TextField';\nimport { styled } from '@mui/material/styles';\nimport * as React from 'react';\nimport type {\n FalconMultiSelectOption,\n FalconMultiSelectProps,\n} from './FalconMultiSelect.types';\n\nexport const FalconMultiSelect = ({\n // core\n label,\n data,\n setData,\n list,\n // trigger\n triggerBg = '#EFEFEF',\n triggerColor,\n triggerMinWidth = 250,\n triggerBorderRadius = '6px',\n triggerSx,\n // popper panel\n popperWidth = 300,\n popperBorderColor = '#e1e4e8',\n popperBorderColorDark = '#30363d',\n popperBg = '#fff',\n popperBgDark = '#1c2128',\n popperColor = '#24292e',\n popperColorDark = '#c9d1d9',\n // options\n optionBorderColor = '#D6D6D6',\n optionHeight = 60,\n checkboxColor = 'green',\n checkboxCheckedColor = '#6750A4',\n // search\n searchLabel = 'Search State',\n searchIconColor = '#49454F',\n // buttons\n applyBg = '#333',\n applyColor = 'white',\n applyLabel = 'Apply',\n clearColor = 'black',\n clearLabel = 'Clear',\n}: FalconMultiSelectProps) => {\n const [checked, setChecked] = React.useState<FalconMultiSelectOption[]>(\n data ?? []\n );\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const [pendingValue, setPendingValue] = React.useState<\n FalconMultiSelectOption[]\n >([]);\n\n const open = Boolean(anchorEl);\n const id = open ? 'falcon-multiselect' : undefined;\n\n const handleClick = (event: React.MouseEvent<HTMLElement>) => {\n setPendingValue(checked);\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n if (anchorEl) anchorEl.focus();\n setAnchorEl(null);\n };\n\n const handleApply = () => {\n setData(checked);\n handleClose();\n };\n\n const handleClear = () => {\n setChecked([]);\n setData([]);\n handleClose();\n };\n\n const handleToggle = (option: FalconMultiSelectOption) => {\n setChecked(prev => {\n const exists = prev.some(x => x.id === option.id);\n return exists ? prev.filter(x => x.id !== option.id) : [...prev, option];\n });\n };\n\n const triggerLabel =\n checked.length === 0\n ? `Filter by ${label}`\n : checked.length === 1\n ? checked[0].name\n : `${checked[0].name}, ${checked[1].name}${checked.length > 2 ? '…' : ''}`;\n\n return (\n <React.Fragment>\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap={2}\n onClick={handleClick}\n sx={{\n minWidth: triggerMinWidth,\n background: triggerBg,\n borderRadius: triggerBorderRadius,\n cursor: 'pointer',\n padding: '12px',\n ...(triggerColor ? { color: triggerColor } : {}),\n ...triggerSx,\n }}\n >\n <Typography\n variant=\"body2\"\n sx={triggerColor ? { color: triggerColor } : undefined}\n >\n {triggerLabel}\n </Typography>\n <Icon\n icon={open ? 'tabler:chevron-up' : 'tabler:chevron-down'}\n color={triggerColor}\n />\n </Stack>\n\n <StyledPopper\n id={id}\n open={open}\n anchorEl={anchorEl}\n placement=\"bottom-start\"\n ownerState={{\n popperWidth,\n popperBorderColor,\n popperBorderColorDark,\n popperBg,\n popperBgDark,\n popperColor,\n popperColorDark,\n }}\n >\n <ClickAwayListener onClickAway={handleClose}>\n <div>\n <Autocomplete\n open\n multiple\n onClose={(\n _: React.SyntheticEvent,\n reason: AutocompleteCloseReason\n ) => {\n if (reason === 'escape') handleClose();\n }}\n value={pendingValue}\n onChange={(_, newValue) => setPendingValue(newValue)}\n disableCloseOnSelect\n slots={{ popper: PopperComponent }}\n noOptionsText=\"No labels\"\n options={list}\n getOptionLabel={option => option.name}\n isOptionEqualToValue={(option, val) => option.id === val.id}\n renderOption={(props, option) => (\n <li\n {...props}\n key={option.id}\n style={{\n height: optionHeight,\n border: `1px solid ${optionBorderColor}`,\n margin: '16px 12px',\n flexShrink: 0,\n borderRadius: 6,\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <Box\n sx={{\n flexGrow: 3,\n borderRadius: '3px',\n ml: 1,\n mt: '1px',\n justifyContent: 'start',\n alignItems: 'center',\n width: '80%',\n fontSize: '13px',\n }}\n >\n {option.name}\n </Box>\n <Box\n component=\"span\"\n sx={{\n flexShrink: 0,\n borderRadius: '3px',\n mr: 1,\n mt: '2px',\n flexGrow: 1,\n justifyContent: 'end',\n width: '20%',\n alignItems: 'center',\n }}\n >\n <Checkbox\n slotProps={{ input: { 'aria-label': option.name } }}\n checked={checked.some(x => x.id === option.id)}\n onChange={() => handleToggle(option)}\n sx={{\n color: checkboxColor,\n '&.Mui-checked': { color: checkboxCheckedColor },\n }}\n />\n </Box>\n </li>\n )}\n renderInput={params => (\n <Box\n sx={{\n position: 'relative',\n '& > :not(style)': { width: '100%' },\n }}\n >\n <TextField\n label={searchLabel}\n variant=\"filled\"\n sx={{\n width: '100%',\n margin: '10px',\n '& > :not(style)': { width: '94%' },\n }}\n ref={params.InputProps.ref}\n slotProps={{ htmlInput: params.inputProps }}\n />\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ position: 'absolute', left: 110, top: 30 }}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.76 13.27L20.49 19L19 20.49L13.27 14.76C12.2 15.53 10.91 16 9.5 16C5.91 16 3 13.09 3 9.5C3 5.91 5.91 3 9.5 3C13.09 3 16 5.91 16 9.5C16 10.91 15.53 12.2 14.76 13.27ZM9.5 5C7.01 5 5 7.01 5 9.5C5 11.99 7.01 14 9.5 14C11.99 14 14 11.99 14 9.5C14 7.01 11.99 5 9.5 5Z\"\n fill={searchIconColor}\n />\n </svg>\n </Box>\n )}\n />\n\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n m: '8px',\n height: 110,\n }}\n >\n <ActionButton\n onClick={handleApply}\n sx={{\n height: '42px',\n borderRadius: '3px',\n background: applyBg,\n margin: '5px 0 10px 0',\n color: applyColor,\n }}\n >\n {applyLabel}\n </ActionButton>\n <ActionButton\n onClick={handleClear}\n sx={{\n height: '42px',\n borderRadius: '3px',\n mb: '8px',\n color: clearColor,\n }}\n >\n {clearLabel}\n </ActionButton>\n </Box>\n </div>\n </ClickAwayListener>\n </StyledPopper>\n </React.Fragment>\n );\n};\n\n// ─── Internal types ──────────────────────────────────────────────────────────\n\ninterface PopperComponentProps {\n anchorEl?: unknown;\n disablePortal?: boolean;\n open: boolean;\n}\n\ninterface StyledPopperOwnerState {\n popperWidth: number | string;\n popperBorderColor: string;\n popperBorderColorDark: string;\n popperBg: string;\n popperBgDark: string;\n popperColor: string;\n popperColorDark: string;\n}\n\n// ─── Styled components ───────────────────────────────────────────────────────\n\nconst StyledAutocompletePopper = styled('div')(({ theme }) => ({\n [`& .${autocompleteClasses.paper}`]: {\n boxShadow: 'none',\n color: 'inherit',\n fontSize: 13,\n },\n [`& .${autocompleteClasses.listbox}`]: {\n backgroundColor: theme.palette.mode === 'light' ? '#fff' : '#1c2128',\n padding: 0,\n [`& .${autocompleteClasses.option}`]: {\n minHeight: 'auto',\n alignItems: 'flex-start',\n padding: 8,\n borderBottom: `1px solid ${theme.palette.mode === 'light' ? '#eaecef' : '#30363d'}`,\n '&[aria-selected=\"true\"]': { backgroundColor: 'transparent' },\n [`&.${autocompleteClasses.focused}, &.${autocompleteClasses.focused}[aria-selected=\"true\"]`]:\n {\n backgroundColor: theme.palette.action.hover,\n },\n },\n },\n [`&.${autocompleteClasses.popperDisablePortal}`]: { position: 'relative' },\n}));\n\nfunction PopperComponent({\n disablePortal: _d,\n anchorEl: _a,\n open: _o,\n ...other\n}: PopperComponentProps) {\n return <StyledAutocompletePopper {...other} />;\n}\n\nconst StyledPopper = styled(Popper, {\n shouldForwardProp: prop => prop !== 'ownerState',\n})<{ ownerState: StyledPopperOwnerState }>(({ theme, ownerState }) => ({\n border: `1px solid ${theme.palette.mode === 'light' ? ownerState.popperBorderColor : ownerState.popperBorderColorDark}`,\n boxShadow: `0 8px 24px ${theme.palette.mode === 'light' ? 'rgba(149, 157, 165, 0.2)' : 'rgb(1, 4, 9)'}`,\n borderRadius: 6,\n width: ownerState.popperWidth,\n zIndex: theme.zIndex.modal,\n fontSize: 13,\n color:\n theme.palette.mode === 'light'\n ? ownerState.popperColor\n : ownerState.popperColorDark,\n backgroundColor:\n theme.palette.mode === 'light'\n ? ownerState.popperBg\n : ownerState.popperBgDark,\n}));\n\nconst ActionButton = styled(ButtonBase)(() => ({\n fontSize: 13,\n width: '100%',\n textAlign: 'left',\n paddingBottom: 8,\n fontWeight: 600,\n '& span': { width: '100%' },\n '& svg': { width: 16, height: 16 },\n}));\n","import { Box, Button, Typography } from '@mui/material';\nimport type { ButtonWithIconProps } from './ButtonWithIcon.types';\n\nexport const ButtonWithIcon = ({\n size = 'large',\n variant = 'contained',\n children,\n icon,\n ...props\n}: ButtonWithIconProps) => (\n <Button\n fullWidth\n size={size}\n variant={variant}\n sx={{ minWidth: '200px', maxWidth: '250px', backgroundColor: 'white', color: 'black' }}\n {...props}\n >\n <Box display=\"flex\" gap={1} justifyContent=\"space-between\" alignItems=\"center\">\n <Typography variant=\"inherit\">{children}</Typography>\n {icon && (\n <Box mt={0.25} ml={0.5}>\n {icon}\n </Box>\n )}\n </Box>\n </Button>\n);\n","import { Button as MuiButton, CircularProgress } from '@mui/material';\nimport type { FalconButtonProps } from './FalconButton.types';\n\nexport const FalconButton = ({\n loading = false,\n disabled,\n children,\n size = 'large',\n variant = 'contained',\n type = 'submit',\n fullWidth = true,\n className = 'falcon-btn',\n ...props\n}: FalconButtonProps) => (\n <MuiButton\n disabled={disabled || loading}\n size={size}\n variant={variant}\n type={type}\n fullWidth={fullWidth}\n className={className}\n {...props}\n >\n {loading ? <CircularProgress size={16} color=\"inherit\" /> : children}\n </MuiButton>\n);\n","import { Autocomplete, TextField } from '@mui/material';\nimport type { FalconDIstrictFilterProps } from './FalconDIstrictFilter.types';\n\n/** District filter — full implementation can be migrated from apps/docs. */\nexport const FalconDIstrictFilter = ({\n label = 'District',\n options = [],\n value = [],\n onChange,\n}: FalconDIstrictFilterProps) => (\n <Autocomplete\n multiple\n options={options}\n value={value}\n onChange={(_, newValue) => onChange?.(newValue)}\n getOptionLabel={(opt) =>\n typeof opt === 'object' && opt !== null ? opt.label : ''\n }\n isOptionEqualToValue={(a, b) => a.id === b.id}\n renderInput={(params) => (\n <TextField {...params} label={label} placeholder=\"Select districts\" />\n )}\n />\n);\n","import { Box, Stack, Typography, useTheme } from '@mui/material';\nimport type { FalconGrayButtonProps } from './FalconGrayButton.types';\n\nexport const FalconGrayButton = ({\n text,\n Icon,\n onClick,\n}: FalconGrayButtonProps) => {\n const theme = useTheme();\n return (\n <Box\n sx={{\n cursor: onClick ? 'pointer' : 'default',\n padding: 4,\n borderRadius: '8px',\n background: theme.palette.secondary?.light ?? '#f0f0f0',\n }}\n onClick={onClick}\n role={onClick ? 'button' : undefined}\n >\n <Stack direction=\"row\" justifyContent=\"center\" gap={4} alignItems=\"center\">\n {Icon}\n <Typography fontSize={12} align=\"center\" fontWeight=\"bold\">\n {text}\n </Typography>\n </Stack>\n </Box>\n );\n};\n","import { Box, Divider, Stack } from '@mui/material';\nimport type { FalconPaginationProps } from './FalconPagination.types';\n\nconst selectStyle = {\n border: 'none',\n backgroundColor: 'transparent',\n padding: '5px 10px',\n fontSize: '14px',\n fontWeight: 500,\n color: '#555770',\n cursor: 'pointer',\n outline: 'none',\n} as const;\n\nconst optionStyle = { padding: '5px 10px' } as const;\n\nconst btnStyle = {\n border: 'none',\n backgroundColor: 'transparent',\n padding: '5px 10px',\n cursor: 'pointer',\n outline: 'none',\n} as const;\n\nexport const FalconPagination = ({\n pageNo,\n setPageNo,\n perPage,\n setPerPage,\n totalItems,\n perPageOptions = [12, 24, 36],\n}: FalconPaginationProps) => {\n const totalPage = Math.ceil(totalItems / perPage) || 1;\n\n return (\n <Stack\n spacing={2}\n alignItems=\"center\"\n direction=\"row\"\n width=\"100%\"\n bgcolor=\"#F0F0F0\"\n >\n <Box>\n <select\n style={selectStyle}\n value={perPage}\n onChange={(e) => setPerPage(Number(e.target.value))}\n aria-label=\"Items per page\"\n >\n {perPageOptions.map((n) => (\n <option key={n} style={optionStyle} value={n}>\n {n}\n </option>\n ))}\n </select>\n </Box>\n <Divider orientation=\"vertical\" flexItem />\n\n <Box sx={{ flex: 1 }}>\n <Box sx={{ color: '#525252', fontFamily: 'roboto' }}>\n {perPage * (pageNo - 1) + 1} - {Math.min(perPage * pageNo, totalItems)}{' '}\n of {totalItems} items\n </Box>\n </Box>\n <Divider orientation=\"vertical\" flexItem />\n\n <Stack alignItems=\"center\" direction=\"row\" gap={1}>\n <Box>\n <select\n style={selectStyle}\n value={pageNo}\n onChange={(e) => setPageNo(Number(e.target.value))}\n aria-label=\"Page number\"\n >\n {Array.from({ length: totalPage }, (_, i) => (\n <option key={i} style={optionStyle} value={i + 1}>\n {i + 1}\n </option>\n ))}\n </select>\n </Box>\n <Box sx={{ color: '#525252', fontFamily: 'roboto' }}>\n of {totalPage} pages\n </Box>\n </Stack>\n\n <Divider orientation=\"vertical\" flexItem />\n\n <Stack direction=\"row\" gap={1}>\n <button\n type=\"button\"\n disabled={pageNo === 1}\n onClick={() => setPageNo(pageNo - 1)}\n style={btnStyle}\n aria-label=\"Previous page\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path d=\"M10 12L5 8L10 4V12Z\" fill=\"#161616\" />\n </svg>\n </button>\n <button\n type=\"button\"\n disabled={pageNo === totalPage}\n onClick={() => setPageNo(pageNo + 1)}\n style={btnStyle}\n aria-label=\"Next page\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path d=\"M6 4L11 8L6 12V4Z\" fill=\"#161616\" />\n </svg>\n </button>\n </Stack>\n </Stack>\n );\n};\n","import {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n SelectChangeEvent,\n} from '@mui/material';\nimport type { FalconSelectProps } from './FalconSelect.types';\n\nfunction normalizeOptions(\n options: string[] | { value: string; label: string }[]\n): { value: string; label: string }[] {\n return options.map((opt) =>\n typeof opt === 'string' ? { value: opt.toLowerCase(), label: opt } : opt\n );\n}\n\nexport const FalconSelect = ({\n label,\n value,\n onChange,\n options,\n disabled = false,\n clearable = true,\n}: FalconSelectProps) => {\n const items = normalizeOptions(options);\n const handleChange = (event: SelectChangeEvent<string>) => {\n const v = event.target.value as string;\n onChange(v !== '' ? v : '');\n };\n\n return (\n <FormControl variant=\"filled\" fullWidth color=\"primary\">\n <InputLabel id={`falcon-select-${label}-label`}>\n Select {label} *\n </InputLabel>\n <Select\n disabled={disabled}\n value={value?.toLowerCase() ?? ''}\n label={`Select ${label}`}\n onChange={handleChange}\n labelId={`falcon-select-${label}-label`}\n id={`falcon-select-${label}`}\n >\n {clearable && (\n <MenuItem value=\"\">\n <em>--Clear--</em>\n </MenuItem>\n )}\n {items.map((item, i) => (\n <MenuItem key={i} value={item.value}>\n {item.label}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n};\n","import Stack from '@mui/material/Stack';\nimport Switch from '@mui/material/Switch';\nimport { styled } from '@mui/material/styles';\nimport type { FalconSingleSwitchProps } from './FalconSingleSwitch.types';\n\nconst AntSwitch = styled(Switch)(() => ({\n width: 28,\n height: 16,\n padding: 0,\n display: 'flex',\n '&:active': {\n '& .MuiSwitch-thumb': { width: 15 },\n '& .MuiSwitch-switchBase.Mui-checked': { transform: 'translateX(9px)' },\n },\n '& .MuiSwitch-switchBase': {\n padding: 2,\n '&.Mui-checked': {\n transform: 'translateX(12px)',\n color: '#fff',\n '& + .MuiSwitch-track': { opacity: 1 },\n },\n },\n '& .MuiSwitch-thumb': {\n boxShadow: '0 2px 4px 0 rgb(0 35 11 / 20%)',\n width: 12,\n height: 12,\n borderRadius: 6,\n },\n '& .MuiSwitch-track': {\n borderRadius: 8,\n opacity: 1,\n backgroundColor: 'rgba(0,0,0,.25)',\n boxSizing: 'border-box',\n },\n}));\n\nexport const FalconSingleSwitch = ({\n color,\n setStatus,\n value = false,\n onChange,\n}: FalconSingleSwitchProps) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>, checked: boolean) => {\n setStatus?.(checked);\n onChange?.(event, checked);\n };\n\n return (\n <Stack direction=\"row\" margin={2} spacing={1} alignItems=\"center\">\n <AntSwitch\n checked={value}\n onChange={handleChange}\n color={color}\n size=\"medium\"\n inputProps={{ 'aria-label': 'toggle' }}\n />\n </Stack>\n );\n};\n","import { Box } from '@mui/material';\nimport { DataGrid } from '@mui/x-data-grid';\nimport { useState } from 'react';\nimport type { FalconTableProps } from './FalconTable.types';\n\nexport const FalconTable = <T extends Record<string, unknown>>({\n rows,\n getRowId,\n columns,\n pageSizeOptions = [7, 10, 25, 50],\n}: FalconTableProps<T>) => {\n const [paginationModel, setPaginationModel] = useState({\n page: 0,\n pageSize: 7,\n });\n\n return (\n <Box\n sx={{\n border: '2px solid #F2F2F2',\n padding: '16px',\n borderRadius: '12px',\n }}\n >\n <DataGrid\n autoHeight\n sx={{\n minHeight: '48px',\n '& .MuiDataGrid-columnHeaders': {\n borderBottom: '0px',\n borderRadius: '6px !important',\n },\n '& .MuiDataGrid-columnHeaderTitle': {\n color: '#7A7A7A !important',\n },\n }}\n rows={rows ?? []}\n getRowId={getRowId}\n columns={columns}\n disableRowSelectionOnClick\n pageSizeOptions={pageSizeOptions}\n paginationModel={paginationModel}\n onPaginationModelChange={setPaginationModel}\n />\n </Box>\n );\n};\n","import { Box, Typography } from '@mui/material';\nimport type { FalconTicketColumsFilterProps } from './FalconTicketColumsFilter.types';\n\n/** Column filter UI — full implementation can be migrated from apps/docs. */\nexport const FalconTicketColumsFilter = ({\n columns = [],\n selected = [],\n onSelectionChange,\n}: FalconTicketColumsFilterProps) => (\n <Box sx={{ p: 2, minWidth: 280 }}>\n <Typography variant=\"subtitle2\" gutterBottom>\n Select columns\n </Typography>\n {columns.length === 0 ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n No columns configured. Pass columns prop.\n </Typography>\n ) : (\n <Typography variant=\"body2\">\n {selected.length} of {columns.length} selected\n </Typography>\n )}\n {onSelectionChange && (\n <Typography variant=\"caption\" display=\"block\" sx={{ mt: 1 }}>\n (Column checkboxes to be wired from app)\n </Typography>\n )}\n </Box>\n);\n","import { Button, Popover } from '@mui/material';\nimport { useState } from 'react';\nimport type { FalconTicketFilterProps } from './FalconTicketFilter.types';\n\nexport const FalconTicketFilter = ({\n children,\n label = 'FILTERS',\n open: controlledOpen,\n onOpenChange,\n}: FalconTicketFilterProps) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const open = controlledOpen ?? internalOpen;\n const setOpen = onOpenChange ?? setInternalOpen;\n\n const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n setOpen(true);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n setOpen(false);\n };\n\n return (\n <>\n <Button onClick={handleClick} variant=\"outlined\" size=\"medium\">\n {label}\n </Button>\n <Popover\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n >\n <div style={{ padding: 16, minWidth: 280 }}>{children}</div>\n </Popover>\n </>\n );\n};\n","import type { HeatMapChartLegendProps } from './HeatMapChartLegend.types';\n\nexport const HeatMapChartLegend = ({\n title,\n items,\n gradientId,\n gradientStops,\n}: HeatMapChartLegendProps) => (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '12px',\n marginBottom: '16px',\n fontFamily: 'sans-serif',\n }}\n >\n <span\n style={{\n fontSize: '12px',\n fontWeight: 700,\n color: '#374151',\n minWidth: '80px',\n textAlign: 'right',\n }}\n >\n {title}\n </span>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n flex: 1,\n maxWidth: '600px',\n }}\n >\n <svg\n width=\"100%\"\n height=\"32\"\n style={{ filter: 'drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1))' }}\n >\n <defs>\n <linearGradient\n id={gradientId}\n x1=\"0%\"\n y1=\"0%\"\n x2=\"100%\"\n y2=\"0%\"\n >\n {gradientStops.map((stop, index) => (\n <stop\n key={index}\n offset={stop.offset}\n stopColor={stop.color}\n stopOpacity=\"1\"\n />\n ))}\n </linearGradient>\n </defs>\n <rect\n width=\"100%\"\n height=\"100%\"\n fill={`url(#${gradientId})`}\n />\n </svg>\n <div\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingLeft: '16px',\n paddingRight: '16px',\n }}\n >\n {items.map((item, index) => (\n <span\n key={index}\n style={{\n fontSize: '9px',\n fontWeight: 600,\n color: 'white',\n textShadow: '0 1px 2px rgba(0, 0, 0, 0.5)',\n letterSpacing: '0.025em',\n }}\n >\n {item.label}\n </span>\n ))}\n </div>\n </div>\n </div>\n);\n","import type { ProgressBarNumberProps } from './ProgressBarNumber.types';\n\nconst FullProgress = ({\n number,\n numColor,\n}: Omit<ProgressBarNumberProps, 'progress'>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={56}\n height={56}\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n >\n <circle\n cx={28}\n cy={28}\n r={26}\n fill=\"#D9D9D9\"\n stroke=\"#222222\"\n strokeWidth={4}\n />\n <text x={28} y={36} fontSize={24} textAnchor=\"middle\" fill={numColor}>\n {number}\n </text>\n </svg>\n);\n\nconst HalfProgress = ({\n number,\n numColor,\n}: Omit<ProgressBarNumberProps, 'progress'>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={56}\n height={56}\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n >\n <circle\n cx={28}\n cy={28}\n r={26}\n fill=\"#D9D9D9\"\n stroke=\"#222222\"\n strokeWidth={4}\n strokeDasharray={85}\n strokeDashoffset={130}\n />\n <text x={28} y={36} fontSize={24} textAnchor=\"middle\" fill={numColor}>\n {number}\n </text>\n </svg>\n);\n\nconst NoProgress = ({\n number,\n numColor,\n}: Omit<ProgressBarNumberProps, 'progress'>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={56}\n height={56}\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n >\n <circle\n cx={28}\n cy={28}\n r={26}\n fill=\"#D9D9D9\"\n stroke=\"#222222\"\n strokeOpacity=\"0.1\"\n strokeWidth=\"4\"\n />\n <text x={28} y={36} fontSize={24} textAnchor=\"middle\" fill={numColor}>\n {number}\n </text>\n </svg>\n);\n\nexport const ProgressBarNumber = ({\n number,\n progress,\n numColor,\n}: ProgressBarNumberProps) => {\n if (progress === 0) {\n return <NoProgress number={number} numColor={numColor} />;\n }\n if (progress === 50) {\n return <HalfProgress number={number} numColor={numColor} />;\n }\n if (progress === 100) {\n return <FullProgress number={number} numColor={numColor} />;\n }\n return <div>Invalid Progress</div>;\n};\n","import CssBaseline from '@mui/material/CssBaseline';\nimport {\n ThemeProvider,\n createTheme,\n responsiveFontSizes,\n} from '@mui/material/styles';\nimport React from 'react';\nimport type {\n FalconThemeMode,\n FalconThemeProviderProps,\n} from './FalconThemeProvider.types';\n\n// ─── Brand palette ────────────────────────────────────────────────────────────\n\nconst lightColor = '51, 48, 60';\nconst darkColor = '228, 230, 244';\nconst darkPaperBg = '#2F3349';\n\nfunction buildPalette(mode: FalconThemeMode) {\n const mainColor = mode === 'light' ? lightColor : darkColor;\n\n return {\n mode,\n primary: {\n light: 'rgba(103, 80, 164, 0.02)',\n main: '#d8c5f9',\n dark: '#8710D8',\n contrastText: '#FFF',\n },\n secondary: {\n light: '#EFEFEF',\n main: '#1D192B',\n dark: '#949699',\n contrastText: '#FFF',\n },\n error: {\n light: '#ED6F70',\n main: '#EA5455',\n dark: '#CE4A4B',\n contrastText: '#FFF',\n },\n warning: {\n light: '#FFAB5A',\n main: '#FF9F43',\n dark: '#E08C3B',\n contrastText: '#FFF',\n },\n info: {\n light: '#1FD5EB',\n main: '#00CFE8',\n dark: '#00B6CC',\n contrastText: '#FFF',\n },\n success: {\n light: '#42CE80',\n main: '#28C76F',\n dark: '#23AF62',\n contrastText: '#FFF',\n },\n text: {\n primary: `rgba(${mainColor}, 0.87)`,\n secondary: `rgba(${mainColor}, 0.6)`,\n disabled: `rgba(${mainColor}, 0.38)`,\n },\n divider: `rgba(${mainColor}, 0.12)`,\n background: {\n paper: mode === 'light' ? '#F2EBFF' : darkPaperBg,\n default: mode === 'light' ? '#F8F7FA' : '#25293C',\n },\n action: {\n active: `rgba(${mainColor}, 0.54)`,\n hover: `rgba(${mainColor}, 0.04)`,\n selected: `rgba(${mainColor}, 0.08)`,\n disabled: `rgba(${mainColor}, 0.26)`,\n disabledBackground: `rgba(${mainColor}, 0.12)`,\n focus: `rgba(${mainColor}, 0.12)`,\n },\n };\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport const FalconThemeProvider = ({\n children,\n mode: modeProp,\n settings,\n}: FalconThemeProviderProps) => {\n const mode: FalconThemeMode = settings?.mode ?? modeProp ?? 'light';\n const direction = settings?.direction ?? 'ltr';\n\n const theme = responsiveFontSizes(\n createTheme({\n direction,\n palette: buildPalette(mode),\n shape: { borderRadius: 6 },\n typography: { fontFamily: '\"Inter\", \"Public Sans\", sans-serif' },\n mixins: { toolbar: { minHeight: 64 } },\n })\n );\n\n return (\n <ThemeProvider theme={theme}>\n <CssBaseline />\n {children}\n </ThemeProvider>\n );\n};\n"],"mappings":"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","names":["import_material","import_material","import_jsx_runtime","import_react","ClickAwayListener","Autocomplete","Box","Checkbox","TextField","Popper","ButtonBase","import_jsx_runtime","CloseIcon","import_material","import_jsx_runtime","import_material","import_jsx_runtime","MuiButton","import_material","import_jsx_runtime","import_material","import_jsx_runtime","Icon","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_styles","import_jsx_runtime","Switch","Stack","import_material","import_react","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_styles","import_jsx_runtime","CssBaseline"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/components/AddCommentInput/AddCommentInput.tsx","../src/components/AdvancedFiltersDialog/AdvancedFiltersDialog.tsx","../src/components/FalconMultiSelect/FalconMultiSelect.tsx","../src/components/ButtonWithIcon/ButtonWithIcon.tsx","../src/components/FalconButton/FalconButton.tsx","../src/components/FalconDIstrictFilter/FalconDIstrictFilter.tsx","../src/components/FalconGrayButton/FalconGrayButton.tsx","../src/components/FalconPagination/FalconPagination.tsx","../src/components/FalconSelect/FalconSelect.tsx","../src/components/FalconSingleSwitch/FalconSingleSwitch.tsx","../src/components/FalconTable/FalconTable.tsx","../src/components/FalconTicketColumsFilter/FalconTicketColumsFilter.tsx","../src/components/FalconTicketFilter/FalconTicketFilter.tsx","../src/components/HeatMapChartLegend/HeatMapChartLegend.tsx","../src/components/ProgressBarNumber/ProgressBarNumber.tsx","../src/components/FalconThemeProvider/FalconThemeProvider.tsx"],"sourcesContent":["// Core components\nexport { AddCommentInput } from './components/AddCommentInput';\nexport type { AddCommentInputProps } from './components/AddCommentInput';\nexport { AdvancedFiltersDialog } from './components/AdvancedFiltersDialog';\nexport type { AdvancedFiltersDialogProps } from './components/AdvancedFiltersDialog';\nexport { ButtonWithIcon } from './components/ButtonWithIcon';\nexport type { ButtonWithIconProps } from './components/ButtonWithIcon';\nexport { FalconButton } from './components/FalconButton';\nexport type { FalconButtonProps } from './components/FalconButton';\nexport { FalconDIstrictFilter } from './components/FalconDIstrictFilter';\nexport type {\n FalconDIstrictFilterOption,\n FalconDIstrictFilterProps,\n} from './components/FalconDIstrictFilter';\nexport { FalconGrayButton } from './components/FalconGrayButton';\nexport type { FalconGrayButtonProps } from './components/FalconGrayButton';\nexport { FalconMultiSelect } from './components/FalconMultiSelect';\nexport type {\n FalconMultiSelectOption,\n FalconMultiSelectStyleProps,\n FalconMultiSelectProps,\n} from './components/FalconMultiSelect';\nexport { FalconPagination } from './components/FalconPagination';\nexport type { FalconPaginationProps } from './components/FalconPagination';\nexport { FalconSelect } from './components/FalconSelect';\nexport type {\n FalconSelectOption,\n FalconSelectProps,\n} from './components/FalconSelect';\nexport { FalconSingleSwitch } from './components/FalconSingleSwitch';\nexport type { FalconSingleSwitchProps } from './components/FalconSingleSwitch';\nexport { FalconTable } from './components/FalconTable';\nexport type { FalconTableProps } from './components/FalconTable';\nexport { FalconTicketColumsFilter } from './components/FalconTicketColumsFilter';\nexport type { FalconTicketColumsFilterProps } from './components/FalconTicketColumsFilter';\nexport { FalconTicketFilter } from './components/FalconTicketFilter';\nexport type { FalconTicketFilterProps } from './components/FalconTicketFilter';\nexport { HeatMapChartLegend } from './components/HeatMapChartLegend';\nexport type {\n HeatMapChartLegendProps,\n HeatMapLegendItem,\n} from './components/HeatMapChartLegend';\nexport { ProgressBarNumber } from './components/ProgressBarNumber';\nexport type { ProgressBarNumberProps } from './components/ProgressBarNumber';\n\n// Theme\nexport { FalconThemeProvider } from './components/FalconThemeProvider';\nexport type {\n FalconThemeMode,\n FalconThemeDirection,\n FalconThemeSettings,\n FalconThemeProviderProps,\n} from './components/FalconThemeProvider';\n","import { Button, InputAdornment, TextField } from '@mui/material';\nimport type { ChangeEvent } from 'react';\nimport type { AddCommentInputProps } from './AddCommentInput.types';\n\nexport const AddCommentInput = ({\n value,\n setValue,\n handleAddComment,\n placeholder = 'Write Comment here',\n buttonLabel = 'Add Comment',\n}: AddCommentInputProps) => {\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value);\n };\n\n return (\n <TextField\n label=\"\"\n fullWidth\n sx={{ width: '550px', maxWidth: '100%' }}\n value={value}\n placeholder={placeholder}\n onChange={handleChange}\n type=\"text\"\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <Button\n variant=\"contained\"\n sx={{\n background: '#000',\n color: '#fff',\n position: 'absolute',\n right: 0,\n top: 0,\n padding: '16px',\n cursor: 'pointer',\n borderRadius: '0 5px 5px 0',\n }}\n onClick={handleAddComment}\n onMouseDown={(e) => e.preventDefault()}\n >\n {buttonLabel}\n </Button>\n </InputAdornment>\n ),\n }}\n />\n );\n};\n","import { Close as CloseIcon } from '@mui/icons-material';\nimport {\n\tBox,\n\tButton,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tDialogTitle,\n\tIconButton,\n\tTypography,\n} from '@mui/material';\nimport { FalconMultiSelect } from '../FalconMultiSelect';\nimport type { AdvancedFiltersDialogProps } from './AdvancedFiltersDialog.types';\n\nconst defaultLocationOptions = [\n\t{ id: 1, label: 'Location A' },\n\t{ id: 2, label: 'Location B' },\n];\n\nconst defaultBusinessAreaOptions = [\n\t{ id: 1, label: 'Retail' },\n\t{ id: 2, label: 'Healthcare' },\n];\n\nexport const AdvancedFiltersDialog = ({\n\topen,\n\tonClose,\n\tlocationOptions = defaultLocationOptions.map((option) => ({\n\t\tid: option.id,\n\t\tname: option.label,\n\t})),\n\tbusinessAreaOptions = defaultBusinessAreaOptions.map((option) => ({\n\t\tid: option.id,\n\t\tname: option.label,\n\t})),\n\tselectedLocations = [],\n\tselectedBusinessAreas = [],\n\tonLocationsChange = () => { },\n\tonBusinessAreasChange = () => { },\n\tonApply,\n\tonCancel,\n}: AdvancedFiltersDialogProps) => {\n\tconst handleApply = () => {\n\t\tonApply?.();\n\t\tonClose();\n\t};\n\n\tconst handleCancel = () => {\n\t\tonCancel?.();\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Dialog open={open} onClose={onClose} maxWidth=\"sm\" fullWidth>\n\t\t\t<DialogTitle>\n\t\t\t\t<Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\">\n\t\t\t\t\t<Typography variant=\"h6\">Advanced Filters</Typography>\n\t\t\t\t\t<IconButton onClick={onClose} size=\"small\" aria-label=\"Close\">\n\t\t\t\t\t\t<CloseIcon />\n\t\t\t\t\t</IconButton>\n\t\t\t\t</Box>\n\t\t\t</DialogTitle>\n\t\t\t<DialogContent>\n\t\t\t\t<Box sx={{ display: 'flex', flexDirection: 'column', gap: 2, pt: 1 }}>\n\t\t\t\t\t<FalconMultiSelect\n\t\t\t\t\t\tlabel=\"Locations\"\n\t\t\t\t\t\tlist={locationOptions}\n\t\t\t\t\t\tdata={selectedLocations}\n\t\t\t\t\t\tsetData={onLocationsChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<FalconMultiSelect\n\t\t\t\t\t\tlabel=\"Business Areas\"\n\t\t\t\t\t\tlist={businessAreaOptions}\n\t\t\t\t\t\tdata={selectedBusinessAreas}\n\t\t\t\t\t\tsetData={onBusinessAreasChange}\n\t\t\t\t\t/>\n\t\t\t\t</Box>\n\t\t\t</DialogContent>\n\t\t\t<DialogActions>\n\t\t\t\t<Button onClick={handleCancel}>Cancel</Button>\n\t\t\t\t<Button variant=\"contained\" onClick={handleApply}>\n\t\t\t\t\tApply\n\t\t\t\t</Button>\n\t\t\t</DialogActions>\n\t\t</Dialog>\n\t);\n};\n","import { Icon } from '@iconify/react';\nimport { Stack, Typography } from '@mui/material';\nimport Autocomplete, {\n AutocompleteCloseReason,\n autocompleteClasses,\n} from '@mui/material/Autocomplete';\nimport Box from '@mui/material/Box';\nimport ButtonBase from '@mui/material/ButtonBase';\nimport Checkbox from '@mui/material/Checkbox';\nimport ClickAwayListener from '@mui/material/ClickAwayListener';\nimport Popper from '@mui/material/Popper';\nimport TextField from '@mui/material/TextField';\nimport { styled } from '@mui/material/styles';\nimport * as React from 'react';\nimport type {\n FalconMultiSelectOption,\n FalconMultiSelectProps,\n} from './FalconMultiSelect.types';\n\nexport const FalconMultiSelect = ({\n // core\n label,\n data,\n setData,\n list,\n // trigger\n triggerBg = '#EFEFEF',\n triggerColor,\n triggerMinWidth = 250,\n triggerBorderRadius = '6px',\n triggerSx,\n // popper panel\n popperWidth = 300,\n popperBorderColor = '#e1e4e8',\n popperBorderColorDark = '#30363d',\n popperBg = '#fff',\n popperBgDark = '#1c2128',\n popperColor = '#24292e',\n popperColorDark = '#c9d1d9',\n // options\n optionBorderColor = '#D6D6D6',\n optionHeight = 60,\n checkboxColor = 'green',\n checkboxCheckedColor = '#6750A4',\n // search\n searchLabel = 'Search State',\n searchIconColor = '#49454F',\n // buttons\n applyBg = '#333',\n applyColor = 'white',\n applyLabel = 'Apply',\n clearColor = 'black',\n clearLabel = 'Clear',\n}: FalconMultiSelectProps) => {\n const [checked, setChecked] = React.useState<FalconMultiSelectOption[]>(\n data ?? []\n );\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const [pendingValue, setPendingValue] = React.useState<\n FalconMultiSelectOption[]\n >([]);\n\n const open = Boolean(anchorEl);\n const id = open ? 'falcon-multiselect' : undefined;\n\n const handleClick = (event: React.MouseEvent<HTMLElement>) => {\n setPendingValue(checked);\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n if (anchorEl) anchorEl.focus();\n setAnchorEl(null);\n };\n\n const handleApply = () => {\n setData(checked);\n handleClose();\n };\n\n const handleClear = () => {\n setChecked([]);\n setData([]);\n handleClose();\n };\n\n const handleToggle = (option: FalconMultiSelectOption) => {\n setChecked(prev => {\n const exists = prev.some(x => x.id === option.id);\n return exists ? prev.filter(x => x.id !== option.id) : [...prev, option];\n });\n };\n\n const triggerLabel =\n checked.length === 0\n ? `Filter by ${label}`\n : checked.length === 1\n ? checked[0].name\n : `${checked[0].name}, ${checked[1].name}${checked.length > 2 ? '…' : ''}`;\n\n return (\n <React.Fragment>\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap={2}\n onClick={handleClick}\n sx={{\n minWidth: triggerMinWidth,\n background: triggerBg,\n borderRadius: triggerBorderRadius,\n cursor: 'pointer',\n padding: '12px',\n ...(triggerColor ? { color: triggerColor } : {}),\n ...triggerSx,\n }}\n >\n <Typography\n variant=\"body2\"\n sx={triggerColor ? { color: triggerColor } : undefined}\n >\n {triggerLabel}\n </Typography>\n <Icon\n icon={open ? 'tabler:chevron-up' : 'tabler:chevron-down'}\n color={triggerColor}\n />\n </Stack>\n\n <StyledPopper\n id={id}\n open={open}\n anchorEl={anchorEl}\n placement=\"bottom-start\"\n ownerState={{\n popperWidth,\n popperBorderColor,\n popperBorderColorDark,\n popperBg,\n popperBgDark,\n popperColor,\n popperColorDark,\n }}\n >\n <ClickAwayListener onClickAway={handleClose}>\n <div>\n <Autocomplete\n open\n multiple\n onClose={(\n _: React.SyntheticEvent,\n reason: AutocompleteCloseReason\n ) => {\n if (reason === 'escape') handleClose();\n }}\n value={pendingValue}\n onChange={(_, newValue) => setPendingValue(newValue)}\n disableCloseOnSelect\n slots={{ popper: PopperComponent }}\n noOptionsText=\"No labels\"\n options={list}\n getOptionLabel={option => option.name}\n isOptionEqualToValue={(option, val) => option.id === val.id}\n renderOption={(props, option) => (\n <li\n {...props}\n key={option.id}\n style={{\n height: optionHeight,\n border: `1px solid ${optionBorderColor}`,\n margin: '16px 12px',\n flexShrink: 0,\n borderRadius: 6,\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <Box\n sx={{\n flexGrow: 3,\n borderRadius: '3px',\n ml: 1,\n mt: '1px',\n justifyContent: 'start',\n alignItems: 'center',\n width: '80%',\n fontSize: '13px',\n }}\n >\n {option.name}\n </Box>\n <Box\n component=\"span\"\n sx={{\n flexShrink: 0,\n borderRadius: '3px',\n mr: 1,\n mt: '2px',\n flexGrow: 1,\n justifyContent: 'end',\n width: '20%',\n alignItems: 'center',\n }}\n >\n <Checkbox\n slotProps={{ input: { 'aria-label': option.name } }}\n checked={checked.some(x => x.id === option.id)}\n onChange={() => handleToggle(option)}\n sx={{\n color: checkboxColor,\n '&.Mui-checked': { color: checkboxCheckedColor },\n }}\n />\n </Box>\n </li>\n )}\n renderInput={params => (\n <Box\n sx={{\n position: 'relative',\n '& > :not(style)': { width: '100%' },\n }}\n >\n <TextField\n label={searchLabel}\n variant=\"filled\"\n sx={{\n width: '100%',\n margin: '10px',\n '& > :not(style)': { width: '94%' },\n }}\n ref={params.InputProps.ref}\n slotProps={{ htmlInput: params.inputProps }}\n />\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ position: 'absolute', left: 110, top: 30 }}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.76 13.27L20.49 19L19 20.49L13.27 14.76C12.2 15.53 10.91 16 9.5 16C5.91 16 3 13.09 3 9.5C3 5.91 5.91 3 9.5 3C13.09 3 16 5.91 16 9.5C16 10.91 15.53 12.2 14.76 13.27ZM9.5 5C7.01 5 5 7.01 5 9.5C5 11.99 7.01 14 9.5 14C11.99 14 14 11.99 14 9.5C14 7.01 11.99 5 9.5 5Z\"\n fill={searchIconColor}\n />\n </svg>\n </Box>\n )}\n />\n\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n m: '8px',\n height: 110,\n }}\n >\n <ActionButton\n onClick={handleApply}\n sx={{\n height: '42px',\n borderRadius: '3px',\n background: applyBg,\n margin: '5px 0 10px 0',\n color: applyColor,\n }}\n >\n {applyLabel}\n </ActionButton>\n <ActionButton\n onClick={handleClear}\n sx={{\n height: '42px',\n borderRadius: '3px',\n mb: '8px',\n color: clearColor,\n }}\n >\n {clearLabel}\n </ActionButton>\n </Box>\n </div>\n </ClickAwayListener>\n </StyledPopper>\n </React.Fragment>\n );\n};\n\n// ─── Internal types ──────────────────────────────────────────────────────────\n\ninterface PopperComponentProps {\n anchorEl?: unknown;\n disablePortal?: boolean;\n open: boolean;\n}\n\ninterface StyledPopperOwnerState {\n popperWidth: number | string;\n popperBorderColor: string;\n popperBorderColorDark: string;\n popperBg: string;\n popperBgDark: string;\n popperColor: string;\n popperColorDark: string;\n}\n\n// ─── Styled components ───────────────────────────────────────────────────────\n\nconst StyledAutocompletePopper = styled('div')(({ theme }) => ({\n [`& .${autocompleteClasses.paper}`]: {\n boxShadow: 'none',\n color: 'inherit',\n fontSize: 13,\n },\n [`& .${autocompleteClasses.listbox}`]: {\n backgroundColor: theme.palette.mode === 'light' ? '#fff' : '#1c2128',\n padding: 0,\n [`& .${autocompleteClasses.option}`]: {\n minHeight: 'auto',\n alignItems: 'flex-start',\n padding: 8,\n borderBottom: `1px solid ${theme.palette.mode === 'light' ? '#eaecef' : '#30363d'}`,\n '&[aria-selected=\"true\"]': { backgroundColor: 'transparent' },\n [`&.${autocompleteClasses.focused}, &.${autocompleteClasses.focused}[aria-selected=\"true\"]`]:\n {\n backgroundColor: theme.palette.action.hover,\n },\n },\n },\n [`&.${autocompleteClasses.popperDisablePortal}`]: { position: 'relative' },\n}));\n\nfunction PopperComponent({\n disablePortal: _d,\n anchorEl: _a,\n open: _o,\n ...other\n}: PopperComponentProps) {\n return <StyledAutocompletePopper {...other} />;\n}\n\nconst StyledPopper = styled(Popper, {\n shouldForwardProp: prop => prop !== 'ownerState',\n})<{ ownerState: StyledPopperOwnerState }>(({ theme, ownerState }) => ({\n border: `1px solid ${theme.palette.mode === 'light' ? ownerState.popperBorderColor : ownerState.popperBorderColorDark}`,\n boxShadow: `0 8px 24px ${theme.palette.mode === 'light' ? 'rgba(149, 157, 165, 0.2)' : 'rgb(1, 4, 9)'}`,\n borderRadius: 6,\n width: ownerState.popperWidth,\n zIndex: theme.zIndex.modal,\n fontSize: 13,\n color:\n theme.palette.mode === 'light'\n ? ownerState.popperColor\n : ownerState.popperColorDark,\n backgroundColor:\n theme.palette.mode === 'light'\n ? ownerState.popperBg\n : ownerState.popperBgDark,\n}));\n\nconst ActionButton = styled(ButtonBase)(() => ({\n fontSize: 13,\n width: '100%',\n textAlign: 'left',\n paddingBottom: 8,\n fontWeight: 600,\n '& span': { width: '100%' },\n '& svg': { width: 16, height: 16 },\n}));\n","import { Box, Button, Typography } from '@mui/material';\nimport type { ButtonWithIconProps } from './ButtonWithIcon.types';\n\nexport const ButtonWithIcon = ({\n size = 'large',\n variant = 'contained',\n children,\n icon,\n ...props\n}: ButtonWithIconProps) => (\n <Button\n fullWidth\n size={size}\n variant={variant}\n sx={{ minWidth: '200px', maxWidth: '250px', backgroundColor: 'white', color: 'black' }}\n {...props}\n >\n <Box display=\"flex\" gap={1} justifyContent=\"space-between\" alignItems=\"center\">\n <Typography variant=\"inherit\">{children}</Typography>\n {icon && (\n <Box mt={0.25} ml={0.5}>\n {icon}\n </Box>\n )}\n </Box>\n </Button>\n);\n","import { Button as MuiButton, CircularProgress } from '@mui/material';\nimport type { FalconButtonProps } from './FalconButton.types';\n\nexport const FalconButton = ({\n loading = false,\n disabled,\n children,\n size = 'large',\n variant = 'contained',\n type = 'submit',\n fullWidth = true,\n className = 'falcon-btn',\n ...props\n}: FalconButtonProps) => (\n <MuiButton\n disabled={disabled || loading}\n size={size}\n variant={variant}\n type={type}\n fullWidth={fullWidth}\n className={className}\n {...props}\n >\n {loading ? <CircularProgress size={16} color=\"inherit\" /> : children}\n </MuiButton>\n);\n","import { Autocomplete, TextField } from '@mui/material';\nimport type { FalconDIstrictFilterProps } from './FalconDIstrictFilter.types';\n\n/** District filter — full implementation can be migrated from apps/docs. */\nexport const FalconDIstrictFilter = ({\n label = 'District',\n options = [],\n value = [],\n onChange,\n}: FalconDIstrictFilterProps) => (\n <Autocomplete\n multiple\n options={options}\n value={value}\n onChange={(_, newValue) => onChange?.(newValue)}\n getOptionLabel={(opt) =>\n typeof opt === 'object' && opt !== null ? opt.label : ''\n }\n isOptionEqualToValue={(a, b) => a.id === b.id}\n renderInput={(params) => (\n <TextField {...params} label={label} placeholder=\"Select districts\" />\n )}\n />\n);\n","import { Box, Stack, Typography, useTheme } from '@mui/material';\nimport type { FalconGrayButtonProps } from './FalconGrayButton.types';\n\nexport const FalconGrayButton = ({\n text,\n Icon,\n onClick,\n}: FalconGrayButtonProps) => {\n const theme = useTheme();\n return (\n <Box\n sx={{\n cursor: onClick ? 'pointer' : 'default',\n padding: 4,\n borderRadius: '8px',\n background: theme.palette.secondary?.light ?? '#f0f0f0',\n }}\n onClick={onClick}\n role={onClick ? 'button' : undefined}\n >\n <Stack direction=\"row\" justifyContent=\"center\" gap={4} alignItems=\"center\">\n {Icon}\n <Typography fontSize={12} align=\"center\" fontWeight=\"bold\">\n {text}\n </Typography>\n </Stack>\n </Box>\n );\n};\n","import { Box, Divider, Stack } from '@mui/material';\nimport type { FalconPaginationProps } from './FalconPagination.types';\n\nconst selectStyle = {\n border: 'none',\n backgroundColor: 'transparent',\n padding: '5px 10px',\n fontSize: '14px',\n fontWeight: 500,\n color: '#555770',\n cursor: 'pointer',\n outline: 'none',\n} as const;\n\nconst optionStyle = { padding: '5px 10px' } as const;\n\nconst btnStyle = {\n border: 'none',\n backgroundColor: 'transparent',\n padding: '5px 10px',\n cursor: 'pointer',\n outline: 'none',\n} as const;\n\nexport const FalconPagination = ({\n pageNo,\n setPageNo,\n perPage,\n setPerPage,\n totalItems,\n perPageOptions = [12, 24, 36],\n}: FalconPaginationProps) => {\n const totalPage = Math.ceil(totalItems / perPage) || 1;\n\n return (\n <Stack\n spacing={2}\n alignItems=\"center\"\n direction=\"row\"\n width=\"100%\"\n bgcolor=\"#F0F0F0\"\n >\n <Box>\n <select\n style={selectStyle}\n value={perPage}\n onChange={(e) => setPerPage(Number(e.target.value))}\n aria-label=\"Items per page\"\n >\n {perPageOptions.map((n) => (\n <option key={n} style={optionStyle} value={n}>\n {n}\n </option>\n ))}\n </select>\n </Box>\n <Divider orientation=\"vertical\" flexItem />\n\n <Box sx={{ flex: 1 }}>\n <Box sx={{ color: '#525252', fontFamily: 'roboto' }}>\n {perPage * (pageNo - 1) + 1} - {Math.min(perPage * pageNo, totalItems)}{' '}\n of {totalItems} items\n </Box>\n </Box>\n <Divider orientation=\"vertical\" flexItem />\n\n <Stack alignItems=\"center\" direction=\"row\" gap={1}>\n <Box>\n <select\n style={selectStyle}\n value={pageNo}\n onChange={(e) => setPageNo(Number(e.target.value))}\n aria-label=\"Page number\"\n >\n {Array.from({ length: totalPage }, (_, i) => (\n <option key={i} style={optionStyle} value={i + 1}>\n {i + 1}\n </option>\n ))}\n </select>\n </Box>\n <Box sx={{ color: '#525252', fontFamily: 'roboto' }}>\n of {totalPage} pages\n </Box>\n </Stack>\n\n <Divider orientation=\"vertical\" flexItem />\n\n <Stack direction=\"row\" gap={1}>\n <button\n type=\"button\"\n disabled={pageNo === 1}\n onClick={() => setPageNo(pageNo - 1)}\n style={btnStyle}\n aria-label=\"Previous page\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path d=\"M10 12L5 8L10 4V12Z\" fill=\"#161616\" />\n </svg>\n </button>\n <button\n type=\"button\"\n disabled={pageNo === totalPage}\n onClick={() => setPageNo(pageNo + 1)}\n style={btnStyle}\n aria-label=\"Next page\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path d=\"M6 4L11 8L6 12V4Z\" fill=\"#161616\" />\n </svg>\n </button>\n </Stack>\n </Stack>\n );\n};\n","import {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n SelectChangeEvent,\n} from '@mui/material';\nimport type { FalconSelectProps } from './FalconSelect.types';\n\nfunction normalizeOptions(\n options: string[] | { value: string; label: string }[]\n): { value: string; label: string }[] {\n return options.map((opt) =>\n typeof opt === 'string' ? { value: opt.toLowerCase(), label: opt } : opt\n );\n}\n\nexport const FalconSelect = ({\n label,\n value,\n onChange,\n options,\n disabled = false,\n clearable = true,\n}: FalconSelectProps) => {\n const items = normalizeOptions(options);\n const handleChange = (event: SelectChangeEvent<string>) => {\n const v = event.target.value as string;\n onChange(v !== '' ? v : '');\n };\n\n return (\n <FormControl variant=\"filled\" fullWidth color=\"primary\">\n <InputLabel id={`falcon-select-${label}-label`}>\n Select {label} *\n </InputLabel>\n <Select\n disabled={disabled}\n value={value?.toLowerCase() ?? ''}\n label={`Select ${label}`}\n onChange={handleChange}\n labelId={`falcon-select-${label}-label`}\n id={`falcon-select-${label}`}\n >\n {clearable && (\n <MenuItem value=\"\">\n <em>--Clear--</em>\n </MenuItem>\n )}\n {items.map((item, i) => (\n <MenuItem key={i} value={item.value}>\n {item.label}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n};\n","import Stack from '@mui/material/Stack';\nimport Switch from '@mui/material/Switch';\nimport { styled } from '@mui/material/styles';\nimport type { FalconSingleSwitchProps } from './FalconSingleSwitch.types';\n\nconst AntSwitch = styled(Switch)(() => ({\n width: 28,\n height: 16,\n padding: 0,\n display: 'flex',\n '&:active': {\n '& .MuiSwitch-thumb': { width: 15 },\n '& .MuiSwitch-switchBase.Mui-checked': { transform: 'translateX(9px)' },\n },\n '& .MuiSwitch-switchBase': {\n padding: 2,\n '&.Mui-checked': {\n transform: 'translateX(12px)',\n color: '#fff',\n '& + .MuiSwitch-track': { opacity: 1 },\n },\n },\n '& .MuiSwitch-thumb': {\n boxShadow: '0 2px 4px 0 rgb(0 35 11 / 20%)',\n width: 12,\n height: 12,\n borderRadius: 6,\n },\n '& .MuiSwitch-track': {\n borderRadius: 8,\n opacity: 1,\n backgroundColor: 'rgba(0,0,0,.25)',\n boxSizing: 'border-box',\n },\n}));\n\nexport const FalconSingleSwitch = ({\n color,\n setStatus,\n value = false,\n onChange,\n}: FalconSingleSwitchProps) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>, checked: boolean) => {\n setStatus?.(checked);\n onChange?.(event, checked);\n };\n\n return (\n <Stack direction=\"row\" margin={2} spacing={1} alignItems=\"center\">\n <AntSwitch\n checked={value}\n onChange={handleChange}\n color={color}\n size=\"medium\"\n inputProps={{ 'aria-label': 'toggle' }}\n />\n </Stack>\n );\n};\n","import { Box } from '@mui/material';\nimport { DataGrid } from '@mui/x-data-grid';\nimport { useState } from 'react';\nimport type { FalconTableProps } from './FalconTable.types';\n\nexport const FalconTable = <T extends Record<string, unknown>>({\n rows,\n getRowId,\n columns,\n pageSizeOptions = [7, 10, 25, 50],\n}: FalconTableProps<T>) => {\n const [paginationModel, setPaginationModel] = useState({\n page: 0,\n pageSize: 7,\n });\n\n return (\n <Box\n sx={{\n border: '2px solid #F2F2F2',\n padding: '16px',\n borderRadius: '12px',\n }}\n >\n <DataGrid\n autoHeight\n sx={{\n minHeight: '48px',\n '& .MuiDataGrid-columnHeaders': {\n borderBottom: '0px',\n borderRadius: '6px !important',\n },\n '& .MuiDataGrid-columnHeaderTitle': {\n color: '#7A7A7A !important',\n },\n }}\n rows={rows ?? []}\n getRowId={getRowId}\n columns={columns}\n disableRowSelectionOnClick\n pageSizeOptions={pageSizeOptions}\n paginationModel={paginationModel}\n onPaginationModelChange={setPaginationModel}\n />\n </Box>\n );\n};\n","import { Box, Typography } from '@mui/material';\nimport type { FalconTicketColumsFilterProps } from './FalconTicketColumsFilter.types';\n\n/** Column filter UI — full implementation can be migrated from apps/docs. */\nexport const FalconTicketColumsFilter = ({\n columns = [],\n selected = [],\n onSelectionChange,\n}: FalconTicketColumsFilterProps) => (\n <Box sx={{ p: 2, minWidth: 280 }}>\n <Typography variant=\"subtitle2\" gutterBottom>\n Select columns\n </Typography>\n {columns.length === 0 ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n No columns configured. Pass columns prop.\n </Typography>\n ) : (\n <Typography variant=\"body2\">\n {selected.length} of {columns.length} selected\n </Typography>\n )}\n {onSelectionChange && (\n <Typography variant=\"caption\" display=\"block\" sx={{ mt: 1 }}>\n (Column checkboxes to be wired from app)\n </Typography>\n )}\n </Box>\n);\n","import { Button, Popover } from '@mui/material';\nimport { useState } from 'react';\nimport type { FalconTicketFilterProps } from './FalconTicketFilter.types';\n\nexport const FalconTicketFilter = ({\n children,\n label = 'FILTERS',\n open: controlledOpen,\n onOpenChange,\n}: FalconTicketFilterProps) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const open = controlledOpen ?? internalOpen;\n const setOpen = onOpenChange ?? setInternalOpen;\n\n const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n setOpen(true);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n setOpen(false);\n };\n\n return (\n <>\n <Button onClick={handleClick} variant=\"outlined\" size=\"medium\">\n {label}\n </Button>\n <Popover\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n >\n <div style={{ padding: 16, minWidth: 280 }}>{children}</div>\n </Popover>\n </>\n );\n};\n","import type { HeatMapChartLegendProps } from './HeatMapChartLegend.types';\n\nexport const HeatMapChartLegend = ({\n title,\n items,\n gradientId,\n gradientStops,\n}: HeatMapChartLegendProps) => (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '12px',\n marginBottom: '16px',\n fontFamily: 'sans-serif',\n }}\n >\n <span\n style={{\n fontSize: '12px',\n fontWeight: 700,\n color: '#374151',\n minWidth: '80px',\n textAlign: 'right',\n }}\n >\n {title}\n </span>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n flex: 1,\n maxWidth: '600px',\n }}\n >\n <svg\n width=\"100%\"\n height=\"32\"\n style={{ filter: 'drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1))' }}\n >\n <defs>\n <linearGradient\n id={gradientId}\n x1=\"0%\"\n y1=\"0%\"\n x2=\"100%\"\n y2=\"0%\"\n >\n {gradientStops.map((stop, index) => (\n <stop\n key={index}\n offset={stop.offset}\n stopColor={stop.color}\n stopOpacity=\"1\"\n />\n ))}\n </linearGradient>\n </defs>\n <rect\n width=\"100%\"\n height=\"100%\"\n fill={`url(#${gradientId})`}\n />\n </svg>\n <div\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingLeft: '16px',\n paddingRight: '16px',\n }}\n >\n {items.map((item, index) => (\n <span\n key={index}\n style={{\n fontSize: '9px',\n fontWeight: 600,\n color: 'white',\n textShadow: '0 1px 2px rgba(0, 0, 0, 0.5)',\n letterSpacing: '0.025em',\n }}\n >\n {item.label}\n </span>\n ))}\n </div>\n </div>\n </div>\n);\n","import type { ProgressBarNumberProps } from './ProgressBarNumber.types';\n\nconst FullProgress = ({\n number,\n numColor,\n}: Omit<ProgressBarNumberProps, 'progress'>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={56}\n height={56}\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n >\n <circle\n cx={28}\n cy={28}\n r={26}\n fill=\"#D9D9D9\"\n stroke=\"#222222\"\n strokeWidth={4}\n />\n <text x={28} y={36} fontSize={24} textAnchor=\"middle\" fill={numColor}>\n {number}\n </text>\n </svg>\n);\n\nconst HalfProgress = ({\n number,\n numColor,\n}: Omit<ProgressBarNumberProps, 'progress'>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={56}\n height={56}\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n >\n <circle\n cx={28}\n cy={28}\n r={26}\n fill=\"#D9D9D9\"\n stroke=\"#222222\"\n strokeWidth={4}\n strokeDasharray={85}\n strokeDashoffset={130}\n />\n <text x={28} y={36} fontSize={24} textAnchor=\"middle\" fill={numColor}>\n {number}\n </text>\n </svg>\n);\n\nconst NoProgress = ({\n number,\n numColor,\n}: Omit<ProgressBarNumberProps, 'progress'>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={56}\n height={56}\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n >\n <circle\n cx={28}\n cy={28}\n r={26}\n fill=\"#D9D9D9\"\n stroke=\"#222222\"\n strokeOpacity=\"0.1\"\n strokeWidth=\"4\"\n />\n <text x={28} y={36} fontSize={24} textAnchor=\"middle\" fill={numColor}>\n {number}\n </text>\n </svg>\n);\n\nexport const ProgressBarNumber = ({\n number,\n progress,\n numColor,\n}: ProgressBarNumberProps) => {\n if (progress === 0) {\n return <NoProgress number={number} numColor={numColor} />;\n }\n if (progress === 50) {\n return <HalfProgress number={number} numColor={numColor} />;\n }\n if (progress === 100) {\n return <FullProgress number={number} numColor={numColor} />;\n }\n return <div>Invalid Progress</div>;\n};\n","import CssBaseline from '@mui/material/CssBaseline';\nimport {\n ThemeProvider,\n createTheme,\n responsiveFontSizes,\n} from '@mui/material/styles';\nimport React from 'react';\nimport type {\n FalconThemeMode,\n FalconThemeProviderProps,\n} from './FalconThemeProvider.types';\n\n// ─── Brand palette ────────────────────────────────────────────────────────────\n\nconst lightColor = '51, 48, 60';\nconst darkColor = '228, 230, 244';\nconst darkPaperBg = '#2F3349';\n\nfunction buildPalette(mode: FalconThemeMode) {\n const mainColor = mode === 'light' ? lightColor : darkColor;\n\n return {\n mode,\n primary: {\n light: 'rgba(103, 80, 164, 0.02)',\n main: '#d8c5f9',\n dark: '#8710D8',\n contrastText: '#FFF',\n },\n secondary: {\n light: '#EFEFEF',\n main: '#1D192B',\n dark: '#949699',\n contrastText: '#FFF',\n },\n error: {\n light: '#ED6F70',\n main: '#EA5455',\n dark: '#CE4A4B',\n contrastText: '#FFF',\n },\n warning: {\n light: '#FFAB5A',\n main: '#FF9F43',\n dark: '#E08C3B',\n contrastText: '#FFF',\n },\n info: {\n light: '#1FD5EB',\n main: '#00CFE8',\n dark: '#00B6CC',\n contrastText: '#FFF',\n },\n success: {\n light: '#42CE80',\n main: '#28C76F',\n dark: '#23AF62',\n contrastText: '#FFF',\n },\n text: {\n primary: `rgba(${mainColor}, 0.87)`,\n secondary: `rgba(${mainColor}, 0.6)`,\n disabled: `rgba(${mainColor}, 0.38)`,\n },\n divider: `rgba(${mainColor}, 0.12)`,\n background: {\n paper: mode === 'light' ? '#F2EBFF' : darkPaperBg,\n default: mode === 'light' ? '#F8F7FA' : '#25293C',\n },\n action: {\n active: `rgba(${mainColor}, 0.54)`,\n hover: `rgba(${mainColor}, 0.04)`,\n selected: `rgba(${mainColor}, 0.08)`,\n disabled: `rgba(${mainColor}, 0.26)`,\n disabledBackground: `rgba(${mainColor}, 0.12)`,\n focus: `rgba(${mainColor}, 0.12)`,\n },\n };\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport const FalconThemeProvider = ({\n children,\n mode: modeProp,\n settings,\n}: FalconThemeProviderProps) => {\n const mode: FalconThemeMode = settings?.mode ?? modeProp ?? 'light';\n const direction = settings?.direction ?? 'ltr';\n\n const theme = responsiveFontSizes(\n createTheme({\n direction,\n palette: buildPalette(mode),\n shape: { borderRadius: 6 },\n typography: { fontFamily: '\"Inter\", \"Public Sans\", sans-serif' },\n mixins: { toolbar: { minHeight: 64 } },\n })\n );\n\n return (\n <ThemeProvider theme={theme}>\n <CssBaseline />\n {children}\n </ThemeProvider>\n );\n};\n"],"mappings":"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","names":["import_material","import_material","import_jsx_runtime","import_react","ClickAwayListener","Autocomplete","Box","Checkbox","TextField","Popper","ButtonBase","import_jsx_runtime","CloseIcon","import_material","import_jsx_runtime","import_material","import_jsx_runtime","MuiButton","import_material","import_jsx_runtime","import_material","import_jsx_runtime","Icon","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_styles","import_jsx_runtime","Switch","Stack","import_material","import_react","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_styles","import_jsx_runtime","CssBaseline"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AddCommentInput/AddCommentInput.tsx","../src/components/AdvancedFiltersDialog/AdvancedFiltersDialog.tsx","../src/components/FalconMultiSelect/FalconMultiSelect.tsx","../src/components/ButtonWithIcon/ButtonWithIcon.tsx","../src/components/FalconButton/FalconButton.tsx","../src/components/FalconDIstrictFilter/FalconDIstrictFilter.tsx","../src/components/FalconGrayButton/FalconGrayButton.tsx","../src/components/FalconPagination/FalconPagination.tsx","../src/components/FalconSelect/FalconSelect.tsx","../src/components/FalconSingleSwitch/FalconSingleSwitch.tsx","../src/components/FalconTable/FalconTable.tsx","../src/components/FalconTicketColumsFilter/FalconTicketColumsFilter.tsx","../src/components/FalconTicketFilter/FalconTicketFilter.tsx","../src/components/HeatMapChartLegend/HeatMapChartLegend.tsx","../src/components/ProgressBarNumber/ProgressBarNumber.tsx","../src/components/FalconThemeProvider/FalconThemeProvider.tsx"],"sourcesContent":["import { Button, InputAdornment, TextField } from '@mui/material';\nimport type { ChangeEvent } from 'react';\nimport type { AddCommentInputProps } from './AddCommentInput.types';\n\nexport const AddCommentInput = ({\n value,\n setValue,\n handleAddComment,\n placeholder = 'Write Comment here',\n buttonLabel = 'Add Comment',\n}: AddCommentInputProps) => {\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value);\n };\n\n return (\n <TextField\n label=\"\"\n fullWidth\n sx={{ width: '550px', maxWidth: '100%' }}\n value={value}\n placeholder={placeholder}\n onChange={handleChange}\n type=\"text\"\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <Button\n variant=\"contained\"\n sx={{\n background: '#000',\n color: '#fff',\n position: 'absolute',\n right: 0,\n top: 0,\n padding: '16px',\n cursor: 'pointer',\n borderRadius: '0 5px 5px 0',\n }}\n onClick={handleAddComment}\n onMouseDown={(e) => e.preventDefault()}\n >\n {buttonLabel}\n </Button>\n </InputAdornment>\n ),\n }}\n />\n );\n};\n","import { Close as CloseIcon } from '@mui/icons-material';\nimport {\n\tBox,\n\tButton,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tDialogTitle,\n\tIconButton,\n\tTypography,\n} from '@mui/material';\nimport { FalconMultiSelect } from '../FalconMultiSelect';\nimport type { AdvancedFiltersDialogProps } from './AdvancedFiltersDialog.types';\n\nconst defaultLocationOptions = [\n\t{ id: 1, label: 'Location A' },\n\t{ id: 2, label: 'Location B' },\n];\n\nconst defaultBusinessAreaOptions = [\n\t{ id: 1, label: 'Retail' },\n\t{ id: 2, label: 'Healthcare' },\n];\n\nexport const AdvancedFiltersDialog = ({\n\topen,\n\tonClose,\n\tlocationOptions = defaultLocationOptions.map((option) => ({\n\t\tid: option.id,\n\t\tname: option.label,\n\t})),\n\tbusinessAreaOptions = defaultBusinessAreaOptions.map((option) => ({\n\t\tid: option.id,\n\t\tname: option.label,\n\t})),\n\tselectedLocations = [],\n\tselectedBusinessAreas = [],\n\tonLocationsChange = () => { },\n\tonBusinessAreasChange = () => { },\n\tonApply,\n\tonCancel,\n}: AdvancedFiltersDialogProps) => {\n\tconst handleApply = () => {\n\t\tonApply?.();\n\t\tonClose();\n\t};\n\n\tconst handleCancel = () => {\n\t\tonCancel?.();\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Dialog open={open} onClose={onClose} maxWidth=\"sm\" fullWidth>\n\t\t\t<DialogTitle>\n\t\t\t\t<Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\">\n\t\t\t\t\t<Typography variant=\"h6\">Advanced Filters</Typography>\n\t\t\t\t\t<IconButton onClick={onClose} size=\"small\" aria-label=\"Close\">\n\t\t\t\t\t\t<CloseIcon />\n\t\t\t\t\t</IconButton>\n\t\t\t\t</Box>\n\t\t\t</DialogTitle>\n\t\t\t<DialogContent>\n\t\t\t\t<Box sx={{ display: 'flex', flexDirection: 'column', gap: 2, pt: 1 }}>\n\t\t\t\t\t<FalconMultiSelect\n\t\t\t\t\t\tlabel=\"Locations\"\n\t\t\t\t\t\tlist={locationOptions}\n\t\t\t\t\t\tdata={selectedLocations}\n\t\t\t\t\t\tsetData={onLocationsChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<FalconMultiSelect\n\t\t\t\t\t\tlabel=\"Business Areas\"\n\t\t\t\t\t\tlist={businessAreaOptions}\n\t\t\t\t\t\tdata={selectedBusinessAreas}\n\t\t\t\t\t\tsetData={onBusinessAreasChange}\n\t\t\t\t\t/>\n\t\t\t\t</Box>\n\t\t\t</DialogContent>\n\t\t\t<DialogActions>\n\t\t\t\t<Button onClick={handleCancel}>Cancel</Button>\n\t\t\t\t<Button variant=\"contained\" onClick={handleApply}>\n\t\t\t\t\tApply\n\t\t\t\t</Button>\n\t\t\t</DialogActions>\n\t\t</Dialog>\n\t);\n};\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport { Icon } from '@iconify/react';\nimport { Stack, Typography } from '@mui/material';\nimport Autocomplete, {\n AutocompleteCloseReason,\n autocompleteClasses,\n} from '@mui/material/Autocomplete';\nimport Box from '@mui/material/Box';\nimport ButtonBase from '@mui/material/ButtonBase';\nimport Checkbox from '@mui/material/Checkbox';\nimport ClickAwayListener from '@mui/material/ClickAwayListener';\nimport Popper from '@mui/material/Popper';\nimport TextField from '@mui/material/TextField';\nimport { styled } from '@mui/material/styles';\nimport * as React from 'react';\nimport type {\n FalconMultiSelectOption,\n FalconMultiSelectProps,\n} from './FalconMultiSelect.types';\n\nexport const FalconMultiSelect = ({\n // core\n label,\n data,\n setData,\n list,\n // trigger\n triggerBg = '#EFEFEF',\n triggerColor,\n triggerMinWidth = 250,\n triggerBorderRadius = '6px',\n triggerSx,\n // popper panel\n popperWidth = 300,\n popperBorderColor = '#e1e4e8',\n popperBorderColorDark = '#30363d',\n popperBg = '#fff',\n popperBgDark = '#1c2128',\n popperColor = '#24292e',\n popperColorDark = '#c9d1d9',\n // options\n optionBorderColor = '#D6D6D6',\n optionHeight = 60,\n checkboxColor = 'green',\n checkboxCheckedColor = '#6750A4',\n // search\n searchLabel = 'Search State',\n searchIconColor = '#49454F',\n // buttons\n applyBg = '#333',\n applyColor = 'white',\n applyLabel = 'Apply',\n clearColor = 'black',\n clearLabel = 'Clear',\n}: FalconMultiSelectProps) => {\n const [checked, setChecked] = React.useState<FalconMultiSelectOption[]>(\n data ?? []\n );\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const [pendingValue, setPendingValue] = React.useState<\n FalconMultiSelectOption[]\n >([]);\n\n const open = Boolean(anchorEl);\n const id = open ? 'falcon-multiselect' : undefined;\n\n const handleClick = (event: React.MouseEvent<HTMLElement>) => {\n setPendingValue(checked);\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n if (anchorEl) anchorEl.focus();\n setAnchorEl(null);\n };\n\n const handleApply = () => {\n setData(checked);\n handleClose();\n };\n\n const handleClear = () => {\n setChecked([]);\n setData([]);\n handleClose();\n };\n\n const handleToggle = (option: FalconMultiSelectOption) => {\n setChecked(prev => {\n const exists = prev.some(x => x.id === option.id);\n return exists ? prev.filter(x => x.id !== option.id) : [...prev, option];\n });\n };\n\n const triggerLabel =\n checked.length === 0\n ? `Filter by ${label}`\n : checked.length === 1\n ? checked[0].name\n : `${checked[0].name}, ${checked[1].name}${checked.length > 2 ? '…' : ''}`;\n\n return (\n <React.Fragment>\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap={2}\n onClick={handleClick}\n sx={{\n minWidth: triggerMinWidth,\n background: triggerBg,\n borderRadius: triggerBorderRadius,\n cursor: 'pointer',\n padding: '12px',\n ...(triggerColor ? { color: triggerColor } : {}),\n ...triggerSx,\n }}\n >\n <Typography\n variant=\"body2\"\n sx={triggerColor ? { color: triggerColor } : undefined}\n >\n {triggerLabel}\n </Typography>\n <Icon\n icon={open ? 'tabler:chevron-up' : 'tabler:chevron-down'}\n color={triggerColor}\n />\n </Stack>\n\n <StyledPopper\n id={id}\n open={open}\n anchorEl={anchorEl}\n placement=\"bottom-start\"\n ownerState={{\n popperWidth,\n popperBorderColor,\n popperBorderColorDark,\n popperBg,\n popperBgDark,\n popperColor,\n popperColorDark,\n }}\n >\n <ClickAwayListener onClickAway={handleClose}>\n <div>\n <Autocomplete\n open\n multiple\n onClose={(\n _: React.SyntheticEvent,\n reason: AutocompleteCloseReason\n ) => {\n if (reason === 'escape') handleClose();\n }}\n value={pendingValue}\n onChange={(_, newValue) => setPendingValue(newValue)}\n disableCloseOnSelect\n slots={{ popper: PopperComponent }}\n noOptionsText=\"No labels\"\n options={list}\n getOptionLabel={option => option.name}\n isOptionEqualToValue={(option, val) => option.id === val.id}\n renderOption={(props, option) => (\n <li\n {...props}\n key={option.id}\n style={{\n height: optionHeight,\n border: `1px solid ${optionBorderColor}`,\n margin: '16px 12px',\n flexShrink: 0,\n borderRadius: 6,\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <Box\n sx={{\n flexGrow: 3,\n borderRadius: '3px',\n ml: 1,\n mt: '1px',\n justifyContent: 'start',\n alignItems: 'center',\n width: '80%',\n fontSize: '13px',\n }}\n >\n {option.name}\n </Box>\n <Box\n component=\"span\"\n sx={{\n flexShrink: 0,\n borderRadius: '3px',\n mr: 1,\n mt: '2px',\n flexGrow: 1,\n justifyContent: 'end',\n width: '20%',\n alignItems: 'center',\n }}\n >\n <Checkbox\n slotProps={{ input: { 'aria-label': option.name } }}\n checked={checked.some(x => x.id === option.id)}\n onChange={() => handleToggle(option)}\n sx={{\n color: checkboxColor,\n '&.Mui-checked': { color: checkboxCheckedColor },\n }}\n />\n </Box>\n </li>\n )}\n renderInput={params => (\n <Box\n sx={{\n position: 'relative',\n '& > :not(style)': { width: '100%' },\n }}\n >\n <TextField\n label={searchLabel}\n variant=\"filled\"\n sx={{\n width: '100%',\n margin: '10px',\n '& > :not(style)': { width: '94%' },\n }}\n ref={params.InputProps.ref}\n slotProps={{ htmlInput: params.inputProps }}\n />\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ position: 'absolute', left: 110, top: 30 }}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.76 13.27L20.49 19L19 20.49L13.27 14.76C12.2 15.53 10.91 16 9.5 16C5.91 16 3 13.09 3 9.5C3 5.91 5.91 3 9.5 3C13.09 3 16 5.91 16 9.5C16 10.91 15.53 12.2 14.76 13.27ZM9.5 5C7.01 5 5 7.01 5 9.5C5 11.99 7.01 14 9.5 14C11.99 14 14 11.99 14 9.5C14 7.01 11.99 5 9.5 5Z\"\n fill={searchIconColor}\n />\n </svg>\n </Box>\n )}\n />\n\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n m: '8px',\n height: 110,\n }}\n >\n <ActionButton\n onClick={handleApply}\n sx={{\n height: '42px',\n borderRadius: '3px',\n background: applyBg,\n margin: '5px 0 10px 0',\n color: applyColor,\n }}\n >\n {applyLabel}\n </ActionButton>\n <ActionButton\n onClick={handleClear}\n sx={{\n height: '42px',\n borderRadius: '3px',\n mb: '8px',\n color: clearColor,\n }}\n >\n {clearLabel}\n </ActionButton>\n </Box>\n </div>\n </ClickAwayListener>\n </StyledPopper>\n </React.Fragment>\n );\n};\n\n// ─── Internal types ──────────────────────────────────────────────────────────\n\ninterface PopperComponentProps {\n anchorEl?: unknown;\n disablePortal?: boolean;\n open: boolean;\n}\n\ninterface StyledPopperOwnerState {\n popperWidth: number | string;\n popperBorderColor: string;\n popperBorderColorDark: string;\n popperBg: string;\n popperBgDark: string;\n popperColor: string;\n popperColorDark: string;\n}\n\n// ─── Styled components ───────────────────────────────────────────────────────\n\nconst StyledAutocompletePopper = styled('div')(({ theme }) => ({\n [`& .${autocompleteClasses.paper}`]: {\n boxShadow: 'none',\n color: 'inherit',\n fontSize: 13,\n },\n [`& .${autocompleteClasses.listbox}`]: {\n backgroundColor: theme.palette.mode === 'light' ? '#fff' : '#1c2128',\n padding: 0,\n [`& .${autocompleteClasses.option}`]: {\n minHeight: 'auto',\n alignItems: 'flex-start',\n padding: 8,\n borderBottom: `1px solid ${theme.palette.mode === 'light' ? '#eaecef' : '#30363d'}`,\n '&[aria-selected=\"true\"]': { backgroundColor: 'transparent' },\n [`&.${autocompleteClasses.focused}, &.${autocompleteClasses.focused}[aria-selected=\"true\"]`]:\n {\n backgroundColor: theme.palette.action.hover,\n },\n },\n },\n [`&.${autocompleteClasses.popperDisablePortal}`]: { position: 'relative' },\n}));\n\nfunction PopperComponent({\n disablePortal: _d,\n anchorEl: _a,\n open: _o,\n ...other\n}: PopperComponentProps) {\n return <StyledAutocompletePopper {...other} />;\n}\n\nconst StyledPopper = styled(Popper, {\n shouldForwardProp: prop => prop !== 'ownerState',\n})<{ ownerState: StyledPopperOwnerState }>(({ theme, ownerState }) => ({\n border: `1px solid ${theme.palette.mode === 'light' ? ownerState.popperBorderColor : ownerState.popperBorderColorDark}`,\n boxShadow: `0 8px 24px ${theme.palette.mode === 'light' ? 'rgba(149, 157, 165, 0.2)' : 'rgb(1, 4, 9)'}`,\n borderRadius: 6,\n width: ownerState.popperWidth,\n zIndex: theme.zIndex.modal,\n fontSize: 13,\n color:\n theme.palette.mode === 'light'\n ? ownerState.popperColor\n : ownerState.popperColorDark,\n backgroundColor:\n theme.palette.mode === 'light'\n ? ownerState.popperBg\n : ownerState.popperBgDark,\n}));\n\nconst ActionButton = styled(ButtonBase)(() => ({\n fontSize: 13,\n width: '100%',\n textAlign: 'left',\n paddingBottom: 8,\n fontWeight: 600,\n '& span': { width: '100%' },\n '& svg': { width: 16, height: 16 },\n}));\n","import { Box, Button, Typography } from '@mui/material';\nimport type { ButtonWithIconProps } from './ButtonWithIcon.types';\n\nexport const ButtonWithIcon = ({\n size = 'large',\n variant = 'contained',\n children,\n icon,\n ...props\n}: ButtonWithIconProps) => (\n <Button\n fullWidth\n size={size}\n variant={variant}\n sx={{ minWidth: '200px', maxWidth: '250px', backgroundColor: 'white', color: 'black' }}\n {...props}\n >\n <Box display=\"flex\" gap={1} justifyContent=\"space-between\" alignItems=\"center\">\n <Typography variant=\"inherit\">{children}</Typography>\n {icon && (\n <Box mt={0.25} ml={0.5}>\n {icon}\n </Box>\n )}\n </Box>\n </Button>\n);\n","import { Button as MuiButton, CircularProgress } from '@mui/material';\nimport type { FalconButtonProps } from './FalconButton.types';\n\nexport const FalconButton = ({\n loading = false,\n disabled,\n children,\n size = 'large',\n variant = 'contained',\n type = 'submit',\n fullWidth = true,\n className = 'falcon-btn',\n ...props\n}: FalconButtonProps) => (\n <MuiButton\n disabled={disabled || loading}\n size={size}\n variant={variant}\n type={type}\n fullWidth={fullWidth}\n className={className}\n {...props}\n >\n {loading ? <CircularProgress size={16} color=\"inherit\" /> : children}\n </MuiButton>\n);\n","import { Autocomplete, TextField } from '@mui/material';\nimport type { FalconDIstrictFilterProps } from './FalconDIstrictFilter.types';\n\n/** District filter — full implementation can be migrated from apps/docs. */\nexport const FalconDIstrictFilter = ({\n label = 'District',\n options = [],\n value = [],\n onChange,\n}: FalconDIstrictFilterProps) => (\n <Autocomplete\n multiple\n options={options}\n value={value}\n onChange={(_, newValue) => onChange?.(newValue)}\n getOptionLabel={(opt) =>\n typeof opt === 'object' && opt !== null ? opt.label : ''\n }\n isOptionEqualToValue={(a, b) => a.id === b.id}\n renderInput={(params) => (\n <TextField {...params} label={label} placeholder=\"Select districts\" />\n )}\n />\n);\n","import { Box, Stack, Typography, useTheme } from '@mui/material';\nimport type { FalconGrayButtonProps } from './FalconGrayButton.types';\n\nexport const FalconGrayButton = ({\n text,\n Icon,\n onClick,\n}: FalconGrayButtonProps) => {\n const theme = useTheme();\n return (\n <Box\n sx={{\n cursor: onClick ? 'pointer' : 'default',\n padding: 4,\n borderRadius: '8px',\n background: theme.palette.secondary?.light ?? '#f0f0f0',\n }}\n onClick={onClick}\n role={onClick ? 'button' : undefined}\n >\n <Stack direction=\"row\" justifyContent=\"center\" gap={4} alignItems=\"center\">\n {Icon}\n <Typography fontSize={12} align=\"center\" fontWeight=\"bold\">\n {text}\n </Typography>\n </Stack>\n </Box>\n );\n};\n","import { Box, Divider, Stack } from '@mui/material';\nimport type { FalconPaginationProps } from './FalconPagination.types';\n\nconst selectStyle = {\n border: 'none',\n backgroundColor: 'transparent',\n padding: '5px 10px',\n fontSize: '14px',\n fontWeight: 500,\n color: '#555770',\n cursor: 'pointer',\n outline: 'none',\n} as const;\n\nconst optionStyle = { padding: '5px 10px' } as const;\n\nconst btnStyle = {\n border: 'none',\n backgroundColor: 'transparent',\n padding: '5px 10px',\n cursor: 'pointer',\n outline: 'none',\n} as const;\n\nexport const FalconPagination = ({\n pageNo,\n setPageNo,\n perPage,\n setPerPage,\n totalItems,\n perPageOptions = [12, 24, 36],\n}: FalconPaginationProps) => {\n const totalPage = Math.ceil(totalItems / perPage) || 1;\n\n return (\n <Stack\n spacing={2}\n alignItems=\"center\"\n direction=\"row\"\n width=\"100%\"\n bgcolor=\"#F0F0F0\"\n >\n <Box>\n <select\n style={selectStyle}\n value={perPage}\n onChange={(e) => setPerPage(Number(e.target.value))}\n aria-label=\"Items per page\"\n >\n {perPageOptions.map((n) => (\n <option key={n} style={optionStyle} value={n}>\n {n}\n </option>\n ))}\n </select>\n </Box>\n <Divider orientation=\"vertical\" flexItem />\n\n <Box sx={{ flex: 1 }}>\n <Box sx={{ color: '#525252', fontFamily: 'roboto' }}>\n {perPage * (pageNo - 1) + 1} - {Math.min(perPage * pageNo, totalItems)}{' '}\n of {totalItems} items\n </Box>\n </Box>\n <Divider orientation=\"vertical\" flexItem />\n\n <Stack alignItems=\"center\" direction=\"row\" gap={1}>\n <Box>\n <select\n style={selectStyle}\n value={pageNo}\n onChange={(e) => setPageNo(Number(e.target.value))}\n aria-label=\"Page number\"\n >\n {Array.from({ length: totalPage }, (_, i) => (\n <option key={i} style={optionStyle} value={i + 1}>\n {i + 1}\n </option>\n ))}\n </select>\n </Box>\n <Box sx={{ color: '#525252', fontFamily: 'roboto' }}>\n of {totalPage} pages\n </Box>\n </Stack>\n\n <Divider orientation=\"vertical\" flexItem />\n\n <Stack direction=\"row\" gap={1}>\n <button\n type=\"button\"\n disabled={pageNo === 1}\n onClick={() => setPageNo(pageNo - 1)}\n style={btnStyle}\n aria-label=\"Previous page\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path d=\"M10 12L5 8L10 4V12Z\" fill=\"#161616\" />\n </svg>\n </button>\n <button\n type=\"button\"\n disabled={pageNo === totalPage}\n onClick={() => setPageNo(pageNo + 1)}\n style={btnStyle}\n aria-label=\"Next page\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path d=\"M6 4L11 8L6 12V4Z\" fill=\"#161616\" />\n </svg>\n </button>\n </Stack>\n </Stack>\n );\n};\n","import {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n SelectChangeEvent,\n} from '@mui/material';\nimport type { FalconSelectProps } from './FalconSelect.types';\n\nfunction normalizeOptions(\n options: string[] | { value: string; label: string }[]\n): { value: string; label: string }[] {\n return options.map((opt) =>\n typeof opt === 'string' ? { value: opt.toLowerCase(), label: opt } : opt\n );\n}\n\nexport const FalconSelect = ({\n label,\n value,\n onChange,\n options,\n disabled = false,\n clearable = true,\n}: FalconSelectProps) => {\n const items = normalizeOptions(options);\n const handleChange = (event: SelectChangeEvent<string>) => {\n const v = event.target.value as string;\n onChange(v !== '' ? v : '');\n };\n\n return (\n <FormControl variant=\"filled\" fullWidth color=\"primary\">\n <InputLabel id={`falcon-select-${label}-label`}>\n Select {label} *\n </InputLabel>\n <Select\n disabled={disabled}\n value={value?.toLowerCase() ?? ''}\n label={`Select ${label}`}\n onChange={handleChange}\n labelId={`falcon-select-${label}-label`}\n id={`falcon-select-${label}`}\n >\n {clearable && (\n <MenuItem value=\"\">\n <em>--Clear--</em>\n </MenuItem>\n )}\n {items.map((item, i) => (\n <MenuItem key={i} value={item.value}>\n {item.label}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n};\n","import Stack from '@mui/material/Stack';\nimport Switch from '@mui/material/Switch';\nimport { styled } from '@mui/material/styles';\nimport type { FalconSingleSwitchProps } from './FalconSingleSwitch.types';\n\nconst AntSwitch = styled(Switch)(() => ({\n width: 28,\n height: 16,\n padding: 0,\n display: 'flex',\n '&:active': {\n '& .MuiSwitch-thumb': { width: 15 },\n '& .MuiSwitch-switchBase.Mui-checked': { transform: 'translateX(9px)' },\n },\n '& .MuiSwitch-switchBase': {\n padding: 2,\n '&.Mui-checked': {\n transform: 'translateX(12px)',\n color: '#fff',\n '& + .MuiSwitch-track': { opacity: 1 },\n },\n },\n '& .MuiSwitch-thumb': {\n boxShadow: '0 2px 4px 0 rgb(0 35 11 / 20%)',\n width: 12,\n height: 12,\n borderRadius: 6,\n },\n '& .MuiSwitch-track': {\n borderRadius: 8,\n opacity: 1,\n backgroundColor: 'rgba(0,0,0,.25)',\n boxSizing: 'border-box',\n },\n}));\n\nexport const FalconSingleSwitch = ({\n color,\n setStatus,\n value = false,\n onChange,\n}: FalconSingleSwitchProps) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>, checked: boolean) => {\n setStatus?.(checked);\n onChange?.(event, checked);\n };\n\n return (\n <Stack direction=\"row\" margin={2} spacing={1} alignItems=\"center\">\n <AntSwitch\n checked={value}\n onChange={handleChange}\n color={color}\n size=\"medium\"\n inputProps={{ 'aria-label': 'toggle' }}\n />\n </Stack>\n );\n};\n","import { Box } from '@mui/material';\nimport { DataGrid } from '@mui/x-data-grid';\nimport { useState } from 'react';\nimport type { FalconTableProps } from './FalconTable.types';\n\nexport const FalconTable = <T extends Record<string, unknown>>({\n rows,\n getRowId,\n columns,\n pageSizeOptions = [7, 10, 25, 50],\n}: FalconTableProps<T>) => {\n const [paginationModel, setPaginationModel] = useState({\n page: 0,\n pageSize: 7,\n });\n\n return (\n <Box\n sx={{\n border: '2px solid #F2F2F2',\n padding: '16px',\n borderRadius: '12px',\n }}\n >\n <DataGrid\n autoHeight\n sx={{\n minHeight: '48px',\n '& .MuiDataGrid-columnHeaders': {\n borderBottom: '0px',\n borderRadius: '6px !important',\n },\n '& .MuiDataGrid-columnHeaderTitle': {\n color: '#7A7A7A !important',\n },\n }}\n rows={rows ?? []}\n getRowId={getRowId}\n columns={columns}\n disableRowSelectionOnClick\n pageSizeOptions={pageSizeOptions}\n paginationModel={paginationModel}\n onPaginationModelChange={setPaginationModel}\n />\n </Box>\n );\n};\n","import { Box, Typography } from '@mui/material';\nimport type { FalconTicketColumsFilterProps } from './FalconTicketColumsFilter.types';\n\n/** Column filter UI — full implementation can be migrated from apps/docs. */\nexport const FalconTicketColumsFilter = ({\n columns = [],\n selected = [],\n onSelectionChange,\n}: FalconTicketColumsFilterProps) => (\n <Box sx={{ p: 2, minWidth: 280 }}>\n <Typography variant=\"subtitle2\" gutterBottom>\n Select columns\n </Typography>\n {columns.length === 0 ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n No columns configured. Pass columns prop.\n </Typography>\n ) : (\n <Typography variant=\"body2\">\n {selected.length} of {columns.length} selected\n </Typography>\n )}\n {onSelectionChange && (\n <Typography variant=\"caption\" display=\"block\" sx={{ mt: 1 }}>\n (Column checkboxes to be wired from app)\n </Typography>\n )}\n </Box>\n);\n","import { Button, Popover } from '@mui/material';\nimport { useState } from 'react';\nimport type { FalconTicketFilterProps } from './FalconTicketFilter.types';\n\nexport const FalconTicketFilter = ({\n children,\n label = 'FILTERS',\n open: controlledOpen,\n onOpenChange,\n}: FalconTicketFilterProps) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const open = controlledOpen ?? internalOpen;\n const setOpen = onOpenChange ?? setInternalOpen;\n\n const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n setOpen(true);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n setOpen(false);\n };\n\n return (\n <>\n <Button onClick={handleClick} variant=\"outlined\" size=\"medium\">\n {label}\n </Button>\n <Popover\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n >\n <div style={{ padding: 16, minWidth: 280 }}>{children}</div>\n </Popover>\n </>\n );\n};\n","import type { HeatMapChartLegendProps } from './HeatMapChartLegend.types';\n\nexport const HeatMapChartLegend = ({\n title,\n items,\n gradientId,\n gradientStops,\n}: HeatMapChartLegendProps) => (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '12px',\n marginBottom: '16px',\n fontFamily: 'sans-serif',\n }}\n >\n <span\n style={{\n fontSize: '12px',\n fontWeight: 700,\n color: '#374151',\n minWidth: '80px',\n textAlign: 'right',\n }}\n >\n {title}\n </span>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n flex: 1,\n maxWidth: '600px',\n }}\n >\n <svg\n width=\"100%\"\n height=\"32\"\n style={{ filter: 'drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1))' }}\n >\n <defs>\n <linearGradient\n id={gradientId}\n x1=\"0%\"\n y1=\"0%\"\n x2=\"100%\"\n y2=\"0%\"\n >\n {gradientStops.map((stop, index) => (\n <stop\n key={index}\n offset={stop.offset}\n stopColor={stop.color}\n stopOpacity=\"1\"\n />\n ))}\n </linearGradient>\n </defs>\n <rect\n width=\"100%\"\n height=\"100%\"\n fill={`url(#${gradientId})`}\n />\n </svg>\n <div\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingLeft: '16px',\n paddingRight: '16px',\n }}\n >\n {items.map((item, index) => (\n <span\n key={index}\n style={{\n fontSize: '9px',\n fontWeight: 600,\n color: 'white',\n textShadow: '0 1px 2px rgba(0, 0, 0, 0.5)',\n letterSpacing: '0.025em',\n }}\n >\n {item.label}\n </span>\n ))}\n </div>\n </div>\n </div>\n);\n","import type { ProgressBarNumberProps } from './ProgressBarNumber.types';\n\nconst FullProgress = ({\n number,\n numColor,\n}: Omit<ProgressBarNumberProps, 'progress'>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={56}\n height={56}\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n >\n <circle\n cx={28}\n cy={28}\n r={26}\n fill=\"#D9D9D9\"\n stroke=\"#222222\"\n strokeWidth={4}\n />\n <text x={28} y={36} fontSize={24} textAnchor=\"middle\" fill={numColor}>\n {number}\n </text>\n </svg>\n);\n\nconst HalfProgress = ({\n number,\n numColor,\n}: Omit<ProgressBarNumberProps, 'progress'>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={56}\n height={56}\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n >\n <circle\n cx={28}\n cy={28}\n r={26}\n fill=\"#D9D9D9\"\n stroke=\"#222222\"\n strokeWidth={4}\n strokeDasharray={85}\n strokeDashoffset={130}\n />\n <text x={28} y={36} fontSize={24} textAnchor=\"middle\" fill={numColor}>\n {number}\n </text>\n </svg>\n);\n\nconst NoProgress = ({\n number,\n numColor,\n}: Omit<ProgressBarNumberProps, 'progress'>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={56}\n height={56}\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n >\n <circle\n cx={28}\n cy={28}\n r={26}\n fill=\"#D9D9D9\"\n stroke=\"#222222\"\n strokeOpacity=\"0.1\"\n strokeWidth=\"4\"\n />\n <text x={28} y={36} fontSize={24} textAnchor=\"middle\" fill={numColor}>\n {number}\n </text>\n </svg>\n);\n\nexport const ProgressBarNumber = ({\n number,\n progress,\n numColor,\n}: ProgressBarNumberProps) => {\n if (progress === 0) {\n return <NoProgress number={number} numColor={numColor} />;\n }\n if (progress === 50) {\n return <HalfProgress number={number} numColor={numColor} />;\n }\n if (progress === 100) {\n return <FullProgress number={number} numColor={numColor} />;\n }\n return <div>Invalid Progress</div>;\n};\n","import CssBaseline from '@mui/material/CssBaseline';\nimport {\n ThemeProvider,\n createTheme,\n responsiveFontSizes,\n} from '@mui/material/styles';\nimport React from 'react';\nimport type {\n FalconThemeMode,\n FalconThemeProviderProps,\n} from './FalconThemeProvider.types';\n\n// ─── Brand palette ────────────────────────────────────────────────────────────\n\nconst lightColor = '51, 48, 60';\nconst darkColor = '228, 230, 244';\nconst darkPaperBg = '#2F3349';\n\nfunction buildPalette(mode: FalconThemeMode) {\n const mainColor = mode === 'light' ? lightColor : darkColor;\n\n return {\n mode,\n primary: {\n light: 'rgba(103, 80, 164, 0.02)',\n main: '#d8c5f9',\n dark: '#8710D8',\n contrastText: '#FFF',\n },\n secondary: {\n light: '#EFEFEF',\n main: '#1D192B',\n dark: '#949699',\n contrastText: '#FFF',\n },\n error: {\n light: '#ED6F70',\n main: '#EA5455',\n dark: '#CE4A4B',\n contrastText: '#FFF',\n },\n warning: {\n light: '#FFAB5A',\n main: '#FF9F43',\n dark: '#E08C3B',\n contrastText: '#FFF',\n },\n info: {\n light: '#1FD5EB',\n main: '#00CFE8',\n dark: '#00B6CC',\n contrastText: '#FFF',\n },\n success: {\n light: '#42CE80',\n main: '#28C76F',\n dark: '#23AF62',\n contrastText: '#FFF',\n },\n text: {\n primary: `rgba(${mainColor}, 0.87)`,\n secondary: `rgba(${mainColor}, 0.6)`,\n disabled: `rgba(${mainColor}, 0.38)`,\n },\n divider: `rgba(${mainColor}, 0.12)`,\n background: {\n paper: mode === 'light' ? '#F2EBFF' : darkPaperBg,\n default: mode === 'light' ? '#F8F7FA' : '#25293C',\n },\n action: {\n active: `rgba(${mainColor}, 0.54)`,\n hover: `rgba(${mainColor}, 0.04)`,\n selected: `rgba(${mainColor}, 0.08)`,\n disabled: `rgba(${mainColor}, 0.26)`,\n disabledBackground: `rgba(${mainColor}, 0.12)`,\n focus: `rgba(${mainColor}, 0.12)`,\n },\n };\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport const FalconThemeProvider = ({\n children,\n mode: modeProp,\n settings,\n}: FalconThemeProviderProps) => {\n const mode: FalconThemeMode = settings?.mode ?? modeProp ?? 'light';\n const direction = settings?.direction ?? 'ltr';\n\n const theme = responsiveFontSizes(\n createTheme({\n direction,\n palette: buildPalette(mode),\n shape: { borderRadius: 6 },\n typography: { fontFamily: '\"Inter\", \"Public Sans\", sans-serif' },\n mixins: { toolbar: { minHeight: 64 } },\n })\n );\n\n return (\n <ThemeProvider theme={theme}>\n <CssBaseline />\n {children}\n </ThemeProvider>\n );\n};\n"],"mappings":"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","names":["Box","Button","Typography","TextField","jsx","jsx","jsxs","Box","Typography","Button","Box","Button","Typography","jsx","jsxs","jsx","Autocomplete","TextField","jsx","Box","Stack","Typography","jsx","jsxs","Icon","Box","Stack","jsx","jsxs","jsx","jsxs","Stack","styled","jsx","Box","useState","jsx","Box","Typography","jsx","jsxs","Button","useState","Fragment","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsxs"]}
1
+ {"version":3,"sources":["../src/components/AddCommentInput/AddCommentInput.tsx","../src/components/AdvancedFiltersDialog/AdvancedFiltersDialog.tsx","../src/components/FalconMultiSelect/FalconMultiSelect.tsx","../src/components/ButtonWithIcon/ButtonWithIcon.tsx","../src/components/FalconButton/FalconButton.tsx","../src/components/FalconDIstrictFilter/FalconDIstrictFilter.tsx","../src/components/FalconGrayButton/FalconGrayButton.tsx","../src/components/FalconPagination/FalconPagination.tsx","../src/components/FalconSelect/FalconSelect.tsx","../src/components/FalconSingleSwitch/FalconSingleSwitch.tsx","../src/components/FalconTable/FalconTable.tsx","../src/components/FalconTicketColumsFilter/FalconTicketColumsFilter.tsx","../src/components/FalconTicketFilter/FalconTicketFilter.tsx","../src/components/HeatMapChartLegend/HeatMapChartLegend.tsx","../src/components/ProgressBarNumber/ProgressBarNumber.tsx","../src/components/FalconThemeProvider/FalconThemeProvider.tsx"],"sourcesContent":["import { Button, InputAdornment, TextField } from '@mui/material';\nimport type { ChangeEvent } from 'react';\nimport type { AddCommentInputProps } from './AddCommentInput.types';\n\nexport const AddCommentInput = ({\n value,\n setValue,\n handleAddComment,\n placeholder = 'Write Comment here',\n buttonLabel = 'Add Comment',\n}: AddCommentInputProps) => {\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value);\n };\n\n return (\n <TextField\n label=\"\"\n fullWidth\n sx={{ width: '550px', maxWidth: '100%' }}\n value={value}\n placeholder={placeholder}\n onChange={handleChange}\n type=\"text\"\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <Button\n variant=\"contained\"\n sx={{\n background: '#000',\n color: '#fff',\n position: 'absolute',\n right: 0,\n top: 0,\n padding: '16px',\n cursor: 'pointer',\n borderRadius: '0 5px 5px 0',\n }}\n onClick={handleAddComment}\n onMouseDown={(e) => e.preventDefault()}\n >\n {buttonLabel}\n </Button>\n </InputAdornment>\n ),\n }}\n />\n );\n};\n","import { Close as CloseIcon } from '@mui/icons-material';\nimport {\n\tBox,\n\tButton,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tDialogTitle,\n\tIconButton,\n\tTypography,\n} from '@mui/material';\nimport { FalconMultiSelect } from '../FalconMultiSelect';\nimport type { AdvancedFiltersDialogProps } from './AdvancedFiltersDialog.types';\n\nconst defaultLocationOptions = [\n\t{ id: 1, label: 'Location A' },\n\t{ id: 2, label: 'Location B' },\n];\n\nconst defaultBusinessAreaOptions = [\n\t{ id: 1, label: 'Retail' },\n\t{ id: 2, label: 'Healthcare' },\n];\n\nexport const AdvancedFiltersDialog = ({\n\topen,\n\tonClose,\n\tlocationOptions = defaultLocationOptions.map((option) => ({\n\t\tid: option.id,\n\t\tname: option.label,\n\t})),\n\tbusinessAreaOptions = defaultBusinessAreaOptions.map((option) => ({\n\t\tid: option.id,\n\t\tname: option.label,\n\t})),\n\tselectedLocations = [],\n\tselectedBusinessAreas = [],\n\tonLocationsChange = () => { },\n\tonBusinessAreasChange = () => { },\n\tonApply,\n\tonCancel,\n}: AdvancedFiltersDialogProps) => {\n\tconst handleApply = () => {\n\t\tonApply?.();\n\t\tonClose();\n\t};\n\n\tconst handleCancel = () => {\n\t\tonCancel?.();\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Dialog open={open} onClose={onClose} maxWidth=\"sm\" fullWidth>\n\t\t\t<DialogTitle>\n\t\t\t\t<Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\">\n\t\t\t\t\t<Typography variant=\"h6\">Advanced Filters</Typography>\n\t\t\t\t\t<IconButton onClick={onClose} size=\"small\" aria-label=\"Close\">\n\t\t\t\t\t\t<CloseIcon />\n\t\t\t\t\t</IconButton>\n\t\t\t\t</Box>\n\t\t\t</DialogTitle>\n\t\t\t<DialogContent>\n\t\t\t\t<Box sx={{ display: 'flex', flexDirection: 'column', gap: 2, pt: 1 }}>\n\t\t\t\t\t<FalconMultiSelect\n\t\t\t\t\t\tlabel=\"Locations\"\n\t\t\t\t\t\tlist={locationOptions}\n\t\t\t\t\t\tdata={selectedLocations}\n\t\t\t\t\t\tsetData={onLocationsChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<FalconMultiSelect\n\t\t\t\t\t\tlabel=\"Business Areas\"\n\t\t\t\t\t\tlist={businessAreaOptions}\n\t\t\t\t\t\tdata={selectedBusinessAreas}\n\t\t\t\t\t\tsetData={onBusinessAreasChange}\n\t\t\t\t\t/>\n\t\t\t\t</Box>\n\t\t\t</DialogContent>\n\t\t\t<DialogActions>\n\t\t\t\t<Button onClick={handleCancel}>Cancel</Button>\n\t\t\t\t<Button variant=\"contained\" onClick={handleApply}>\n\t\t\t\t\tApply\n\t\t\t\t</Button>\n\t\t\t</DialogActions>\n\t\t</Dialog>\n\t);\n};\n","import { Icon } from '@iconify/react';\nimport { Stack, Typography } from '@mui/material';\nimport Autocomplete, {\n AutocompleteCloseReason,\n autocompleteClasses,\n} from '@mui/material/Autocomplete';\nimport Box from '@mui/material/Box';\nimport ButtonBase from '@mui/material/ButtonBase';\nimport Checkbox from '@mui/material/Checkbox';\nimport ClickAwayListener from '@mui/material/ClickAwayListener';\nimport Popper from '@mui/material/Popper';\nimport TextField from '@mui/material/TextField';\nimport { styled } from '@mui/material/styles';\nimport * as React from 'react';\nimport type {\n FalconMultiSelectOption,\n FalconMultiSelectProps,\n} from './FalconMultiSelect.types';\n\nexport const FalconMultiSelect = ({\n // core\n label,\n data,\n setData,\n list,\n // trigger\n triggerBg = '#EFEFEF',\n triggerColor,\n triggerMinWidth = 250,\n triggerBorderRadius = '6px',\n triggerSx,\n // popper panel\n popperWidth = 300,\n popperBorderColor = '#e1e4e8',\n popperBorderColorDark = '#30363d',\n popperBg = '#fff',\n popperBgDark = '#1c2128',\n popperColor = '#24292e',\n popperColorDark = '#c9d1d9',\n // options\n optionBorderColor = '#D6D6D6',\n optionHeight = 60,\n checkboxColor = 'green',\n checkboxCheckedColor = '#6750A4',\n // search\n searchLabel = 'Search State',\n searchIconColor = '#49454F',\n // buttons\n applyBg = '#333',\n applyColor = 'white',\n applyLabel = 'Apply',\n clearColor = 'black',\n clearLabel = 'Clear',\n}: FalconMultiSelectProps) => {\n const [checked, setChecked] = React.useState<FalconMultiSelectOption[]>(\n data ?? []\n );\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const [pendingValue, setPendingValue] = React.useState<\n FalconMultiSelectOption[]\n >([]);\n\n const open = Boolean(anchorEl);\n const id = open ? 'falcon-multiselect' : undefined;\n\n const handleClick = (event: React.MouseEvent<HTMLElement>) => {\n setPendingValue(checked);\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n if (anchorEl) anchorEl.focus();\n setAnchorEl(null);\n };\n\n const handleApply = () => {\n setData(checked);\n handleClose();\n };\n\n const handleClear = () => {\n setChecked([]);\n setData([]);\n handleClose();\n };\n\n const handleToggle = (option: FalconMultiSelectOption) => {\n setChecked(prev => {\n const exists = prev.some(x => x.id === option.id);\n return exists ? prev.filter(x => x.id !== option.id) : [...prev, option];\n });\n };\n\n const triggerLabel =\n checked.length === 0\n ? `Filter by ${label}`\n : checked.length === 1\n ? checked[0].name\n : `${checked[0].name}, ${checked[1].name}${checked.length > 2 ? '…' : ''}`;\n\n return (\n <React.Fragment>\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap={2}\n onClick={handleClick}\n sx={{\n minWidth: triggerMinWidth,\n background: triggerBg,\n borderRadius: triggerBorderRadius,\n cursor: 'pointer',\n padding: '12px',\n ...(triggerColor ? { color: triggerColor } : {}),\n ...triggerSx,\n }}\n >\n <Typography\n variant=\"body2\"\n sx={triggerColor ? { color: triggerColor } : undefined}\n >\n {triggerLabel}\n </Typography>\n <Icon\n icon={open ? 'tabler:chevron-up' : 'tabler:chevron-down'}\n color={triggerColor}\n />\n </Stack>\n\n <StyledPopper\n id={id}\n open={open}\n anchorEl={anchorEl}\n placement=\"bottom-start\"\n ownerState={{\n popperWidth,\n popperBorderColor,\n popperBorderColorDark,\n popperBg,\n popperBgDark,\n popperColor,\n popperColorDark,\n }}\n >\n <ClickAwayListener onClickAway={handleClose}>\n <div>\n <Autocomplete\n open\n multiple\n onClose={(\n _: React.SyntheticEvent,\n reason: AutocompleteCloseReason\n ) => {\n if (reason === 'escape') handleClose();\n }}\n value={pendingValue}\n onChange={(_, newValue) => setPendingValue(newValue)}\n disableCloseOnSelect\n slots={{ popper: PopperComponent }}\n noOptionsText=\"No labels\"\n options={list}\n getOptionLabel={option => option.name}\n isOptionEqualToValue={(option, val) => option.id === val.id}\n renderOption={(props, option) => (\n <li\n {...props}\n key={option.id}\n style={{\n height: optionHeight,\n border: `1px solid ${optionBorderColor}`,\n margin: '16px 12px',\n flexShrink: 0,\n borderRadius: 6,\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <Box\n sx={{\n flexGrow: 3,\n borderRadius: '3px',\n ml: 1,\n mt: '1px',\n justifyContent: 'start',\n alignItems: 'center',\n width: '80%',\n fontSize: '13px',\n }}\n >\n {option.name}\n </Box>\n <Box\n component=\"span\"\n sx={{\n flexShrink: 0,\n borderRadius: '3px',\n mr: 1,\n mt: '2px',\n flexGrow: 1,\n justifyContent: 'end',\n width: '20%',\n alignItems: 'center',\n }}\n >\n <Checkbox\n slotProps={{ input: { 'aria-label': option.name } }}\n checked={checked.some(x => x.id === option.id)}\n onChange={() => handleToggle(option)}\n sx={{\n color: checkboxColor,\n '&.Mui-checked': { color: checkboxCheckedColor },\n }}\n />\n </Box>\n </li>\n )}\n renderInput={params => (\n <Box\n sx={{\n position: 'relative',\n '& > :not(style)': { width: '100%' },\n }}\n >\n <TextField\n label={searchLabel}\n variant=\"filled\"\n sx={{\n width: '100%',\n margin: '10px',\n '& > :not(style)': { width: '94%' },\n }}\n ref={params.InputProps.ref}\n slotProps={{ htmlInput: params.inputProps }}\n />\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ position: 'absolute', left: 110, top: 30 }}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.76 13.27L20.49 19L19 20.49L13.27 14.76C12.2 15.53 10.91 16 9.5 16C5.91 16 3 13.09 3 9.5C3 5.91 5.91 3 9.5 3C13.09 3 16 5.91 16 9.5C16 10.91 15.53 12.2 14.76 13.27ZM9.5 5C7.01 5 5 7.01 5 9.5C5 11.99 7.01 14 9.5 14C11.99 14 14 11.99 14 9.5C14 7.01 11.99 5 9.5 5Z\"\n fill={searchIconColor}\n />\n </svg>\n </Box>\n )}\n />\n\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n m: '8px',\n height: 110,\n }}\n >\n <ActionButton\n onClick={handleApply}\n sx={{\n height: '42px',\n borderRadius: '3px',\n background: applyBg,\n margin: '5px 0 10px 0',\n color: applyColor,\n }}\n >\n {applyLabel}\n </ActionButton>\n <ActionButton\n onClick={handleClear}\n sx={{\n height: '42px',\n borderRadius: '3px',\n mb: '8px',\n color: clearColor,\n }}\n >\n {clearLabel}\n </ActionButton>\n </Box>\n </div>\n </ClickAwayListener>\n </StyledPopper>\n </React.Fragment>\n );\n};\n\n// ─── Internal types ──────────────────────────────────────────────────────────\n\ninterface PopperComponentProps {\n anchorEl?: unknown;\n disablePortal?: boolean;\n open: boolean;\n}\n\ninterface StyledPopperOwnerState {\n popperWidth: number | string;\n popperBorderColor: string;\n popperBorderColorDark: string;\n popperBg: string;\n popperBgDark: string;\n popperColor: string;\n popperColorDark: string;\n}\n\n// ─── Styled components ───────────────────────────────────────────────────────\n\nconst StyledAutocompletePopper = styled('div')(({ theme }) => ({\n [`& .${autocompleteClasses.paper}`]: {\n boxShadow: 'none',\n color: 'inherit',\n fontSize: 13,\n },\n [`& .${autocompleteClasses.listbox}`]: {\n backgroundColor: theme.palette.mode === 'light' ? '#fff' : '#1c2128',\n padding: 0,\n [`& .${autocompleteClasses.option}`]: {\n minHeight: 'auto',\n alignItems: 'flex-start',\n padding: 8,\n borderBottom: `1px solid ${theme.palette.mode === 'light' ? '#eaecef' : '#30363d'}`,\n '&[aria-selected=\"true\"]': { backgroundColor: 'transparent' },\n [`&.${autocompleteClasses.focused}, &.${autocompleteClasses.focused}[aria-selected=\"true\"]`]:\n {\n backgroundColor: theme.palette.action.hover,\n },\n },\n },\n [`&.${autocompleteClasses.popperDisablePortal}`]: { position: 'relative' },\n}));\n\nfunction PopperComponent({\n disablePortal: _d,\n anchorEl: _a,\n open: _o,\n ...other\n}: PopperComponentProps) {\n return <StyledAutocompletePopper {...other} />;\n}\n\nconst StyledPopper = styled(Popper, {\n shouldForwardProp: prop => prop !== 'ownerState',\n})<{ ownerState: StyledPopperOwnerState }>(({ theme, ownerState }) => ({\n border: `1px solid ${theme.palette.mode === 'light' ? ownerState.popperBorderColor : ownerState.popperBorderColorDark}`,\n boxShadow: `0 8px 24px ${theme.palette.mode === 'light' ? 'rgba(149, 157, 165, 0.2)' : 'rgb(1, 4, 9)'}`,\n borderRadius: 6,\n width: ownerState.popperWidth,\n zIndex: theme.zIndex.modal,\n fontSize: 13,\n color:\n theme.palette.mode === 'light'\n ? ownerState.popperColor\n : ownerState.popperColorDark,\n backgroundColor:\n theme.palette.mode === 'light'\n ? ownerState.popperBg\n : ownerState.popperBgDark,\n}));\n\nconst ActionButton = styled(ButtonBase)(() => ({\n fontSize: 13,\n width: '100%',\n textAlign: 'left',\n paddingBottom: 8,\n fontWeight: 600,\n '& span': { width: '100%' },\n '& svg': { width: 16, height: 16 },\n}));\n","import { Box, Button, Typography } from '@mui/material';\nimport type { ButtonWithIconProps } from './ButtonWithIcon.types';\n\nexport const ButtonWithIcon = ({\n size = 'large',\n variant = 'contained',\n children,\n icon,\n ...props\n}: ButtonWithIconProps) => (\n <Button\n fullWidth\n size={size}\n variant={variant}\n sx={{ minWidth: '200px', maxWidth: '250px', backgroundColor: 'white', color: 'black' }}\n {...props}\n >\n <Box display=\"flex\" gap={1} justifyContent=\"space-between\" alignItems=\"center\">\n <Typography variant=\"inherit\">{children}</Typography>\n {icon && (\n <Box mt={0.25} ml={0.5}>\n {icon}\n </Box>\n )}\n </Box>\n </Button>\n);\n","import { Button as MuiButton, CircularProgress } from '@mui/material';\nimport type { FalconButtonProps } from './FalconButton.types';\n\nexport const FalconButton = ({\n loading = false,\n disabled,\n children,\n size = 'large',\n variant = 'contained',\n type = 'submit',\n fullWidth = true,\n className = 'falcon-btn',\n ...props\n}: FalconButtonProps) => (\n <MuiButton\n disabled={disabled || loading}\n size={size}\n variant={variant}\n type={type}\n fullWidth={fullWidth}\n className={className}\n {...props}\n >\n {loading ? <CircularProgress size={16} color=\"inherit\" /> : children}\n </MuiButton>\n);\n","import { Autocomplete, TextField } from '@mui/material';\nimport type { FalconDIstrictFilterProps } from './FalconDIstrictFilter.types';\n\n/** District filter — full implementation can be migrated from apps/docs. */\nexport const FalconDIstrictFilter = ({\n label = 'District',\n options = [],\n value = [],\n onChange,\n}: FalconDIstrictFilterProps) => (\n <Autocomplete\n multiple\n options={options}\n value={value}\n onChange={(_, newValue) => onChange?.(newValue)}\n getOptionLabel={(opt) =>\n typeof opt === 'object' && opt !== null ? opt.label : ''\n }\n isOptionEqualToValue={(a, b) => a.id === b.id}\n renderInput={(params) => (\n <TextField {...params} label={label} placeholder=\"Select districts\" />\n )}\n />\n);\n","import { Box, Stack, Typography, useTheme } from '@mui/material';\nimport type { FalconGrayButtonProps } from './FalconGrayButton.types';\n\nexport const FalconGrayButton = ({\n text,\n Icon,\n onClick,\n}: FalconGrayButtonProps) => {\n const theme = useTheme();\n return (\n <Box\n sx={{\n cursor: onClick ? 'pointer' : 'default',\n padding: 4,\n borderRadius: '8px',\n background: theme.palette.secondary?.light ?? '#f0f0f0',\n }}\n onClick={onClick}\n role={onClick ? 'button' : undefined}\n >\n <Stack direction=\"row\" justifyContent=\"center\" gap={4} alignItems=\"center\">\n {Icon}\n <Typography fontSize={12} align=\"center\" fontWeight=\"bold\">\n {text}\n </Typography>\n </Stack>\n </Box>\n );\n};\n","import { Box, Divider, Stack } from '@mui/material';\nimport type { FalconPaginationProps } from './FalconPagination.types';\n\nconst selectStyle = {\n border: 'none',\n backgroundColor: 'transparent',\n padding: '5px 10px',\n fontSize: '14px',\n fontWeight: 500,\n color: '#555770',\n cursor: 'pointer',\n outline: 'none',\n} as const;\n\nconst optionStyle = { padding: '5px 10px' } as const;\n\nconst btnStyle = {\n border: 'none',\n backgroundColor: 'transparent',\n padding: '5px 10px',\n cursor: 'pointer',\n outline: 'none',\n} as const;\n\nexport const FalconPagination = ({\n pageNo,\n setPageNo,\n perPage,\n setPerPage,\n totalItems,\n perPageOptions = [12, 24, 36],\n}: FalconPaginationProps) => {\n const totalPage = Math.ceil(totalItems / perPage) || 1;\n\n return (\n <Stack\n spacing={2}\n alignItems=\"center\"\n direction=\"row\"\n width=\"100%\"\n bgcolor=\"#F0F0F0\"\n >\n <Box>\n <select\n style={selectStyle}\n value={perPage}\n onChange={(e) => setPerPage(Number(e.target.value))}\n aria-label=\"Items per page\"\n >\n {perPageOptions.map((n) => (\n <option key={n} style={optionStyle} value={n}>\n {n}\n </option>\n ))}\n </select>\n </Box>\n <Divider orientation=\"vertical\" flexItem />\n\n <Box sx={{ flex: 1 }}>\n <Box sx={{ color: '#525252', fontFamily: 'roboto' }}>\n {perPage * (pageNo - 1) + 1} - {Math.min(perPage * pageNo, totalItems)}{' '}\n of {totalItems} items\n </Box>\n </Box>\n <Divider orientation=\"vertical\" flexItem />\n\n <Stack alignItems=\"center\" direction=\"row\" gap={1}>\n <Box>\n <select\n style={selectStyle}\n value={pageNo}\n onChange={(e) => setPageNo(Number(e.target.value))}\n aria-label=\"Page number\"\n >\n {Array.from({ length: totalPage }, (_, i) => (\n <option key={i} style={optionStyle} value={i + 1}>\n {i + 1}\n </option>\n ))}\n </select>\n </Box>\n <Box sx={{ color: '#525252', fontFamily: 'roboto' }}>\n of {totalPage} pages\n </Box>\n </Stack>\n\n <Divider orientation=\"vertical\" flexItem />\n\n <Stack direction=\"row\" gap={1}>\n <button\n type=\"button\"\n disabled={pageNo === 1}\n onClick={() => setPageNo(pageNo - 1)}\n style={btnStyle}\n aria-label=\"Previous page\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path d=\"M10 12L5 8L10 4V12Z\" fill=\"#161616\" />\n </svg>\n </button>\n <button\n type=\"button\"\n disabled={pageNo === totalPage}\n onClick={() => setPageNo(pageNo + 1)}\n style={btnStyle}\n aria-label=\"Next page\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path d=\"M6 4L11 8L6 12V4Z\" fill=\"#161616\" />\n </svg>\n </button>\n </Stack>\n </Stack>\n );\n};\n","import {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n SelectChangeEvent,\n} from '@mui/material';\nimport type { FalconSelectProps } from './FalconSelect.types';\n\nfunction normalizeOptions(\n options: string[] | { value: string; label: string }[]\n): { value: string; label: string }[] {\n return options.map((opt) =>\n typeof opt === 'string' ? { value: opt.toLowerCase(), label: opt } : opt\n );\n}\n\nexport const FalconSelect = ({\n label,\n value,\n onChange,\n options,\n disabled = false,\n clearable = true,\n}: FalconSelectProps) => {\n const items = normalizeOptions(options);\n const handleChange = (event: SelectChangeEvent<string>) => {\n const v = event.target.value as string;\n onChange(v !== '' ? v : '');\n };\n\n return (\n <FormControl variant=\"filled\" fullWidth color=\"primary\">\n <InputLabel id={`falcon-select-${label}-label`}>\n Select {label} *\n </InputLabel>\n <Select\n disabled={disabled}\n value={value?.toLowerCase() ?? ''}\n label={`Select ${label}`}\n onChange={handleChange}\n labelId={`falcon-select-${label}-label`}\n id={`falcon-select-${label}`}\n >\n {clearable && (\n <MenuItem value=\"\">\n <em>--Clear--</em>\n </MenuItem>\n )}\n {items.map((item, i) => (\n <MenuItem key={i} value={item.value}>\n {item.label}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n};\n","import Stack from '@mui/material/Stack';\nimport Switch from '@mui/material/Switch';\nimport { styled } from '@mui/material/styles';\nimport type { FalconSingleSwitchProps } from './FalconSingleSwitch.types';\n\nconst AntSwitch = styled(Switch)(() => ({\n width: 28,\n height: 16,\n padding: 0,\n display: 'flex',\n '&:active': {\n '& .MuiSwitch-thumb': { width: 15 },\n '& .MuiSwitch-switchBase.Mui-checked': { transform: 'translateX(9px)' },\n },\n '& .MuiSwitch-switchBase': {\n padding: 2,\n '&.Mui-checked': {\n transform: 'translateX(12px)',\n color: '#fff',\n '& + .MuiSwitch-track': { opacity: 1 },\n },\n },\n '& .MuiSwitch-thumb': {\n boxShadow: '0 2px 4px 0 rgb(0 35 11 / 20%)',\n width: 12,\n height: 12,\n borderRadius: 6,\n },\n '& .MuiSwitch-track': {\n borderRadius: 8,\n opacity: 1,\n backgroundColor: 'rgba(0,0,0,.25)',\n boxSizing: 'border-box',\n },\n}));\n\nexport const FalconSingleSwitch = ({\n color,\n setStatus,\n value = false,\n onChange,\n}: FalconSingleSwitchProps) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>, checked: boolean) => {\n setStatus?.(checked);\n onChange?.(event, checked);\n };\n\n return (\n <Stack direction=\"row\" margin={2} spacing={1} alignItems=\"center\">\n <AntSwitch\n checked={value}\n onChange={handleChange}\n color={color}\n size=\"medium\"\n inputProps={{ 'aria-label': 'toggle' }}\n />\n </Stack>\n );\n};\n","import { Box } from '@mui/material';\nimport { DataGrid } from '@mui/x-data-grid';\nimport { useState } from 'react';\nimport type { FalconTableProps } from './FalconTable.types';\n\nexport const FalconTable = <T extends Record<string, unknown>>({\n rows,\n getRowId,\n columns,\n pageSizeOptions = [7, 10, 25, 50],\n}: FalconTableProps<T>) => {\n const [paginationModel, setPaginationModel] = useState({\n page: 0,\n pageSize: 7,\n });\n\n return (\n <Box\n sx={{\n border: '2px solid #F2F2F2',\n padding: '16px',\n borderRadius: '12px',\n }}\n >\n <DataGrid\n autoHeight\n sx={{\n minHeight: '48px',\n '& .MuiDataGrid-columnHeaders': {\n borderBottom: '0px',\n borderRadius: '6px !important',\n },\n '& .MuiDataGrid-columnHeaderTitle': {\n color: '#7A7A7A !important',\n },\n }}\n rows={rows ?? []}\n getRowId={getRowId}\n columns={columns}\n disableRowSelectionOnClick\n pageSizeOptions={pageSizeOptions}\n paginationModel={paginationModel}\n onPaginationModelChange={setPaginationModel}\n />\n </Box>\n );\n};\n","import { Box, Typography } from '@mui/material';\nimport type { FalconTicketColumsFilterProps } from './FalconTicketColumsFilter.types';\n\n/** Column filter UI — full implementation can be migrated from apps/docs. */\nexport const FalconTicketColumsFilter = ({\n columns = [],\n selected = [],\n onSelectionChange,\n}: FalconTicketColumsFilterProps) => (\n <Box sx={{ p: 2, minWidth: 280 }}>\n <Typography variant=\"subtitle2\" gutterBottom>\n Select columns\n </Typography>\n {columns.length === 0 ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n No columns configured. Pass columns prop.\n </Typography>\n ) : (\n <Typography variant=\"body2\">\n {selected.length} of {columns.length} selected\n </Typography>\n )}\n {onSelectionChange && (\n <Typography variant=\"caption\" display=\"block\" sx={{ mt: 1 }}>\n (Column checkboxes to be wired from app)\n </Typography>\n )}\n </Box>\n);\n","import { Button, Popover } from '@mui/material';\nimport { useState } from 'react';\nimport type { FalconTicketFilterProps } from './FalconTicketFilter.types';\n\nexport const FalconTicketFilter = ({\n children,\n label = 'FILTERS',\n open: controlledOpen,\n onOpenChange,\n}: FalconTicketFilterProps) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const open = controlledOpen ?? internalOpen;\n const setOpen = onOpenChange ?? setInternalOpen;\n\n const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n setOpen(true);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n setOpen(false);\n };\n\n return (\n <>\n <Button onClick={handleClick} variant=\"outlined\" size=\"medium\">\n {label}\n </Button>\n <Popover\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n >\n <div style={{ padding: 16, minWidth: 280 }}>{children}</div>\n </Popover>\n </>\n );\n};\n","import type { HeatMapChartLegendProps } from './HeatMapChartLegend.types';\n\nexport const HeatMapChartLegend = ({\n title,\n items,\n gradientId,\n gradientStops,\n}: HeatMapChartLegendProps) => (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '12px',\n marginBottom: '16px',\n fontFamily: 'sans-serif',\n }}\n >\n <span\n style={{\n fontSize: '12px',\n fontWeight: 700,\n color: '#374151',\n minWidth: '80px',\n textAlign: 'right',\n }}\n >\n {title}\n </span>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n flex: 1,\n maxWidth: '600px',\n }}\n >\n <svg\n width=\"100%\"\n height=\"32\"\n style={{ filter: 'drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1))' }}\n >\n <defs>\n <linearGradient\n id={gradientId}\n x1=\"0%\"\n y1=\"0%\"\n x2=\"100%\"\n y2=\"0%\"\n >\n {gradientStops.map((stop, index) => (\n <stop\n key={index}\n offset={stop.offset}\n stopColor={stop.color}\n stopOpacity=\"1\"\n />\n ))}\n </linearGradient>\n </defs>\n <rect\n width=\"100%\"\n height=\"100%\"\n fill={`url(#${gradientId})`}\n />\n </svg>\n <div\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingLeft: '16px',\n paddingRight: '16px',\n }}\n >\n {items.map((item, index) => (\n <span\n key={index}\n style={{\n fontSize: '9px',\n fontWeight: 600,\n color: 'white',\n textShadow: '0 1px 2px rgba(0, 0, 0, 0.5)',\n letterSpacing: '0.025em',\n }}\n >\n {item.label}\n </span>\n ))}\n </div>\n </div>\n </div>\n);\n","import type { ProgressBarNumberProps } from './ProgressBarNumber.types';\n\nconst FullProgress = ({\n number,\n numColor,\n}: Omit<ProgressBarNumberProps, 'progress'>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={56}\n height={56}\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n >\n <circle\n cx={28}\n cy={28}\n r={26}\n fill=\"#D9D9D9\"\n stroke=\"#222222\"\n strokeWidth={4}\n />\n <text x={28} y={36} fontSize={24} textAnchor=\"middle\" fill={numColor}>\n {number}\n </text>\n </svg>\n);\n\nconst HalfProgress = ({\n number,\n numColor,\n}: Omit<ProgressBarNumberProps, 'progress'>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={56}\n height={56}\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n >\n <circle\n cx={28}\n cy={28}\n r={26}\n fill=\"#D9D9D9\"\n stroke=\"#222222\"\n strokeWidth={4}\n strokeDasharray={85}\n strokeDashoffset={130}\n />\n <text x={28} y={36} fontSize={24} textAnchor=\"middle\" fill={numColor}>\n {number}\n </text>\n </svg>\n);\n\nconst NoProgress = ({\n number,\n numColor,\n}: Omit<ProgressBarNumberProps, 'progress'>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={56}\n height={56}\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n >\n <circle\n cx={28}\n cy={28}\n r={26}\n fill=\"#D9D9D9\"\n stroke=\"#222222\"\n strokeOpacity=\"0.1\"\n strokeWidth=\"4\"\n />\n <text x={28} y={36} fontSize={24} textAnchor=\"middle\" fill={numColor}>\n {number}\n </text>\n </svg>\n);\n\nexport const ProgressBarNumber = ({\n number,\n progress,\n numColor,\n}: ProgressBarNumberProps) => {\n if (progress === 0) {\n return <NoProgress number={number} numColor={numColor} />;\n }\n if (progress === 50) {\n return <HalfProgress number={number} numColor={numColor} />;\n }\n if (progress === 100) {\n return <FullProgress number={number} numColor={numColor} />;\n }\n return <div>Invalid Progress</div>;\n};\n","import CssBaseline from '@mui/material/CssBaseline';\nimport {\n ThemeProvider,\n createTheme,\n responsiveFontSizes,\n} from '@mui/material/styles';\nimport React from 'react';\nimport type {\n FalconThemeMode,\n FalconThemeProviderProps,\n} from './FalconThemeProvider.types';\n\n// ─── Brand palette ────────────────────────────────────────────────────────────\n\nconst lightColor = '51, 48, 60';\nconst darkColor = '228, 230, 244';\nconst darkPaperBg = '#2F3349';\n\nfunction buildPalette(mode: FalconThemeMode) {\n const mainColor = mode === 'light' ? lightColor : darkColor;\n\n return {\n mode,\n primary: {\n light: 'rgba(103, 80, 164, 0.02)',\n main: '#d8c5f9',\n dark: '#8710D8',\n contrastText: '#FFF',\n },\n secondary: {\n light: '#EFEFEF',\n main: '#1D192B',\n dark: '#949699',\n contrastText: '#FFF',\n },\n error: {\n light: '#ED6F70',\n main: '#EA5455',\n dark: '#CE4A4B',\n contrastText: '#FFF',\n },\n warning: {\n light: '#FFAB5A',\n main: '#FF9F43',\n dark: '#E08C3B',\n contrastText: '#FFF',\n },\n info: {\n light: '#1FD5EB',\n main: '#00CFE8',\n dark: '#00B6CC',\n contrastText: '#FFF',\n },\n success: {\n light: '#42CE80',\n main: '#28C76F',\n dark: '#23AF62',\n contrastText: '#FFF',\n },\n text: {\n primary: `rgba(${mainColor}, 0.87)`,\n secondary: `rgba(${mainColor}, 0.6)`,\n disabled: `rgba(${mainColor}, 0.38)`,\n },\n divider: `rgba(${mainColor}, 0.12)`,\n background: {\n paper: mode === 'light' ? '#F2EBFF' : darkPaperBg,\n default: mode === 'light' ? '#F8F7FA' : '#25293C',\n },\n action: {\n active: `rgba(${mainColor}, 0.54)`,\n hover: `rgba(${mainColor}, 0.04)`,\n selected: `rgba(${mainColor}, 0.08)`,\n disabled: `rgba(${mainColor}, 0.26)`,\n disabledBackground: `rgba(${mainColor}, 0.12)`,\n focus: `rgba(${mainColor}, 0.12)`,\n },\n };\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport const FalconThemeProvider = ({\n children,\n mode: modeProp,\n settings,\n}: FalconThemeProviderProps) => {\n const mode: FalconThemeMode = settings?.mode ?? modeProp ?? 'light';\n const direction = settings?.direction ?? 'ltr';\n\n const theme = responsiveFontSizes(\n createTheme({\n direction,\n palette: buildPalette(mode),\n shape: { borderRadius: 6 },\n typography: { fontFamily: '\"Inter\", \"Public Sans\", sans-serif' },\n mixins: { toolbar: { minHeight: 64 } },\n })\n );\n\n return (\n <ThemeProvider theme={theme}>\n <CssBaseline />\n {children}\n </ThemeProvider>\n );\n};\n"],"mappings":";;;AAAA,SAAS,QAAQ,gBAAgB,iBAAiB;AA2BtC;AAvBL,IAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,cAAc;AAChB,MAA4B;AAC1B,QAAM,eAAe,CAAC,UAAyC;AAC7D,aAAS,MAAM,OAAO,KAAK;AAAA,EAC7B;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,WAAS;AAAA,MACT,IAAI,EAAE,OAAO,SAAS,UAAU,OAAO;AAAA,MACvC;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,MAAK;AAAA,MACL,YAAY;AAAA,QACV,cACE,oBAAC,kBAAe,UAAS,OACvB;AAAA,UAAC;AAAA;AAAA,YACC,SAAQ;AAAA,YACR,IAAI;AAAA,cACF,YAAY;AAAA,cACZ,OAAO;AAAA,cACP,UAAU;AAAA,cACV,OAAO;AAAA,cACP,KAAK;AAAA,cACL,SAAS;AAAA,cACT,QAAQ;AAAA,cACR,cAAc;AAAA,YAChB;AAAA,YACA,SAAS;AAAA,YACT,aAAa,CAAC,MAAM,EAAE,eAAe;AAAA,YAEpC;AAAA;AAAA,QACH,GACF;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ;;;ACjDA,SAAS,SAAS,iBAAiB;AACnC;AAAA,EACC,OAAAA;AAAA,EACA,UAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAAC;AAAA,OACM;;;ACVP,SAAS,YAAY;AACrB,SAAS,OAAO,kBAAkB;AAClC,OAAO;AAAA,EAEL;AAAA,OACK;AACP,OAAO,SAAS;AAChB,OAAO,gBAAgB;AACvB,OAAO,cAAc;AACrB,OAAO,uBAAuB;AAC9B,OAAO,YAAY;AACnB,OAAOC,gBAAe;AACtB,SAAS,cAAc;AACvB,YAAY,WAAW;AAyFjB,SAgBE,OAAAC,MAhBF;AA+DU;AAlJT,IAAM,oBAAoB,CAAC;AAAA;AAAA,EAEhC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA,YAAY;AAAA,EACZ;AAAA,EACA,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB;AAAA;AAAA,EAEA,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,wBAAwB;AAAA,EACxB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB;AAAA;AAAA,EAElB,oBAAoB;AAAA,EACpB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,uBAAuB;AAAA;AAAA,EAEvB,cAAc;AAAA,EACd,kBAAkB;AAAA;AAAA,EAElB,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AACf,MAA8B;AAC5B,QAAM,CAAC,SAAS,UAAU,IAAU;AAAA,IAClC,QAAQ,CAAC;AAAA,EACX;AACA,QAAM,CAAC,UAAU,WAAW,IAAU,eAA6B,IAAI;AACvE,QAAM,CAAC,cAAc,eAAe,IAAU,eAE5C,CAAC,CAAC;AAEJ,QAAM,OAAO,QAAQ,QAAQ;AAC7B,QAAM,KAAK,OAAO,uBAAuB;AAEzC,QAAM,cAAc,CAAC,UAAyC;AAC5D,oBAAgB,OAAO;AACvB,gBAAY,MAAM,aAAa;AAAA,EACjC;AAEA,QAAM,cAAc,MAAM;AACxB,QAAI,SAAU,UAAS,MAAM;AAC7B,gBAAY,IAAI;AAAA,EAClB;AAEA,QAAM,cAAc,MAAM;AACxB,YAAQ,OAAO;AACf,gBAAY;AAAA,EACd;AAEA,QAAM,cAAc,MAAM;AACxB,eAAW,CAAC,CAAC;AACb,YAAQ,CAAC,CAAC;AACV,gBAAY;AAAA,EACd;AAEA,QAAM,eAAe,CAAC,WAAoC;AACxD,eAAW,UAAQ;AACjB,YAAM,SAAS,KAAK,KAAK,OAAK,EAAE,OAAO,OAAO,EAAE;AAChD,aAAO,SAAS,KAAK,OAAO,OAAK,EAAE,OAAO,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,MAAM;AAAA,IACzE,CAAC;AAAA,EACH;AAEA,QAAM,eACJ,QAAQ,WAAW,IACf,aAAa,KAAK,KAClB,QAAQ,WAAW,IACjB,QAAQ,CAAC,EAAE,OACX,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,EAAE,IAAI,GAAG,QAAQ,SAAS,IAAI,WAAM,EAAE;AAE9E,SACE,qBAAO,gBAAN,EACC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,YAAW;AAAA,QACX,gBAAe;AAAA,QACf,KAAK;AAAA,QACL,SAAS;AAAA,QACT,IAAI;AAAA,UACF,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,cAAc;AAAA,UACd,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,GAAI,eAAe,EAAE,OAAO,aAAa,IAAI,CAAC;AAAA,UAC9C,GAAG;AAAA,QACL;AAAA,QAEA;AAAA,0BAAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,IAAI,eAAe,EAAE,OAAO,aAAa,IAAI;AAAA,cAE5C;AAAA;AAAA,UACH;AAAA,UACA,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAM,OAAO,sBAAsB;AAAA,cACnC,OAAO;AAAA;AAAA,UACT;AAAA;AAAA;AAAA,IACF;AAAA,IAEA,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAU;AAAA,QACV,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAEA,0BAAAA,KAAC,qBAAkB,aAAa,aAC9B,+BAAC,SACC;AAAA,0BAAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAI;AAAA,cACJ,UAAQ;AAAA,cACR,SAAS,CACP,GACA,WACG;AACH,oBAAI,WAAW,SAAU,aAAY;AAAA,cACvC;AAAA,cACA,OAAO;AAAA,cACP,UAAU,CAAC,GAAG,aAAa,gBAAgB,QAAQ;AAAA,cACnD,sBAAoB;AAAA,cACpB,OAAO,EAAE,QAAQ,gBAAgB;AAAA,cACjC,eAAc;AAAA,cACd,SAAS;AAAA,cACT,gBAAgB,YAAU,OAAO;AAAA,cACjC,sBAAsB,CAAC,QAAQ,QAAQ,OAAO,OAAO,IAAI;AAAA,cACzD,cAAc,CAAC,OAAO,WACpB;AAAA,gBAAC;AAAA;AAAA,kBACE,GAAG;AAAA,kBACJ,KAAK,OAAO;AAAA,kBACZ,OAAO;AAAA,oBACL,QAAQ;AAAA,oBACR,QAAQ,aAAa,iBAAiB;AAAA,oBACtC,QAAQ;AAAA,oBACR,YAAY;AAAA,oBACZ,cAAc;AAAA,oBACd,gBAAgB;AAAA,oBAChB,YAAY;AAAA,kBACd;AAAA;AAAA,gBAEA,gBAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,IAAI;AAAA,sBACF,UAAU;AAAA,sBACV,cAAc;AAAA,sBACd,IAAI;AAAA,sBACJ,IAAI;AAAA,sBACJ,gBAAgB;AAAA,sBAChB,YAAY;AAAA,sBACZ,OAAO;AAAA,sBACP,UAAU;AAAA,oBACZ;AAAA,oBAEC,iBAAO;AAAA;AAAA,gBACV;AAAA,gBACA,gBAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,WAAU;AAAA,oBACV,IAAI;AAAA,sBACF,YAAY;AAAA,sBACZ,cAAc;AAAA,sBACd,IAAI;AAAA,sBACJ,IAAI;AAAA,sBACJ,UAAU;AAAA,sBACV,gBAAgB;AAAA,sBAChB,OAAO;AAAA,sBACP,YAAY;AAAA,oBACd;AAAA,oBAEA,0BAAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,WAAW,EAAE,OAAO,EAAE,cAAc,OAAO,KAAK,EAAE;AAAA,wBAClD,SAAS,QAAQ,KAAK,OAAK,EAAE,OAAO,OAAO,EAAE;AAAA,wBAC7C,UAAU,MAAM,aAAa,MAAM;AAAA,wBACnC,IAAI;AAAA,0BACF,OAAO;AAAA,0BACP,iBAAiB,EAAE,OAAO,qBAAqB;AAAA,wBACjD;AAAA;AAAA,oBACF;AAAA;AAAA,gBACF;AAAA,cACF;AAAA,cAEF,aAAa,YACX;AAAA,gBAAC;AAAA;AAAA,kBACC,IAAI;AAAA,oBACF,UAAU;AAAA,oBACV,mBAAmB,EAAE,OAAO,OAAO;AAAA,kBACrC;AAAA,kBAEA;AAAA,oCAAAA;AAAA,sBAACD;AAAA,sBAAA;AAAA,wBACC,OAAO;AAAA,wBACP,SAAQ;AAAA,wBACR,IAAI;AAAA,0BACF,OAAO;AAAA,0BACP,QAAQ;AAAA,0BACR,mBAAmB,EAAE,OAAO,MAAM;AAAA,wBACpC;AAAA,wBACA,KAAK,OAAO,WAAW;AAAA,wBACvB,WAAW,EAAE,WAAW,OAAO,WAAW;AAAA;AAAA,oBAC5C;AAAA,oBACA,gBAAAC;AAAA,sBAAC;AAAA;AAAA,wBACC,OAAM;AAAA,wBACN,OAAO,EAAE,UAAU,YAAY,MAAM,KAAK,KAAK,GAAG;AAAA,wBAClD,OAAM;AAAA,wBACN,QAAO;AAAA,wBACP,SAAQ;AAAA,wBACR,MAAK;AAAA,wBAEL,0BAAAA;AAAA,0BAAC;AAAA;AAAA,4BACC,UAAS;AAAA,4BACT,UAAS;AAAA,4BACT,GAAE;AAAA,4BACF,MAAM;AAAA;AAAA,wBACR;AAAA;AAAA,oBACF;AAAA;AAAA;AAAA,cACF;AAAA;AAAA,UAEJ;AAAA,UAEA;AAAA,YAAC;AAAA;AAAA,cACC,IAAI;AAAA,gBACF,SAAS;AAAA,gBACT,eAAe;AAAA,gBACf,GAAG;AAAA,gBACH,QAAQ;AAAA,cACV;AAAA,cAEA;AAAA,gCAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,SAAS;AAAA,oBACT,IAAI;AAAA,sBACF,QAAQ;AAAA,sBACR,cAAc;AAAA,sBACd,YAAY;AAAA,sBACZ,QAAQ;AAAA,sBACR,OAAO;AAAA,oBACT;AAAA,oBAEC;AAAA;AAAA,gBACH;AAAA,gBACA,gBAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,SAAS;AAAA,oBACT,IAAI;AAAA,sBACF,QAAQ;AAAA,sBACR,cAAc;AAAA,sBACd,IAAI;AAAA,sBACJ,OAAO;AAAA,oBACT;AAAA,oBAEC;AAAA;AAAA,gBACH;AAAA;AAAA;AAAA,UACF;AAAA,WACF,GACF;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;AAsBA,IAAM,2BAA2B,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EAC7D,CAAC,MAAM,oBAAoB,KAAK,EAAE,GAAG;AAAA,IACnC,WAAW;AAAA,IACX,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,CAAC,MAAM,oBAAoB,OAAO,EAAE,GAAG;AAAA,IACrC,iBAAiB,MAAM,QAAQ,SAAS,UAAU,SAAS;AAAA,IAC3D,SAAS;AAAA,IACT,CAAC,MAAM,oBAAoB,MAAM,EAAE,GAAG;AAAA,MACpC,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,cAAc,aAAa,MAAM,QAAQ,SAAS,UAAU,YAAY,SAAS;AAAA,MACjF,2BAA2B,EAAE,iBAAiB,cAAc;AAAA,MAC5D,CAAC,KAAK,oBAAoB,OAAO,OAAO,oBAAoB,OAAO,wBAAwB,GACzF;AAAA,QACE,iBAAiB,MAAM,QAAQ,OAAO;AAAA,MACxC;AAAA,IACJ;AAAA,EACF;AAAA,EACA,CAAC,KAAK,oBAAoB,mBAAmB,EAAE,GAAG,EAAE,UAAU,WAAW;AAC3E,EAAE;AAEF,SAAS,gBAAgB;AAAA,EACvB,eAAe;AAAA,EACf,UAAU;AAAA,EACV,MAAM;AAAA,EACN,GAAG;AACL,GAAyB;AACvB,SAAO,gBAAAA,KAAC,4BAA0B,GAAG,OAAO;AAC9C;AAEA,IAAM,eAAe,OAAO,QAAQ;AAAA,EAClC,mBAAmB,UAAQ,SAAS;AACtC,CAAC,EAA0C,CAAC,EAAE,OAAO,WAAW,OAAO;AAAA,EACrE,QAAQ,aAAa,MAAM,QAAQ,SAAS,UAAU,WAAW,oBAAoB,WAAW,qBAAqB;AAAA,EACrH,WAAW,cAAc,MAAM,QAAQ,SAAS,UAAU,6BAA6B,cAAc;AAAA,EACrG,cAAc;AAAA,EACd,OAAO,WAAW;AAAA,EAClB,QAAQ,MAAM,OAAO;AAAA,EACrB,UAAU;AAAA,EACV,OACE,MAAM,QAAQ,SAAS,UACnB,WAAW,cACX,WAAW;AAAA,EACjB,iBACE,MAAM,QAAQ,SAAS,UACnB,WAAW,WACX,WAAW;AACnB,EAAE;AAEF,IAAM,eAAe,OAAO,UAAU,EAAE,OAAO;AAAA,EAC7C,UAAU;AAAA,EACV,OAAO;AAAA,EACP,WAAW;AAAA,EACX,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,UAAU,EAAE,OAAO,OAAO;AAAA,EAC1B,SAAS,EAAE,OAAO,IAAI,QAAQ,GAAG;AACnC,EAAE;;;AD9TE,SACC,OAAAC,MADD,QAAAC,aAAA;AAzCJ,IAAM,yBAAyB;AAAA,EAC9B,EAAE,IAAI,GAAG,OAAO,aAAa;AAAA,EAC7B,EAAE,IAAI,GAAG,OAAO,aAAa;AAC9B;AAEA,IAAM,6BAA6B;AAAA,EAClC,EAAE,IAAI,GAAG,OAAO,SAAS;AAAA,EACzB,EAAE,IAAI,GAAG,OAAO,aAAa;AAC9B;AAEO,IAAM,wBAAwB,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA,kBAAkB,uBAAuB,IAAI,CAAC,YAAY;AAAA,IACzD,IAAI,OAAO;AAAA,IACX,MAAM,OAAO;AAAA,EACd,EAAE;AAAA,EACF,sBAAsB,2BAA2B,IAAI,CAAC,YAAY;AAAA,IACjE,IAAI,OAAO;AAAA,IACX,MAAM,OAAO;AAAA,EACd,EAAE;AAAA,EACF,oBAAoB,CAAC;AAAA,EACrB,wBAAwB,CAAC;AAAA,EACzB,oBAAoB,MAAM;AAAA,EAAE;AAAA,EAC5B,wBAAwB,MAAM;AAAA,EAAE;AAAA,EAChC;AAAA,EACA;AACD,MAAkC;AACjC,QAAM,cAAc,MAAM;AACzB,cAAU;AACV,YAAQ;AAAA,EACT;AAEA,QAAM,eAAe,MAAM;AAC1B,eAAW;AACX,YAAQ;AAAA,EACT;AAEA,SACC,gBAAAA,MAAC,UAAO,MAAY,SAAkB,UAAS,MAAK,WAAS,MAC5D;AAAA,oBAAAD,KAAC,eACA,0BAAAC,MAACC,MAAA,EAAI,SAAQ,QAAO,YAAW,UAAS,gBAAe,iBACtD;AAAA,sBAAAF,KAACG,aAAA,EAAW,SAAQ,MAAK,8BAAgB;AAAA,MACzC,gBAAAH,KAAC,cAAW,SAAS,SAAS,MAAK,SAAQ,cAAW,SACrD,0BAAAA,KAAC,aAAU,GACZ;AAAA,OACD,GACD;AAAA,IACA,gBAAAA,KAAC,iBACA,0BAAAC,MAACC,MAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,KAAK,GAAG,IAAI,EAAE,GAClE;AAAA,sBAAAF;AAAA,QAAC;AAAA;AAAA,UACA,OAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA;AAAA,MACV;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACA,OAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA;AAAA,MACV;AAAA,OACD,GACD;AAAA,IACA,gBAAAC,MAAC,iBACA;AAAA,sBAAAD,KAACI,SAAA,EAAO,SAAS,cAAc,oBAAM;AAAA,MACrC,gBAAAJ,KAACI,SAAA,EAAO,SAAQ,aAAY,SAAS,aAAa,mBAElD;AAAA,OACD;AAAA,KACD;AAEF;;;AEtFA,SAAS,OAAAC,MAAK,UAAAC,SAAQ,cAAAC,mBAAkB;AAiBpC,SACE,OAAAC,MADF,QAAAC,aAAA;AAdG,IAAM,iBAAiB,CAAC;AAAA,EAC7B,OAAO;AAAA,EACP,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACE,gBAAAD;AAAA,EAACF;AAAA,EAAA;AAAA,IACC,WAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,IAAI,EAAE,UAAU,SAAS,UAAU,SAAS,iBAAiB,SAAS,OAAO,QAAQ;AAAA,IACpF,GAAG;AAAA,IAEJ,0BAAAG,MAACJ,MAAA,EAAI,SAAQ,QAAO,KAAK,GAAG,gBAAe,iBAAgB,YAAW,UACpE;AAAA,sBAAAG,KAACD,aAAA,EAAW,SAAQ,WAAW,UAAS;AAAA,MACvC,QACC,gBAAAC,KAACH,MAAA,EAAI,IAAI,MAAM,IAAI,KAChB,gBACH;AAAA,OAEJ;AAAA;AACF;;;ACzBF,SAAS,UAAU,WAAW,wBAAwB;AAuBvC,gBAAAK,YAAA;AApBR,IAAM,eAAe,CAAC;AAAA,EAC3B,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,UAAU;AAAA,EACV,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,GAAG;AACL,MACE,gBAAAA;AAAA,EAAC;AAAA;AAAA,IACC,UAAU,YAAY;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACC,GAAG;AAAA,IAEH,oBAAU,gBAAAA,KAAC,oBAAiB,MAAM,IAAI,OAAM,WAAU,IAAK;AAAA;AAC9D;;;ACxBF,SAAS,gBAAAC,eAAc,aAAAC,kBAAiB;AAoBlC,gBAAAC,YAAA;AAhBC,IAAM,uBAAuB,CAAC;AAAA,EACnC,QAAQ;AAAA,EACR,UAAU,CAAC;AAAA,EACX,QAAQ,CAAC;AAAA,EACT;AACF,MACE,gBAAAA;AAAA,EAACF;AAAA,EAAA;AAAA,IACC,UAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA,UAAU,CAAC,GAAG,aAAa,WAAW,QAAQ;AAAA,IAC9C,gBAAgB,CAAC,QACf,OAAO,QAAQ,YAAY,QAAQ,OAAO,IAAI,QAAQ;AAAA,IAExD,sBAAsB,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE;AAAA,IAC3C,aAAa,CAAC,WACZ,gBAAAE,KAACD,YAAA,EAAW,GAAG,QAAQ,OAAc,aAAY,oBAAmB;AAAA;AAExE;;;ACtBF,SAAS,OAAAE,MAAK,SAAAC,QAAO,cAAAC,aAAY,gBAAgB;AAoB3C,SAEE,OAAAC,MAFF,QAAAC,aAAA;AAjBC,IAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA,MAAAC;AAAA,EACA;AACF,MAA6B;AAC3B,QAAM,QAAQ,SAAS;AACvB,SACE,gBAAAF;AAAA,IAACH;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,QAAQ,UAAU,YAAY;AAAA,QAC9B,SAAS;AAAA,QACT,cAAc;AAAA,QACd,YAAY,MAAM,QAAQ,WAAW,SAAS;AAAA,MAChD;AAAA,MACA;AAAA,MACA,MAAM,UAAU,WAAW;AAAA,MAE3B,0BAAAI,MAACH,QAAA,EAAM,WAAU,OAAM,gBAAe,UAAS,KAAK,GAAG,YAAW,UAC/D;AAAA,QAAAI;AAAA,QACD,gBAAAF,KAACD,aAAA,EAAW,UAAU,IAAI,OAAM,UAAS,YAAW,QACjD,gBACH;AAAA,SACF;AAAA;AAAA,EACF;AAEJ;;;AC5BA,SAAS,OAAAI,MAAK,SAAS,SAAAC,cAAa;AAkDxB,gBAAAC,MASJ,QAAAC,aATI;AA/CZ,IAAM,cAAc;AAAA,EAClB,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AACX;AAEA,IAAM,cAAc,EAAE,SAAS,WAAW;AAE1C,IAAM,WAAW;AAAA,EACf,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AACX;AAEO,IAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB,CAAC,IAAI,IAAI,EAAE;AAC9B,MAA6B;AAC3B,QAAM,YAAY,KAAK,KAAK,aAAa,OAAO,KAAK;AAErD,SACE,gBAAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,SAAS;AAAA,MACT,YAAW;AAAA,MACX,WAAU;AAAA,MACV,OAAM;AAAA,MACN,SAAQ;AAAA,MAER;AAAA,wBAAAC,KAACF,MAAA,EACC,0BAAAE;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,OAAO;AAAA,YACP,UAAU,CAAC,MAAM,WAAW,OAAO,EAAE,OAAO,KAAK,CAAC;AAAA,YAClD,cAAW;AAAA,YAEV,yBAAe,IAAI,CAAC,MACnB,gBAAAA,KAAC,YAAe,OAAO,aAAa,OAAO,GACxC,eADU,CAEb,CACD;AAAA;AAAA,QACH,GACF;AAAA,QACA,gBAAAA,KAAC,WAAQ,aAAY,YAAW,UAAQ,MAAC;AAAA,QAEzC,gBAAAA,KAACF,MAAA,EAAI,IAAI,EAAE,MAAM,EAAE,GACjB,0BAAAG,MAACH,MAAA,EAAI,IAAI,EAAE,OAAO,WAAW,YAAY,SAAS,GAC/C;AAAA,qBAAW,SAAS,KAAK;AAAA,UAAE;AAAA,UAAI,KAAK,IAAI,UAAU,QAAQ,UAAU;AAAA,UAAG;AAAA,UAAI;AAAA,UACxE;AAAA,UAAW;AAAA,WACjB,GACF;AAAA,QACA,gBAAAE,KAAC,WAAQ,aAAY,YAAW,UAAQ,MAAC;AAAA,QAEzC,gBAAAC,MAACF,QAAA,EAAM,YAAW,UAAS,WAAU,OAAM,KAAK,GAC9C;AAAA,0BAAAC,KAACF,MAAA,EACC,0BAAAE;AAAA,YAAC;AAAA;AAAA,cACC,OAAO;AAAA,cACP,OAAO;AAAA,cACP,UAAU,CAAC,MAAM,UAAU,OAAO,EAAE,OAAO,KAAK,CAAC;AAAA,cACjD,cAAW;AAAA,cAEV,gBAAM,KAAK,EAAE,QAAQ,UAAU,GAAG,CAAC,GAAG,MACrC,gBAAAA,KAAC,YAAe,OAAO,aAAa,OAAO,IAAI,GAC5C,cAAI,KADM,CAEb,CACD;AAAA;AAAA,UACH,GACF;AAAA,UACA,gBAAAC,MAACH,MAAA,EAAI,IAAI,EAAE,OAAO,WAAW,YAAY,SAAS,GAAG;AAAA;AAAA,YAC/C;AAAA,YAAU;AAAA,aAChB;AAAA,WACF;AAAA,QAEA,gBAAAE,KAAC,WAAQ,aAAY,YAAW,UAAQ,MAAC;AAAA,QAEzC,gBAAAC,MAACF,QAAA,EAAM,WAAU,OAAM,KAAK,GAC1B;AAAA,0BAAAC;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,UAAU,WAAW;AAAA,cACrB,SAAS,MAAM,UAAU,SAAS,CAAC;AAAA,cACnC,OAAO;AAAA,cACP,cAAW;AAAA,cAEX,0BAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,OAAM;AAAA,kBACN,OAAM;AAAA,kBACN,QAAO;AAAA,kBACP,SAAQ;AAAA,kBACR,MAAK;AAAA,kBAEL,0BAAAA,KAAC,UAAK,GAAE,uBAAsB,MAAK,WAAU;AAAA;AAAA,cAC/C;AAAA;AAAA,UACF;AAAA,UACA,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,UAAU,WAAW;AAAA,cACrB,SAAS,MAAM,UAAU,SAAS,CAAC;AAAA,cACnC,OAAO;AAAA,cACP,cAAW;AAAA,cAEX,0BAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,OAAM;AAAA,kBACN,OAAM;AAAA,kBACN,QAAO;AAAA,kBACP,SAAQ;AAAA,kBACR,MAAK;AAAA,kBAEL,0BAAAA,KAAC,UAAK,GAAE,qBAAoB,MAAK,WAAU;AAAA;AAAA,cAC7C;AAAA;AAAA,UACF;AAAA,WACF;AAAA;AAAA;AAAA,EACF;AAEJ;;;AC9HA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AA2BD,SAaM,OAAAE,MAbN,QAAAC,aAAA;AAxBN,SAAS,iBACP,SACoC;AACpC,SAAO,QAAQ;AAAA,IAAI,CAAC,QAClB,OAAO,QAAQ,WAAW,EAAE,OAAO,IAAI,YAAY,GAAG,OAAO,IAAI,IAAI;AAAA,EACvE;AACF;AAEO,IAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,YAAY;AACd,MAAyB;AACvB,QAAM,QAAQ,iBAAiB,OAAO;AACtC,QAAM,eAAe,CAAC,UAAqC;AACzD,UAAM,IAAI,MAAM,OAAO;AACvB,aAAS,MAAM,KAAK,IAAI,EAAE;AAAA,EAC5B;AAEA,SACE,gBAAAA,MAAC,eAAY,SAAQ,UAAS,WAAS,MAAC,OAAM,WAC5C;AAAA,oBAAAA,MAAC,cAAW,IAAI,iBAAiB,KAAK,UAAU;AAAA;AAAA,MACtC;AAAA,MAAM;AAAA,OAChB;AAAA,IACA,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAO,OAAO,YAAY,KAAK;AAAA,QAC/B,OAAO,UAAU,KAAK;AAAA,QACtB,UAAU;AAAA,QACV,SAAS,iBAAiB,KAAK;AAAA,QAC/B,IAAI,iBAAiB,KAAK;AAAA,QAEzB;AAAA,uBACC,gBAAAD,KAAC,YAAS,OAAM,IACd,0BAAAA,KAAC,QAAG,uBAAS,GACf;AAAA,UAED,MAAM,IAAI,CAAC,MAAM,MAChB,gBAAAA,KAAC,YAAiB,OAAO,KAAK,OAC3B,eAAK,SADO,CAEf,CACD;AAAA;AAAA;AAAA,IACH;AAAA,KACF;AAEJ;;;ACzDA,OAAOE,YAAW;AAClB,OAAO,YAAY;AACnB,SAAS,UAAAC,eAAc;AA+CjB,gBAAAC,aAAA;AA5CN,IAAM,YAAYD,QAAO,MAAM,EAAE,OAAO;AAAA,EACtC,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,YAAY;AAAA,IACV,sBAAsB,EAAE,OAAO,GAAG;AAAA,IAClC,uCAAuC,EAAE,WAAW,kBAAkB;AAAA,EACxE;AAAA,EACA,2BAA2B;AAAA,IACzB,SAAS;AAAA,IACT,iBAAiB;AAAA,MACf,WAAW;AAAA,MACX,OAAO;AAAA,MACP,wBAAwB,EAAE,SAAS,EAAE;AAAA,IACvC;AAAA,EACF;AAAA,EACA,sBAAsB;AAAA,IACpB,WAAW;AAAA,IACX,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AAAA,EACA,sBAAsB;AAAA,IACpB,cAAc;AAAA,IACd,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,WAAW;AAAA,EACb;AACF,EAAE;AAEK,IAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AACF,MAA+B;AAC7B,QAAM,eAAe,CAAC,OAA4C,YAAqB;AACrF,gBAAY,OAAO;AACnB,eAAW,OAAO,OAAO;AAAA,EAC3B;AAEA,SACE,gBAAAC,MAACF,QAAA,EAAM,WAAU,OAAM,QAAQ,GAAG,SAAS,GAAG,YAAW,UACvD,0BAAAE;AAAA,IAAC;AAAA;AAAA,MACC,SAAS;AAAA,MACT,UAAU;AAAA,MACV;AAAA,MACA,MAAK;AAAA,MACL,YAAY,EAAE,cAAc,SAAS;AAAA;AAAA,EACvC,GACF;AAEJ;;;AC1DA,SAAS,OAAAC,YAAW;AACpB,SAAS,gBAAgB;AACzB,SAAS,YAAAC,iBAAgB;AAsBnB,gBAAAC,aAAA;AAnBC,IAAM,cAAc,CAAoC;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB,CAAC,GAAG,IAAI,IAAI,EAAE;AAClC,MAA2B;AACzB,QAAM,CAAC,iBAAiB,kBAAkB,IAAID,UAAS;AAAA,IACrD,MAAM;AAAA,IACN,UAAU;AAAA,EACZ,CAAC;AAED,SACE,gBAAAC;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MAEA,0BAAAE;AAAA,QAAC;AAAA;AAAA,UACC,YAAU;AAAA,UACV,IAAI;AAAA,YACF,WAAW;AAAA,YACX,gCAAgC;AAAA,cAC9B,cAAc;AAAA,cACd,cAAc;AAAA,YAChB;AAAA,YACA,oCAAoC;AAAA,cAClC,OAAO;AAAA,YACT;AAAA,UACF;AAAA,UACA,MAAM,QAAQ,CAAC;AAAA,UACf;AAAA,UACA;AAAA,UACA,4BAA0B;AAAA,UAC1B;AAAA,UACA;AAAA,UACA,yBAAyB;AAAA;AAAA,MAC3B;AAAA;AAAA,EACF;AAEJ;;;AC9CA,SAAS,OAAAC,MAAK,cAAAC,mBAAkB;AAU5B,gBAAAC,OAQE,QAAAC,aARF;AANG,IAAM,2BAA2B,CAAC;AAAA,EACvC,UAAU,CAAC;AAAA,EACX,WAAW,CAAC;AAAA,EACZ;AACF,MACE,gBAAAA,MAACH,MAAA,EAAI,IAAI,EAAE,GAAG,GAAG,UAAU,IAAI,GAC7B;AAAA,kBAAAE,MAACD,aAAA,EAAW,SAAQ,aAAY,cAAY,MAAC,4BAE7C;AAAA,EACC,QAAQ,WAAW,IAClB,gBAAAC,MAACD,aAAA,EAAW,SAAQ,SAAQ,OAAM,kBAAiB,uDAEnD,IAEA,gBAAAE,MAACF,aAAA,EAAW,SAAQ,SACjB;AAAA,aAAS;AAAA,IAAO;AAAA,IAAK,QAAQ;AAAA,IAAO;AAAA,KACvC;AAAA,EAED,qBACC,gBAAAC,MAACD,aAAA,EAAW,SAAQ,WAAU,SAAQ,SAAQ,IAAI,EAAE,IAAI,EAAE,GAAG,sDAE7D;AAAA,GAEJ;;;AC3BF,SAAS,UAAAG,SAAQ,eAAe;AAChC,SAAS,YAAAC,iBAAgB;AA0BrB,qBAAAC,WACE,OAAAC,OADF,QAAAC,aAAA;AAvBG,IAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA,QAAQ;AAAA,EACR,MAAM;AAAA,EACN;AACF,MAA+B;AAC7B,QAAM,CAAC,cAAc,eAAe,IAAIH,UAAS,KAAK;AACtD,QAAM,OAAO,kBAAkB;AAC/B,QAAM,UAAU,gBAAgB;AAEhC,QAAM,CAAC,UAAU,WAAW,IAAIA,UAAmC,IAAI;AAEvE,QAAM,cAAc,CAAC,UAA+C;AAClE,gBAAY,MAAM,aAAa;AAC/B,YAAQ,IAAI;AAAA,EACd;AAEA,QAAM,cAAc,MAAM;AACxB,gBAAY,IAAI;AAChB,YAAQ,KAAK;AAAA,EACf;AAEA,SACE,gBAAAG,MAAAF,WAAA,EACE;AAAA,oBAAAC,MAACH,SAAA,EAAO,SAAS,aAAa,SAAQ,YAAW,MAAK,UACnD,iBACH;AAAA,IACA,gBAAAG;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,cAAc,EAAE,UAAU,UAAU,YAAY,OAAO;AAAA,QAEvD,0BAAAA,MAAC,SAAI,OAAO,EAAE,SAAS,IAAI,UAAU,IAAI,GAAI,UAAS;AAAA;AAAA,IACxD;AAAA,KACF;AAEJ;;;ACxBI,gBAAAE,OAoBE,QAAAC,aApBF;AAfG,IAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE,gBAAAA;AAAA,EAAC;AAAA;AAAA,IACC,OAAO;AAAA,MACL,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,KAAK;AAAA,MACL,cAAc;AAAA,MACd,YAAY;AAAA,IACd;AAAA,IAEA;AAAA,sBAAAD;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,UAAU;AAAA,YACV,YAAY;AAAA,YACZ,OAAO;AAAA,YACP,UAAU;AAAA,YACV,WAAW;AAAA,UACb;AAAA,UAEC;AAAA;AAAA,MACH;AAAA,MACA,gBAAAC;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,UAAU;AAAA,YACV,MAAM;AAAA,YACN,UAAU;AAAA,UACZ;AAAA,UAEA;AAAA,4BAAAA;AAAA,cAAC;AAAA;AAAA,gBACC,OAAM;AAAA,gBACN,QAAO;AAAA,gBACP,OAAO,EAAE,QAAQ,4CAA4C;AAAA,gBAE7D;AAAA,kCAAAD,MAAC,UACC,0BAAAA;AAAA,oBAAC;AAAA;AAAA,sBACC,IAAI;AAAA,sBACJ,IAAG;AAAA,sBACH,IAAG;AAAA,sBACH,IAAG;AAAA,sBACH,IAAG;AAAA,sBAEF,wBAAc,IAAI,CAAC,MAAM,UACxB,gBAAAA;AAAA,wBAAC;AAAA;AAAA,0BAEC,QAAQ,KAAK;AAAA,0BACb,WAAW,KAAK;AAAA,0BAChB,aAAY;AAAA;AAAA,wBAHP;AAAA,sBAIP,CACD;AAAA;AAAA,kBACH,GACF;AAAA,kBACA,gBAAAA;AAAA,oBAAC;AAAA;AAAA,sBACC,OAAM;AAAA,sBACN,QAAO;AAAA,sBACP,MAAM,QAAQ,UAAU;AAAA;AAAA,kBAC1B;AAAA;AAAA;AAAA,YACF;AAAA,YACA,gBAAAA;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,kBACL,UAAU;AAAA,kBACV,KAAK;AAAA,kBACL,MAAM;AAAA,kBACN,OAAO;AAAA,kBACP,QAAQ;AAAA,kBACR,SAAS;AAAA,kBACT,YAAY;AAAA,kBACZ,gBAAgB;AAAA,kBAChB,aAAa;AAAA,kBACb,cAAc;AAAA,gBAChB;AAAA,gBAEC,gBAAM,IAAI,CAAC,MAAM,UAChB,gBAAAA;AAAA,kBAAC;AAAA;AAAA,oBAEC,OAAO;AAAA,sBACL,UAAU;AAAA,sBACV,YAAY;AAAA,sBACZ,OAAO;AAAA,sBACP,YAAY;AAAA,sBACZ,eAAe;AAAA,oBACjB;AAAA,oBAEC,eAAK;AAAA;AAAA,kBATD;AAAA,gBAUP,CACD;AAAA;AAAA,YACH;AAAA;AAAA;AAAA,MACF;AAAA;AAAA;AACF;;;AC1FA,SAOE,OAAAE,OAPF,QAAAC,cAAA;AAJF,IAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AACF,MACE,gBAAAA;AAAA,EAAC;AAAA;AAAA,IACC,OAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAQ;AAAA,IACR,MAAK;AAAA,IAEL;AAAA,sBAAAD;AAAA,QAAC;AAAA;AAAA,UACC,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,GAAG;AAAA,UACH,MAAK;AAAA,UACL,QAAO;AAAA,UACP,aAAa;AAAA;AAAA,MACf;AAAA,MACA,gBAAAA,MAAC,UAAK,GAAG,IAAI,GAAG,IAAI,UAAU,IAAI,YAAW,UAAS,MAAM,UACzD,kBACH;AAAA;AAAA;AACF;AAGF,IAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AACF,MACE,gBAAAC;AAAA,EAAC;AAAA;AAAA,IACC,OAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAQ;AAAA,IACR,MAAK;AAAA,IAEL;AAAA,sBAAAD;AAAA,QAAC;AAAA;AAAA,UACC,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,GAAG;AAAA,UACH,MAAK;AAAA,UACL,QAAO;AAAA,UACP,aAAa;AAAA,UACb,iBAAiB;AAAA,UACjB,kBAAkB;AAAA;AAAA,MACpB;AAAA,MACA,gBAAAA,MAAC,UAAK,GAAG,IAAI,GAAG,IAAI,UAAU,IAAI,YAAW,UAAS,MAAM,UACzD,kBACH;AAAA;AAAA;AACF;AAGF,IAAM,aAAa,CAAC;AAAA,EAClB;AAAA,EACA;AACF,MACE,gBAAAC;AAAA,EAAC;AAAA;AAAA,IACC,OAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAQ;AAAA,IACR,MAAK;AAAA,IAEL;AAAA,sBAAAD;AAAA,QAAC;AAAA;AAAA,UACC,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,GAAG;AAAA,UACH,MAAK;AAAA,UACL,QAAO;AAAA,UACP,eAAc;AAAA,UACd,aAAY;AAAA;AAAA,MACd;AAAA,MACA,gBAAAA,MAAC,UAAK,GAAG,IAAI,GAAG,IAAI,UAAU,IAAI,YAAW,UAAS,MAAM,UACzD,kBACH;AAAA;AAAA;AACF;AAGK,IAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,MAA8B;AAC5B,MAAI,aAAa,GAAG;AAClB,WAAO,gBAAAA,MAAC,cAAW,QAAgB,UAAoB;AAAA,EACzD;AACA,MAAI,aAAa,IAAI;AACnB,WAAO,gBAAAA,MAAC,gBAAa,QAAgB,UAAoB;AAAA,EAC3D;AACA,MAAI,aAAa,KAAK;AACpB,WAAO,gBAAAA,MAAC,gBAAa,QAAgB,UAAoB;AAAA,EAC3D;AACA,SAAO,gBAAAA,MAAC,SAAI,8BAAgB;AAC9B;;;AC/FA,OAAO,iBAAiB;AACxB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAgGH,SACE,OAAAE,OADF,QAAAC,cAAA;AAvFJ,IAAM,aAAa;AACnB,IAAM,YAAY;AAClB,IAAM,cAAc;AAEpB,SAAS,aAAa,MAAuB;AAC3C,QAAM,YAAY,SAAS,UAAU,aAAa;AAElD,SAAO;AAAA,IACL;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAc;AAAA,IAChB;AAAA,IACA,WAAW;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAc;AAAA,IAChB;AAAA,IACA,OAAO;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAc;AAAA,IAChB;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAc;AAAA,IAChB;AAAA,IACA,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAc;AAAA,IAChB;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAc;AAAA,IAChB;AAAA,IACA,MAAM;AAAA,MACJ,SAAS,QAAQ,SAAS;AAAA,MAC1B,WAAW,QAAQ,SAAS;AAAA,MAC5B,UAAU,QAAQ,SAAS;AAAA,IAC7B;AAAA,IACA,SAAS,QAAQ,SAAS;AAAA,IAC1B,YAAY;AAAA,MACV,OAAO,SAAS,UAAU,YAAY;AAAA,MACtC,SAAS,SAAS,UAAU,YAAY;AAAA,IAC1C;AAAA,IACA,QAAQ;AAAA,MACN,QAAQ,QAAQ,SAAS;AAAA,MACzB,OAAO,QAAQ,SAAS;AAAA,MACxB,UAAU,QAAQ,SAAS;AAAA,MAC3B,UAAU,QAAQ,SAAS;AAAA,MAC3B,oBAAoB,QAAQ,SAAS;AAAA,MACrC,OAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,EACF;AACF;AAIO,IAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA,MAAM;AAAA,EACN;AACF,MAAgC;AAC9B,QAAM,OAAwB,UAAU,QAAQ,YAAY;AAC5D,QAAM,YAAY,UAAU,aAAa;AAEzC,QAAM,QAAQ;AAAA,IACZ,YAAY;AAAA,MACV;AAAA,MACA,SAAS,aAAa,IAAI;AAAA,MAC1B,OAAO,EAAE,cAAc,EAAE;AAAA,MACzB,YAAY,EAAE,YAAY,qCAAqC;AAAA,MAC/D,QAAQ,EAAE,SAAS,EAAE,WAAW,GAAG,EAAE;AAAA,IACvC,CAAC;AAAA,EACH;AAEA,SACE,gBAAAA,OAAC,iBAAc,OACb;AAAA,oBAAAD,MAAC,eAAY;AAAA,IACZ;AAAA,KACH;AAEJ;","names":["Box","Button","Typography","TextField","jsx","jsx","jsxs","Box","Typography","Button","Box","Button","Typography","jsx","jsxs","jsx","Autocomplete","TextField","jsx","Box","Stack","Typography","jsx","jsxs","Icon","Box","Stack","jsx","jsxs","jsx","jsxs","Stack","styled","jsx","Box","useState","jsx","Box","Typography","jsx","jsxs","Button","useState","Fragment","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsxs"]}
package/package.json CHANGED
@@ -1,60 +1,67 @@
1
1
  {
2
- "name": "@bpfdev/oly-ui",
3
- "version": "1.0.2",
4
- "description": "Falcon Oly Design System — React component library",
5
- "author": "bpfdev",
6
- "license": "MIT",
7
- "main": "dist/index.js",
8
- "module": "dist/index.mjs",
9
- "types": "dist/index.d.ts",
10
- "exports": {
11
- ".": {
12
- "import": "./dist/index.mjs",
13
- "require": "./dist/index.js",
14
- "types": "./dist/index.d.ts"
15
- },
16
- "./tailwind.preset": "./tailwind.preset.js"
17
- },
18
- "sideEffects": false,
19
- "files": [
20
- "dist",
21
- "tailwind.preset.js"
22
- ],
23
- "scripts": {
24
- "build": "tsup",
25
- "dev": "tsup --watch",
26
- "test": "vitest",
27
- "test:run": "vitest run",
28
- "typecheck": "tsc --noEmit",
29
- "lint": "eslint src/**/*.{ts,tsx}"
30
- },
31
- "peerDependencies": {
32
- "react": ">=18",
33
- "react-dom": ">=18",
34
- "@mui/material": ">=7",
35
- "@mui/x-data-grid": ">=6",
36
- "@emotion/react": ">=11",
37
- "@emotion/styled": ">=11",
38
- "@mui/icons-material": ">=7",
39
- "@iconify/react": ">=4.0.0",
40
- "@mui/utils": ">=7"
41
- },
42
- "devDependencies": {
43
- "@storybook/react": "^10.2.19",
44
- "@testing-library/jest-dom": "^6.6.3",
45
- "@testing-library/react": "^16.0.1",
46
- "@testing-library/user-event": "^14.5.2",
47
- "@types/react": "^19.2.14",
48
- "@types/react-dom": "^19.2.3",
49
- "@mui/x-data-grid": "6.0.1",
50
- "@vitejs/plugin-react": "^4.3.4",
51
- "jsdom": "^25.0.1",
52
- "tsup": "^8.5.1",
53
- "typescript": "^5.9.3",
54
- "vitest": "^2.1.6"
55
- },
56
- "publishConfig": {
57
- "access": "public",
58
- "registry": "https://registry.npmjs.org"
59
- }
60
- }
2
+ "name": "@bpfdev/oly-ui",
3
+ "version": "1.0.3",
4
+ "description": "Falcon Oly Design System — React component library",
5
+ "author": "bpfdev",
6
+ "license": "MIT",
7
+ "main": "dist/index.js",
8
+ "module": "dist/index.mjs",
9
+ "types": "dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "import": "./dist/index.mjs",
13
+ "require": "./dist/index.js",
14
+ "types": "./dist/index.d.ts"
15
+ },
16
+ "./tailwind.preset": "./tailwind.preset.js"
17
+ },
18
+ "sideEffects": false,
19
+ "files": [
20
+ "dist",
21
+ "tailwind.preset.js"
22
+ ],
23
+ "scripts": {
24
+ "build": "tsup",
25
+ "dev": "tsup --watch",
26
+ "test": "vitest",
27
+ "test:run": "vitest run",
28
+ "typecheck": "tsc --noEmit",
29
+ "lint": "eslint src"
30
+ },
31
+ "peerDependencies": {
32
+ "react": ">=18",
33
+ "react-dom": ">=18",
34
+ "@mui/material": ">=7",
35
+ "@mui/x-data-grid": ">=6",
36
+ "@emotion/react": ">=11",
37
+ "@emotion/styled": ">=11",
38
+ "@mui/icons-material": ">=7",
39
+ "@iconify/react": ">=4.0.0",
40
+ "@mui/utils": ">=7"
41
+ },
42
+ "devDependencies": {
43
+ "@emotion/cache": "^11.14.0",
44
+ "@types/crypto-js": "^4.2.2",
45
+ "@mui/x-data-grid": "6.0.1",
46
+ "crypto-js": "^4.2.0",
47
+ "date-fns": "^4.1.0",
48
+ "eslint": "^10.1.0",
49
+ "eslint-plugin-react-hooks": "^5.0.0",
50
+ "@storybook/react": "^10.2.19",
51
+ "@testing-library/jest-dom": "^6.6.3",
52
+ "@testing-library/react": "^16.0.1",
53
+ "@testing-library/user-event": "^14.5.2",
54
+ "@types/react": "^19.2.14",
55
+ "@types/react-dom": "^19.2.3",
56
+ "@vitejs/plugin-react": "^4.3.4",
57
+ "jsdom": "^25.0.1",
58
+ "tsup": "^8.5.1",
59
+ "typescript": "^5.9.3",
60
+ "typescript-eslint": "^8.57.2",
61
+ "vitest": "^2.1.6"
62
+ },
63
+ "publishConfig": {
64
+ "access": "public",
65
+ "registry": "https://registry.npmjs.org"
66
+ }
67
+ }