view x/static/js/399.e36b7683.chunk.js.map @ 125:49f3d3878413 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 5ea1f9c1eef1de76232e69aa6d34cda77d90d566
author fubar
date Sat, 05 Oct 2024 23:58:05 +0000
parents
children
line wrap: on
line source

{"version":3,"file":"static/js/399.e36b7683.chunk.js","mappings":"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","sources":["../../../plugins/data-management/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.tsx","../../../plugins/data-management/src/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.tsx","../../../plugins/data-management/src/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.tsx","../../../plugins/data-management/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.tsx","../../../plugins/data-management/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.tsx","../../../node_modules/@mui/material/CircularProgress/CircularProgress.js","../../../node_modules/@mui/material/CircularProgress/circularProgressClasses.js","../../../node_modules/@mui/material/ClickAwayListener/ClickAwayListener.js","../../../node_modules/@mui/material/Toolbar/Toolbar.js","../../../node_modules/@mui/material/Toolbar/toolbarClasses.js"],"sourcesContent":["import React, { useState } from 'react'\nimport { Grid, IconButton, InputAdornment, TextField } from '@mui/material'\nimport { Menu } from '@jbrowse/core/ui'\n\n// icons\nimport ClearIcon from '@mui/icons-material/Clear'\nimport MoreVert from '@mui/icons-material/MoreVert'\n\n// locals\nimport ShoppingCart from '../ShoppingCart'\nimport { HierarchicalTrackSelectorModel } from '../../model'\n\nexport default function FacetedHeader({\n  model,\n}: {\n  model: HierarchicalTrackSelectorModel\n}) {\n  const { faceted } = model\n  const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null)\n  const { showOptions, showFilters, showSparse, useShoppingCart } = faceted\n\n  return (\n    <>\n      <Grid container spacing={4} alignItems=\"center\">\n        <Grid item>\n          <TextField\n            label=\"Search...\"\n            value={faceted.filterText}\n            onChange={event => {\n              faceted.setFilterText(event.target.value)\n            }}\n            InputProps={{\n              endAdornment: (\n                <InputAdornment position=\"end\">\n                  <IconButton\n                    onClick={() => {\n                      faceted.setFilterText('')\n                    }}\n                  >\n                    <ClearIcon />\n                  </IconButton>\n                </InputAdornment>\n              ),\n            }}\n          />\n        </Grid>\n\n        <Grid item>\n          <IconButton\n            onClick={event => {\n              setAnchorEl(event.currentTarget)\n            }}\n          >\n            <MoreVert />\n          </IconButton>\n        </Grid>\n        <Grid item>\n          <ShoppingCart model={model} />\n        </Grid>\n      </Grid>\n      <Menu\n        anchorEl={anchorEl}\n        open={!!anchorEl}\n        onClose={() => {\n          setAnchorEl(null)\n        }}\n        onMenuItemClick={(_event, callback) => {\n          callback()\n          setAnchorEl(null)\n        }}\n        menuItems={[\n          {\n            label: 'Add tracks to selection instead of turning them on/off',\n            onClick: () => {\n              faceted.setUseShoppingCart(!useShoppingCart)\n            },\n            type: 'checkbox',\n            checked: useShoppingCart,\n          },\n          {\n            label: 'Show sparse metadata columns',\n            onClick: () => {\n              faceted.setShowSparse(!showSparse)\n            },\n            checked: showSparse,\n            type: 'checkbox',\n          },\n          {\n            label: 'Show facet filters',\n            onClick: () => {\n              faceted.setShowFilters(!showFilters)\n            },\n            checked: showFilters,\n            type: 'checkbox',\n          },\n          {\n            label: 'Show extra table options',\n            onClick: () => {\n              faceted.setShowOptions(!showOptions)\n            },\n            checked: showOptions,\n            type: 'checkbox',\n          },\n        ]}\n      />\n    </>\n  )\n}\n","import React, { useState } from 'react'\nimport {\n  Typography,\n  FormControl,\n  Select,\n  IconButton,\n  Tooltip,\n} from '@mui/material'\nimport { makeStyles } from 'tss-react/mui'\n\n// icon\nimport ClearIcon from '@mui/icons-material/Clear'\nimport MinimizeIcon from '@mui/icons-material/Minimize'\nimport AddIcon from '@mui/icons-material/Add'\nimport { coarseStripHTML } from '@jbrowse/core/util'\nimport { observer } from 'mobx-react'\nimport { HierarchicalTrackSelectorModel } from '../../model'\n\nconst useStyles = makeStyles()(theme => ({\n  facet: {\n    margin: 0,\n    marginLeft: theme.spacing(2),\n  },\n  select: {\n    marginBottom: theme.spacing(2),\n  },\n}))\n\nfunction ClearButton({ onClick }: { onClick: () => void }) {\n  return (\n    <Tooltip title=\"Clear selection on this facet filter\">\n      <IconButton\n        onClick={() => {\n          onClick()\n        }}\n        size=\"small\"\n      >\n        <ClearIcon />\n      </IconButton>\n    </Tooltip>\n  )\n}\n\nfunction ExpandButton({\n  visible,\n  onClick,\n}: {\n  visible: boolean\n  onClick: () => void\n}) {\n  return (\n    <Tooltip title=\"Minimize/expand this facet filter\">\n      <IconButton\n        onClick={() => {\n          onClick()\n        }}\n        size=\"small\"\n      >\n        {visible ? <MinimizeIcon /> : <AddIcon />}\n      </IconButton>\n    </Tooltip>\n  )\n}\n\nconst FacetFilter = observer(function ({\n  column,\n  vals,\n  model,\n}: {\n  column: { field: string }\n  vals: [string, number][]\n  model: HierarchicalTrackSelectorModel\n}) {\n  const { classes } = useStyles()\n  const [visible, setVisible] = useState(true)\n  const { faceted } = model\n  const { filters } = faceted\n  const { field } = column\n  return (\n    <FormControl className={classes.facet} fullWidth>\n      <div>\n        <Typography component=\"span\">{field}</Typography>\n        <ClearButton\n          onClick={() => {\n            faceted.setFilter(field, [])\n          }}\n        />\n        <ExpandButton\n          visible={visible}\n          onClick={() => {\n            setVisible(!visible)\n          }}\n        />\n      </div>\n      {visible ? (\n        <Select\n          multiple\n          native\n          className={classes.select}\n          value={filters.get(column.field) || []}\n          onChange={event => {\n            faceted.setFilter(\n              column.field,\n              // @ts-expect-error\n              [...event.target.options]\n                .filter(opt => opt.selected)\n                .map(opt => opt.value),\n            )\n          }}\n        >\n          {vals\n            .sort((a, b) => a[0].localeCompare(b[0]))\n            .map(([name, count]) => (\n              <option key={name} value={name}>\n                {coarseStripHTML(name)} ({count})\n              </option>\n            ))}\n        </Select>\n      ) : null}\n    </FormControl>\n  )\n})\n\nexport default FacetFilter\n","import React from 'react'\nimport { observer } from 'mobx-react'\n\n// locals\nimport FacetFilter from './FacetFilter'\nimport { HierarchicalTrackSelectorModel } from '../../model'\nimport { Row, getRowStr } from './util'\n\nconst FacetFilters = observer(function ({\n  rows,\n  columns,\n  model,\n}: {\n  rows: Row[]\n  columns: { field: string }[]\n  model: HierarchicalTrackSelectorModel\n}) {\n  const { faceted } = model\n  const { filters } = faceted\n  const facets = columns.slice(1)\n  const uniqs = new Map(\n    facets.map(f => [f.field, new Map<string, number>()] as const),\n  )\n\n  // this code \"stages the facet filters\" in order that the user has selected\n  // them, which relies on the js behavior that the order of the returned keys is\n  // related to the insertion order.\n  const filterKeys = faceted.filters.keys()\n  const facetKeys = facets.map(f => f.field)\n  const ret = new Set<string>()\n  for (const entry of filterKeys) {\n    // give non-empty filters priority\n    if (filters.get(entry)?.length) {\n      ret.add(entry)\n    }\n  }\n  for (const entry of facetKeys) {\n    ret.add(entry)\n  }\n\n  let currentRows = rows\n  for (const facet of ret) {\n    const elt = uniqs.get(facet)!\n    for (const row of currentRows) {\n      const key = getRowStr(facet, row)\n      const val = elt.get(key)\n      // we don't allow filtering on empty yet\n      if (key) {\n        if (val === undefined) {\n          elt.set(key, 1)\n        } else {\n          elt.set(key, val + 1)\n        }\n      }\n    }\n    const filter = filters.get(facet)?.length\n      ? new Set(filters.get(facet))\n      : undefined\n\n    currentRows = currentRows.filter(row =>\n      filter !== undefined ? filter.has(getRowStr(facet, row)) : true,\n    )\n  }\n\n  return (\n    <div>\n      {facets.map(c => (\n        <FacetFilter\n          key={c.field}\n          vals={[...uniqs.get(c.field)!]}\n          column={c}\n          model={model}\n        />\n      ))}\n    </div>\n  )\n})\nexport default FacetFilters\n","import React, { useState } from 'react'\nimport { transaction } from 'mobx'\nimport { observer } from 'mobx-react'\nimport { getRoot, resolveIdentifier } from 'mobx-state-tree'\nimport { DataGrid, GridColDef, GridToolbar } from '@mui/x-data-grid'\n\n// jbrowse\nimport { ResizeHandle } from '@jbrowse/core/ui'\nimport SanitizedHTML from '@jbrowse/core/ui/SanitizedHTML'\nimport { getEnv, measureGridWidth } from '@jbrowse/core/util'\nimport { AnyConfigurationModel } from '@jbrowse/core/configuration'\nimport { makeStyles } from 'tss-react/mui'\n\n// locals\nimport { HierarchicalTrackSelectorModel } from '../../model'\nimport FacetedHeader from './FacetedHeader'\nimport FacetFilters from './FacetFilters'\nimport TrackLabelMenu from '../tree/TrackLabelMenu'\n\nexport interface InfoArgs {\n  target: HTMLElement\n  id: string\n  conf: AnyConfigurationModel\n}\n\nconst useStyles = makeStyles()({\n  cell: {\n    whiteSpace: 'nowrap',\n    overflow: 'hidden',\n    textOverflow: 'ellipsis',\n  },\n  resizeHandle: {\n    marginLeft: 5,\n    background: 'grey',\n    width: 5,\n  },\n})\n\nconst frac = 0.75\n\nconst FacetedSelector = observer(function FacetedSelector({\n  model,\n}: {\n  model: HierarchicalTrackSelectorModel\n}) {\n  const { classes } = useStyles()\n  const { view, selection, shownTrackIds, faceted } = model\n  const {\n    rows,\n    panelWidth,\n    showFilters,\n    useShoppingCart,\n    showOptions,\n    filteredRows,\n    filteredNonMetadataKeys,\n    filteredMetadataKeys,\n    visible,\n  } = faceted\n  const { pluginManager } = getEnv(model)\n\n  type T = GridColDef<(typeof filteredRows)[0]>\n\n  const [widths, setWidths] = useState<Record<string, number>>({\n    name:\n      measureGridWidth(\n        rows.map(r => r.name),\n        { maxWidth: 500, stripHTML: true },\n      ) + 15,\n    ...Object.fromEntries(\n      filteredNonMetadataKeys\n        .filter(f => visible[f])\n        .map(e => [\n          e,\n          measureGridWidth(\n            rows.map(r => r[e as keyof typeof r] as string),\n            { maxWidth: 400, stripHTML: true },\n          ),\n        ]),\n    ),\n    ...Object.fromEntries(\n      filteredMetadataKeys\n        .filter(f => visible[`metadata.${f}`])\n        .map(e => {\n          return [\n            `metadata.${e}`,\n            measureGridWidth(\n              rows.map(r => r.metadata[e]),\n              { maxWidth: 400, stripHTML: true },\n            ),\n          ]\n        }),\n    ),\n  })\n  const columns: T[] = [\n    {\n      field: 'name',\n      hideable: false,\n      renderCell: params => {\n        const { value, row } = params\n        const { id, conf } = row\n        return (\n          <div className={classes.cell}>\n            <SanitizedHTML html={value as string} />\n            <TrackLabelMenu id={id} conf={conf} trackId={id} model={model} />\n          </div>\n        )\n      },\n      width: widths.name ?? 100,\n    },\n    ...filteredNonMetadataKeys.map(e => {\n      return {\n        field: e,\n        width: widths[e] ?? 100,\n        renderCell: params => {\n          const val = params.value\n          return val ? (\n            <SanitizedHTML className={classes.cell} html={val} />\n          ) : (\n            ''\n          )\n        },\n      } satisfies T\n    }),\n    ...filteredMetadataKeys.map(e => {\n      return {\n        field: `metadata.${e}`,\n        headerName: ['name', ...filteredNonMetadataKeys].includes(e)\n          ? `${e} (from metadata)`\n          : e,\n        width: widths[`metadata.${e}`] ?? 100,\n        valueGetter: (_, row) => `${row.metadata[e] ?? ''}`,\n        renderCell: params => {\n          const val = params.value\n          return val ? (\n            <SanitizedHTML className={classes.cell} html={val} />\n          ) : (\n            ''\n          )\n        },\n      } satisfies T\n    }),\n  ]\n\n  return (\n    <>\n      <FacetedHeader model={model} />\n      <div\n        style={{\n          display: 'flex',\n          overflow: 'hidden',\n          height: window.innerHeight * frac,\n          width: window.innerWidth * frac,\n        }}\n      >\n        <div\n          style={{\n            height: window.innerHeight * frac,\n            width: window.innerWidth * frac - (showFilters ? panelWidth : 0),\n          }}\n        >\n          <DataGrid\n            rows={filteredRows}\n            onColumnWidthChange={arg => {\n              setWidths({ ...widths, [arg.colDef.field]: arg.width })\n            }}\n            columnVisibilityModel={visible}\n            onColumnVisibilityModelChange={n => {\n              faceted.setVisible(n)\n            }}\n            columnHeaderHeight={35}\n            checkboxSelection\n            disableRowSelectionOnClick\n            keepNonExistentRowsSelected\n            onRowSelectionModelChange={userSelectedIds => {\n              if (!useShoppingCart) {\n                const a1 = shownTrackIds\n                const a2 = new Set(userSelectedIds as string[])\n                // synchronize the user selection with the view\n                // see share https://stackoverflow.com/a/33034768/2129219\n                transaction(() => {\n                  ;[...a1].filter(x => !a2.has(x)).map(t => view.hideTrack(t))\n                  ;[...a2]\n                    .filter(x => !a1.has(x))\n                    .map(t => {\n                      view.showTrack(t)\n                      model.addToRecentlyUsed(t)\n                    })\n                })\n              } else {\n                const root = getRoot(model)\n                const schema = pluginManager.pluggableConfigSchemaType('track')\n                model.setSelection(\n                  userSelectedIds.map(id =>\n                    resolveIdentifier(schema, root, id),\n                  ),\n                )\n              }\n            }}\n            rowSelectionModel={\n              useShoppingCart\n                ? selection.map(s => s.trackId)\n                : [...shownTrackIds]\n            }\n            slots={{ toolbar: showOptions ? GridToolbar : null }}\n            slotProps={{\n              toolbar: {\n                printOptions: {\n                  disableToolbarButton: true,\n                },\n              },\n            }}\n            columns={columns}\n            rowHeight={25}\n          />\n        </div>\n\n        {showFilters ? (\n          <>\n            <ResizeHandle\n              vertical\n              onDrag={dist => faceted.setPanelWidth(panelWidth - dist)}\n              className={classes.resizeHandle}\n            />\n            <div style={{ width: panelWidth, overflow: 'auto' }}>\n              <FacetFilters model={model} rows={rows} columns={columns} />\n            </div>\n          </>\n        ) : null}\n      </div>\n    </>\n  )\n})\n\nexport default FacetedSelector\n","import React from 'react'\nimport { DialogContent } from '@mui/material'\nimport { Dialog } from '@jbrowse/core/ui'\nimport { observer } from 'mobx-react'\n\n// locals\nimport { HierarchicalTrackSelectorModel } from '../../model'\nimport FacetedSelector from './FacetedSelector'\n\nconst FacetedTrackSelectorDialog = observer(function (props: {\n  handleClose: () => void\n  model: HierarchicalTrackSelectorModel\n}) {\n  const { handleClose } = props\n  return (\n    <Dialog\n      open\n      onClose={handleClose}\n      maxWidth=\"xl\"\n      title=\"Faceted track selector\"\n    >\n      <DialogContent>\n        <FacetedSelector {...props} />\n      </DialogContent>\n    </Dialog>\n  )\n})\n\nexport default FacetedTrackSelectorDialog\n","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { keyframes, css, styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { getCircularProgressUtilityClass } from \"./circularProgressClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst SIZE = 44;\nconst circularRotateKeyframe = keyframes`\n  0% {\n    transform: rotate(0deg);\n  }\n\n  100% {\n    transform: rotate(360deg);\n  }\n`;\nconst circularDashKeyframe = keyframes`\n  0% {\n    stroke-dasharray: 1px, 200px;\n    stroke-dashoffset: 0;\n  }\n\n  50% {\n    stroke-dasharray: 100px, 200px;\n    stroke-dashoffset: -15px;\n  }\n\n  100% {\n    stroke-dasharray: 100px, 200px;\n    stroke-dashoffset: -125px;\n  }\n`;\n\n// This implementation is for supporting both Styled-components v4+ and Pigment CSS.\n// A global animation has to be created here for Styled-components v4+ (https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#12).\n// which can be done by checking typeof indeterminate1Keyframe !== 'string' (at runtime, Pigment CSS transform keyframes`` to a string).\nconst rotateAnimation = typeof circularRotateKeyframe !== 'string' ? css`\n        animation: ${circularRotateKeyframe} 1.4s linear infinite;\n      ` : null;\nconst dashAnimation = typeof circularDashKeyframe !== 'string' ? css`\n        animation: ${circularDashKeyframe} 1.4s ease-in-out infinite;\n      ` : null;\nconst useUtilityClasses = ownerState => {\n  const {\n    classes,\n    variant,\n    color,\n    disableShrink\n  } = ownerState;\n  const slots = {\n    root: ['root', variant, `color${capitalize(color)}`],\n    svg: ['svg'],\n    circle: ['circle', `circle${capitalize(variant)}`, disableShrink && 'circleDisableShrink']\n  };\n  return composeClasses(slots, getCircularProgressUtilityClass, classes);\n};\nconst CircularProgressRoot = styled('span', {\n  name: 'MuiCircularProgress',\n  slot: 'Root',\n  overridesResolver: (props, styles) => {\n    const {\n      ownerState\n    } = props;\n    return [styles.root, styles[ownerState.variant], styles[`color${capitalize(ownerState.color)}`]];\n  }\n})(memoTheme(({\n  theme\n}) => ({\n  display: 'inline-block',\n  variants: [{\n    props: {\n      variant: 'determinate'\n    },\n    style: {\n      transition: theme.transitions.create('transform')\n    }\n  }, {\n    props: {\n      variant: 'indeterminate'\n    },\n    style: rotateAnimation || {\n      animation: `${circularRotateKeyframe} 1.4s linear infinite`\n    }\n  }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n    props: {\n      color\n    },\n    style: {\n      color: (theme.vars || theme).palette[color].main\n    }\n  }))]\n})));\nconst CircularProgressSVG = styled('svg', {\n  name: 'MuiCircularProgress',\n  slot: 'Svg',\n  overridesResolver: (props, styles) => styles.svg\n})({\n  display: 'block' // Keeps the progress centered\n});\nconst CircularProgressCircle = styled('circle', {\n  name: 'MuiCircularProgress',\n  slot: 'Circle',\n  overridesResolver: (props, styles) => {\n    const {\n      ownerState\n    } = props;\n    return [styles.circle, styles[`circle${capitalize(ownerState.variant)}`], ownerState.disableShrink && styles.circleDisableShrink];\n  }\n})(memoTheme(({\n  theme\n}) => ({\n  stroke: 'currentColor',\n  variants: [{\n    props: {\n      variant: 'determinate'\n    },\n    style: {\n      transition: theme.transitions.create('stroke-dashoffset')\n    }\n  }, {\n    props: {\n      variant: 'indeterminate'\n    },\n    style: {\n      // Some default value that looks fine waiting for the animation to kicks in.\n      strokeDasharray: '80px, 200px',\n      strokeDashoffset: 0 // Add the unit to fix a Edge 16 and below bug.\n    }\n  }, {\n    props: ({\n      ownerState\n    }) => ownerState.variant === 'indeterminate' && !ownerState.disableShrink,\n    style: dashAnimation || {\n      // At runtime for Pigment CSS, `bufferAnimation` will be null and the generated keyframe will be used.\n      animation: `${circularDashKeyframe} 1.4s ease-in-out infinite`\n    }\n  }]\n})));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst CircularProgress = /*#__PURE__*/React.forwardRef(function CircularProgress(inProps, ref) {\n  const props = useDefaultProps({\n    props: inProps,\n    name: 'MuiCircularProgress'\n  });\n  const {\n    className,\n    color = 'primary',\n    disableShrink = false,\n    size = 40,\n    style,\n    thickness = 3.6,\n    value = 0,\n    variant = 'indeterminate',\n    ...other\n  } = props;\n  const ownerState = {\n    ...props,\n    color,\n    disableShrink,\n    size,\n    thickness,\n    value,\n    variant\n  };\n  const classes = useUtilityClasses(ownerState);\n  const circleStyle = {};\n  const rootStyle = {};\n  const rootProps = {};\n  if (variant === 'determinate') {\n    const circumference = 2 * Math.PI * ((SIZE - thickness) / 2);\n    circleStyle.strokeDasharray = circumference.toFixed(3);\n    rootProps['aria-valuenow'] = Math.round(value);\n    circleStyle.strokeDashoffset = `${((100 - value) / 100 * circumference).toFixed(3)}px`;\n    rootStyle.transform = 'rotate(-90deg)';\n  }\n  return /*#__PURE__*/_jsx(CircularProgressRoot, {\n    className: clsx(classes.root, className),\n    style: {\n      width: size,\n      height: size,\n      ...rootStyle,\n      ...style\n    },\n    ownerState: ownerState,\n    ref: ref,\n    role: \"progressbar\",\n    ...rootProps,\n    ...other,\n    children: /*#__PURE__*/_jsx(CircularProgressSVG, {\n      className: classes.svg,\n      ownerState: ownerState,\n      viewBox: `${SIZE / 2} ${SIZE / 2} ${SIZE} ${SIZE}`,\n      children: /*#__PURE__*/_jsx(CircularProgressCircle, {\n        className: classes.circle,\n        style: circleStyle,\n        ownerState: ownerState,\n        cx: SIZE,\n        cy: SIZE,\n        r: (SIZE - thickness) / 2,\n        fill: \"none\",\n        strokeWidth: thickness\n      })\n    })\n  });\n});\nprocess.env.NODE_ENV !== \"production\" ? CircularProgress.propTypes /* remove-proptypes */ = {\n  // ┌────────────────────────────── Warning ──────────────────────────────┐\n  // │ These PropTypes are generated from the TypeScript type definitions. │\n  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │\n  // └─────────────────────────────────────────────────────────────────────┘\n  /**\n   * Override or extend the styles applied to the component.\n   */\n  classes: PropTypes.object,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * The color of the component.\n   * It supports both default and custom theme colors, which can be added as shown in the\n   * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n   * @default 'primary'\n   */\n  color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n  /**\n   * If `true`, the shrink animation is disabled.\n   * This only works if variant is `indeterminate`.\n   * @default false\n   */\n  disableShrink: chainPropTypes(PropTypes.bool, props => {\n    if (props.disableShrink && props.variant && props.variant !== 'indeterminate') {\n      return new Error('MUI: You have provided the `disableShrink` prop ' + 'with a variant other than `indeterminate`. This will have no effect.');\n    }\n    return null;\n  }),\n  /**\n   * The size of the component.\n   * If using a number, the pixel unit is assumed.\n   * If using a string, you need to provide the CSS unit, for example '3rem'.\n   * @default 40\n   */\n  size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n  /**\n   * @ignore\n   */\n  style: PropTypes.object,\n  /**\n   * The system prop that allows defining system overrides as well as additional CSS styles.\n   */\n  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n  /**\n   * The thickness of the circle.\n   * @default 3.6\n   */\n  thickness: PropTypes.number,\n  /**\n   * The value of the progress indicator for the determinate variant.\n   * Value between 0 and 100.\n   * @default 0\n   */\n  value: PropTypes.number,\n  /**\n   * The variant to use.\n   * Use indeterminate when there is no progress value.\n   * @default 'indeterminate'\n   */\n  variant: PropTypes.oneOf(['determinate', 'indeterminate'])\n} : void 0;\nexport default CircularProgress;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCircularProgressUtilityClass(slot) {\n  return generateUtilityClass('MuiCircularProgress', slot);\n}\nconst circularProgressClasses = generateUtilityClasses('MuiCircularProgress', ['root', 'determinate', 'indeterminate', 'colorPrimary', 'colorSecondary', 'svg', 'circle', 'circleDeterminate', 'circleIndeterminate', 'circleDisableShrink']);\nexport default circularProgressClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { elementAcceptingRef, exactProp, unstable_ownerDocument as ownerDocument, unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback } from '@mui/utils';\nimport getReactNodeRef from '@mui/utils/getReactNodeRef';\n\n// TODO: return `EventHandlerName extends `on${infer EventName}` ? Lowercase<EventName> : never` once generatePropTypes runs with TS 4.1\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction mapEventPropToEvent(eventProp) {\n  return eventProp.substring(2).toLowerCase();\n}\nfunction clickedRootScrollbar(event, doc) {\n  return doc.documentElement.clientWidth < event.clientX || doc.documentElement.clientHeight < event.clientY;\n}\n/**\n * Listen for click events that occur somewhere in the document, outside of the element itself.\n * For instance, if you need to hide a menu when people click anywhere else on your page.\n *\n * Demos:\n *\n * - [Click-Away Listener](https://mui.com/material-ui/react-click-away-listener/)\n * - [Menu](https://mui.com/material-ui/react-menu/)\n *\n * API:\n *\n * - [ClickAwayListener API](https://mui.com/material-ui/api/click-away-listener/)\n */\nfunction ClickAwayListener(props) {\n  const {\n    children,\n    disableReactTree = false,\n    mouseEvent = 'onClick',\n    onClickAway,\n    touchEvent = 'onTouchEnd'\n  } = props;\n  const movedRef = React.useRef(false);\n  const nodeRef = React.useRef(null);\n  const activatedRef = React.useRef(false);\n  const syntheticEventRef = React.useRef(false);\n  React.useEffect(() => {\n    // Ensure that this component is not \"activated\" synchronously.\n    // https://github.com/facebook/react/issues/20074\n    setTimeout(() => {\n      activatedRef.current = true;\n    }, 0);\n    return () => {\n      activatedRef.current = false;\n    };\n  }, []);\n  const handleRef = useForkRef(getReactNodeRef(children), nodeRef);\n\n  // The handler doesn't take event.defaultPrevented into account:\n  //\n  // event.preventDefault() is meant to stop default behaviors like\n  // clicking a checkbox to check it, hitting a button to submit a form,\n  // and hitting left arrow to move the cursor in a text input etc.\n  // Only special HTML elements have these default behaviors.\n  const handleClickAway = useEventCallback(event => {\n    // Given developers can stop the propagation of the synthetic event,\n    // we can only be confident with a positive value.\n    const insideReactTree = syntheticEventRef.current;\n    syntheticEventRef.current = false;\n    const doc = ownerDocument(nodeRef.current);\n\n    // 1. IE11 support, which trigger the handleClickAway even after the unbind\n    // 2. The child might render null.\n    // 3. Behave like a blur listener.\n    if (!activatedRef.current || !nodeRef.current || 'clientX' in event && clickedRootScrollbar(event, doc)) {\n      return;\n    }\n\n    // Do not act if user performed touchmove\n    if (movedRef.current) {\n      movedRef.current = false;\n      return;\n    }\n    let insideDOM;\n\n    // If not enough, can use https://github.com/DieterHolvoet/event-propagation-path/blob/master/propagationPath.js\n    if (event.composedPath) {\n      insideDOM = event.composedPath().includes(nodeRef.current);\n    } else {\n      insideDOM = !doc.documentElement.contains(\n      // @ts-expect-error returns `false` as intended when not dispatched from a Node\n      event.target) || nodeRef.current.contains(\n      // @ts-expect-error returns `false` as intended when not dispatched from a Node\n      event.target);\n    }\n    if (!insideDOM && (disableReactTree || !insideReactTree)) {\n      onClickAway(event);\n    }\n  });\n\n  // Keep track of mouse/touch events that bubbled up through the portal.\n  const createHandleSynthetic = handlerName => event => {\n    syntheticEventRef.current = true;\n    const childrenPropsHandler = children.props[handlerName];\n    if (childrenPropsHandler) {\n      childrenPropsHandler(event);\n    }\n  };\n  const childrenProps = {\n    ref: handleRef\n  };\n  if (touchEvent !== false) {\n    childrenProps[touchEvent] = createHandleSynthetic(touchEvent);\n  }\n  React.useEffect(() => {\n    if (touchEvent !== false) {\n      const mappedTouchEvent = mapEventPropToEvent(touchEvent);\n      const doc = ownerDocument(nodeRef.current);\n      const handleTouchMove = () => {\n        movedRef.current = true;\n      };\n      doc.addEventListener(mappedTouchEvent, handleClickAway);\n      doc.addEventListener('touchmove', handleTouchMove);\n      return () => {\n        doc.removeEventListener(mappedTouchEvent, handleClickAway);\n        doc.removeEventListener('touchmove', handleTouchMove);\n      };\n    }\n    return undefined;\n  }, [handleClickAway, touchEvent]);\n  if (mouseEvent !== false) {\n    childrenProps[mouseEvent] = createHandleSynthetic(mouseEvent);\n  }\n  React.useEffect(() => {\n    if (mouseEvent !== false) {\n      const mappedMouseEvent = mapEventPropToEvent(mouseEvent);\n      const doc = ownerDocument(nodeRef.current);\n      doc.addEventListener(mappedMouseEvent, handleClickAway);\n      return () => {\n        doc.removeEventListener(mappedMouseEvent, handleClickAway);\n      };\n    }\n    return undefined;\n  }, [handleClickAway, mouseEvent]);\n  return /*#__PURE__*/_jsx(React.Fragment, {\n    children: /*#__PURE__*/React.cloneElement(children, childrenProps)\n  });\n}\nprocess.env.NODE_ENV !== \"production\" ? ClickAwayListener.propTypes /* remove-proptypes */ = {\n  // ┌────────────────────────────── Warning ──────────────────────────────┐\n  // │ These PropTypes are generated from the TypeScript type definitions. │\n  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n  // └─────────────────────────────────────────────────────────────────────┘\n  /**\n   * The wrapped element.\n   */\n  children: elementAcceptingRef.isRequired,\n  /**\n   * If `true`, the React tree is ignored and only the DOM tree is considered.\n   * This prop changes how portaled elements are handled.\n   * @default false\n   */\n  disableReactTree: PropTypes.bool,\n  /**\n   * The mouse event to listen to. You can disable the listener by providing `false`.\n   * @default 'onClick'\n   */\n  mouseEvent: PropTypes.oneOf(['onClick', 'onMouseDown', 'onMouseUp', 'onPointerDown', 'onPointerUp', false]),\n  /**\n   * Callback fired when a \"click away\" event is detected.\n   */\n  onClickAway: PropTypes.func.isRequired,\n  /**\n   * The touch event to listen to. You can disable the listener by providing `false`.\n   * @default 'onTouchEnd'\n   */\n  touchEvent: PropTypes.oneOf(['onTouchEnd', 'onTouchStart', false])\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n  // eslint-disable-next-line\n  ClickAwayListener['propTypes' + ''] = exactProp(ClickAwayListener.propTypes);\n}\nexport { ClickAwayListener };","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getToolbarUtilityClass } from \"./toolbarClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n  const {\n    classes,\n    disableGutters,\n    variant\n  } = ownerState;\n  const slots = {\n    root: ['root', !disableGutters && 'gutters', variant]\n  };\n  return composeClasses(slots, getToolbarUtilityClass, classes);\n};\nconst ToolbarRoot = styled('div', {\n  name: 'MuiToolbar',\n  slot: 'Root',\n  overridesResolver: (props, styles) => {\n    const {\n      ownerState\n    } = props;\n    return [styles.root, !ownerState.disableGutters && styles.gutters, styles[ownerState.variant]];\n  }\n})(memoTheme(({\n  theme\n}) => ({\n  position: 'relative',\n  display: 'flex',\n  alignItems: 'center',\n  variants: [{\n    props: ({\n      ownerState\n    }) => !ownerState.disableGutters,\n    style: {\n      paddingLeft: theme.spacing(2),\n      paddingRight: theme.spacing(2),\n      [theme.breakpoints.up('sm')]: {\n        paddingLeft: theme.spacing(3),\n        paddingRight: theme.spacing(3)\n      }\n    }\n  }, {\n    props: {\n      variant: 'dense'\n    },\n    style: {\n      minHeight: 48\n    }\n  }, {\n    props: {\n      variant: 'regular'\n    },\n    style: theme.mixins.toolbar\n  }]\n})));\nconst Toolbar = /*#__PURE__*/React.forwardRef(function Toolbar(inProps, ref) {\n  const props = useDefaultProps({\n    props: inProps,\n    name: 'MuiToolbar'\n  });\n  const {\n    className,\n    component = 'div',\n    disableGutters = false,\n    variant = 'regular',\n    ...other\n  } = props;\n  const ownerState = {\n    ...props,\n    component,\n    disableGutters,\n    variant\n  };\n  const classes = useUtilityClasses(ownerState);\n  return /*#__PURE__*/_jsx(ToolbarRoot, {\n    as: component,\n    className: clsx(classes.root, className),\n    ref: ref,\n    ownerState: ownerState,\n    ...other\n  });\n});\nprocess.env.NODE_ENV !== \"production\" ? Toolbar.propTypes /* remove-proptypes */ = {\n  // ┌────────────────────────────── Warning ──────────────────────────────┐\n  // │ These PropTypes are generated from the TypeScript type definitions. │\n  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │\n  // └─────────────────────────────────────────────────────────────────────┘\n  /**\n   * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.\n   * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.\n   */\n  children: PropTypes.node,\n  /**\n   * Override or extend the styles applied to the component.\n   */\n  classes: PropTypes.object,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * The component used for the root node.\n   * Either a string to use a HTML element or a component.\n   */\n  component: PropTypes.elementType,\n  /**\n   * If `true`, disables gutter padding.\n   * @default false\n   */\n  disableGutters: PropTypes.bool,\n  /**\n   * The system prop that allows defining system overrides as well as additional CSS styles.\n   */\n  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n  /**\n   * The variant to use.\n   * @default 'regular'\n   */\n  variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['dense', 'regular']), PropTypes.string])\n} : void 0;\nexport default Toolbar;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getToolbarUtilityClass(slot) {\n  return generateUtilityClass('MuiToolbar', slot);\n}\nconst toolbarClasses = generateUtilityClasses('MuiToolbar', ['root', 'gutters', 'regular', 'dense']);\nexport default toolbarClasses;"],"names":["FacetedHeader","model","faceted","anchorEl","setAnchorEl","useState","showOptions","showFilters","showSparse","useShoppingCart","React","Grid","container","spacing","alignItems","item","TextField","label","value","filterText","onChange","event","setFilterText","target","InputProps","endAdornment","InputAdornment","position","IconButton","onClick","ClearIcon","currentTarget","MoreVert","ShoppingCart","Menu","open","onClose","onMenuItemClick","_event","callback","menuItems","setUseShoppingCart","type","checked","setShowSparse","setShowFilters","setShowOptions","useStyles","makeStyles","theme","facet","margin","marginLeft","select","marginBottom","ClearButton","Tooltip","title","size","ExpandButton","visible","MinimizeIcon","AddIcon","observer","column","vals","classes","setVisible","filters","field","FormControl","className","fullWidth","Typography","component","setFilter","Select","multiple","native","get","options","filter","opt","selected","map","sort","a","b","localeCompare","name","count","key","coarseStripHTML","rows","columns","facets","slice","uniqs","Map","f","filterKeys","keys","facetKeys","ret","Set","entry","length","add","currentRows","elt","row","getRowStr","val","undefined","set","has","c","FacetFilter","cell","whiteSpace","overflow","textOverflow","resizeHandle","background","width","frac","view","selection","shownTrackIds","panelWidth","filteredRows","filteredNonMetadataKeys","filteredMetadataKeys","pluginManager","getEnv","widths","setWidths","measureGridWidth","r","maxWidth","stripHTML","Object","fromEntries","e","metadata","hideable","renderCell","params","id","conf","SanitizedHTML","html","TrackLabelMenu","trackId","headerName","includes","valueGetter","_","style","display","height","window","innerHeight","innerWidth","DataGrid","onColumnWidthChange","arg","colDef","columnVisibilityModel","onColumnVisibilityModelChange","n","columnHeaderHeight","checkboxSelection","disableRowSelectionOnClick","keepNonExistentRowsSelected","onRowSelectionModelChange","userSelectedIds","root","getRoot","schema","pluggableConfigSchemaType","setSelection","resolveIdentifier","a1","a2","transaction","x","t","hideTrack","showTrack","addToRecentlyUsed","rowSelectionModel","s","slots","toolbar","GridToolbar","slotProps","printOptions","disableToolbarButton","rowHeight","ResizeHandle","vertical","onDrag","dist","setPanelWidth","FacetFilters","props","handleClose","Dialog","DialogContent","FacetedSelector","circularRotateKeyframe","circularDashKeyframe","rotateAnimation","dashAnimation","CircularProgressRoot","slot","overridesResolver","styles","ownerState","variant","color","variants","transition","transitions","create","animation","entries","palette","vars","main","CircularProgressSVG","svg","CircularProgressCircle","circle","disableShrink","circleDisableShrink","stroke","strokeDasharray","strokeDashoffset","inProps","ref","thickness","other","useUtilityClasses","circleStyle","rootStyle","rootProps","circumference","Math","PI","toFixed","round","transform","role","children","viewBox","cx","cy","fill","strokeWidth","getCircularProgressUtilityClass","mapEventPropToEvent","eventProp","substring","toLowerCase","ClickAwayListener","disableReactTree","mouseEvent","onClickAway","touchEvent","movedRef","nodeRef","activatedRef","syntheticEventRef","setTimeout","current","handleRef","handleClickAway","insideReactTree","doc","documentElement","clientWidth","clientX","clientHeight","clientY","clickedRootScrollbar","insideDOM","composedPath","contains","createHandleSynthetic","handlerName","childrenPropsHandler","childrenProps","mappedTouchEvent","handleTouchMove","addEventListener","removeEventListener","mappedMouseEvent","ToolbarRoot","disableGutters","gutters","paddingLeft","paddingRight","breakpoints","up","minHeight","mixins","as","getToolbarUtilityClass"],"sourceRoot":""}