Files
hatchet/frontend/app/package.json
matt 44e1c9b076 Compact toolbar, refetch improvements, table improvements (#2292)
* feat: add refetch interval type

* feat: start working on time filter

* chore: lint

* refactor: switch statement for toolbar exhaustiveness checking

* fix: remove case declarations rule

* feat: allow query strings and scroll to hash in docs

* fix: time filter errors from rt

* fix: remove percentages from metrics to save more horizontal space

* feat: first pass at refetch interval dropdown + provider

* feat: options component that combines filters + col toggles

* fix: naming

* feat: drill metrics into runs table to show side by side

* fix: some top margin above the runs page

* fix: use flex gap instead

* fix: remove metric scroll

* feat: icons for buttons on smaller screens

* fix: separate rows again

* feat: responsiveness to panel drag

* fix: breakpoint impl

* feat: start hacking together single-row toolbar

* feat: more icon-only toolbar opts on small screens

* feat: scroll on overflow

* feat: improve icons

* fix: z index

* fix: spacing

* fix: worker table column keys

* fix: event filter keys

* fix: require type, fix refs

* feat: clean up filters / options ui a bit

* fix: improve styling a bit more

* chore: lint

* fix: overflow

* fix: remove some unneeded row selection

* fix: simplify workflows view

* fix: workflow pagination

* fix: workflows hook, workflows column keys

* fix: hide is declarative by default

* fix: move refetch interval dropdown

* feat: refetch dropdown everywhere, rate limits improvements

* feat: debounced search for rate limits

* feat: initial work on grafana-esque refetch component

* feat: animate properly

* fix: hide refresh text on small screens

* fix: remove refetch buttons, frozen button

* fix: icon

* feat: more refetch interval fixes

* fix: frozen handling

* fix: refetch interval naming

* fix: rm z index from meta

* fix: use refetch interval everywhere

* refactor: clean up w/ shared component

* refactor: shared components, part ii

* fix: text styling

* fix: remove row selection state from a couple of tables

* feat: hook for zod-based column filters

* feat: zod column filters for events

* feat: zod column filters for rate limits

* fix: export run status filters

* feat: start factoring out table actions

* feat: start drilling confirm modal into table

* refactor: factor out the content of the dropdown

* refactor: use dropdown content for cancel / replay confirm

* fix: typing, height

* fix: more state handling for column filters

* fix: make since non-optional

* fix: filter counts

* feat: add reset button

* feat: add reset filters to the other places using Zod

* fix: start removing dead code :partying-face:

* Update data-table-options.tsx

* feat: more dead code

* feat: add min width to filters

* fix: styling, undefined column filters error

* fix: drill workflow down

* fix: filters empty state styling

* fix: add some empty states

* fix: one more

* fix: rm more dead code

* fix: more button padding

* fix: metrics padding consistency
2025-09-21 17:01:32 -04:00

142 lines
4.6 KiB
JSON

{
"name": "app",
"private": true,
"version": "0.0.0",
"type": "module",
"packageManager": "pnpm@10.16.1",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"lint:check": "npm run eslint:check && npm run prettier:check",
"lint:fix": "npm run eslint:fix && npm run prettier:fix",
"eslint:check": "eslint \"{src,apps,libs,test}/**/*.{ts,tsx,js}\"",
"eslint:fix": "eslint \"{src,apps,libs,test}/**/*.{ts,tsx,js}\" --fix",
"prettier:check": "prettier \"src/**/*.{ts,tsx}\" --list-different",
"prettier:fix": "prettier \"src/**/*.{ts,tsx}\" --write",
"preview": "vite preview",
"docs:gen": "cd ../snippets && python3 generate.py"
},
"dependencies": {
"@heroicons/react": "^2.2.0",
"@hookform/resolvers": "^3.10.0",
"@lukemorales/query-key-factory": "^1.3.4",
"@monaco-editor/react": "^4.7.0",
"@radix-ui/react-accordion": "^1.2.3",
"@radix-ui/react-alert-dialog": "^1.1.7",
"@radix-ui/react-avatar": "^1.1.3",
"@radix-ui/react-checkbox": "^1.1.4",
"@radix-ui/react-collapsible": "^1.1.3",
"@radix-ui/react-dialog": "^1.1.6",
"@radix-ui/react-dropdown-menu": "^2.1.6",
"@radix-ui/react-hover-card": "^1.1.6",
"@radix-ui/react-icons": "^1.3.2",
"@radix-ui/react-label": "^2.1.2",
"@radix-ui/react-menubar": "^1.1.6",
"@radix-ui/react-popover": "^1.1.6",
"@radix-ui/react-radio-group": "^1.2.3",
"@radix-ui/react-scroll-area": "^1.2.3",
"@radix-ui/react-select": "^2.1.6",
"@radix-ui/react-separator": "^1.1.2",
"@radix-ui/react-slot": "^1.1.2",
"@radix-ui/react-switch": "^1.1.3",
"@radix-ui/react-tabs": "^1.1.3",
"@radix-ui/react-toast": "^1.2.6",
"@radix-ui/react-tooltip": "^1.1.8",
"@rjsf/core": "^5.24.8",
"@rjsf/utils": "^5.24.8",
"@rjsf/validator-ajv8": "^5.24.8",
"@sentry/react": "^7.120.3",
"@sentry/vite-plugin": "^2.23.0",
"@tanstack/react-query": "^5.71.1",
"@tanstack/react-query-devtools": "^5.74.6",
"@tanstack/react-table": "^8.21.2",
"@types/lodash": "^4.17.20",
"@visx/axis": "^3.12.0",
"@visx/brush": "^3.12.0",
"@visx/curve": "^3.12.0",
"@visx/event": "^3.12.0",
"@visx/gradient": "^3.12.0",
"@visx/grid": "^3.12.0",
"@visx/group": "^3.12.0",
"@visx/mock-data": "^3.12.0",
"@visx/pattern": "^3.12.0",
"@visx/responsive": "^3.12.0",
"@visx/scale": "^3.12.0",
"@visx/shape": "^3.12.0",
"@visx/text": "^3.12.0",
"@visx/tooltip": "^3.12.0",
"@visx/vendor": "^3.12.0",
"ansi-to-html": "^0.7.2",
"axios": "^1.12.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^0.2.1",
"cron-parser": "^4.9.0",
"cronstrue": "^2.57.0",
"dagre": "^0.8.5",
"date-fns": "^3.6.0",
"dompurify": "^3.2.4",
"jotai": "^2.12.2",
"js-confetti": "^0.12.0",
"lodash": "^4.17.21",
"lucide-react": "^0.446.0",
"monaco-themes": "^0.4.4",
"prism-react-renderer": "^2.4.1",
"prismjs": "^1.30.0",
"qs": "^6.14.0",
"react": "^18.3.1",
"react-day-picker": "^8.10.1",
"react-dom": "^18.3.1",
"react-hook-form": "^7.55.0",
"react-icons": "^5.5.0",
"react-router-dom": "^6.30.0",
"react-syntax-highlighter": "^15.6.1",
"reactflow": "^11.11.4",
"recharts": "^2.15.1",
"shiki": "^3.2.2",
"tailwind-merge": "^2.6.0",
"tailwindcss-animate": "^1.0.7",
"timeago-react": "^3.0.7",
"tiny-invariant": "^1.3.3",
"use-debounce": "^10.0.6",
"zod": "^3.24.2"
},
"devDependencies": {
"@types/dagre": "^0.7.52",
"@types/dompurify": "^3.2.0",
"@types/node": "^20.17.28",
"@types/qs": "^6.9.18",
"@types/react": "^18.3.20",
"@types/react-dom": "^18.3.5",
"@types/react-syntax-highlighter": "^15.5.13",
"@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0",
"@vitejs/plugin-react": "^4.3.4",
"autoprefixer": "^10.4.21",
"eslint": "^8.57.1",
"eslint-config-airbnb-typescript": "^17.1.0",
"eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-typescript": "^3.10.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-prettier": "^5.2.5",
"eslint-plugin-react": "^7.37.4",
"eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-react-refresh": "^0.4.19",
"eslint-plugin-unused-imports": "^3.2.0",
"postcss": "^8.5.3",
"prettier": "^3.5.3",
"swagger-typescript-api": "^13.0.28",
"tailwindcss": "^3.4.17",
"ts-unused-exports": "^11.0.1",
"tsx": "^4.19.3",
"typescript": "^5.8.2",
"vite": "^6.3.6",
"vite-plugin-eslint": "^1.8.1"
},
"pnpm": {
"overrides": {
"prismjs": "^1.30.0"
}
}
}