|
1 | 1 | # Kitchen Sink |
2 | 2 |
|
| 3 | +[](https://github.com/agrc/kitchen-sink/actions/workflows/release.yml) |
| 4 | + |
| 5 | +[](https://www.npmjs.com/package/@ugrc/utah-design-system) |
| 6 | +[](https://www.npmjs.com/package/@ugrc/mouse-trap) |
| 7 | +[](https://www.npmjs.com/package/@ugrc/utilities) |
| 8 | +[](https://www.npmjs.com/package/@ugrc/esri-theme-toggle) |
| 9 | +[](https://www.npmjs.com/package/@ugrc/eslint-config) |
| 10 | +[](https://www.npmjs.com/package/@ugrc/tailwind-preset) |
| 11 | +[](https://www.npmjs.com/package/@ugrc/tsconfigs) |
| 12 | + |
| 13 | +A monorepo containing UGRC's reusable React components, utilities, and configuration packages. |
| 14 | + |
3 | 15 | ## Preview |
4 | 16 |
|
5 | 17 | The [storybook files](https://ut-dts-agrc-kitchen-sink-prod.web.app/) are published to the web to view and learn about the components. |
6 | 18 |
|
| 19 | +## Packages |
| 20 | + |
| 21 | +This monorepo contains the following packages: |
| 22 | + |
| 23 | +### [@ugrc/utah-design-system](./packages/utah-design-system) |
| 24 | + |
| 25 | +A collection of React components implementing the [Utah Design System](https://designsystem.utah.gov). Includes spatial components for maps, geocoding, and location services built with React Aria and ArcGIS. |
| 26 | + |
| 27 | +```bash |
| 28 | +npm install @ugrc/utah-design-system |
| 29 | +``` |
| 30 | + |
| 31 | +### [@ugrc/mouse-trap](./packages/mouse-trap) |
| 32 | + |
| 33 | +A React component that displays cursor coordinates while hovering over an ArcGIS map. Supports multiple coordinate systems and projections. |
| 34 | + |
| 35 | +```bash |
| 36 | +npm install @ugrc/mouse-trap |
| 37 | +``` |
| 38 | + |
| 39 | +### [@ugrc/utilities](./packages/utilities) |
| 40 | + |
| 41 | +Shared utility functions and React hooks for UGRC projects, including helpers for working with ArcGIS maps and spatial data. |
| 42 | + |
| 43 | +```bash |
| 44 | +npm install @ugrc/utilities |
| 45 | +``` |
| 46 | + |
| 47 | +### [@ugrc/esri-theme-toggle](./packages/esri-theme-toggle) |
| 48 | + |
| 49 | +Automatically switches between Esri CSS themes based on the browser's preferred color scheme (light/dark mode). |
| 50 | + |
| 51 | +```bash |
| 52 | +npm install @ugrc/esri-theme-toggle |
| 53 | +``` |
| 54 | + |
| 55 | +### [@ugrc/eslint-config](./packages/eslint-config) |
| 56 | + |
| 57 | +Shared ESLint configurations for UGRC projects with support for React, TypeScript, and Storybook. |
| 58 | + |
| 59 | +```bash |
| 60 | +npm install --save-dev @ugrc/eslint-config |
| 61 | +``` |
| 62 | + |
| 63 | +### [@ugrc/tailwind-preset](./packages/tailwind-preset) |
| 64 | + |
| 65 | +The default Tailwind CSS preset for UGRC projects with support for React Aria Components. |
| 66 | + |
| 67 | +```bash |
| 68 | +npm install --save-dev @ugrc/tailwind-preset |
| 69 | +``` |
| 70 | + |
| 71 | +### [@ugrc/tsconfigs](./packages/tsconfigs) |
| 72 | + |
| 73 | +Shared TypeScript configurations for UGRC projects, including browser and Vite-specific configurations. |
| 74 | + |
| 75 | +```bash |
| 76 | +npm install --save-dev @ugrc/tsconfigs |
| 77 | +``` |
| 78 | + |
| 79 | +## Package Dependencies |
| 80 | + |
| 81 | +Some packages in this monorepo depend on each other: |
| 82 | + |
| 83 | +```mermaid |
| 84 | +graph TD |
| 85 | + utilities[utilities] |
| 86 | + utah-design-system[utah-design-system] |
| 87 | + mouse-trap[mouse-trap] |
| 88 | + |
| 89 | + utilities --> utah-design-system |
| 90 | + utilities --> mouse-trap |
| 91 | + |
| 92 | + style utilities fill:#e1f5ff |
| 93 | + style utah-design-system fill:#fff4e1 |
| 94 | + style mouse-trap fill:#fff4e1 |
| 95 | +``` |
| 96 | + |
| 97 | +- **`@ugrc/utah-design-system`** depends on **`@ugrc/utilities`** for shared utility functions and React hooks |
| 98 | +- **`@ugrc/mouse-trap`** depends on **`@ugrc/utilities`** for coordinate projection utilities |
| 99 | + |
| 100 | +The remaining packages (`eslint-config`, `esri-theme-toggle`, `tailwind-preset`, `tsconfigs`) are standalone and have no internal dependencies. |
| 101 | + |
7 | 102 | ## Development |
8 | 103 |
|
9 | 104 | 1. Build the packages |
|
0 commit comments