![commits per month](https://img.shields.io/github/commit-activity/m/esri/calcite-components?style=flat-square&color=EDD317)
Calcite Components
Calcite Components, part of Esri's Calcite Design System, is a rich library of flexible, framework-agnostic web components for building applications. View the documentation for component descriptions, examples, and API reference, which includes properties, slots, styles, and theming.
Use the CDN
The most common approach for loading Calcite Components is to use the version hosted on the CDN. The components can be loaded via <script>
and <link>
tags in the head of your HTML document:
<script
type="module"
src="https://cdn.jsdelivr.net/npm/@esri/calcite-components@2.13.2/dist/calcite/calcite.esm.js"
></script>
<link
rel="stylesheet"
type="text/css"
href="https://cdn.jsdelivr.net/npm/@esri/calcite-components@2.13.2/dist/calcite/calcite.css"
/>
Once these tags are added, components can be used like any other HTML element. Only components that are used in the application will be loaded.
Use the NPM package
Calcite Components is also provided as an NPM package. To get started, first install the package, then follow the steps below. Alternatively, you can find examples using different frameworks and build tools here.
npm install @esri/calcite-components
1. Build
Refer to the Get started page for details on setting up a build.
2. Assets
Some components, such as calcite-icon
and calcite-date-picker
, rely on assets being available at a particular path. As mentioned, with the NPM package you have the option to provide a local path or the URL to the assets hosted on the CDN. Using the CDN hosted assets can help decrease on disk build size.
To use the assets locally, they need to be copied using a build tool or NPM script. The directory for the local assets must be named assets
, which eases the copying process. For example, /public/calcite/assets
will work, however /public/calcite-assets
will not.
The Calcite Components examples repo demonstrates using local assets in a variety of JavaScript frameworks and build tools. Each example has a README with a framework or build tool specific explanation.
cp -r node_modules/@esri/calcite-components/dist/calcite/assets/* ./public/assets/
3. Styles
Finally, load the Cascading Style Sheet (CSS). This is also dependent on your framework or build tool, however in many cases it can be imported in JavaScript:
import "@esri/calcite-components/dist/calcite/calcite.css";
TypeScript
Refer to the TypeScript section of the Framework integration resource page for guidance on setting up TypeScript.
Browser Support
![Google Chrome](https://github.com/Esri/calcite-design-system/raw/HEAD/./img/chrome.svg) Chrome | ![Mozilla Firefox](https://github.com/Esri/calcite-design-system/raw/HEAD/./img/firefox.svg) Firefox | ![Safari](https://github.com/Esri/calcite-design-system/raw/HEAD/./img/safari.svg) Safari | ![Microsoft Edge](https://github.com/Esri/calcite-design-system/raw/HEAD/./img/edge.svg) Edge |
---|
Last 2 versions ✔ |
Contributing
We welcome contributions to this project. See CONTRIBUTING.md for an overview of contribution guidelines.
License
COPYRIGHT © 2025 Esri
All rights reserved under the copyright laws of the United States and applicable international laws, treaties, and conventions.
This material is licensed for use under the Esri Master License Agreement (MLA), and is bound by the terms of that agreement. You may redistribute and use this code without modification, provided you adhere to the terms of the MLA and include this copyright notice.
See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
For additional information, contact: Environmental Systems Research Institute, Inc. Attn: Contracts and Legal Services Department 380 New York Street Redlands, California, USA 92373 USA
email: contracts@esri.com