ionic-framework Documentation

A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.

52,616 stars TypeScript TypeScript 1 file ยท ~2,509 tokens #angular#capacitor#framework#frontend#ionic#ios#javascript#material-design
RAW Doc

1. Project Overview & Quickstart (ionic-team/ionic-framework)

File: README.md

Ionic

[Quickstart](https://ionicframework.com/docs/intro/cli) ยท Documentation ยท [Contribute](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md) ยท [Blog](https://blog.ionicframework.com/)

Community:
Discord
ยท
Forums
ยท
Twitter

Packages

Project Package Version Downloads Links
Core @ionic/core README.md
Angular @ionic/angular README.md
Vue @ionic/vue README.md
React @ionic/react README.md

Looking for the ionic-angular package? Ionic 3 has been moved to the ionic-v3 repo. See Earlier Versions.

Getting Started

Start a new project by following our documentation.
We would love to hear from you! If you have any feedback or run into issues using our framework, please file
an issue on this repository.

Migration Guides

Already have an Ionic app? These guides will help you migrate to the latest versions.

Examples

The Ionic Conference App is a full featured Ionic app. It is the perfect starting point for learning and building your own app.

Contributing

Thanks for your interest in contributing! Read up on our guidelines for
contributing
and then look through our issues with a help wanted
label.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Earlier Versions

The source code for earlier versions of the Ionic Framework may exist in other repositories. Please open issues and pull requests in their respective repositories.


File: docs/README.md

Ionic Framework Developer Resources

What is Ionic Framework?

Ionic Framework is an open source app development toolkit for building modern, fast, top-quality cross-platform native and Progressive Web Apps from a single codebase with JavaScript and the Web.

It is based on Web Components, which enables significant performance, usability, and feature improvements alongside support for popular web frameworks like Angular, React, and Vue.

Guides

Guide Description
Contributing How to contribute including creating pull requests, commit message guidelines, and more.
Component Guide Guidelines for implementing component states, accessibility, and more.
Sass Guidelines Outlines scenarios where Sass members and comments should be used.
CSS Shadow Parts Guidelines Guidelines for CSS shadow parts in components.

Packages

Project Package Documentation Guides
Core @ionic/core Readme Testing
Angular @ionic/angular Readme Testing
React @ionic/react Readme Testing
React Router @ionic/react-router Readme Testing
Vue @ionic/vue Readme Testing
Vue Router @ionic/vue-router Readme Testing

2. Official Technical Reference & Guides (ionic-team/docs)

File: packages/theme-classic/lib/theme/README.md

Theme folder

This folder is used to override the base docusaurus theme. It houses swizzled components. Components should NOT be swizzled unless absolutely necessary to allow for changes in future versions. If it is possible to shallow swizzle a component using the @theme-original alias, then that should be heavily considered. Swizzled components should be added to the prettier ignore and all code updates should be marked with comments to allow more seamless version updating. The styles file for components that have been unsafely swizzle should absolutely not be edited. All styling should be done from the component partials.


File: packages/theme-classic/src/styles/components/README.md

Components folder

This folder is used to style components that are used globally across the site. A good way to setup a file is to include any themed variables at the top, and the override styles below that. All these partials are imported into the base styles with the sass @use rule.

Light themed variables can be targeted using the following selector:

css
html[data-theme='light'] {
  --ifm-menu-color-background-active: red;
}

Dark themed variables can be targeted using the following selector:

css
html[data-theme='dark'] {
  --ifm-menu-color-background-active: blue;
}

Global variables can be overridden at root like this:

css
:root {
  --sidebar-spacing-horizontal: 1.5rem;
}

Styles can be overriden like this:

css
#__docusaurus {
  .class-to-override {
    margin-block-start: 1rem;
  }
}

File: packages/theme-classic/src/styles/README.md

Styles folder

This folder houses a global style file that is brought into the theme in docusaurus.config.js. In addition, there is a components folder that is used to style theme components instead of swizzling them.

Related issue: https://github.com/facebook/docusaurus/pull/5987 Since theme styles cannot be overridden at the moment, the base #__docusaurus tag is being used to +1 the specificity of selectors.


File: packages/theme-classic/src/theme/README.md

Theme folder

This folder is used to override the base docusaurus theme. It houses swizzled components. Components should NOT be swizzled unless absolutely necessary to allow for changes in future versions. If it is possible to shallow swizzle a component using the @theme-original alias, then that should be heavily considered. Swizzled components should be added to the prettier ignore and all code updates should be marked with comments to allow more seamless version updating. The styles file for components that have been unsafely swizzle should absolutely not be edited. All styling should be done from the component partials.


File: packages/preset-classic/README.md

`@docusaurus/preset-classic`

Classic preset for Docusaurus.

Usage

See presets documentation.