diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index c247a0a6a92..69ef7cea290 100644
--- a/.github/workflows/CI.yml
+++ b/.github/workflows/CI.yml
@@ -48,6 +48,22 @@ jobs:
run: npm run typecheck
- name: ð€ Spell Check
run: npm run spellcheck
+ # Docusaurus derives a heading's anchor from its text, so renaming a
+ # heading moves the anchor and breaks every inbound link. An explicit id
+ # survives the rename, and lets a translation keep the English anchor
+ # after the heading text is translated.
+ #
+ # Nothing in Docusaurus enforces this: a page whose headings are all
+ # unpinned builds clean. So run its own generator and fail if it had
+ # anything to add.
+ - name: ð Heading IDs
+ run: |
+ npm run heading-ids
+ if ! git diff --quiet -- docs; then
+ echo "::error::Headings are missing explicit ids. Run \`npm run heading-ids\` and commit the result."
+ git diff -- docs
+ exit 1
+ fi
- uses: ./.github/workflows/actions/check-translations
cross-platform:
diff --git a/.prettierignore b/.prettierignore
index 90c620a0f43..4df103e36c7 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -11,8 +11,6 @@ src/theme/Layout/index.tsx
src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx
src/theme/prism-include-languages.ts
-legacy-stencil-components
-scripts/bak
# Auto-generated files
docs/native
diff --git a/cspell.json b/cspell.json
index 6a6d214cd18..973127f2e2a 100644
--- a/cspell.json
+++ b/cspell.json
@@ -10,7 +10,9 @@
"ignoreRegExpList": [
"/(```+)[\\s\\S]+?\\1/g",
"`([^`]*)`",
- "/:[a-zA-Z0-9-_\\+]+:/g"
+ "/:[a-zA-Z0-9-_\\+]+:/g",
+ // Pinned heading ids, as in `## Using isOpen {/* #using-isopen */}`.
+ "/\\{\\/\\*\\s*#[a-z0-9-]+\\s*\\*\\/\\}/g"
],
"ignorePaths": [
"docs/cli",
diff --git a/docs/angular/add-to-existing.mdx b/docs/angular/add-to-existing.mdx
index 4b958cf5c34..2ef3d723578 100644
--- a/docs/angular/add-to-existing.mdx
+++ b/docs/angular/add-to-existing.mdx
@@ -22,7 +22,7 @@ This guide uses `.css` file extensions for stylesheets. If you created your Angu
:::
-## Setup
+## Setup {/* #setup */}
:::info
@@ -32,7 +32,7 @@ This guide follows the structure of an Angular app created with the Angular CLI.
You can add Ionic Angular to your existing Angular project using the Angular CLI's `ng add` feature or by installing it manually.
-### Using ng add
+### Using ng add {/* #using-ng-add */}
The easiest way to add Ionic Angular is to use the Angular CLI's `ng add` feature:
@@ -42,17 +42,17 @@ ng add @ionic/angular
This will install the `@ionic/angular` package and automatically configure the necessary imports and styles.
-### Manual Installation
+### Manual Installation {/* #manual-installation */}
If you prefer to install Ionic Angular manually, you can follow these steps:
-#### 1. Install the Package
+#### 1. Install the Package {/* #1-install-the-package */}
```bash
npm install @ionic/angular
```
-#### 2. Add Ionic Framework Stylesheets
+#### 2. Add Ionic Framework Stylesheets {/* #2-add-ionic-framework-stylesheets */}
Replace the existing `styles` array in `angular.json` with the following:
@@ -80,7 +80,7 @@ While `core.css` is required, `normalize.css`, `structure.css`, and `typography.
:::
-#### 3. Configure Ionic Angular
+#### 3. Configure Ionic Angular {/* #3-configure-ionic-angular */}
Update `src/app/app.config.ts` to include `provideIonicAngular`:
@@ -98,7 +98,7 @@ export const appConfig: ApplicationConfig = {
This reflects the Angular 21 and 22 scaffold, which is zoneless by default. If your existing app is on Angular 18 through 20, it still has `provideZoneChangeDetection({ eventCoalescing: true })`; keep that provider and add `provideIonicAngular({})` alongside it. Refer to [Zoneless Change Detection](/angular/zoneless.mdx) for details.
-## Using Individual Components
+## Using Individual Components {/* #using-individual-components */}
After completing the setup above, you can start using Ionic components in your existing Angular app. Here's an example of how to use them:
@@ -125,11 +125,11 @@ export class App {}
Visit the [components](/components.mdx) page for all of the available Ionic components.
-## Using Ionic Pages
+## Using Ionic Pages {/* #using-ionic-pages */}
If you want to use Ionic pages with full navigation and page transitions, follow these additional setup steps.
-#### 1. Add Additional Ionic Framework Stylesheets
+#### 1. Add Additional Ionic Framework Stylesheets {/* #1-add-additional-ionic-framework-stylesheets */}
Replace the existing `styles` array in `angular.json` with the following:
@@ -174,7 +174,7 @@ Replace the existing `styles` array in `angular.json` with the following:
These stylesheets set up the overall page structure and provide [CSS utilities](/layout/css-utilities.mdx) for faster development. Some stylesheets are optional. For details on which stylesheets are required, check out [Global Stylesheets](/layout/global-stylesheets.mdx).
-#### 2. Set up Theming
+#### 2. Set up Theming {/* #2-set-up-theming */}
Create a `src/theme/variables.css` file with the following content:
@@ -193,7 +193,7 @@ Create a `src/theme/variables.css` file with the following content:
This file enables [dark mode support](/theming/dark-mode.mdx) for your Ionic app when the system is set to prefer a dark appearance. You can customize the theming behavior by uncommenting different dark palette imports or adding custom CSS variables.
-#### 3. Update the App Component
+#### 3. Update the App Component {/* #3-update-the-app-component */}
Update `src/app/app.html` to the following:
@@ -218,7 +218,7 @@ import { IonApp, IonRouterOutlet } from '@ionic/angular';
export class App {}
```
-#### 4. Create a Home Page
+#### 4. Create a Home Page {/* #4-create-a-home-page */}
Start by adding a template at `src/app/home/home.html`:
@@ -293,7 +293,7 @@ Finally, add a `src/app/home/home.css` file:
}
```
-#### 5. Set up Routing
+#### 5. Set up Routing {/* #5-set-up-routing */}
Update `src/app/app.routes.ts` to add a `home` route:
@@ -316,7 +316,7 @@ export const routes: Routes = [
You're all set! Your Ionic Angular app is now configured with full Ionic page support. Run `ng serve` to start your development server and view your app.
-## Next Steps
+## Next Steps {/* #next-steps */}
Now that you have Ionic Angular integrated into your project, check out:
diff --git a/docs/angular/build-options.mdx b/docs/angular/build-options.mdx
index ada6153483b..243efaaf45a 100644
--- a/docs/angular/build-options.mdx
+++ b/docs/angular/build-options.mdx
@@ -7,13 +7,13 @@ Developers have two options for using Ionic components: Standalone or Modules. T
The Standalone approach uses modern Angular APIs and is the recommended way to build Ionic applications. The Modules approach, including `IonicModule`, is **deprecated** and will be removed in a future major release. New projects should use the Standalone approach. Existing apps will continue to work but should plan to migrate. Refer to [Migrating from Modules to Standalone](#migrating-from-modules-to-standalone) for migration guidance.
-## Standalone
+## Standalone {/* #standalone */}
:::info
Ionic UI components as Angular standalone components is supported starting in Ionic v7.5.
:::
-### Overview
+### Overview {/* #overview */}
Developers can use Ionic components as standalone components to take advantage of treeshaking and newer Angular features. This option involves importing specific Ionic components in the Angular components you want to use them in. Developers can use Ionic standalone components even if their Angular application is NgModule-based.
@@ -33,7 +33,7 @@ Ionic ã®ã¹ã¿ã³ãã¢ãã³ã³ã³ããŒãã³ããå©çšããããã«ãIo
Ionic ships standalone components from a single entry point (`@ionic/angular`). Bundlers such as Webpack and esbuild cannot split code from a single entry point across separate chunks, so the Ionic components you import are included in the main bundle rather than in the chunk for the route or component where they are used. Unused components are still tree-shaken out of the build.
:::
-### Usage with Standalone-based Applications
+### Usage with Standalone-based Applications {/* #usage-with-standalone-based-applications */}
:::warning
All Ionic imports should be imported from the `@ionic/angular` submodule. This includes imports such as components, directives, providers, and types. Importing from `@ionic/angular/lazy` may pull in lazy loaded Ionic code which can interfere with treeshaking.
@@ -200,7 +200,7 @@ Ionic Angular's standalone components use ES Modules. As a result, developers us
-### Usage with NgModule-based Applications
+### Usage with NgModule-based Applications {/* #usage-with-ngmodule-based-applications */}
:::warning
All Ionic imports should be imported from the `@ionic/angular` submodule. This includes imports such as components, directives, providers, and types. Importing from `@ionic/angular/lazy` may pull in lazy loaded Ionic code which can interfere with treeshaking.
@@ -363,13 +363,13 @@ Ionic Angular's standalone components use ES Modules. As a result, developers us
-## Modules
+## Modules {/* #modules */}
:::warning[Deprecation Notice]
The Modules approach, including `IonicModule`, is **deprecated** and will be removed in a future major release. Existing applications will continue to work during the deprecation period but should migrate using the [Standalone migration guide](#migrating-from-modules-to-standalone). New applications should use the [Standalone](#standalone) approach.
:::
-### Overview
+### Overview {/* #overview-1 */}
Developers can also use the Modules approach by importing `IonicModule` and calling `IonicModule.forRoot()` in the `imports` array in `app.module.ts`. This registers a version of Ionic where Ionic components will be lazily loaded at runtime.
@@ -382,7 +382,7 @@ Developers can also use the Modules approach by importing `IonicModule` and call
1. Lazily loading Ionic components means that the compiler does not know which components are needed at build time. This means your final application bundle may be much larger than it needs to be.
2. Developers are unable to use newer Angular features such as [ESBuild](https://angular.io/guide/esbuild).
-### Usage
+### Usage {/* #usage */}
In the example below, we are using `IonicModule` to create a lazily loaded version of Ionic. We can then reference any Ionic component without needing to explicitly import it.
@@ -402,7 +402,7 @@ import { AppComponent } from './app.component';
export class AppModule {}
```
-## Migrating from Modules to Standalone
+## Migrating from Modules to Standalone {/* #migrating-from-modules-to-standalone */}
:::tip
Try our automated utility for migrating to standalone!
@@ -416,7 +416,7 @@ Migrating to Ionic standalone components must be done all at the same time and c
Developers are encouraged to try the [automated migration utility](https://github.com/ionic-team/ionic-angular-standalone-codemods), though they can also follow the steps below if they would like to manually migrate their applications.
-### Standalone-based Applications
+### Standalone-based Applications {/* #standalone-based-applications */}
Follow these steps if your Angular application is already using the standalone architecture, and you want to use Ionic UI components as standalone components too.
@@ -539,7 +539,7 @@ export class TestComponent {}
}
```
-### NgModule-based Applications
+### NgModule-based Applications {/* #ngmodule-based-applications */}
Follow these steps if your Angular application is still using the NgModule architecture, but you want to adopt Ionic UI components as standalone components now.
diff --git a/docs/angular/injection-tokens.mdx b/docs/angular/injection-tokens.mdx
index 2367036ab74..653f5bcadf7 100644
--- a/docs/angular/injection-tokens.mdx
+++ b/docs/angular/injection-tokens.mdx
@@ -13,7 +13,7 @@ sidebar_label: Injection Tokens
Ionic provides Angular injection tokens that allow you to access Ionic elements through Angular's dependency injection system. This provides a more Angular-idiomatic way to interact with Ionic components programmatically.
-## Benefits
+## Benefits {/* #benefits */}
Using injection tokens provides several advantages:
@@ -22,13 +22,13 @@ Using injection tokens provides several advantages:
- **Simplified Code**: Eliminates the need for `ViewChild` queries or manual element references
- **Better Testing**: Easier to mock and test components that use injection tokens
-## IonModalToken
+## IonModalToken {/* #ionmodaltoken */}
The `IonModalToken` injection token allows you to inject a reference to the current modal element directly into your Angular components. This is particularly useful when you need to programmatically control modal behavior, listen to modal events, or access modal properties.
Starting in `@ionic/angular` v8.7.0, you can use this injection token to streamline modal interactions in your Angular applications.
-### Basic Usage
+### Basic Usage {/* #basic-usage */}
To use the `IonModalToken`, inject it into your component's constructor:
@@ -60,7 +60,7 @@ export class ModalComponent {
}
```
-### Listening to Modal Events
+### Listening to Modal Events {/* #listening-to-modal-events */}
You can use the injected modal reference to listen to modal lifecycle events:
@@ -102,7 +102,7 @@ export class ModalComponent implements OnInit {
}
```
-### Accessing Modal Properties
+### Accessing Modal Properties {/* #accessing-modal-properties */}
The injected modal reference provides access to all modal properties and methods:
@@ -143,7 +143,7 @@ export class ModalComponent implements OnInit {
}
```
-### Opening a Modal with Injection Token Content
+### Opening a Modal with Injection Token Content {/* #opening-a-modal-with-injection-token-content */}
When opening a modal that uses the injection token, you can pass the component directly to the modal controller:
diff --git a/docs/angular/lifecycle.mdx b/docs/angular/lifecycle.mdx
index 44d9a3b86ed..634d820ce20 100644
--- a/docs/angular/lifecycle.mdx
+++ b/docs/angular/lifecycle.mdx
@@ -15,7 +15,7 @@ sidebar_label: ã©ã€ããµã€ã¯ã«

-## Angular ã®ã©ã€ããµã€ã¯ã«ã€ãã³ã
+## Angular ã®ã©ã€ããµã€ã¯ã«ã€ãã³ã {/* #angular-life-cycle-events */}
Ionic 㯠Angular ãæäŸããã©ã€ããµã€ã¯ã«ã€ãã³ããåãå
¥ããŠããŸããæããã䜿ã 2 ã€ã® Angular ã€ãã³ãã¯æ¬¡ã®ãšããã§ãã
@@ -36,7 +36,7 @@ On **Angular 18 through 21** this only affects you if you set `OnPush` on those
:::
-## Ionic ã®ããŒãžã€ãã³ã
+## Ionic ã®ããŒãžã€ãã³ã {/* #ionic-page-events */}
Angular ã®ã©ã€ããµã€ã¯ã«ã€ãã³ãã«å ããŠãIonic Angular ã«ã¯ã䜿çšå¯èœãªããã€ãã®è¿œå ã€ãã³ãããããŸã:
@@ -55,7 +55,7 @@ Angular ã®ã©ã€ããµã€ã¯ã«ã€ãã³ãã«å ããŠãIonic Angular ã«ã¯

-## Ionic ãããŒãžã®ã©ã€ããµã€ã¯ã«ãåŠçããä»çµã¿
+## Ionic ãããŒãžã®ã©ã€ããµã€ã¯ã«ãåŠçããä»çµã¿ {/* #how-ionic-handles-the-life-of-a-page */}
Ionic 㯠`` ãšãã router outlet ãæã£ãŠããŸãããã® outlet ã Angular ã® `` ãç¶æ¿ããããã«æ¡åŒµããŠãã¢ãã€ã«ããã€ã¹ã®ããã®ããè¯ãäœéšãå¯èœã«ããŸããã
@@ -70,7 +70,7 @@ Ionic 㯠`` ãšãã router outlet ãæã£ãŠããŸã
`ngOnInit` ã¯ããŒãžãæ°ããäœæããããã³ã«çºç«ããã ããªã®ã§ãããŒãžã«æ»ã£ããšãã«ã¯çºç«ãããŸãããããšãã°ãã¿ãã®ã€ã³ã¿ãã§ãŒã¹ã§åããŒãžéãç§»åããŠããåããŒãžã® `ngOnInit` ã¡ãœããã¯æåã® 1 åã ãåŒã³åºããããã®åŸã®è¡šç€ºã§ã¯åŒã³åºãããŸããã`ngOnDestroy` ã¯ããŒãžã ãPopããããšãã«ã®ã¿çºçããŸãã
-## ã«ãŒãã¬ãŒã
+## ã«ãŒãã¬ãŒã {/* #route-guards */}
Ionic 3 ã§ã¯ããã€ããŒãžã«ã¢ã¯ã»ã¹ããããšãã§ãããïŒ `ionViewCanEnter` ïŒãšé¢è±ã§ãããïŒ`ionViewCanLeave`ïŒãå¶åŸ¡ããã®ã«åœ¹ç«ã€ãããã€ãã®è¿œå ã®ã©ã€ããµã€ã¯ã«ã¡ãœããããããŸããããããã¯ãèš±å¯ãããŠããªããŠãŒã¶ãŒããããŒãžãä¿è·ãããããŠãŒã¶ãŒãããŒãžãé¢ããããªããšãã«ãŠãŒã¶ãŒãããŒãžäžã«ä¿æãããããããã«äœ¿çšã§ããŸãïŒãã©ãŒã å
¥åäžãªã©ïŒã
@@ -97,7 +97,7 @@ export class AuthGuard implements CanActivate {
ã«ãŒãã¬ãŒãã®äœ¿ãæ¹ã®è©³çްã«ã€ããŠã¯ãAngular ã® [router documentation](https://angular.jp/guide/router) ãåç
§ããŠãã ããã
-## ã©ã€ããµã€ã¯ã«ã¡ãœããã®ã¬ã€ãã³ã¹
+## ã©ã€ããµã€ã¯ã«ã¡ãœããã®ã¬ã€ãã³ã¹ {/* #guidance-for-each-life-cycle-method */}
以äžã¯ãã©ã€ããµã€ã¯ã«ã€ãã³ãããšã®ãŠãŒã¹ã±ãŒã¹ã«é¢ãããã³ãã§ãã
diff --git a/docs/angular/navigation.mdx b/docs/angular/navigation.mdx
index 0ed73ae600d..607dae3cd13 100644
--- a/docs/angular/navigation.mdx
+++ b/docs/angular/navigation.mdx
@@ -17,7 +17,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl';
Angular Router ã¯ãAngular ã¢ããªã±ãŒã·ã§ã³ã«ãããŠæãéèŠãªã©ã€ãã©ãªã®äžã€ã§ããããããªããã°ãã¢ããªã¯åäžãã¥ãŒ/åäžã³ã³ããã¹ãã®ã¢ããªã«ãªã£ããããã©ãŠã¶ããªããŒããããšãã«ããã²ãŒã·ã§ã³ç¶æ
ãç¶æã§ããªããªããŸããAngular Router ã䜿ãã°ããªã³ã¯å¯èœã§ãªãããªã¢ãã¡ãŒã·ã§ã³ãæã€ã¢ããªãäœæããããšãã§ããŸãïŒãã¡ãã Ionic ãšçµã¿åãããå ŽåïŒãããã§ã¯ãAngular Router ã®åºæ¬ãšãIonic ã¢ããªåãã«ã©ã®ããã«èšå®ã§ããããé ã远ã£ãŠèŠãŠãããŸãããã
-## ã·ã³ãã«ãªã«ãŒã
+## ã·ã³ãã«ãªã«ãŒã {/* #a-simple-route */}
ã»ãšãã©ã®ã¢ããªã§ã¯ãäœããã®ã«ãŒããå¿
èŠã«ãªããŸããæãåºæ¬çãªèšå®ã¯æ¬¡ã®ããã«ãªããŸãã
@@ -38,7 +38,7 @@ import { RouterModule } from '@angular/router';
URL path ãš Component ã®çµã¿åããã確èªããæãç°¡åãªæ¹æ³ã¯ããããã¿ãããããšã§ããã¢ããªãããŒãããããšãã«ãŒã¿ãŒã¯ãŠãŒã¶ãŒãããŒãããããšããŠãã URL ãèªãããšã§åäœãéå§ããŸããç§ãã¡ã®ãµã³ãã«ã§ã¯ãRoute 㯠`''` ãåç
§ããŸããããã¯æ¬è³ªçã«ç§ãã¡ã®ã€ã³ããã¯ã¹ã«ãŒããšãªããŸãããããããšãäžèŽãããšã³ããªãæ¢ãåºããŠã `LoginComponent` ãããŒããããŸããããªãç°¡åã§ãããã®åŠç㯠`path` ãäžèŽãããŸã§ãèšå®ãããŠãããã¹ãŠã® Route ã®ãšã³ããªãåç
§ããŸããããããåæããŒããšç°ãªããã¹ãããŒããããå Žåã¯ã©ããªããŸããïŒ
-## ãªãã€ã¬ã¯ãã®åŠç
+## ãªãã€ã¬ã¯ãã®åŠç {/* #handling-redirects */}
ããããå Žåã«ã¯ãã«ãŒã¿ãŒãªãã€ã¬ã¯ãã䜿çšã§ããŸãããªãã€ã¬ã¯ãã¯éåžžã®ã«ãŒããªããžã§ã¯ããšåãããã«æžãããšãã§ããŸãããããã€ãã®ç°ãªãããŒãå«ãŸããŸãã
@@ -118,7 +118,7 @@ export class LoginComponent {
ã©ã¡ãã®ãªãã·ã§ã³ãåæ§ã®ããã²ãŒã·ã§ã³ã¡ã«ããºã ãæäŸããç°ãªããŠãŒã¹ã±ãŒã¹ã§å©çšããããšãã§ããŸãã
-### LocationStrategy.historyGo ã䜿ã£ãããã²ãŒã·ã§ã³
+### LocationStrategy.historyGo ã䜿ã£ãããã²ãŒã·ã§ã³ {/* #navigating-using-locationstrategyhistorygo */}
Angular Router ã«ã¯ãéçºè
ãã¢ããªã±ãŒã·ã§ã³ã®å±¥æŽãååŸã«ç§»åã§ãã[LocationStrategy.historyGo](https://angular.io/api/common/LocationStrategy#historyGo)ã¡ãœããããããŸããäŸãèŠãŠã¿ãŸãããã
@@ -173,7 +173,7 @@ import { LoginComponent } from './login.component';
ããã§ã¯ã`RouterModule` ã®ã€ã³ããŒããšãšãã«ãå
žåç㪠`Angular Module` ã®èšå®ããããŸããã`RouterModule` ã§ã¯ `forChild` ã«ãã£ãŠã³ã³ããŒãã³ãã䜿çšããããšã宣èšããŠããŸãããã®èšå®ã§ã¯ããã«ããå®è¡ãããšãã«ã`App Component`ïŒRootïŒã `login Component` ãããã³ `detail Component` ã«ãããŠå¥ã
ã®ãã£ã³ã¯ãäœæããŸãã
-## Standalone Components
+## Standalone Components {/* #standalone-components */}
Standalone components allow developers to lazy load a component on a route without having to declare the component to an Angular module.
@@ -199,15 +199,15 @@ If you are using `routerLink`, `routerDirection`, or `routerAction` be sure to a
To get started with standalone components [visit Angular's official docs](https://angular.io/guide/standalone-components).
-## Live Example
+## Live Example {/* #live-example */}
import NavigationPlayground from '@site/static/usage/v9/navigation/index.mdx';
-## Linear Routing versus Non-Linear Routing
+## Linear Routing versus Non-Linear Routing {/* #linear-routing-versus-non-linear-routing */}
-### Linear Routing
+### Linear Routing {/* #linear-routing */}
If you have built a web app that uses routing, you likely have used linear routing before. Linear routing means that you can move forward or backward through the application history by pushing and popping pages.
@@ -231,7 +231,7 @@ When we press the back button, we follow that same routing path except in revers
The downside of linear routing is that it does not allow for complex user experiences such as tab views. This is where non-linear routing comes into play.
-### Non-Linear Routing
+### Non-Linear Routing {/* #non-linear-routing */}
Non-linear routing is a concept that may be new to many web developers learning to build mobile apps with Ionic.
@@ -259,7 +259,7 @@ If tapping the back button simply called `LocationStrategy.historyGo(-1)` from t
Non-linear routing allows for sophisticated user flows that linear routing cannot handle. However, certain linear routing APIs such as `LocationStrategy.historyGo()` cannot be used in this non-linear environment. This means that `LocationStrategy.historyGo()` should not be used when using tabs or nested outlets.
-### Which one should I choose?
+### Which one should I choose? {/* #which-one-should-i-choose */}
We recommend keeping your application as simple as possible until you need to add non-linear routing. Non-linear routing is very powerful, but it also adds a considerable amount of complexity to mobile applications.
@@ -269,11 +269,11 @@ The two most common uses of non-linear routing is with tabs and nested `ion-rout
ãã¹ããããã«ãŒã¿ãŒã¢ãŠãã¬ããã®è©³çްã«ã€ããŠã¯ã[ãã¹ããããã«ãŒã](#nested-routes)ãåç
§ããŠãã ããã
-## Shared URLs versus Nested Routes
+## Shared URLs versus Nested Routes {/* #shared-urls-versus-nested-routes */}
A common point of confusion when setting up routing is deciding between shared URLs or nested routes. This part of the guide will explain both and help you decide which one to use.
-### Shared URLs
+### Shared URLs {/* #shared-urls */}
Shared URLs is a route configuration where routes have pieces of the URL in common. The following is an example of a shared URL configuration:
@@ -292,7 +292,7 @@ const routes: Routes = [
The above routes are considered "shared" because they reuse the `dashboard` piece of the URL.
-### Nested Routes
+### Nested Routes {/* #nested-routes */}
Nested Routes is a route configuration where routes are listed as children of other routes. The following is an example of a nested route configuration:
@@ -317,7 +317,7 @@ const routes: Routes = [
The above routes are nested because they are in the `children` array of the parent route. Notice that the parent route renders the `DashboardRouterOutlet` component. When you nest routes, you need to render another instance of `ion-router-outlet`.
-### Which one should I choose?
+### Which one should I choose? {/* #which-one-should-i-choose-1 */}
Shared URLs are great when you want to transition from page A to page B while preserving the relationship between the two pages in the URL. In our previous example, a button on the `/dashboard` page could transition to the `/dashboard/stats` page. The relationship between the two pages is preserved because of a) the page transition and b) the url.
@@ -325,7 +325,7 @@ Shared URLs are great when you want to transition from page A to page B while pr
There are very few use cases in which nested routes make sense in mobile applications. When in doubt, use the shared URL route configuration. We strongly caution against using nested routing in contexts other than tabs as it can quickly make navigating your app confusing.
-## Working with Tabs
+## Working with Tabs {/* #working-with-tabs */}
ã¿ãã䜿çšãããšãAngular Router 㯠Ionic ã«ã©ã®ã³ã³ããŒãã³ããèªã¿èŸŒãã¹ãããç¥ãä»çµã¿ãæäŸããŸãããå®éã®éãäœæ¥ã¯ã¿ãã³ã³ããŒãã³ãã«ãã£ãŠè¡ãããŸããç°¡åãªäŸãèŠãŠã¿ãŸãããã
@@ -374,7 +374,7 @@ const routes: Routes = [
Ionic ã䜿ã£ãŠã¢ããªãäœæããããšãããã°ããã®ããŒã¯ã¢ããã¯ããªãã¿ã®ã¯ãã§ãã`ion-tabs` ã³ã³ããŒãã³ããäœæãã`ion-tab-bar` ãæäŸããŸãã`ion-tab-bar` ã¯ã `tab`ãšäžç·ã«`ion-tab-button`ãæäŸããŸããææ°ã® `@ionic/angular` ã¯ãã¯ã `` ãå¿
èŠãšãããéçºè
ãã¿ãããŒãå®å
šã«ã«ã¹ã¿ãã€ãºã§ããããã«ãªãããã¹ãŠã®èšå®ã¯ Router ã®èšå®ã«ãã£ãŠè¡ããããã«ãªããŸããã
-### How Tabs in Ionic Work
+### How Tabs in Ionic Work {/* #how-tabs-in-ionic-work */}
Each tab in Ionic is treated as an individual navigation stack. This means if you have three tabs in your application, each tab has its own navigation stack. Within each stack you can navigate forwards (push a view) and backwards (pop a view).
@@ -382,7 +382,7 @@ This behavior is important to note as it is different than most tab implementati
Ionic ã¯éçºè
ãã¢ãã€ã«ã¢ããªãæ§ç¯ããã®ãæ¯æŽããããšã«éç¹ã眮ããŠãããããIonic ã®ã¿ãã¯ãã€ãã£ãã¢ãã€ã«ã®ã¿ãã«ã§ããã ãè¿ã¥ãããã«èšèšãããŠããŸãããã®çµæãIonic ã®ã¿ãã«ã¯ä»ã® UI ã©ã€ãã©ãªã®ã¿ãå®è£
ãšã¯ç°ãªãæåãèŠãããå ŽåããããŸãããããã®éãã®ããã€ãã«ã€ããŠè©³ããç¥ãã«ã¯ãç¶ããèªãã§ãã ããã
-### Child Routes within Tabs
+### Child Routes within Tabs {/* #child-routes-within-tabs */}
When adding additional routes to tabs you should write them as sibling routes with the parent tab as the path prefix. The example below defines the `/tabs/tab1/view` route as a sibling of the `/tabs/tab1` route. Since this new route has the `tab1` prefix, it will be rendered inside of the `Tabs` component, and Tab 1 will still be selected in the `ion-tab-bar`.
@@ -438,7 +438,7 @@ const routes: Routes = [
];
```
-### Switching Between Tabs
+### Switching Between Tabs {/* #switching-between-tabs */}
Since each tab is its own navigation stack, it is important to note that these navigation stacks should never interact. This means that there should never be a button in Tab 1 that routes a user to Tab 2. In other words, tabs should only be changed by the user tapping a tab button in the tab bar.
diff --git a/docs/angular/overlays.mdx b/docs/angular/overlays.mdx
index f49e42e8943..f54ca939391 100644
--- a/docs/angular/overlays.mdx
+++ b/docs/angular/overlays.mdx
@@ -13,7 +13,7 @@ sidebar_label: Overlays
Ionic provides overlay components such as modals and popovers that display content on top of your application. In Angular, these overlays can be created using controllers like `ModalController` and `PopoverController`.
-## Creating Overlays
+## Creating Overlays {/* #creating-overlays */}
Overlays can be created programmatically using their respective controllers:
@@ -41,13 +41,13 @@ export class HomeComponent {
}
```
-## Custom Injectors
+## Custom Injectors {/* #custom-injectors */}
By default, overlay components use the root injector for dependency injection. This means that services or tokens provided at the route level or within a specific component tree are not accessible inside the overlay.
The `injector` option allows you to pass a custom Angular `Injector` when creating a modal or popover. This enables overlay components to access services and tokens that are not available in the root injector.
-### Use Cases
+### Use Cases {/* #use-cases */}
Custom injectors are useful when you need to:
@@ -55,7 +55,7 @@ Custom injectors are useful when you need to:
- Use Angular CDK's `Dir` directive for bidirectional text support
- Access any providers that are not registered at the root level
-### Usage
+### Usage {/* #usage */}
To use a custom injector, pass it to the `create()` method:
@@ -101,7 +101,7 @@ export class MyModalComponent {
}
```
-### Creating a Custom Injector
+### Creating a Custom Injector {/* #creating-a-custom-injector */}
You can also create a custom injector with specific providers:
@@ -139,7 +139,7 @@ export class FeatureComponent {
}
```
-### Using with Angular CDK Directionality
+### Using with Angular CDK Directionality {/* #using-with-angular-cdk-directionality */}
A common use case is providing the Angular CDK `Dir` directive to overlays for bidirectional text support:
@@ -169,7 +169,7 @@ export class FeatureComponent {
}
```
-### Popover Controller
+### Popover Controller {/* #popover-controller */}
The `PopoverController` supports the same `injector` option:
@@ -199,7 +199,7 @@ export class FeatureComponent {
}
```
-## Angular Options Types
+## Angular Options Types {/* #angular-options-types */}
Ionic Angular exports its own `ModalOptions` and `PopoverOptions` types that extend the core options with Angular-specific properties like `injector`:
@@ -212,7 +212,7 @@ These types are exported from `@ionic/angular` and `@ionic/angular/lazy`:
import type { ModalOptions, PopoverOptions } from '@ionic/angular';
```
-## Docs for Overlays in Ionic
+## Docs for Overlays in Ionic {/* #docs-for-overlays-in-ionic */}
å®å
šãªããã¥ã¡ã³ããšäœ¿çšäŸã«ã€ããŠã¯ãIonic ã®åãªãŒããŒã¬ã€ã®ããã¥ã¡ã³ãããŒãžãåç
§ããŠãã ãã:
diff --git a/docs/angular/overview.mdx b/docs/angular/overview.mdx
index e01f5de2f14..13a1e2cf6ce 100644
--- a/docs/angular/overview.mdx
+++ b/docs/angular/overview.mdx
@@ -16,19 +16,19 @@ import DocsCards from '@components/global/DocsCards';
`@ionic/angular` brings the full power of the Ionic Framework to Angular developers. It offers seamless integration with the Angular ecosystem, so you can build high-quality cross-platform apps using familiar Angular tools, components, and best practices. You also get access to Ionic's extensive UI library and native capabilities.
-## Angular ããŒãžã§ã³ãµããŒã
+## Angular ããŒãžã§ã³ãµããŒã {/* #angular-version-support */}
Ionic Angular v9 㯠Angular ããŒãžã§ã³ 18 ãã 22 ããµããŒãããŠããŸãããµããŒããããŠããããŒãžã§ã³ããã³ãµããŒãããªã·ãŒã®è©³çްã«ã€ããŠã¯ã[Ionic Angular ãµããŒãããªã·ãŒ](/reference/support.mdx#ionic-angular)ãåç
§ããŠãã ããã
-## Angular Tooling
+## Angular Tooling {/* #angular-tooling */}
Ionic uses the official Angular stack for building apps and routing, so your app can fall in line with the rest of the Angular ecosystem. In cases where more opinionated features are needed, Ionic provides `@ionic/angular-toolkit`, which builds and integrates with the [official Angular CLI](https://angular.io/cli) and provides features that are specific to `@ionic/angular` apps.
-## Native Tooling
+## Native Tooling {/* #native-tooling */}
[Capacitor](https://capacitorjs.com) is the official cross-platform runtime for Ionic Angular, enabling your apps to run natively on iOS, Android, and the web with a single codebase.
-## Installation
+## Installation {/* #installation */}
Before you begin, make sure you have [Node.js](https://nodejs.org/) (which includes npm) installed on your machine.
@@ -40,7 +40,7 @@ $ cd myApp
$ ionic serve â
```
-## Resources
+## Resources {/* #resources */}
diff --git a/docs/angular/performance.mdx b/docs/angular/performance.mdx
index 1706e98f47f..6eae244d4c3 100644
--- a/docs/angular/performance.mdx
+++ b/docs/angular/performance.mdx
@@ -11,7 +11,7 @@ sidebar_label: ããã©ãŒãã³ã¹
/>
-## \*ngFor with Ionic Components
+## \*ngFor with Ionic Components {/* #ngfor-with-ionic-components */}
When using `*ngFor` with Ionic components, we recommend using Angular's `trackBy` option. This allows Angular to manage change propagation in a much more efficient way and only update the content inside of the component rather than re-create the component altogether.
@@ -44,17 +44,17 @@ In this example, we have an array of objects called `items`. Each object contain
詳现ã«ã€ããŠã¯ã[Angular NgForOf ã®å€æŽäŒæã«é¢ããããã¥ã¡ã³ã](https://angular.io/api/common/NgForOf#change-propagation)ãåç
§ããŠãã ããã
-## From the Ionic Team
+## From the Ionic Team {/* #from-the-ionic-team */}
[How to Lazy Load in Ionic Angular](https://ionicframework.com/blog/how-to-lazy-load-in-ionic-angular/)
[Improved Perceived Performance with Skeleton Screens](https://ionicframework.com/blog/improved-perceived-performance-with-skeleton-screens/)
-## From the Angular Team
+## From the Angular Team {/* #from-the-angular-team */}
[Build performant and progressive Angular apps](https://web.dev/angular) - web.dev
-## From the Community
+## From the Community {/* #from-the-community */}
{/* cspell:disable */}
diff --git a/docs/angular/platform.mdx b/docs/angular/platform.mdx
index 83ae8e8e545..677adf8a777 100644
--- a/docs/angular/platform.mdx
+++ b/docs/angular/platform.mdx
@@ -15,7 +15,7 @@ import TabItem from '@theme/TabItem';
ãã©ãããã©ãŒã ãµãŒãã¹ã¯ãçŸåšã®ããã€ã¹ã«é¢ããæ
å ±ãååŸããããã«äœ¿çšã§ããŸãã`platforms` ã¡ãœãããå©çšããããšã§ããã€ã¹ã«é¢é£ä»ããããŠãããã¹ãŠã®ãã©ãããã©ãŒã ãååŸã§ããŸããäŸãã°ãã¢ããªãã¿ãã¬ãããã衚瀺ãããŠãããã©ããïŒã¢ãã€ã«ããã€ã¹ãŸãã¯ãã©ãŠã¶äžã«ããå ŽåïŒãããã³æ£ç¢ºãªãã©ãããã©ãŒã ïŒiOSãAndroid ãªã©ïŒãªã©ã§ããå³ããå·Šãžã®èšèªã®åããªã©ã䜿çšããã°ãããã€ã¹ã®åããããããŸãããã®æ
å ±ã䜿çšããŠãããããããã€ã¹ã«åãããŠã¢ããªãå®å
šã«ã«ã¹ã¿ãã€ãºã§ããŸãã
-## Usage
+## Usage {/* #usage */}
-## Methods
+## Methods {/* #methods */}
-### `is`
+### `is` {/* #is */}
| | |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Description** | Depending on the platform the user is on, `is(platformName)` will return true or false. Note that the same app can return true for more than one platform name. For example, an app running from an iPad would return true for the platform names: `mobile`, `ios`, `ipad`, and `tablet`. Additionally, if the app was running from Cordova then `cordova` would be true. |
| **Signature** | `is(platformName: Platforms) => boolean` |
-#### Parameters
+#### Parameters {/* #parameters */}
| Name | Type | Description |
| -------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `platformName` | `Platforms` | Name of the platform. Available options are android, capacitor, cordova, desktop, electron, hybrid, ios, ipad, iphone, mobile, phablet, pwa, tablet |
-#### Platforms
+#### Platforms {/* #platforms */}
以äžã¯ãå©çšå¯èœãªãã¹ãŠã® platform ã®å€ãšããã«å¯Ÿå¿ãã説æããŸãšãã衚ã§ãã
@@ -91,7 +91,7 @@ export class MyPage {
| pwa | a PWA app |
| tablet | a tablet device |
-#### Customizing Platform Detection Functions
+#### Customizing Platform Detection Functions {/* #customizing-platform-detection-functions */}
The function used to detect a specific platform can be overridden by providing an alternative function in the global [Ionic config](../developing/config). Each function takes `window` as a parameter and returns a boolean.
@@ -179,82 +179,82 @@ type PlatformConfig = {
};
```
-### `platforms`
+### `platforms` {/* #platforms-1 */}
| | |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Description** | Depending on what device you are on, `platforms` can return multiple values. Each possible value is a hierarchy of platforms. For example, on an iPhone, it would return `mobile`, `ios`, and `iphone`. |
| **Signature** | `platforms() => string[]` |
-### `ready`
+### `ready` {/* #ready */}
| | |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Description** | Returns a promise when the platform is ready and native functionality can be called. If the app is running from within a web browser, then the promise will resolve when the DOM is ready. When the app is running from an application engine such as Cordova, then the promise will resolve when Cordova triggers the `deviceready` event. The resolved value is the `readySource`, which states the platform that was used.
For example, when Cordova is ready, the resolved ready source is `cordova`. The default ready source value will be `dom`. The `readySource` is useful if different logic should run depending on the platform the app is running from. For example, only Capacitor and Cordova can execute the status bar plugin, so the web should not run status bar plugin logic. |
| **Signature** | `ready() => Promise` |
-### `isRTL`
+### `isRTL` {/* #isrtl */}
| | |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Description** | Returns if this app is using right-to-left language direction or not. We recommend the app's `index.html` file already has the correct `dir` attribute value set, such as `` or ``. [W3C: Structural markup and right-to-left text in HTML](http://www.w3.org/International/questions/qa-html-dir) |
| **Signature** | `isRTL() => boolean` |
-### `isLandscape`
+### `isLandscape` {/* #islandscape */}
| | |
| --------------- | ----------------------------------------------- |
| **Description** | Returns `true` if the app is in landscape mode. |
| **Signature** | `isLandscape() => boolean` |
-### `isPortrait`
+### `isPortrait` {/* #isportrait */}
| | |
| --------------- | ---------------------------------------------- |
| **Description** | Returns `true` if the app is in portrait mode. |
| **Signature** | `isPortrait() => boolean` |
-### `width`
+### `width` {/* #width */}
| | |
| --------------- | -------------------------------------------------------------------- |
| **Description** | Gets the width of the platform's viewport using `window.innerWidth`. |
| **Signature** | `width() => number` |
-### `height`
+### `height` {/* #height */}
| | |
| --------------- | ---------------------------------------------------------------------- |
| **Description** | Gets the height of the platform's viewport using `window.innerHeight`. |
| **Signature** | `height() => number` |
-### `url`
+### `url` {/* #url */}
| | |
| --------------- | -------------------- |
| **Description** | Get the current url. |
| **Signature** | `url() => string` |
-### `testUserAgent`
+### `testUserAgent` {/* #testuseragent */}
| | |
| --------------- | ---------------------------------------------------------------------- |
| **Description** | Returns `true` if the expression is included in the user agent string. |
| **Signature** | `testUserAgent(expression: string) => boolean` |
-#### Parameters
+#### Parameters {/* #parameters-1 */}
| Name | Type | Description |
| ---------- | ------ | ------------------------------------- |
| expression | string | The string to check in the user agent |
-## Events
+## Events {/* #events */}
-### `pause`
+### `pause` {/* #pause */}
`pause` ã€ãã³ãã¯ããã€ãã£ãã»ãã©ãããã©ãŒã ãã¢ããªã±ãŒã·ã§ã³ãããã¯ã°ã©ãŠã³ãã«çœ®ãããšããéåžžã¯ãŠãŒã¶ãŒãå¥ã®ã¢ããªã±ãŒã·ã§ã³ã«åãæ¿ãããšãã«çºçããŸãããã®ã€ãã³ãã¯ãCordova/Capacitor ã¢ããªã±ãŒã·ã§ã³ãããã¯ã°ã©ãŠã³ãã«çœ®ããããšãã«çºçããŸãããæšæºç㪠Web ãã©ãŠã¶ã§ã¯çºçããŸããã
-#### Examples
+#### Examples {/* #examples */}
```tsx
this.platform.pause.subscribe(async () => {
@@ -262,11 +262,11 @@ this.platform.pause.subscribe(async () => {
});
```
-### `resize`
+### `resize` {/* #resize */}
`resize` ã€ãã³ãã¯ããã©ãŠã¶ãŠã£ã³ããŠã®å¯žæ³ã倿Žããããšãã«çºçããŸããããã¯ããã©ãŠã¶ãŒãŠã£ã³ããŠãç©ççã«ãµã€ãºå€æŽãããŠããå Žåããããã€ã¹ã®åããå€ãã£ãŠããå Žåã«çºçããŸãã
-#### Examples
+#### Examples {/* #examples-1 */}
```tsx
this.platform.resize.subscribe(async () => {
@@ -274,11 +274,11 @@ this.platform.resize.subscribe(async () => {
});
```
-### `resume`
+### `resume` {/* #resume */}
`resume` ã€ãã³ãã¯ããã€ãã£ããã©ãããã©ãŒã ãããã¯ã°ã©ãŠã³ãããã¢ããªã±ãŒã·ã§ã³ãåŒãåºãããšãã«çºçããŸãããã®ã€ãã³ãã¯ãCordova/Capacitor ã¢ããªãããã¯ã°ã©ãŠã³ãããåºãŠããŠããæšæºç㪠Web ãã©ãŠã¶ã§èµ·åããªãå Žåã«çºçããŸãã
-#### Examples
+#### Examples {/* #examples-2 */}
```tsx
this.platform.resume.subscribe(async () => {
diff --git a/docs/angular/pwa.mdx b/docs/angular/pwa.mdx
index ae8735a46c3..f04664c1b2a 100644
--- a/docs/angular/pwa.mdx
+++ b/docs/angular/pwa.mdx
@@ -11,7 +11,7 @@ sidebar_label: Progressive Web Apps
/>
-## Making your Angular app a PWA
+## Making your Angular app a PWA {/* #making-your-angular-app-a-pwa */}
The two main requirements of a PWA are a [Service Worker](https://developers.google.com/web/fundamentals/primers/service-workers/) and a [Web Manifest](https://developers.google.com/web/fundamentals/web-app-manifest/). While it's possible to add both of these to an app manually, the Angular team has an `@angular/pwa` package that can be used to automate this.
@@ -32,7 +32,7 @@ By default, the `@angular/pwa` package comes with the Angular logo for the app i
Features like Service Workers and many JavaScript APIs (such as geolocation) require the app be hosted in a secure context. When deploying an app through a hosting service, be aware that HTTPS will be required to take full advantage of Service Workers.
:::
-## Service Worker configuration
+## Service Worker configuration {/* #service-worker-configuration */}
After `@angular/pwa` has been added, a new `ngsw-config.json` file will be created at the root of the project. This file is responsible for configuring how Angular's service worker mechanism will handle caching assets. By default, the following will be provided:
@@ -62,9 +62,9 @@ After `@angular/pwa` has been added, a new `ngsw-config.json` file will be creat
ããã«ã¯ 2 ã€ã®ã»ã¯ã·ã§ã³ããããŸãã1 ã€ã¯ã¢ããªåºæã®ãªãœãŒã¹ïŒJSãCSSãHTMLïŒçšããã 1 ã€ã¯ã¢ããªãå¿
èŠã«å¿ããŠèªã¿èŸŒãã¢ã»ããçšã§ããã¢ããªã«ãã£ãŠã¯ããããã®ãªãã·ã§ã³ãã«ã¹ã¿ãã€ãºã§ããŸãããã詳现ãªã¬ã€ãã«ã€ããŠã¯ã[Angular ããŒã ã«ããå
¬åŒã¬ã€ã](https://angular.io/guide/service-worker-config)ããèªã¿ãã ããã
-## Deploying
+## Deploying {/* #deploying */}
-### Firebase
+### Firebase {/* #firebase */}
Firebase hosting provides many benefits for Progressive Web Apps, including fast response times thanks to CDNs, HTTPS enabled by default, and support for [HTTP2 push](https://firebase.googleblog.com/2016/09/http2-comes-to-firebase-hosting.html).
diff --git a/docs/angular/quickstart.mdx b/docs/angular/quickstart.mdx
index 288e8a79728..b97c7fb3db8 100644
--- a/docs/angular/quickstart.mdx
+++ b/docs/angular/quickstart.mdx
@@ -18,7 +18,7 @@ import DocsCards from '@components/global/DocsCards';
Ionic Angular ãäœã§ãããããã㊠Angular ãšã³ã·ã¹ãã ã«ã©ã®ããã«é©åãããã®æŠèŠã«ã€ããŠç¥ãããå Žåã¯ã[Ionic Angular æŠèŠ](overview)ãåç
§ããŠãã ããã
-## åææ¡ä»¶
+## åææ¡ä»¶ {/* #prerequisites */}
å§ããåã«ããã·ã³ã« Node.js ãš npm ãã€ã³ã¹ããŒã«ãããŠããããšã確èªããŠãã ããã
次ãå®è¡ããŠç¢ºèªã§ããŸãïŒ
@@ -30,7 +30,7 @@ npm -v
ãã Node.js ãš npm ãæã£ãŠããªãå Žåã¯ã[Node.js ãããŠã³ããŒãããŠãã ãã](https://nodejs.org/en/download)ïŒnpm ãå«ã¿ãŸãïŒã
-## Ionic CLI ã§ãããžã§ã¯ããäœæ
+## Ionic CLI ã§ãããžã§ã¯ããäœæ {/* #create-a-project-with-the-ionic-cli */}
ãŸããææ°ã®[Ionic CLI](../cli)ãã€ã³ã¹ããŒã«ããŸãïŒ
@@ -53,7 +53,7 @@ ionic serve

-## Explore the Project Structure
+## Explore the Project Structure {/* #explore-the-project-structure */}
Your new app's directory will look like this:
@@ -77,7 +77,7 @@ Your new app's directory will look like this:
ã¢ããªã®æ§é ãçè§£ããããã«ããããã®ãã¡ã€ã«ãèŠãŠãããŸãããã
-## View the App Component
+## View the App Component {/* #view-the-app-component */}
The root of your app is defined in `app.component.ts`:
@@ -105,7 +105,7 @@ And its template in `app.component.html`:
ããã«ãããIonic ã®`ion-app`ãš`ion-router-outlet`ã³ã³ããŒãã³ãã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ã®ã«ãŒããèšå®ãããŸããã«ãŒã¿ãŒã¢ãŠãã¬ããã¯ãããŒãžã衚瀺ãããå Žæã§ãã
-## View Routes
+## View Routes {/* #view-routes */}
Routes are defined in `app.routes.ts`:
@@ -127,7 +127,7 @@ export const routes: Routes = [
ã«ãŒã URLïŒ`/`ïŒã«ã¢ã¯ã»ã¹ãããšã`HomePage`ã³ã³ããŒãã³ããèªã¿èŸŒãŸããŸãã
-## View the Home Page
+## View the Home Page {/* #view-the-home-page */}
The Home page component, defined in `home.page.ts`, imports the Ionic components it uses:
@@ -178,7 +178,7 @@ And the template, in the `home.page.html` file, uses those components:
Ionic ã®ã¬ã€ã¢ãŠãã³ã³ããŒãã³ãã«é¢ãã詳现æ
å ±ã¯ã[Header](/api/header.mdx)ã[Toolbar](/api/toolbar.mdx)ã[Title](/api/title.mdx)ãããã³[Content](/api/content.mdx)ã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
:::
-## Ionic ã³ã³ããŒãã³ãã远å
+## Ionic ã³ã³ããŒãã³ãã远å {/* #add-an-ionic-component */}
ããå€ãã® Ionic UI ã³ã³ããŒãã³ãã§ Home ããŒãžã匷åã§ããŸããããšãã°ã`ion-content`ã®æåŸã«[Button](/api/button.mdx)ã远å ããŸãïŒ
@@ -201,7 +201,7 @@ import { IonButton, IonContent, IonHeader, IonTitle, IonToolbar } from '@ionic/a
})
```
-## Add a New Page
+## Add a New Page {/* #add-a-new-page */}
To add a new page, generate it with the CLI:
@@ -237,7 +237,7 @@ import { IonBackButton, IonButtons, IonContent, IonHeader, IonTitle, IonToolbar
`ion-back-button`ã¯ãåã®ããŒãžãžã®ããã²ãŒã·ã§ã³ããŸãã¯å±¥æŽããªãå Žåã¯`/`ãžã®ããã²ãŒã·ã§ã³ãèªåçã«åŠçããŸãã
-## Navigate to the New Page
+## Navigate to the New Page {/* #navigate-to-the-new-page */}
To navigate to the new page, update the button in `home.page.html`:
@@ -260,7 +260,7 @@ import { RouterLink } from '@angular/router';
ããã²ãŒã·ã§ã³ã¯ãAngular ã® Router ãµãŒãã¹ã䜿çšããŠè¡ãããšãã§ããŸãã詳现ã«ã€ããŠã¯ã[Angular ããã²ãŒã·ã§ã³ã®ããã¥ã¡ã³ã](/angular/navigation.mdx#navigating-to-different-routes)ãåç
§ããŠãã ããã
:::
-## æ°ããããŒãžã«ã¢ã€ã³ã³ã远å
+## æ°ããããŒãžã«ã¢ã€ã³ã³ã远å {/* #add-icons-to-the-new-page */}
Ionic Angular ã«ã¯[Ionicons](https://ionic.io/ionicons/)ãããªã€ã³ã¹ããŒã«ãããŠããŸãã`ion-icon`ã³ã³ããŒãã³ãã®`name`ããããã£ãèšå®ããããšã§ãä»»æã®ã¢ã€ã³ã³ã䜿çšã§ããŸããæ¬¡ã®ã¢ã€ã³ã³ã`new.page.html`ã«è¿œå ããŸãïŒ
@@ -303,7 +303,7 @@ export class NewPage implements OnInit {
詳现ã«ã€ããŠã¯ã[Icon ã®ããã¥ã¡ã³ã](/api/icon.mdx)ããã³[Ionicons ã®ããã¥ã¡ã³ã](https://ionic.io/ionicons/)ãåç
§ããŠãã ããã
-## ã³ã³ããŒãã³ãã¡ãœãããåŒã³åºã
+## ã³ã³ããŒãã³ãã¡ãœãããåŒã³åºã {/* #call-component-methods */}
ã³ã³ãã³ãé åãäžéšã«ã¹ã¯ããŒã«ã§ãããã¿ã³ã远å ããŸãããã
@@ -389,7 +389,7 @@ Ionic ã³ã³ããŒãã³ãã®ã¡ãœãããåŒã³åºãã«ã¯ïŒ
åã³ã³ããŒãã³ãã®å©çšå¯èœãªã¡ãœããã¯ãAPI ããã¥ã¡ã³ãã®[Methods](/api/content.mdx#methods)ã»ã¯ã·ã§ã³ã§èŠã€ããããšãã§ããŸãã
-## ããã€ã¹ã§å®è¡
+## ããã€ã¹ã§å®è¡ {/* #run-on-a-device */}
Ionic ã®ã³ã³ããŒãã³ãã¯ãiOSãAndroidãPWA ã®ã©ãã§ãåäœããŸããã¢ãã€ã«ã«ãããã€ããã«ã¯ã[Capacitor](https://capacitorjs.com)ã䜿çšããŸãïŒ
@@ -408,7 +408,7 @@ ionic cap open android
詳现ã«ã€ããŠã¯ã[Capacitor ã®å
¥éã¬ã€ã](https://capacitorjs.com/docs/getting-started/with-ionic)ãåç
§ããŠãã ããã
-## ããã«æ¢çŽ¢
+## ããã«æ¢çŽ¢ {/* #explore-more */}
ãã®ã¬ã€ãã§ã¯ãIonic Angular ã¢ããªã®äœæãããã²ãŒã·ã§ã³ã®è¿œå ããã€ãã£ããã«ãçšã® Capacitor ã®å°å
¥ã®åºæ¬ãã«ããŒããŸãããããã«æ·±ãæãäžããã«ã¯ã以äžã確èªããŠãã ããïŒ
diff --git a/docs/angular/slides.mdx b/docs/angular/slides.mdx
index d6e91120b9e..4aac4d23da9 100644
--- a/docs/angular/slides.mdx
+++ b/docs/angular/slides.mdx
@@ -19,7 +19,7 @@ import TabItem from '@theme/TabItem';
We recommend [Swiper.js](http://swiperjs.com/) if you need a modern touch slider component. Swiper 9 introduced [Swiper Element](https://swiperjs.com/element) as a replacement for its Angular component, so this guide will go over how to get Swiper Element set up in your Ionic Framework application. It will also go over any migration information you may need to move from `ion-slides` to Swiper Element.
-## Getting Started
+## Getting Started {/* #getting-started */}
First, update to the latest version of Ionic:
@@ -67,13 +67,13 @@ From there, we just have to replace `ion-slides` elements with `swiper-container
```
-## Bundled vs. Core Versions
+## Bundled vs. Core Versions {/* #bundled-vs-core-versions */}
By default, make sure you import the `register` function from `swiper/element/bundle`. This uses the bundled version of Swiper, which automatically includes all modules and stylesheets needed to run Swiper's various features.
远å ã¢ãžã¥ãŒã«ãèªåçã«å«ãŸãªãã³ã¢çã䜿ãããå Žåã¯ã[Swiper ã®ã³ã¢ããŒãžã§ã³ããã³ã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ã](https://swiperjs.com/element#core-version-and-modules)ãåç
§ããŠãã ããããã®ç§»è¡ã¬ã€ãã®æ®ãã¯ãããªãããã³ãã«çã䜿çšããŠããããšãåæãšããŠããŸãã
-## Swiping with Style
+## Swiping with Style {/* #swiping-with-style */}
To migrate over your CSS, first update your selectors to target the new custom elements instead:
@@ -95,7 +95,7 @@ If you were using the CSS custom properties found on `ion-slides`, below is a li
远å ã®ã«ã¹ã¿ã CSS ã§ã¯ãSwiper Element ã Shadow DOM ã«ãã»ã«åã䜿çšããŠãããããã¹ã¿ã€ã«ã Shadow DOM ã¹ã³ãŒãã«æ³šå
¥ããå¿
èŠããããŸããæé ã¯[Swiper ã®ã¹ã¿ã€ã«æ³šå
¥ã¬ã€ã](https://swiperjs.com/element#injecting-styles)ãåç
§ããŠãã ããã
-### Additional `ion-slides` Styles
+### Additional `ion-slides` Styles {/* #additional-ion-slides-styles */}
The `ion-slides` component had additional styling that helped create a native look and feel. These styles are **not** required to use Swiper.js with Ionic, but if you would like to maintain the look of `ion-slides` as closely as possible, add the following CSS to your `global.scss`:
@@ -134,7 +134,7 @@ swiper-slide img {
}
```
-## The IonicSlides Module
+## The IonicSlides Module {/* #the-ionicslides-module */}
With `ion-slides`, Ionic automatically customized dozens of Swiper properties. This resulted in an experience that felt smooth when swiping on mobile devices. We recommend using the `IonicSlides` module to ensure that these properties are also set when using Swiper directly. However, using this module is **not** required to use Swiper.js in Ionic.
@@ -194,7 +194,7 @@ export class HomePage {
If you are using the Core version of Swiper and have installed additional modules, ensure that `IonicSlides` is the last module in the array. This will let it automatically customize the settings of modules such as Pagination, Scrollbar, Zoom, and more.
:::
-## Properties
+## Properties {/* #properties */}
Swiper options should be provided as individual properties directly on the `` component.
@@ -230,7 +230,7 @@ Below is a full list of property changes when going from `ion-slides` to Swiper
Swiper Element ã§å©çšå¯èœãªãã¹ãŠã®ããããã£ã¯ã[Swiper API ãã©ã¡ãŒã¿ããã¥ã¡ã³ã](https://swiperjs.com/swiper-api#parameters)ã«èšèŒãããŠããŸãã
:::
-## Events
+## Events {/* #events */}
Since the `swiper-container` component is not provided by Ionic Framework, event names will not have an `ionSlide` prefix to them. Additionally, all event names should be lowercase instead of camelCase.
@@ -279,7 +279,7 @@ Below is a full list of event name changes when going from `ion-slides` to Swipe
Swiper Element ã§å©çšå¯èœãªãã¹ãŠã®ã€ãã³ãã¯[Swiper API ã€ãã³ãããã¥ã¡ã³ã](https://swiperjs.com/swiper-api#events)ã§ç¢ºèªã§ããå°æåã§ã`swiper`ããšããèšèãæ¥é èŸã§ä»ããŠãã ããã
:::
-## Methods
+## Methods {/* #methods */}
Most methods have been removed in favor of directly accessing the properties of the Swiper instance. To access the Swiper instance, first get a reference to the `` element (such as through `ViewChild`), then access its `swiper` prop:
@@ -331,7 +331,7 @@ Below is a full list of method changes when going from `ion-slides` to Swiper El
Swiper ã€ã³ã¹ã¿ã³ã¹ã§å©çšå¯èœãªãã¹ãŠã®ã¡ãœãããšããããã£ã¯ã[Swiper API ã®ã¡ãœããããã³ããããã£ããã¥ã¡ã³ã](https://swiperjs.com/swiper-api#methods-and-properties)ã§ç¢ºèªã§ããŸãã
:::
-## Effects
+## Effects {/* #effects */}
Effects such as Cube or Fade can be used in Swiper Element with no additional imports, as long as you are using the bundled version of Swiper. For example, the below code will cause the slides to have a flip transition effect:
@@ -343,21 +343,21 @@ Effects such as Cube or Fade can be used in Swiper Element with no additional im
Swiper ã®ãšãã§ã¯ãã«ã€ããŠã®è©³çްã¯ã[Swiper API ãã§ãŒããšãã§ã¯ãããã¥ã¡ã³ã](https://swiperjs.com/swiper-api#fade-effect)ããåç
§ãã ããã
:::
-## Wrap Up
+## Wrap Up {/* #wrap-up */}
Now that you have Swiper installed, there is a whole set of new Swiper features for you to enjoy. We recommend starting with the [Swiper Element documentation](https://swiperjs.com/element) and then referencing [the Swiper API docs](https://swiperjs.com/swiper-api).
-## FAQ
+## FAQ {/* #faq */}
-### Where can I find an example of this migration?
+### Where can I find an example of this migration? {/* #where-can-i-find-an-example-of-this-migration */}
You can find a sample app with `ion-slides` and the equivalent Swiper usage at https://github.com/ionic-team/slides-migration-samples.
-### Where can I get help with this migration?
+### Where can I get help with this migration? {/* #where-can-i-get-help-with-this-migration */}
If you are running into issues with the migration, please create a post on the [Ionic Forum](https://forum.ionicframework.com/).
-### Where do I file bug reports?
+### Where do I file bug reports? {/* #where-do-i-file-bug-reports */}
課é¡ãéãåã«ã[Swiper ãã£ã¹ã«ãã·ã§ã³ããŒã](https://github.com/nolimits4web/swiper/discussions)ãŸãã¯[Ionic ãã©ãŒã©ã ](https://forum.ionicframework.com)ã«æçš¿ããŠãã³ãã¥ããã£ã«ãã£ãŠåé¡ã解決ã§ããã確èªããããšãæ€èšããŠãã ããã
diff --git a/docs/angular/storage.mdx b/docs/angular/storage.mdx
index ae3cb973ccf..d963dc1c9ff 100644
--- a/docs/angular/storage.mdx
+++ b/docs/angular/storage.mdx
@@ -19,18 +19,18 @@ Ionic ã¢ããªã±ãŒã·ã§ã³å
ã§ããŒã¿ãä¿åããã«ã¯ãããŸã
以äžã«äžè¬çãªãŠãŒã¹ã±ãŒã¹ãšè§£æ±ºçã瀺ããŸãïŒ
-## ããŒã«ã«ã¢ããªã±ãŒã·ã§ã³èšå®ãšããŒã¿
+## ããŒã«ã«ã¢ããªã±ãŒã·ã§ã³èšå®ãšããŒã¿ {/* #local-application-settings-and-data */}
å€ãã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãèšå®ããã®ä»ã®è»œéãªããŒ/å€ããŒã¿ãããŒã«ã«ã«ä¿åããå¿
èŠããããŸãã[Capacitor Preferences](https://capacitorjs.com/docs/apis/preferences) ãã©ã°ã€ã³ã¯ãããããã·ããªãªãæ±ãããã«ç¹å¥ã«èšèšãããŠããŸãã
-## ãªã¬ãŒã·ã§ãã«ããŒã¿ã¹ãã¬ãŒãžïŒã¢ãã€ã«å°çšïŒ
+## ãªã¬ãŒã·ã§ãã«ããŒã¿ã¹ãã¬ãŒãžïŒã¢ãã€ã«å°çšïŒ {/* #relational-data-storage-mobile-only */}
äžéšã®ã¢ããªã±ãŒã·ã§ã³ãç¹ã«ãªãã©ã€ã³ãã¡ãŒã¹ãææ³ãæ¡çšããŠãããã®ã¯ã倧éã®è€éãªãªã¬ãŒã·ã§ãã«ããŒã¿ãããŒã«ã«ã«ä¿åããå¿
èŠãããå ŽåããããŸãããã®ãããªã·ããªãªã§ã¯ãSQLite ãã©ã°ã€ã³ã䜿çšã§ããŸããæãäžè¬ç㪠SQLite ãã©ã°ã€ã³ã®æäŸå
ã¯ä»¥äžã®éãã§ãïŒ
- [Cordova SQLite Storage](https://github.com/storesafe/cordova-sqlite-storage) (a [convenience wrapper](https://danielsogl.gitbook.io/awesome-cordova-plugins/sqlite) also exists for this plugin to aid in implementation)
- [Capacitor Community SQLite Plugin](https://github.com/capacitor-community/sqlite)
-## éãªã¬ãŒã·ã§ãã«å倧容éããŒã¿ã¹ãã¬ãŒãžïŒã¢ãã€ã«ããã³ WebïŒ
+## éãªã¬ãŒã·ã§ãã«å倧容éããŒã¿ã¹ãã¬ãŒãžïŒã¢ãã€ã«ããã³ WebïŒ {/* #non-relational-high-volume-data-storage-mobile-and-web */}
倧éã®ããŒã¿ãä¿åããã〠Web ãšã¢ãã€ã«ã®äž¡æ¹ã§åäœããå¿
èŠãããã¢ããªã±ãŒã·ã§ã³ã®å ŽåãWeb ã§ã¯[indexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API)ããã¢ãã€ã«ã§ã¯åè¿°ã® SQLite ãã©ã°ã€ã³ã®ããããã䜿çšããããŒ/å€ãã¢ããŒã¿ã¹ãã¬ãŒãžãµãŒãã¹ãäœæããããšãäžã€ã®è§£æ±ºçãšãªããŸãã
@@ -40,7 +40,7 @@ Ionic ã¢ããªã±ãŒã·ã§ã³å
ã§ããŒã¿ãä¿åããã«ã¯ãããŸã
- [Mobile Service](https://github.com/ionic-enterprise/tutorials-and-demos-ng/blob/main/demos/sqlcipher-kv-pair/src/app/core/mobile-kv-store.ts)
- [Web Service](https://github.com/ionic-enterprise/tutorials-and-demos-ng/blob/main/demos/sqlcipher-kv-pair/src/app/core/web-kv-store.ts)
-## ãã®ä»ã®éžæè¢
+## ãã®ä»ã®éžæè¢ {/* #other-options */}
Capacitor ã¢ããªã±ãŒã·ã§ã³å
ã§è¯å¥œã«åäœããããŒã«ã«ã¹ãã¬ãŒãžãšã¯ã©ãŠãããŒã¹ã¹ãã¬ãŒãžã®äž¡æ¹ãæäŸãããã®ä»ã®ã¹ãã¬ãŒãžãªãã·ã§ã³ãååšããã¢ããªã±ãŒã·ã§ã³ãšã®çµ±åã容æãªå ŽåããããŸãã
diff --git a/docs/angular/testing.mdx b/docs/angular/testing.mdx
index f5e178310ba..2958e4256e7 100644
--- a/docs/angular/testing.mdx
+++ b/docs/angular/testing.mdx
@@ -12,7 +12,7 @@ title: ãã¹ã
Ionic CLI ã䜿çšã㊠`@ionic/angular` ã¢ããªã±ãŒã·ã§ã³ãçæãããšãã¢ããªã±ãŒã·ã§ã³ã®ãŠããããã¹ããšãšã³ãããŒãšã³ãã®ãã¹ãçšã«èªåçã«æºåãããŸãããã㯠Angular CLI ã§äœ¿ãããèšå®ãšåããã®ã§ããAngular ã§äœãããã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãã«ã€ããŠã®è©³çŽ°ã¯ Angular Testing Guide ããåç
§ãã ããã
-## ãã¹ãã®åå
+## ãã¹ãã®åå {/* #testing-principles */}
ã¢ããªã±ãŒã·ã§ã³ããã¹ããããšãã¯ããã¹ãã«ãã£ãŠã·ã¹ãã ã«æ¬ é¥ããããã©ããã確èªã§ããããšããããšãèŠããŠããããšãäžçªã§ããããããã©ããªããããªã·ã¹ãã ãå®å
šã«æ¬ é¥ã®ãªãããšã蚌æããããšã¯äžå¯èœã§ãããã®ããããã¹ãã®ç®çã¯ã³ãŒããæ£ããããšã確èªããããšã§ã¯ãªããã³ãŒãã®äžã®åé¡ãèŠã€ããããšã§ããããã¯åŸ®åŠã§ãããéèŠãªéãã§ãã
@@ -20,7 +20,7 @@ Ionic CLI ã䜿çšã㊠`@ionic/angular` ã¢ããªã±ãŒã·ã§ã³ãçæã
æåããã¢ããªã±ãŒã·ã§ã³ã®ãã¹ããéå§ããããšãæè¯ã§ããããã«ãããä¿®æ£ã容æãªæ®µéã§æ©æã«æ¬ é¥ãçºèŠã§ããŸãããŸãããã«ãããã·ã¹ãã ã«æ°ããæ©èœã远å ããããšãã«ãã³ãŒãã確å®ã«ãªãã¡ã¯ã¿ãªã³ã°ããããšãã§ããŸãã
-## ãŠããããã¹ã
+## ãŠããããã¹ã {/* #unit-testing */}
ãŠããããã¹ãã§ã¯ãã·ã¹ãã ã®ä»ã®éšåããåé¢ããŠãåäžã®ã³ãŒããŠãããïŒComponentãPageãServiceãPipe ãªã©ïŒãå®è¡ããŸããåé¢ã¯ãã³ãŒãã®äŸåé¢ä¿ã®ä»£ããã«ã¢ãã¯ãªããžã§ã¯ããæ³šå
¥ããããšã«ãã£ãŠå®çŸãããŸããã¢ãã¯ãªããžã§ã¯ãã«ãã£ãŠããã¹ãã¯äŸåé¢ä¿ã®åãåºãããã现ããå¶åŸ¡ããããšãã§ããŸããã¢ãã¯ã«ãã£ãŠãã©ã®äŸåé¢ä¿ãåŒã³åºãããäœãæž¡ããããããã¹ãã§å€æããããšãã§ããŸãã
@@ -28,7 +28,7 @@ Ionic CLI ã䜿çšã㊠`@ionic/angular` ã¢ããªã±ãŒã·ã§ã³ãçæã
ãŠããããã¹ãã¯ã³ãŒããåé¢ããŠå®è¡ãããããé«éã§å
ç¢ã§ãããé«åºŠãªã³ãŒãã«ãã¬ããžãå¯èœã§ãã
-### ã¢ãã¯ã®å©çš
+### ã¢ãã¯ã®å©çš {/* #using-mocks */}
ãŠããããã¹ãã§ã¯ãã³ãŒããã³ãŒããã¢ãžã¥ãŒã«ã§åé¢ããŠå®è¡ããŸãããããç°¡åã«ããã«ã¯ãJasmine(https://jasmine.github.io/) ã䜿çšããããšããå§ãããŸããJasmine ã¯ããã¹ãå®è¡äžã«äŸåé¢ä¿ã®ä»£ããã«ã¢ãã¯ãªããžã§ã¯ã(Jasmine 㯠ãã¹ãã€ã ãšåŒãã§ããŸã)ãäœæããŸããã¢ãã¯ãªããžã§ã¯ãã䜿çšãããšããã¹ãã¯ãã®äŸåé¢ä¿ãžã®åŒã³åºãã«ãã£ãŠè¿ãããå€ãå¶åŸ¡ã§ãããããäŸåé¢ä¿ã«å ãããã倿ŽããçŸåšã®ãã¹ããç¬ç«ãããããšãã§ããŸããããã«ããããã¹ãã®ã»ããã¢ãããç°¡åã«ãªãããã¹ã察象ã®ã¢ãžã¥ãŒã«å
ã®ã³ãŒãã ãããã¹ãããããšãã§ããŸãã
@@ -36,19 +36,19 @@ Ionic CLI ã䜿çšã㊠`@ionic/angular` ã¢ããªã±ãŒã·ã§ã³ãçæã
Jasmine ã§ã¢ãã¯ãªããžã§ã¯ããäœæããäžè¬çãªæ¹æ³ã¯ 2 ã€ãããŸããã¢ãã¯ãªããžã§ã¯ãã¯ã`jasmine.createSpy` ãš`jasmine.createSpyObj` ã䜿ã£ãŠã¹ã¯ã©ããã§äœæããããšãã`spyOn()` ãš `spyOnProperty()` ã䜿ã£ãŠæ¢åã®ãªããžã§ã¯ãã«ã¹ãã€ãã€ã³ã¹ããŒã«ããããšãã§ããŸãã
-### `jasmine.createSpy` ãš `jasmine.createSpyObj` ã®å©çš
+#### `jasmine.createSpy` ãš `jasmine.createSpyObj` ã®å©çš {/* #using-jasminecreatespy-and-jasminecreatespyobj */}
`jasmine.createSpyObj` ã¯ãäœææã«å®çŸ©ãããäžé£ã®ã¢ãã¯ã¡ãœããã䜿çšããŠãå®å
šãªã¢ãã¯ãªããžã§ã¯ããã¹ã¯ã©ããã§äœæããŸããããã¯ãšãŠãã·ã³ãã«ã§äŸ¿å©ã§ãããã¹ãã®ããã«äœããçµã¿ç«ãŠããæ³šå
¥ãããããå¿
èŠã¯ãããŸããããã®é¢æ°ã®äœ¿çšããæ¬ ç¹ã¯ãå®éã®ãªããžã§ã¯ããšäžèŽããªããªããžã§ã¯ããçæã§ããããšã§ãã
`jasmine.createSpy` ã䌌ãŠããŸãããã¹ã¿ã³ãã¢ãã³ã®ã¢ãã¯é¢æ°ãäœæããŸãã
-#### `spyOn()` ãš `spyOnProperty()` ã®å©çš
+#### `spyOn()` ãš `spyOnProperty()` ã®å©çš {/* #using-spyon-and-spyonproperty */}
`spyOn()` ã¯ãæ¢åã®ãªããžã§ã¯ãã«ã¹ãã€ãã€ã³ã¹ããŒã«ããŸãããã®ææ³ã䜿çšããå©ç¹ã¯ããªããžã§ã¯ãäžã«ååšããªãã¡ãœãããã¹ãã€ããããšãããšãäŸå€ãçºçããããšã§ããããã«ããããã¹ããååšããªãã¡ãœãããã¢ãã¯ããããšãé²ããŸããæ¬ ç¹ã¯ããã¹ããæåããå®å
šã«æŽåœ¢ããããªããžã§ã¯ããå¿
èŠãšããããšã§ãããããã¯ãã¹ãã«å¿
èŠãªã»ããã¢ããã®éãå¢å ãããããšæããŸãã
`spyOnProperty()` ã¯äŒŒãŠããŸãããã¡ãœããã§ã¯ãªãããããã£ã«å¯ŸããŠã¹ãã€ãããšããç¹ã§ç°ãªããŸãã
-### äžè¬çãªãã¹ãã®æ§æ
+### äžè¬çãªãã¹ãã®æ§æ {/* #general-testing-structure */}
ãŠããããã¹ãã¯ããšã³ãã£ãã£ïŒComponentãPageãServiceãPipe ãªã©ïŒããšã« 1 ã€ã® `spec` ãã¡ã€ã«ãæã€ `spec` ãã¡ã€ã«ã«å«ãŸããŠããŸãã`spec` ãã¡ã€ã«ã¯ããã¹ãäžã®ãœãŒã¹ãšäžç·ã«ååšãããã€ãã®ååãä»ããããŸããããšãã°ããããžã§ã¯ãã« WeatherService ãšãã Service ãããå Žåããã®ã³ãŒãã¯`weather.service.ts` ãšããååã®ãã¡ã€ã«ã«ããããã¹ã㯠`weather.service.spec.ts` ãšããååã®ãã¡ã€ã«ã«ãããŸãããããã®ãã¡ã€ã«ã¯äž¡æ¹ãšãåããã©ã«ãã«ãããŸãã
@@ -74,7 +74,7 @@ describe('Calculation', () => {
å€åŽã® `describe` ã³ãŒã«ã¯ `Calculation` Service ããã¹ããããŠããããšã瀺ããå
åŽã® `describe` ã³ãŒã«ã¯ãã¹ããããŠããæ©èœãæ£ç¢ºã«ç€ºãããã㊠`it` ã³ãŒã«ã¯ãã¹ãã±ãŒã¹ãäœã§ãããã瀺ããŠããŸããåãã¹ãã±ãŒã¹ã®å®å
šãªã©ãã«ãå®è¡ãããšãæå³ã®ããæã«ãªããŸã(åå£ãª 0 ã§ã®é€ç®ãšããèšç®ãæåŠããŸãã)ã
-### ããŒãžãšã³ã³ããŒãã³ã
+### ããŒãžãšã³ã³ããŒãã³ã {/* #pages-and-components */}
Pages ã¯åãªã Angular ã³ã³ããŒãã³ãã§ãããã®ãããããŒãžãšã³ã³ããŒãã³ãã¯äž¡æ¹ãšã Angular ã®ã³ã³ããŒãã³ããã¹ãã¬ã€ãã©ã€ã³ ã䜿ã£ãŠãã¹ããããŸãã
@@ -109,7 +109,7 @@ describe('TabsPage', () => {
ã³ã³ããŒãã³ãã¯ã©ã¹ã®ãã¹ããè¡ãå Žåãã³ã³ããŒãã³ããªããžã§ã¯ã㯠`component=fixture.componentInstance;` ã«ãã£ãŠå®çŸ©ãããã³ã³ããŒãã³ããªããžã§ã¯ãã䜿çšããŠã¢ã¯ã»ã¹ãããŸããããã¯ã³ã³ããŒãã³ãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã§ããDOM ãã¹ããè¡ãéã«ã¯ã`fixture.nativeElement` ããããã£ã䜿çšãããŸããããã¯ã³ã³ããŒãã³ãã®å®éã® `HTMLElement`ã§ããããã¹ãã§ DOM ã調ã¹ãããã« `HTMLElement.querySelector` ãªã©ã®æšæºã® HTML API ã¡ãœããã䜿ãããšãå¯èœã«ããŸãã
-### ã³ã³ããŒãã³ãã®åŸ
æ©
+### ã³ã³ããŒãã³ãã®åŸ
æ© {/* #waiting-for-components */}
Ionic ã³ã³ããŒãã³ãããã¹ãããéã¯ã`@ionic/core`ãããšã¯ã¹ããŒãããã`componentOnReady`ãã«ããŒã䜿çšããçŽæ¥`el.componentOnReady()`ãåŒã³åºããªãã§ãã ããã`el.componentOnReady()`ã¡ãœããã¯é
å»¶èªã¿èŸŒã¿ãããèŠçŽ ã«ã®ã¿ååšããã«ã¹ã¿ã èŠçŽ ãã«ãïŒã¹ã¿ã³ãã¢ãã³ãããžã§ã¯ãã§äœ¿çšãããïŒã§çŽæ¥åŒã³åºããšãšã©ãŒãçºçããŸãããã«ããŒã¯äž¡æ¹ãåŠçããŸããèŠçŽ èªèº«ã®`componentOnReady()`ãããã¹ãååšããå Žåã¯ãããåŸ
æ©ããŸããååšããªãå Žå㯠1 ãã¬ãŒã ã®ã¢ãã¡ãŒã·ã§ã³ãåŸ
æ©ããã³ã³ããŒãã³ãã®å
éšã³ã³ãã³ããã¬ã³ããªã³ã°ãããæ©äŒãäžããŸããã¬ã³ããªã³ã°ããã DOM ã«å¯ŸããŠã¢ãµãŒã·ã§ã³ãè¡ãåãŸãã¯ã¢ã¯ã»ã·ããªãã£ãã¹ããå®è¡ããåã«ãã³ãŒã«ããã¯ãå®äºããã®ãåŸ
ã£ãŠãã ããã
@@ -137,11 +137,11 @@ describe('HomePage', () => {
});
```
-## Services
+## Services {/* #services */}
Service ã¯ãå€ãã®å Žåãèšç®ããã®ä»ã®æäœãå®è¡ãããŠãŒãã£ãªãã£ã® service ãšã䞻㫠HTTP æäœãããŒã¿æäœãå®è¡ããããŒã¿ã® service ã® 2 ã€ã®å€§ãŸããªã«ããŽãªãŒã®ããããã«åé¡ãããŸãã
-### åºæ¬ç㪠Service ã®ãã¹ã
+### åºæ¬ç㪠Service ã®ãã¹ã {/* #basic-service-testing */}
ã»ãšãã©ã® service ããã¹ãããããã«æšå¥šããæ¹æ³ã¯ãservice ãã€ã³ã¹ã¿ã³ã¹åããservice ãæã€äŸåé¢ä¿ã®ã¢ãã¯ãæåã§æ³šå
¥ããããšã§ããããããããšã§ãã³ãŒããåé¢ããŠãã¹ãããããšãã§ããŸãã
@@ -206,7 +206,7 @@ describe('PayrolService', () => {
});
```
-#### HTTP ããŒã¿ Service ã®ãã¹ã
+#### HTTP ããŒã¿ Service ã®ãã¹ã {/* #testing-http-data-services */}
ã»ãšãã©ã® HTTP æäœãå®è¡ãããµãŒãã¹ã¯ããããã®æäœãè¡ãããã« Angular ã® HttpClient ãµãŒãã¹ã䜿çšããŸãããã®ãããªãã¹ãã«ã¯ãAngular ã®`HttpClientTestingModule`ã䜿çšããããšãæšå¥šãããŠããŸãããã®ã¢ãžã¥ãŒã«ã®è©³çްãªããã¥ã¡ã³ãã«ã€ããŠã¯ãAngular ã®Angular ã® HTTP ãªã¯ãšã¹ããã¹ãã¬ã€ããåç
§ããŠãã ããã
@@ -257,7 +257,7 @@ describe('IssTrackingDataService', () => {
});
```
-### Pipes
+### Pipes {/* #pipes */}
pipe ã¯ãç¹å¥ã«å®çŸ©ãããã€ã³ã¿ãã§ãŒã¹ãæã€ service ã®ãããªãã®ã§ãããã®ã¯ã©ã¹ã«ã¯ãå
¥åå€(ããã³ãã®ä»ã®ãªãã·ã§ã³ã®åŒæ°)ãæäœããŠããŒãžã«ã¬ã³ããªã³ã°ãããåºåãäœæããããã® public ã¡ãœãã `transform` ãå«ãŸããŠããŸãããã€ãããã¹ãããã«ã¯ããã€ããã€ã³ã¹ã¿ã³ã¹åããtransform ã¡ãœãããåŒã³åºããŠçµæãæ€èšŒããŸãã
@@ -309,13 +309,13 @@ describe('NamePipe', () => {
ãŸããpipe ãå©çšããã³ã³ããŒãã³ãããã³ããŒãžã§ã® DOM ãã¹ããä»ã㊠pipe ãå®è¡ããããšãæçã§ãã
-## ãšã³ãããŒãšã³ããã¹ã
+## ãšã³ãããŒãšã³ããã¹ã {/* #end-to-end-testing */}
ãšã³ãããŒãšã³ãã®ãã¹ãã¯ãã¢ããªã±ãŒã·ã§ã³ãå
šäœãšããŠæ©èœããå€ãã®å Žåãã©ã€ãããŒã¿ãžã®æ¥ç¶ãå«ãããšãæ€èšŒããããã«äœ¿çšãããŸããäžæ¹ã§ããŠããããã¹ãã¯åé¢ãããã³ãŒããŠãããã«éç¹ã眮ããŠãããããã¢ããªã±ãŒã·ã§ã³ããžãã¯ã®äœã¬ãã«ã®ãã¹ããå¯èœã§ããããšã³ãããŒãšã³ããã¹ãã¯ããŸããŸãªãŠãŒã¶ãŒã¹ããŒãªãŒã䜿çšã»ã·ããªãªã«éç¹ã眮ããŠãããã¢ããªã±ãŒã·ã§ã³å
šäœãéããããŒã¿ãããŒã®ç·åçãªé«ã¬ãã«ã®ãã¹ããæäŸããŸãããŸãäžæ¹ã§ããŠããããã¹ãã§ã¯ã¢ããªã±ãŒã·ã§ã³ã®ããžãã¯ã®åé¡ãæããã«ããããšããŸããããšã³ãããŒãšã³ããã¹ãã§ã¯ãåã
ã®ãŠããããäžç·ã«äœ¿çšãããå Žåã«çºçããåé¡ãæããã«ããããšããŸãããšã³ãããŒãšã³ãã®ãã¹ãã«ãããã¢ããªã±ãŒã·ã§ã³ã®å
šäœçãªã¢ãŒããã¯ãã£ã«é¢ããåé¡ãæããã«ãªããŸãã
ãšã³ãããŒãšã³ããã¹ãã¯ãŠãŒã¶ãŒã¹ããŒãªãŒãå®è¡ããåã
ã®ã³ãŒãã¢ãžã¥ãŒã«ã§ã¯ãªãã¢ããªã±ãŒã·ã§ã³å
šäœã察象ãšããããããšã³ãããŒãšã³ããã¹ãã¯ãã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³èªäœã®ã³ãŒããšã¯å¥ã«ããããžã§ã¯ãå
ã®ç¬èªã®ã¢ããªã±ãŒã·ã§ã³ãšããŠååšããŸããã»ãšãã©ã®ãšã³ãããŒãšã³ããã¹ãã¯ãã¢ããªã±ãŒã·ã§ã³ãšã®å
±éã®ãŠãŒã¶ãŒå¯Ÿè©±ãèªååãããããã®å¯Ÿè©±ã®çµæãå€å¥ããããã« DOM ã調æ»ããŸãã
-### ãã¹ãã®æ§æ
+### ãã¹ãã®æ§æ {/* #test-structure */}
`@ionic/angular` ã¢ããªã±ãŒã·ã§ã³ãäœæããããšã ããã©ã«ãã®ãšã³ãããŒãšã³ãã®ãã¹ãã¢ããªã±ãŒã·ã§ã³ã `e2e` ãã©ã«ãã«çæãããŸãããã®ã¢ããªã±ãŒã·ã§ã³ã¯ Protractor ã䜿çšããŠãã©ãŠã¶ãå¶åŸ¡ããJasmine ã䜿çšããŠãã¹ããæ§ç¯ããå®è¡ããŸããã¢ããªã±ãŒã·ã§ã³ã¯ãåææã¯æ¬¡ã® 4 ã€ã®ãã¡ã€ã«ã§æ§æãããŠããŸã:
@@ -324,13 +324,13 @@ describe('NamePipe', () => {
- `src/app.po.ts` - ã¢ããªã±ãŒã·ã§ã³ãããã²ãŒãããã¡ãœãããDOM å
ã®èŠçŽ ãç
§äŒããã¡ãœãããããŒãžäžã®èŠçŽ ãæäœããã¡ãœãããå«ãããŒãžãªããžã§ã¯ã
- `src/app.e2e-spec.ts` - ãã¹ãçšã®ã¹ã¯ãªãã
-#### ããŒãžãªããžã§ã¯ã
+#### ããŒãžãªããžã§ã¯ã {/* #page-objects */}
ãšã³ãããŒãšã³ãã®ãã¹ãã¯ãã¢ããªã±ãŒã·ã§ã³ãšã®å
±éã®ãŠãŒã¶ãŒå¯Ÿè©±ãèªååããã¢ããªã±ãŒã·ã§ã³ãå¿çããã®ãåŸ
ã¡ã察話ã®çµæãå€å¥ããããã« DOM ãæ€æ»ããŸããããã«ã¯ãå€ãã® DOM æäœãšè©Šéšãå¿
èŠã§ãããããããã¹ãŠæäœæ¥ã§è¡ããšããã¹ãã¯éåžžã«èããªããèŠãŠçè§£ããããšãä¿å®ãå°é£ã«ãªããŸãã
ããŒãžãªããžã§ã¯ãã¯ãTypeScript ã¯ã©ã¹ã®åäžããŒãžã® HTML ãã«ãã»ã«åãããã¹ãçšã®ã¹ã¯ãªãããã¢ããªã±ãŒã·ã§ã³ãšå¯Ÿè©±ããããã«äœ¿çšãã API ãæäŸããŸããDOM æäœããžãã¯ãããŒãžãªããžã§ã¯ãå
ã«ã«ãã»ã«åããããšã§ããã¹ããèªã¿ããããªãããã€å€æããããšãã¯ããã«ç°¡åã«ãªãããã¹ãã®ä¿å®ã³ã¹ãã倧å¹
ã«åæžãããŸããæŽç·ŽãããããŒãžãªããžã§ã¯ããäœæããããšã¯ãé«å質ã§ä¿å®ãããããšã³ãããŒãšã³ãã®ãã¹ããäœæããããã®éµã§ãã
-##### ããŒã¹ããŒãžãªããžã§ã¯ã
+##### ããŒã¹ããŒãžãªããžã§ã¯ã {/* #base-page-object */}
å€ãã®ãã¹ãã¯ãããŒãžã衚瀺ãããã®ãåŸ
ã£ãããinput ã«ããã¹ããå
¥åãããããã¿ã³ãã¯ãªãã¯ãããªã©ã®ã¢ã¯ã·ã§ã³ã«äŸåããŠããŸãããããè¡ãããã«äœ¿çšãããã¡ãœããã¯ãé©å㪠DOM èŠçŽ ã®å€æŽãååŸããããã«äœ¿çšããã CSS ã»ã¬ã¯ã¿ãŒã®ã¿ãšäžè²«æ§ããããŸãããããã£ãŠããã®ããžãã¯ããä»ã®ããŒãžãªããžã§ã¯ãã䜿çšã§ããããŒã¹ã¯ã©ã¹ã«æœè±¡åããããšã¯çã«ããªã£ãŠããŸãã
@@ -396,7 +396,7 @@ export class PageObjectBase {
}
```
-##### ããŒãžæ¯ã®èŠçŽ
+##### ããŒãžæ¯ã®èŠçŽ {/* #per-page-abstractions */}
ã¢ããªã±ãŒã·ã§ã³ã®åããŒãžã«ã¯ããã®ããŒãžã®èŠçŽ ãæœè±¡åããç¬èªã®ããŒãžãªããžã§ã¯ãã¯ã©ã¹ããããŸããããŒã¹ãšãªãããŒãžãªããžã§ã¯ãã¯ã©ã¹ã䜿çšããå ŽåãããŒãžãªããžã§ã¯ããäœæããã«ã¯ãã»ãšãã©ã®å Žåãã®ããŒãžã«åºæã®èŠçŽ ã®ã«ã¹ã¿ã ã¡ãœãããäœæããå¿
èŠããããŸããå€ãã®å Žåããããã®ã«ã¹ã¿ã èŠçŽ ã¯ãå¿
èŠãªäœæ¥ãå®è¡ããããã«ããŒã¹ã¯ã©ã¹ã®ã¡ãœããã®æ©æµãåããŸãã
@@ -433,7 +433,7 @@ export class LoginPage extends PageObjectBase {
}
```
-#### ãã¹ãã¹ã¯ãªãã
+#### ãã¹ãã¹ã¯ãªãã {/* #testing-scripts */}
ãŠããããã¹ããšåæ§ã«ããšã³ãããŒãšã³ãã®ãã¹ãã¹ã¯ãªããã¯ãã¹ãããã `describe()` ãš `it()` 颿°ã§æ§æãããŠããŸãããšã³ãããŒãšã³ãã®ãã¹ãã®å Žåã`describe()` 颿°ã¯äžè¬ã«ãç¹å®ã®ã·ããªãªãããã®ã·ããªãªå
ã§ã¢ã¯ã·ã§ã³ãå®è¡ããããšãã«ã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠè¡šãããã¹ãç¹å®ã®æ¯ãèãã瀺ã `it()` 颿°ãšãšãã«ç€ºããŸãã
@@ -527,15 +527,15 @@ describe('Login', () => {
});
```
-### èšå®
+### èšå® {/* #configuration */}
ããã©ã«ãã®èšå®ã§ã¯ãéçºã«äœ¿çšãããåã `environment.ts` ãã¡ã€ã«ã䜿ããŸãããšã³ãããŒãšã³ãã®ãã¹ãã§äœ¿çšããããŒã¿ãããé©åã«å¶åŸ¡ããã«ã¯ããã¹ãçšã®ç¹å®ã®ç°å¢ãçšæãããã¹ãã«ãã®ç°å¢ã䜿çšãããšäŸ¿å©ãªããšãå€ãã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ããã®èšå®ãäœæãã 1 ã€ã®æ¹æ³ã瀺ããŸãã
-#### ãã¹ãç°å¢
+#### ãã¹ãç°å¢ {/* #testing-environment */}
ãã¹ãç°å¢ãèšå®ããã«ã¯ããã¹ãå°çšã®ããã¯ãšã³ãã䜿çšããæ°ããç°å¢ãã¡ã€ã«ãäœæãããã®ç°å¢ã䜿ãããã« `angular.json` ãã¡ã€ã«ãæŽæ°ãã`package.json` äžã® `e2e` ã¹ã¯ãªããã `test` ç°å¢ãæå®ããããã«ä¿®æ£ããŸãã
-##### `environment.e2e.ts` ãã¡ã€ã«ãçæ
+##### `environment.e2e.ts` ãã¡ã€ã«ãçæ {/* #create-the-environmente2ets-file */}
Angular ã® `environment.ts` ãš `environment.prod.ts` ãã¡ã€ã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããã¯ãšã³ãã®ããŒã¿ãµãŒãã¹ã®ããŒã¹ URL ãªã©ã®æ
å ±ãæ ŒçŽããããã«åºŠã
䜿çšãããŸãããŸããåãæ
å ±ãæäŸãã `environment.e2e.ts` ãäœæããŠãã ãããããã¯ãéçºãŸãã¯æ¬çªã®ããã¯ãšã³ããµãŒãã¹ã§ã¯ãªãããã¹ãå°çšã®ããã¯ãšã³ããµãŒãã¹ã«ã®ã¿æ¥ç¶ããŸãã以äžã«äŸã瀺ããŸã:
@@ -547,7 +547,7 @@ export const environment = {
};
```
-##### `angular.json` ãã¡ã€ã«ãä¿®æ£
+##### `angular.json` ãã¡ã€ã«ãä¿®æ£ {/* #modify-the-angularjson-file */}
`angular.json` ãã¡ã€ã«ã䜿çšããã«ã¯ããã®ãã¡ã€ã«ãä¿®æ£ããå¿
èŠããããŸããããã¯éå±€åããã»ã¹ã§ãã以äžã® XPath ãªã¹ãã«åŸã£ãŠãå¿
èŠãªèšå®ã远å ããŸãããã
@@ -580,7 +580,7 @@ export const environment = {
}
```
-##### `package.json` ãã¡ã€ã«ãä¿®æ£
+##### `package.json` ãã¡ã€ã«ãä¿®æ£ {/* #modify-the-packagejson-file */}
`npm run e2e` ã `test` ã®èšå®ã䜿ãããã« `package.json` ãã¡ã€ã«ãä¿®æ£ããŸãã
@@ -596,7 +596,7 @@ export const environment = {
},
```
-#### ãã¹ãã¯ãªãŒã³ã¢ãã
+#### ãã¹ãã¯ãªãŒã³ã¢ãã {/* #test-cleanup */}
ãšã³ãããŒãšã³ããã¹ããäœããã®æ¹æ³ã§ããŒã¿ã倿Žããå Žåã¯ããã¹ããå®äºãããããŒã¿ãæ¢ç¥ã®ç¶æ
ã«äžåºŠãªã»ãããããšäŸ¿å©ã§ãããã®ããã® 1 ã€ã®æ¹æ³ã¯:
diff --git a/docs/angular/virtual-scroll.mdx b/docs/angular/virtual-scroll.mdx
index a77513f9c1e..a80a95438d3 100644
--- a/docs/angular/virtual-scroll.mdx
+++ b/docs/angular/virtual-scroll.mdx
@@ -6,7 +6,7 @@
:::
-## Installation
+## Installation {/* #installation */}
To setup the CDK Scroller, first install `@angular/cdk`:
@@ -43,7 +43,7 @@ When we want to use the CDK Scroller, we'll need to import the module in our com
With this added, we have access to the Virtual Scroller in the Tab1Page component.
-## Usage
+## Usage {/* #usage */}
The CDK Virtual Scroller can be added to a component by adding the `cdk-virtual-scroll-viewport` to a component's template.
@@ -114,7 +114,7 @@ cdk-virtual-scroll-viewport {
Since the viewport is built to fit various use cases, the default sizing is not set and is up to developers to set.
-## Usage with Ionic Components
+## Usage with Ionic Components {/* #usage-with-ionic-components */}
Ionic Framework requires that features such as collapsible large titles, `ion-infinite-scroll`, `ion-refresher`, and `ion-reorder-group` be used within an `ion-content`. To use these experiences with virtual scrolling, you must add the `.ion-content-scroll-host` class to the virtual scroll viewport.
@@ -128,6 +128,6 @@ For example:
```
-## Further Reading
+## Further Reading {/* #further-reading */}
ãã㯠CDK ããŒãã£ã«ã¹ã¯ããŒã©ãå¯èœãªæ©èœã®ã»ãã®äžéšã«éããŸããã詳现ã«ã€ããŠã¯ã[Angular CDK ããŒãã£ã«ã¹ã¯ããŒã«ã®ããã¥ã¡ã³ã](https://material.angular.io/cdk/scrolling/overview)ãåç
§ããŠãã ããã
diff --git a/docs/angular/your-first-app.mdx b/docs/angular/your-first-app.mdx
index fe2c8c2479d..e384c7d9cfe 100644
--- a/docs/angular/your-first-app.mdx
+++ b/docs/angular/your-first-app.mdx
@@ -24,11 +24,7 @@ Ionic ã®çŽ æŽããããšããã¯ã1 ã€ã®ã³ãŒãããŒã¹ã§ã䜿ãæ
£
allowFullScreen
>
-:::note
-Ionic 4 ããã³ Cordova ãã«ããŒããåã®ããŒãžã§ã³ã®ã¬ã€ãããæ¢ãã§ããïŒ[Ionic 4 ããã³ Cordova ã¬ã€ã](../developer-resources/guides/first-app-v4/intro.mdx)ãåç
§ããŠãã ããã
-:::
-
-## æ§ç¯ãããã®
+## æ§ç¯ãããã® {/* #what-well-build */}
ããã€ã¹ã®ã«ã¡ã©ã§åçãæ®åœ±ããã°ãªããã«è¡šç€ºããããã€ã¹ã«æ°žç¶çã«ä¿åããæ©èœãæäŸãã Photo Gallery ã¢ããªãäœæããŸãã
@@ -40,7 +36,7 @@ Ionic 4 ããã³ Cordova ãã«ããŒããåã®ããŒãžã§ã³ã®ã¬ã€ãã
ãã®ã¬ã€ãã§åç
§ãããŠãã[å®å
šãªã¢ããªã³ãŒã](https://github.com/ionic-team/tutorial-photo-gallery-angular)ã GitHub ã§èŠã€ããŠãã ããã
-## å¿
èŠãªããŒã«ã®ããŠã³ããŒã
+## å¿
èŠãªããŒã«ã®ããŠã³ããŒã {/* #download-required-tools */}
æé©ãª Ionic éçºäœéšã確ä¿ããããã«ã以äžãããã«ããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŠãã ããïŒ
@@ -50,7 +46,7 @@ Ionic 4 ããã³ Cordova ãã«ããŒããåã®ããŒãžã§ã³ã®ã¬ã€ãã
- **Windows** ãŠãŒã¶ãŒïŒæé«ã® Ionic äœéšã®ããã«ãçµã¿èŸŒã¿ã®ã³ãã³ãã©ã€ã³ (cmd) ãŸãã¯ç®¡çè
ã¢ãŒãã§å®è¡ãã Powershell CLI ãæšå¥šããŸãã
- **Mac/Linux** ãŠãŒã¶ãŒïŒã»ãŒãã¹ãŠã®ã¿ãŒããã«ã§åäœããŸãã
-## Ionic ããŒã«ã®ã€ã³ã¹ããŒã«
+## Ionic ããŒã«ã®ã€ã³ã¹ããŒã« {/* #install-ionic-tooling */}
ã³ãã³ãã©ã€ã³ã¿ãŒããã«ã§ä»¥äžãå®è¡ããŠãIonic CLIïŒ`ionic`ïŒãããã€ã¹ãã·ãã¥ã¬ãŒã¿ãŒ/ãšãã¥ã¬ãŒã¿ãŒã§ãã€ãã£ããã€ããªãå®è¡ããããã«äœ¿çšããã`native-run`ããã€ãã£ãã¢ããªã®ã¢ã€ã³ã³ãšã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ãçæããããã«äœ¿çšããã`cordova-res`ãã€ã³ã¹ããŒã«ããŸãïŒ
@@ -68,7 +64,7 @@ npm install -g @ionic/cli native-run cordova-res
npm ã管çè
æš©éãªãã§ã°ããŒãã«ã«æäœã§ããããã«èšå®ããããšãæ€èšããŠãã ããã詳现㯠[æš©éãšã©ãŒã®è§£æ±º](../developing/tips.mdx#resolving-permission-errors) ãåç
§ããŠãã ããã
:::
-## ã¢ããªã®äœæ
+## ã¢ããªã®äœæ {/* #create-an-app */}
次ã«ã"Tabs" ãšããã¢ããªãã³ãã¬ãŒãã䜿çšã㊠Ionic Angular ã¢ããªãçæããNative æ©èœã䜿ãããã« Capacitor ã远å ããŸãã
@@ -96,7 +92,7 @@ cd photo-gallery
npm install @capacitor/camera @capacitor/preferences @capacitor/filesystem
```
-### PWA Elements
+### PWA Elements {/* #pwa-elements */}
[Camera API](/native/camera.mdx)ãå«ãäžéšã® Capacitor ãã©ã°ã€ã³ã¯ãIonic ã®[PWA Elements ã©ã€ãã©ãª](https://github.com/ionic-team/pwa-elements)ãä»ã㊠Web ããŒã¹ã®æ©èœãš UI ãæäŸããŸãã
@@ -132,7 +128,7 @@ bootstrapApplication(AppComponent, {
ããã§çµããã§ãïŒãããæ¥œããéšåã§ã - ã¢ããªãå®è¡ããŠã¿ãŸãããã
-## ã¢ããªãèµ·å
+## ã¢ããªãèµ·å {/* #run-the-app */}
次ã®ã³ãã³ããå®è¡ããŠãã ãã:
@@ -142,7 +138,7 @@ ionic serve
ãããŠã宿ã§ãïŒIonic ã¢ããªã Web ãã©ãŠã¶ã§å®è¡ãããŠããŸããã¢ããªã®å€§éšåã¯ãã©ãŠã¶å
ã§çŽæ¥ãã«ãããã³ãã¹ãã§ãããããéçºãšãã¹ãã®é床ã倧å¹
ã«åäžããŸãã
-## Photo Gallery
+## Photo Gallery {/* #photo-gallery */}
3 ã€ã®ã¿ãããããŸãããTab2ãã¿ããã¯ãªãã¯ããŠãã ãããããã¯ç©ºçœã®ãã£ã³ãã¹ãã€ãŸã Photo Gallery ã«å€æããã®ã«æé©ãªå Žæã§ããIonic CLI ã«ã¯ Live Reload æ©èœãããããã倿Žãå ããŠä¿åãããšãã¢ããªãããã«æŽæ°ãããŸãïŒ
diff --git a/docs/angular/your-first-app/2-taking-photos.mdx b/docs/angular/your-first-app/2-taking-photos.mdx
index f3f4332f734..a729c759012 100644
--- a/docs/angular/your-first-app/2-taking-photos.mdx
+++ b/docs/angular/your-first-app/2-taking-photos.mdx
@@ -13,7 +13,7 @@ sidebar_label: ã«ã¡ã©æ®åœ±
Now for the fun part - adding the ability to take photos with the deviceâs camera using the Capacitor [Camera API](/native/camera.mdx). Weâll begin with building it for the web, then make some small tweaks to make it work on mobile (iOS and Android).
-## Photo Service
+## Photo Service {/* #photo-service */}
All Capacitor logic (Camera usage and other native features) will be encapsulated in a service class. Create `PhotoService` using the `ionic generate` command:
@@ -143,7 +143,7 @@ _(Your selfie is probably much better than mine)_
After taking a photo, it disappears right away. We need to display it within our app and save it for future access.
-## Displaying Photos
+## Displaying Photos {/* #displaying-photos */}
To define the data structure for our photo metadata, create a new interface named `UserPhoto`. Add this interface at the very bottom of the `photo.service.ts` file, immediately after the `PhotoService` class definition:
diff --git a/docs/angular/your-first-app/3-saving-photos.mdx b/docs/angular/your-first-app/3-saving-photos.mdx
index 9bc0c3efb32..24142ad24c1 100644
--- a/docs/angular/your-first-app/3-saving-photos.mdx
+++ b/docs/angular/your-first-app/3-saving-photos.mdx
@@ -13,7 +13,7 @@ sidebar_label: åçã®ä¿å
Weâre now able to take multiple photos and display them in a photo gallery on the second tab of our app. These photos, however, are not currently being stored permanently, so when the app is closed, they will be deleted.
-## Filesystem API
+## Filesystem API {/* #filesystem-api */}
Fortunately, saving them to the filesystem only takes a few steps. Begin by creating a new class method, `savePicture()`, in the `PhotoService` class. We pass in the `photo` object, which represents the newly captured device photo:
diff --git a/docs/angular/your-first-app/4-loading-photos.mdx b/docs/angular/your-first-app/4-loading-photos.mdx
index 8d548aca077..cd2277f2a53 100644
--- a/docs/angular/your-first-app/4-loading-photos.mdx
+++ b/docs/angular/your-first-app/4-loading-photos.mdx
@@ -15,7 +15,7 @@ Weâve implemented photo taking and saving to the filesystem. Thereâs one las
Fortunately, this is easy: weâll leverage the Capacitor [Preferences API](/native/preferences.mdx) to store our array of Photos in a key-value store.
-## Preferences API
+## Preferences API {/* #preferences-api */}
Open `photo.service.ts` and begin by defining a new property in the `PhotoService` class that will act as the key for the store.
diff --git a/docs/angular/your-first-app/5-adding-mobile.mdx b/docs/angular/your-first-app/5-adding-mobile.mdx
index d6f06b54cda..266a77fe8e7 100644
--- a/docs/angular/your-first-app/5-adding-mobile.mdx
+++ b/docs/angular/your-first-app/5-adding-mobile.mdx
@@ -13,7 +13,7 @@ strip_number_prefixes: false
Our photo gallery app wonât be complete until it runs on iOS, Android, and the web - all using one codebase. All it takes is some small logic changes to support mobile platforms, installing some native tooling, then running the app on a device. Letâs go!
-## Import Platform API
+## Import Platform API {/* #import-platform-api */}
Letâs start with making some small code changes - then our app will âjust workâ when we deploy it to a device.
@@ -45,7 +45,7 @@ export class PhotoService {
}
```
-## Platform-specific Logic
+## Platform-specific Logic {/* #platform-specific-logic */}
First, weâll update the photo saving functionality to support mobile. In the `savePicture()` method, check which platform the app is running on. If itâs âhybridâ (Capacitor, the native runtime), then read the photo file into base64 format using the `Filesystem.readFile()` method. Otherwise, use the same logic as before when running the app on the web.
diff --git a/docs/angular/your-first-app/6-deploying-mobile.mdx b/docs/angular/your-first-app/6-deploying-mobile.mdx
index def40f6c384..126a0ce792a 100644
--- a/docs/angular/your-first-app/6-deploying-mobile.mdx
+++ b/docs/angular/your-first-app/6-deploying-mobile.mdx
@@ -13,7 +13,7 @@ sidebar_label: ã¢ãã€ã«ãžã®ãããã€
Since we added Capacitor to our project when it was first created, thereâs only a handful of steps remaining until the Photo Gallery app is on our device!
-## Capacitor Setup
+## Capacitor Setup {/* #capacitor-setup */}
Capacitor 㯠Ionic ã®å
¬åŒã¢ããªã©ã³ã¿ã€ã ã§ãWeb ã¢ããªã iOSãAndroid ãªã©ã®ãã€ãã£ããã©ãããã©ãŒã ã«ç°¡åã«ãããã€ã§ããããã«ããŸããéå»ã« Cordova ã䜿çšããããšãããå Žåã¯ãCapacitor ãš Cordova ã®[éã](https://capacitorjs.com/docs/cordova#differences-between-capacitor-and-cordova)ã«ã€ããŠããã«èªãããšãæ€èšããŠãã ããã
@@ -44,7 +44,7 @@ Note: After making updates to the native portion of the code (such as adding a n
ionic cap sync
```
-## iOS Deployment
+## iOS Deployment {/* #ios-deployment */}
:::important
To build an iOS app, youâll need a Mac computer.
@@ -80,7 +80,7 @@ Upon tapping the Camera button on the Photo Gallery tab, the permission prompt w

-## Android Deployment
+## Android Deployment {/* #android-deployment */}
Capacitor Android apps are configured and managed through Android Studio. Before running this app on an Android device, there's a couple of steps to complete.
diff --git a/docs/angular/your-first-app/7-live-reload.mdx b/docs/angular/your-first-app/7-live-reload.mdx
index cc7bac9a0e1..317d8324063 100644
--- a/docs/angular/your-first-app/7-live-reload.mdx
+++ b/docs/angular/your-first-app/7-live-reload.mdx
@@ -15,7 +15,7 @@ sidebar_label: ã©ã€ããªããŒã
We can use the Ionic CLIâs [Live Reload functionality](../../cli/livereload.mdx) to boost our productivity when building Ionic apps. When active, Live Reload will reload the browser and/or WebView when changes in the app are detected.
-## Live Reload
+## Live Reload {/* #live-reload */}
Remember `ionic serve`? That was Live Reload working in the browser, allowing us to iterate quickly.
@@ -31,7 +31,7 @@ ionic cap run android -l --external
The Live Reload server will start up, and the native IDE of choice will open if not opened already. Within the IDE, click the Play button to launch the app onto your device.
-## Deleting Photos
+## Deleting Photos {/* #deleting-photos */}
With Live Reload running and the app open on your device, letâs implement photo deletion functionality.
diff --git a/docs/angular/your-first-app/8-distribute.mdx b/docs/angular/your-first-app/8-distribute.mdx
index f9d60e7bd93..603144e8994 100644
--- a/docs/angular/your-first-app/8-distribute.mdx
+++ b/docs/angular/your-first-app/8-distribute.mdx
@@ -15,13 +15,13 @@ sidebar_label: Distribute
Below we will run through an overview of the steps.
-## Connect Your Repo
+## Connect Your Repo {/* #connect-your-repo */}
Appflow works directly with Git version control and uses your existing code base as the source of truth for Deploy and Package builds. You will first need to integrate with your hosting service, such as GitHub or Bitbucket, or you can push your code directly to Appflow. Once this is completed, Appflow will have access to your code.
For more on connecting your code repository to Appflow, checkout the [Connect your Repo](https://ionic.io/docs/appflow/quickstart/connect) section inside the Appflow docs.
-## Install the Appflow SDK
+## Install the Appflow SDK {/* #install-the-appflow-sdk */}
The Appflow SDK (also known as Ionic Deploy plugin) will allow you to take advantage of arguably two of the best Appflow features: deploying live updates to your app and bypassing the app stores. Ionic Appflow's Live Update feature is shipped with Appflow SDK and features the capabilities of detecting and syncing the updates for your app that you have pushed to your identified channels within the dashboard.
@@ -36,7 +36,7 @@ ionic deploy add \
For prerequisite and additional instructions on installing the Appflow SDK, visit the [Install the Appflow SDK](https://ionic.io/docs/appflow/quickstart/installation) section inside the Appflow docs.
-## Push a Commit
+## Push a Commit {/* #push-a-commit */}
In order for Appflow to access the latest and greatest changes to your code, you will need to push a commit via the version control integration of your choosing. For those that use GitHub or Bitbucket, this would look as follows:
@@ -48,7 +48,7 @@ git push origin main # push the changes from the main branch to your git host
ããã·ã¥ãè¡ããããšãã³ããã㯠Appflow ããã·ã¥ããŒãã®`Commits`ã¿ãã«è¡šç€ºãããŸãã詳现ã«ã€ããŠã¯ãAppflow ããã¥ã¡ã³ãã®[ã³ãããã®ããã·ã¥](https://ionic.io/docs/appflow/quickstart/push)ã»ã¯ã·ã§ã³ãåç
§ããŠãã ããã
-## Deploy a Live Update
+## Deploy a Live Update {/* #deploy-a-live-update */}
With the Appflow SDK installed and your commit pushed up to the Dashboard, you are ready to deploy a live update to a device. The Live Update feature uses the installed Appflow SDK with your native application to listen to a particular Deploy Channel Destination. When a live update is assigned to a Channel Destination, that update will be deployed to user devices running binaries that are configured to listen to that specific Channel Destination.
@@ -66,7 +66,7 @@ ionic cap run [ios | android] [options]
To dive into more details on the steps to deploy a live update, as well as additional information such as disabling deploy for development, check out the [Deploy a Live Update](https://ionic.io/docs/appflow/quickstart/deploy) section inside the Appflow docs.
-## Build a Native Binary
+## Build a Native Binary {/* #build-a-native-binary */}
Next up is a native binary for your app build and deploy process. This is done via the [Ionic Package](https://ionic.io/docs/appflow/package/intro) service. First things first, you will need to create a [Package build](https://ionic.io/docs/appflow/package/builds). This can be done by clicking the `Start build` icon from the `Commits` tab or by clicking the `New build` button in the top right from the `Build > Builds` tab. Then you will select the proper commit for your build and fill in all of the several required fields and any optional fields that you want to specify. After filling in all of the information and the build begins, you can check out it's progress and review the logs if you encounter any errors.
@@ -74,19 +74,19 @@ Given a successful Package build, an iOS binary (`.ipa` or IPA) or/and an Androi
Further information regarding building native binaries can be found inside of the [Build a Native Binary](https://ionic.io/docs/appflow/quickstart/package) section inside the Appflow docs.
-## Create an Automation
+## Create an Automation {/* #create-an-automation */}
[Automations](https://ionic.io/docs/appflow/automation/intro) enable you and your team to utilize the full CI/CD powers of Appflow. You can create automations that trigger [Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) every time your team commits new code to a given branch. The automations can also be configured to use different environments and native configurations for building different versions of your app for development, staging, QA and production.
詳现ã«ã€ããŠã¯ãAppflow ããã¥ã¡ã³ãå
ã®[èªååã®äœæ](https://ionic.io/docs/appflow/quickstart/automation)ã»ã¯ã·ã§ã³ãåç
§ããŠãã ããããã®ã»ã¯ã·ã§ã³ã§ã¯ãåäžã®èªååã®äœæã«ã€ããŠèª¬æããŠããŸãããã ããç°ãªããã©ã³ããã¯ãŒã¯ãããŒçšã«è€æ°ã®èªååãäœæããããŒãºã«åãããŠã«ã¹ã¿ãã€ãºããããšãå¯èœã§ããéèŠãªæ³šæç¹ãšããŠãèªååãäœæããæ©èœã¯[ããŒã·ãã¯ãã©ã³](https://ionic.io/pricing)以äžã®ãŠãŒã¶ãŒãå©çšã§ããæ©èœã§ãã
-## Create an Environment
+## Create an Environment {/* #create-an-environment */}
[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be further customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever.
Creating an Environment is available for those on our [Basic plans](https://ionic.io/pricing) and above. More information on this can be found in the [Create an Environment](https://ionic.io/docs/appflow/quickstart/environment) section within the Appflow docs.
-## Create a Native Configuration
+## Create a Native Configuration {/* #create-a-native-configuration */}
[Native Configurations](https://ionic.io/docs/appflow/package/native-configs) allow you to easily modify common configuration values that can change between different environments (development, production, staging, etc.) so you do not need to use extra logic or manually commit them to version control. Native configurations can be attached to any [Package build](https://ionic.io/docs/appflow/package/intro) or [Automation](https://ionic.io/docs/appflow/automation/intro).
@@ -98,7 +98,7 @@ Native configs can be used to:
For access to the ability to create a Native Configuration, you will need to be on our [Basic plans](https://ionic.io/pricing) and above. Additional details of this feature can be found in the [Create a Native Configuration](https://ionic.io/docs/appflow/quickstart/native-config) section within the Appflow docs.
-## Whatâs Next?
+## Whatâs Next? {/* #whats-next */}
Congratulations! You developed a complete cross-platform Photo Gallery app that runs on the web, iOS, and Android. Not only that, you have also then built the app and deployed it to your users' devices!
diff --git a/docs/angular/zoneless.mdx b/docs/angular/zoneless.mdx
index 90ad3c2bf98..dfe025eadc3 100644
--- a/docs/angular/zoneless.mdx
+++ b/docs/angular/zoneless.mdx
@@ -15,7 +15,7 @@ Angular 21 made [zoneless change detection](https://angular.dev/guide/zoneless)
With Zone.js, Angular automatically re-renders after almost any asynchronous task. Without it, Angular only re-renders when you explicitly tell it the view is out of date. Most of your app keeps working unchanged, but a few patterns that relied on Zone.js need a small adjustment.
-## What keeps working automatically
+## What keeps working automatically {/* #what-keeps-working-automatically */}
You do not need to change these. Angular schedules change detection for them in a zoneless app:
@@ -32,7 +32,7 @@ Angular 22 also makes `OnPush` the default change detection strategy. Under `OnP
:::
-## What needs a notification
+## What needs a notification {/* #what-needs-a-notification */}
When you update component state from an asynchronous callback that Angular did not wrap, nothing schedules a re-render. The state changes, but the view does not update. This applies to any Angular code, not only Ionic, and the common sources in an Ionic app are:
@@ -43,7 +43,7 @@ When you update component state from an asynchronous callback that Angular did n
You can notify Angular in two ways: write to a [signal](https://angular.dev/guide/signals) that the template reads, or inject `ChangeDetectorRef` and call `markForCheck()` after the update. We recommend signals because they work the same with or without Zone.js.
-### Signals (recommended)
+### Signals (recommended) {/* #signals-recommended */}
Writing a signal that a template reads schedules change detection automatically, so there is nothing extra to remember after the update.
@@ -74,7 +74,7 @@ export class HomePage {
}
```
-### `ChangeDetectorRef.markForCheck()`
+### `ChangeDetectorRef.markForCheck()` {/* #changedetectorrefmarkforcheck */}
If you are not using signals for a particular piece of state, inject `ChangeDetectorRef` and call `markForCheck()` after the asynchronous update. It is a no-op-or-better under Zone.js, so it is safe to leave in place if you later re-enable zones.
@@ -101,11 +101,11 @@ export class ListPage {
}
```
-## Common Ionic patterns
+## Common Ionic patterns {/* #common-ionic-patterns */}
These apply the two approaches above to patterns you are likely to hit in an Ionic app.
-### Inline overlays with dynamic content
+### Inline overlays with dynamic content {/* #inline-overlays-with-dynamic-content */}
Content projected into an inline `ion-modal` or `ion-popover` follows the same rule. If you populate it asynchronously, update a signal or call `markForCheck()`:
@@ -136,7 +136,7 @@ export class InlinePage {
Inline overlays also expose their events as outputs (for example `ionModalDidDismiss`), which you can convert to a signal with [`toSignal`](https://angular.dev/api/core/rxjs-interop/toSignal) if you prefer a reactive style.
-### Platform events
+### Platform events {/* #platform-events */}
`Platform` exposes its events as RxJS subjects. Update a signal inside the subscription so the view reflects the change:
@@ -153,7 +153,7 @@ export class AppComponent {
}
```
-## Change detection on Angular 22
+## Change detection on Angular 22 {/* #change-detection-on-angular-22 */}
On Angular 22 a component that does not declare a strategy is `OnPush`. If your pages keep state in plain fields rather than signals, every component from your application root down to the one hosting `ion-router-outlet` or `ion-tabs` (your app shell) must stay eager. A tick starts at the application root and skips a clean `OnPush` view and everything below it, so an `OnPush` ancestor strands the page even when the page itself is eager:
@@ -172,6 +172,6 @@ If other components sit between your application root and `ion-router-outlet`, e
Hosting an `ion-nav` is fine either way, because its pages are attached as root views and are checked independently of the component hosting them.
-## Staying on Zone.js
+## Staying on Zone.js {/* #staying-on-zonejs */}
If you are not ready to adopt zoneless change detection, you can opt back into Zone.js with `provideZoneChangeDetection()`. Refer to the [Keeping Zone.js section of the Ionic 9 upgrade guide](/updating/9-0.mdx#keeping-zonejs) for the exact configuration.
diff --git a/docs/api/accordion-group.mdx b/docs/api/accordion-group.mdx
index 9fae04b3770..496d5b381a1 100644
--- a/docs/api/accordion-group.mdx
+++ b/docs/api/accordion-group.mdx
@@ -17,9 +17,9 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
詳现ã«ã€ããŠã¯ã[ã¢ã³ãŒãã£ãªã³](./accordion)ã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
-## Interfaces
+## Interfaces {/* #interfaces */}
-### AccordionGroupChangeEventDetail
+### AccordionGroupChangeEventDetail {/* #accordiongroupchangeeventdetail */}
```typescript
interface AccordionGroupChangeEventDetail {
@@ -27,7 +27,7 @@ interface AccordionGroupChangeEventDetail {
}
```
-### AccordionGroupCustomEvent
+### AccordionGroupCustomEvent {/* #accordiongroupcustomevent */}
å¿
é ã§ã¯ãããŸãããããã®ã³ã³ããŒãã³ãããçºè¡ããã Ionic ã€ãã³ãã§ãã匷ãåä»ããè¡ãããã«ã`CustomEvent` ã€ã³ã¿ãŒãã§ãŒã¹ã®ä»£ããã«ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããããšãå¯èœã§ãã
@@ -38,26 +38,26 @@ interface AccordionGroupCustomEvent extends CustomEvent {
}
```
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/accordion.mdx b/docs/api/accordion.mdx
index 7c484689238..b36996894fa 100644
--- a/docs/api/accordion.mdx
+++ b/docs/api/accordion.mdx
@@ -23,13 +23,13 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
ã¢ã³ãŒãã£ãªã³ã¯ãæ
å ±ãæŽçããŠã°ã«ãŒãåããæ¹æ³ãæäŸããªãããåçŽæ¹åã®ã¹ããŒã¹ãæžããããã«ãã³ã³ãã³ãã«æãç³ã¿å¯èœãªã»ã¯ã·ã§ã³ãæäŸããŸãããã¹ãŠã® `ion-accordion` ã³ã³ããŒãã³ã㯠`ion-accordion-group` ã³ã³ããŒãã³ãã®äžã«ã°ã«ãŒãåãããŠããå¿
èŠããããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/accordion/basic/index.mdx';
-## ã¢ã³ãŒãã£ãªã³ããã°ã«ããæ¹æ³
+## ã¢ã³ãŒãã£ãªã³ããã°ã«ããæ¹æ³ {/* #toggle-accordions */}
ã©ã®ã¢ã³ãŒãã£ãªã³ãéããã¯ã`ion-accordion-group` ã® `value` ããããã£ãèšå®ããããšã§å¶åŸ¡ã§ããŸãããã®ããããã£ãèšå®ããããšã§ãéçºè
ã¯ããã°ã©ã ã«ãã£ãŠç¹å®ã®ã¢ã³ãŒãã£ãªã³ãå±éãããæããããã ãããããšãã§ããŸãã
@@ -37,7 +37,7 @@ import Toggle from '@site/static/usage/v9/accordion/toggle/index.mdx';
-## ã¢ã³ãŒãã£ãªã³ã®ç¶æ
å€åãç£èŠ
+## ã¢ã³ãŒãã£ãªã³ã®ç¶æ
å€åãç£èŠ {/* #listen-for-accordion-state-changes */}
:::caution
[Input](./input) ã [Textarea](./textarea) ãªã©ã®ä»ã®ã³ã³ããŒãã³ããçºãã `ionChange` ã€ãã³ãã®ã»ãšãã©ã¯ããã«åãããŸãããã®çµæãã¢ã³ãŒãã£ãªã³ã®äžã§é¢é£ã³ã³ããŒãã³ãã䜿çšãããŠããå Žåããããã®ã€ãã³ãã¯ããã«ã¢ããããã¢ã³ãŒãã£ãªã³ã°ã«ãŒãã® `ionChange` ãªã¹ããŒãçºç«ãããŸãã
@@ -51,7 +51,7 @@ import ListenChanges from '@site/static/usage/v9/accordion/listen-changes/index.
-## è€æ°ã®ã¢ã³ãŒãã£ãªã³
+## è€æ°ã®ã¢ã³ãŒãã£ãªã³ {/* #multiple-accordions */}
éçºè
㯠`multiple` ããããã£ã䜿çšããŠãè€æ°ã®ã¢ã³ãŒãã£ãªã³ãäžåºŠã«éãããšãã§ããããã«ããããšãã§ããŸãã
@@ -59,9 +59,9 @@ import Multiple from '@site/static/usage/v9/accordion/multiple/index.mdx';
-## ã¢ã³ãŒãã£ãªã³ã®ç¡å¹å
+## ã¢ã³ãŒãã£ãªã³ã®ç¡å¹å {/* #disabling-accordions */}
-### ã¢ã³ãŒãã£ãªã³ãç¡å¹ã«ãã
+### ã¢ã³ãŒãã£ãªã³ãç¡å¹ã«ãã {/* #individual-accordion */}
åã
ã®ã¢ã³ãŒãã£ãªã³ã¯ã`ion-accordion` ã® `disabled` ããããã£ã§ç¡å¹ã«ã§ããŸãã
@@ -69,7 +69,7 @@ import DisableIndividual from '@site/static/usage/v9/accordion/disable/individua
-### ã¢ã³ãŒãã£ãªã³ã°ã«ãŒã
+### ã¢ã³ãŒãã£ãªã³ã°ã«ãŒã {/* #accordion-group */}
ã¢ã³ãŒãã£ãªã³ã°ã«ãŒãã¯ã`ion-accordion-group` ã® `disabled` ããããã£ã§ç¡å¹ã«ããããšãã§ããŸãã
@@ -77,9 +77,9 @@ import DisableGroup from '@site/static/usage/v9/accordion/disable/group/index.md
-## èªã¿èŸŒã¿å¯èœãªã¢ã³ãŒãã£ãªã³
+## èªã¿èŸŒã¿å¯èœãªã¢ã³ãŒãã£ãªã³ {/* #readonly-accordions */}
-### ã¢ã³ãŒãã£ãªã³ãç¡å¹ã«ãã
+### ã¢ã³ãŒãã£ãªã³ãç¡å¹ã«ãã {/* #individual-accordion-1 */}
åã
ã®ã¢ã³ãŒãã£ãªã³ã¯ã`ion-accordion` ã® `readonly` ããããã£ã§ç¡å¹ã«ã§ããŸãã
@@ -87,7 +87,7 @@ import ReadonlyIndividual from '@site/static/usage/v9/accordion/readonly/individ
-### ã¢ã³ãŒãã£ãªã³ã°ã«ãŒã
+### ã¢ã³ãŒãã£ãªã³ã°ã«ãŒã {/* #accordion-group-1 */}
ã¢ã³ãŒãã£ãªã³ã°ã«ãŒãã¯ã`ion-accordion-group` ã® `readonly` ããããã£ã§ç¡å¹ã«ã§ããŸãã
@@ -95,21 +95,21 @@ import ReadonlyGroup from '@site/static/usage/v9/accordion/readonly/group/index.
-## æ§é
+## æ§é {/* #anatomy */}
-## ããããŒ
+### ããã㌠{/* #header */}
`header` slotã¯ãã¢ã³ãŒãã£ãªã³ãå±éãŸãã¯æããããããã®ãã°ã«ãšããŠäœ¿çšãããŸããã¢ã¯ã»ã·ããªãã£ãšããŒãæ©èœãå©çšããããã«ãããã§ã¯ `ion-item` ã䜿çšããããšããå§ãããŸãã
`header`ã¹ãããã§`ion-item`ã䜿çšããå Žåã`ion-item`ã®`button`ããããã£ã¯`true`ã«ã`detail`ããããã£ã¯`false`ã«èšå®ãããŸããããã«ã`ion-item`ã«ã¯ãã°ã«ã¢ã€ã³ã³ãèªåçã«è¿œå ãããŸãããã®ã¢ã€ã³ã³ã¯ã¢ã³ãŒãã£ãªã³ãå±éãŸãã¯æããããéã«èªåçã«å転ããŸãã詳现ã«ã€ããŠã¯ã[ã¢ã€ã³ã³ã®ã«ã¹ã¿ãã€ãº](#icons)ãåç
§ããŠãã ããã
-### ã³ã³ãã³ã
+### ã³ã³ãã³ã {/* #content */}
`content` slotã¯ãã¢ã³ãŒãã£ãªã³ã®ç¶æ
ã«å¿ããŠè¡šç€º/é衚瀺ãããéšåãšããŠäœ¿çšãããŸãã1ããŒãžã«1ã€ã ã `ion-content` ã€ã³ã¹ã¿ã³ã¹ã远å ããå¿
èŠããããããããã«ã¯ä»ã® `ion-content` ã€ã³ã¹ã¿ã³ã¹ãé€ããŠäœã§ã眮ãããšãã§ããŸãã
-## ã«ã¹ã¿ãã€ãº
+## ã«ã¹ã¿ãã€ãº {/* #customization */}
-### æ¡åŒµã¹ã¿ã€ã«
+### æ¡åŒµã¹ã¿ã€ã« {/* #expansion-styles */}
çµã¿èŸŒã¿ã®æ¡åŒµã¹ã¿ã€ã«ã«ã¯ã`compact` ãš `inset` ã® 2 çš®é¡ããããŸãããã®æ¡åŒµã¹ã¿ã€ã«ã¯ `ion-accordion-group` ã® `expand` ããããã£ã«ãã£ãŠèšå®ãããŸãã
@@ -119,7 +119,7 @@ import ExpansionStyles from '@site/static/usage/v9/accordion/customization/expan
-### é«åºŠãªæ¡åŒµã¹ã¿ã€ã«
+### é«åºŠãªæ¡åŒµã¹ã¿ã€ã« {/* #advanced-expansion-styles */}
ã¢ã³ãŒãã£ãªã³ã®ç¶æ
ã«å¿ããŠã¹ã¿ã€ã«ãèšå®ããããšã§ãå±éã®åäœãã«ã¹ã¿ãã€ãºããããšãã§ããŸãã `ion-accordion` ã«ã¯4ã€ã®ã¹ããŒãã¯ã©ã¹ãé©çšãããŠããŸãããããã®ã¯ã©ã¹ã䜿ã£ãŠã¹ã¿ã€ãªã³ã°ããããšã§ãé«åºŠãªç¶æ
é·ç§»ãäœæããããšãã§ããŸãã
@@ -155,7 +155,7 @@ import Icons from '@site/static/usage/v9/accordion/customization/icons/index.mdx
-### ããŒã
+### ããŒã {/* #theming */}
`ion-accordion` ã¯ããããŒãšã³ã³ãã³ãèŠçŽ ãå²ãã·ã§ã«ãšããŠæ©èœããã®ã§ãã¢ã³ãŒãã£ãªã³ãç°¡åã«å¥œããªããã«ããŒãåããããšãã§ããŸããããããŒã®ããŒãã¯ãã¹ãããã® `ion-item` ãã¿ãŒã²ããã«ããããšã§è¡ãããšãã§ããŸãã `ion-item` ã䜿çšããŠããã®ã§ã [ion-item CSS Variables](./item#css-custom-properties) ãš [ion-item Shadow Parts](./item#css-shadow-parts) ã«ããã¹ãŠã¢ã¯ã»ã¹ããããšãã§ããŸããã³ã³ãã³ãã®ãã€ã ãã`content` slotã«ããèŠçŽ ãã¿ãŒã²ããã«ããããšã§ç°¡åã«å®çŸã§ããŸãã
@@ -163,9 +163,9 @@ import Theming from '@site/static/usage/v9/accordion/customization/theming/index
-## ã¢ã¯ã»ã·ããªãã£
+## ã¢ã¯ã»ã·ããªã㣠{/* #accessibility */}
-### ã¢ãã¡ãŒã·ã§ã³
+### ã¢ãã¡ãŒã·ã§ã³ {/* #animations */}
ããã©ã«ãã§ã¯ãã¢ã³ãŒãã£ãªã³ã»ã¢ã€ãã ãå±éãããæããããã ãããéã«ã¢ãã¡ãŒã·ã§ã³ãæå¹ã«ãªããŸããã¢ãã¡ãŒã·ã§ã³ã¯ `prefers-reduced-motion` ã¡ãã£ã¢ã¯ãšãªããµããŒãããã`reduce` ã«èšå®ããããšèªåçã«ç¡å¹åãããŸãã察å¿ããŠããªããã©ãŠã¶ã§ã¯ãIonic Frameworkã¢ããªã§ `animated` ãèšå®ããããšã§ãã¢ãã¡ãŒã·ã§ã³ãç¡å¹ã«ããããšãã§ããŸãã
@@ -173,7 +173,7 @@ import AccessibilityAnimations from '@site/static/usage/v9/accordion/accessibili
-### ããŒããŒãã€ã³ã¿ã©ã¯ã·ã§ã³
+### ããŒããŒãã€ã³ã¿ã©ã¯ã·ã§ã³ {/* #keyboard-interactions */}
`ion-accordion-group` ã®äžã§äœ¿çšããå Žåã`ion-accordion` ã¯ããŒããŒãã«ããæäœãå®å
šã«ãµããŒãããŠããŸããæ¬¡ã®è¡šã¯ãããããã®ããŒãäœãããã®ãã®è©³çްã§ãã
@@ -187,9 +187,9 @@ import AccessibilityAnimations from '@site/static/usage/v9/accordion/accessibili
| Home | When focus is on an accordion header, moves focus to the first accordion header. |
| End | When focus is on an accordion header, moves focus to the last accordion header. |
-## ããã©ãŒãã³ã¹
+## ããã©ãŒãã³ã¹ {/* #performance */}
-### ã¢ãã¡ãŒã·ã§ã³
+### ã¢ãã¡ãŒã·ã§ã³ {/* #animations-1 */}
ã¢ã³ãŒãã£ãªã³ã¢ãã¡ãŒã·ã§ã³ã¯ãã¢ãã¡ãŒã·ã§ã³ãéå§ãããšãã« `content` slotã®é«ããç¥ãããšã«ãã£ãŠåäœããŸããã¢ã³ãŒãã£ãªã³ã¯ããã®é«ããã¢ãã¡ãŒã·ã§ã³ã®éãäžè²«ããŠä¿ãããããšãæåŸ
ããŸãããã®ãããéçºè
ã¯ã¢ãã¡ãŒã·ã§ã³äžã«ã³ã³ãã³ãã®é«ãã倿Žãããããªæäœãè¡ããªãããã«ããªããã°ãªããŸããã
@@ -201,26 +201,26 @@ import AccessibilityAnimations from '@site/static/usage/v9/accordion/accessibili
3. ãããã®è§£æ±ºæ¹æ³ãéžæã§ããªãå Žåãéçºè
㯠[ion-accordion-group](./accordion-group) ã® `animated` ããããã£ã䜿çšããŠã¢ãã¡ãŒã·ã§ã³ãå®å
šã«ç¡å¹ã«ããããšãæ€èšããããšãã§ããŸãã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/action-sheet.mdx b/docs/api/action-sheet.mdx
index 7ef09402a66..6fb3b295dd4 100644
--- a/docs/api/action-sheet.mdx
+++ b/docs/api/action-sheet.mdx
@@ -26,7 +26,7 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Action Sheetã¯è€æ°ã®éžæè¢ã衚瀺ãããã€ã¢ãã°ã§ããã¢ããªã®ã³ã³ãã³ãäžã«è¡šç€ºããããŠãŒã¶ãæåã§ç Žæ£ããªããšã¢ããªã®å©çšãåéããããšã¯ã§ããŸããã`ios` modeã§ã¯ãç Žå£çãªéžæè¢ã¯æç€ºãããŸãïŒã³ã³ãã³ãã®åé€ãªã©ã¯èµ€åãªã©ã§ãããããã衚瀺ãããŸãïŒãAction Sheetãç Žæ£ããã«ã¯ãèæ¯ãã¿ããããããã¹ã¯ãããã®ããœã³ã³ã®å Žåã¯ãšã¹ã±ãŒãããŒãæŒããªã©ãè€æ°ã®éžæè¢ããããŸãã
-## ã€ã³ã©ã€ã³ã¢ã¯ã·ã§ã³ã·ãŒã (æšå¥š)
+## ã€ã³ã©ã€ã³ã¢ã¯ã·ã§ã³ã·ãŒã (æšå¥š) {/* #inline-action-sheets-recommended */}
`ion-action-sheet` ã¯ããã³ãã¬ãŒãã«çŽæ¥ã³ã³ããŒãã³ããèšè¿°ããããšã§äœ¿çšããããšãã§ããŸããããã«ãããã¢ã¯ã·ã§ã³ã·ãŒãã衚瀺ããããã«é
ç·ããå¿
èŠããããã³ãã©ã®æ°ãæžããããšãã§ããŸãã
@@ -34,7 +34,7 @@ import Trigger from '@site/static/usage/v9/action-sheet/inline/trigger/index.mdx
-### `isOpen` ã䜿ã
+### `isOpen` ã䜿ã {/* #using-isopen */}
`ion-action-sheet` ã® `isOpen` ããããã£ã¯ãéçºè
ãã¢ããªã±ãŒã·ã§ã³ã®ç¶æ
ããã¢ã¯ã·ã§ã³ã·ãŒãã®è¡šç€ºç¶æ
ãå¶åŸ¡ããããšãå¯èœã«ããŸããã€ãŸãã`isOpen`ã`true`ã«èšå®ããããšã¢ã¯ã·ã§ã³ã·ãŒãã衚瀺ããã`isOpen`ã`false`ã«èšå®ããããšã¢ã¯ã·ã§ã³ã·ãŒãã¯è§£é€ãããŸãã
@@ -44,7 +44,7 @@ import IsOpen from '@site/static/usage/v9/action-sheet/inline/isOpen/index.mdx';
-## Controller ã¢ã¯ã·ã§ã³ã·ãŒã
+## Controller ã¢ã¯ã·ã§ã³ã·ãŒã {/* #controller-action-sheets */}
ã¢ã¯ã·ã§ã³ã·ãŒãã®è¡šç€ºã»é衚瀺ããã现ããå¶åŸ¡ãããå Žåã¯ã`actionSheetController`ã䜿çšããããšãã§ããŸãã
@@ -52,13 +52,13 @@ import Controller from '@site/static/usage/v9/action-sheet/controller/index.mdx'
-## Buttons
+## Buttons {/* #buttons */}
Buttonã® `role` ããããã£ã¯ã `destructive` ã `cancel` ã®ã©ã¡ãããå©çšã§ããŸãã roleããããã£ããªãå Žåã¯ããã©ãããã©ãŒã ã«å¿ããããã©ã«ãã®å€èгãšãªããŸãã`cancel` role ãæã€Buttonã¯ãé
å `buttons` ã®ã©ãã«é
眮ããŠãã¢ã¯ã·ã§ã³ã·ãŒãã®æäžéšã«è¡šç€ºãããŸãã Note: `destructive` roleãã€ããButtonã¯ãäžçªäžã®ButtonãšããŠé
眮ããããšãããããããŸãããŸããèæ¯ãã¿ããããŠã¢ã¯ã·ã§ã³ã·ãŒããç Žæ£ããå Žåãcancel role ã«èšå®ãããŠããhandlerãå®è¡ãããŸãã
Button㯠`ActionSheetButton` ã® `data` ããããã£ãä»ããŠããŒã¿ãæž¡ãããšãã§ããŸãããã㯠`onDidDismiss` ã¡ãœããã®æ»ãå€ã«ãã `data` ãã£ãŒã«ãã«ããŒã¿ãå
¥åããŸãã
-## Collecting Role Information on Dismiss
+## Collecting Role Information on Dismiss {/* #collecting-role-information-on-dismiss */}
`didDismiss` ã€ãã³ããçºçãããšãã€ãã³ã詳现㮠`data` ãš `role` ãã£ãŒã«ãã䜿çšããŠãã¢ã¯ã·ã§ã³ã·ãŒããã©ã®ããã«åŽäžããããã«ã€ããŠã®æ
å ±ãåéããããšãã§ããŸãã
@@ -66,11 +66,11 @@ import RoleInfo from '@site/static/usage/v9/action-sheet/role-info-on-dismiss/in
-## ããŒã
+## ããŒã {/* #theming */}
ã¢ã¯ã·ã§ã³ã·ãŒãã¯scopedã«ããã«ãã»ã«åãæ¡çšããŠãããå®è¡æã«åã¹ã¿ã€ã«ã«ã¯ã©ã¹ã远å ããããšã§ãèªåçã«CSSãã¹ã³ãŒãåããŸããCSSã§scopedã»ã¬ã¯ã¿ããªãŒããŒã©ã€ãããã«ã¯ã[higher specificity](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity) ã»ã¬ã¯ã¿ãå¿
èŠã§ãã
-### ã¹ã¿ã€ãªã³ã°
+### ã¹ã¿ã€ãªã³ã° {/* #styling */}
ç§ãã¡ã¯ã `create` ã¡ãœããã§ `cssClass` ã«ã«ã¹ã¿ã ã¯ã©ã¹ãæž¡ããããã䜿ã£ãŠãã¹ããšå
éšèŠçŽ ã«ã«ã¹ã¿ã ã¹ã¿ã€ã«ã远å ããããšããå§ãããŸãããã®ããããã£ã¯ãã¹ããŒã¹ã§åºåãããè€æ°ã®ã¯ã©ã¹ãåãä»ããããšãã§ããŸãã
@@ -90,7 +90,7 @@ import Styling from '@site/static/usage/v9/action-sheet/theming/styling/index.md
-## CSSã«ã¹ã¿ã ããããã£
+### CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
[CSSã«ã¹ã¿ã ããããã£](#css-custom-properties-1) ã¯ãåã
ã®èŠçŽ ã察象ãšããããšãªããã¢ã¯ã·ã§ã³ã·ãŒãã®ã¹ã¿ã€ã«ã«äœ¿çšããããšãã§ããŸãã
@@ -98,17 +98,17 @@ import CssCustomProperties from '@site/static/usage/v9/action-sheet/theming/css-
-## ã¢ã¯ã»ã·ããªãã£
+## ã¢ã¯ã»ã·ããªã㣠{/* #accessibility */}
-### Screen Readers
+### Screen Readers {/* #screen-readers */}
ã¢ã¯ã·ã§ã³ã·ãŒãã¯ãã¹ã¯ãªãŒã³ãªãŒããŒã«ãšã£ãŠ [ã¢ã¯ã»ã·ãã«](../reference/glossary#a11y) ã§ããããã«ariaããããã£ãèšå®ããŸããããããã®ããããã£ã¯ãååãªèª¬æã«ãªã£ãŠããªãã£ãããã¢ã¯ã·ã§ã³ã·ãŒããã¢ããªã§ã©ã®ããã«äœ¿çšãããŠãããã«åã£ãŠããªãã£ããããå ŽåããªãŒããŒã©ã€ãããããšãã§ããŸãã
-#### Role
+#### Role {/* #role */}
ã¢ã¯ã·ã§ã³ã·ãŒãã«ã¯ `role` ãšã㊠[`dialog`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/dialog_role) ãèšå®ãããŸããARIA仿§ã«åãããããã«ã¯ã`aria-label`屿§ã`aria-labelledby`屿§ã®ã©ã¡ãããèšå®ããªããã°ãªããŸããã
-#### Action Sheet ã®æŠèŠ
+#### Action Sheet ã®æŠèŠ {/* #action-sheet-description */}
Ionicã¯èªåçã«ããããŒèŠçŽ ãæãããã« `aria-labelledby` ãèšå®ããã®ã§ããã¹ãŠã®ã¢ã¯ã·ã§ã³ã·ãŒãã«ã¯ `header` ããããã£ãå®çŸ©ããããšãåŒ·ãæšå¥šããŸãããããã`header`ãå«ããªãå Žåã¯ã`htmlAttributes`ããããã£ã䜿ã£ãŠã説æçãª`aria-label`ãæå®ããããã«ã¹ã¿ã ã®`aria-labelledby`å€ãèšå®ããããšãã§ããŸãã
@@ -164,7 +164,7 @@ const actionSheet = await actionSheetController.create({
-#### Action Sheet Buttons ã®æŠèŠ
+#### Action Sheet Buttons ã®æŠèŠ {/* #action-sheet-buttons-description */}
ããã¹ããå«ããã¿ã³ã¯ã¹ã¯ãªãŒã³ãªãŒããŒã«ãã£ãŠèªã¿åãããããã¿ã³ãã¢ã€ã³ã³ã®ã¿ãå«ãã§ããå Žåããæ¢åã®ããã¹ã以å€ã®èª¬æãå¿
èŠãªå Žåã¯ããã¿ã³ã® `htmlAttributes` ããããã£ã« `aria-label` ãæž¡ããŠãã©ãã«ããã¿ã³ã«å²ãåœãŠãå¿
èŠããããŸãã
@@ -244,9 +244,9 @@ const actionSheet = await actionSheetController.create({
-## Interfaces
+## Interfaces {/* #interfaces */}
-### ActionSheetButton
+### ActionSheetButton {/* #actionsheetbutton */}
```typescript
interface ActionSheetButton {
@@ -261,7 +261,7 @@ interface ActionSheetButton {
}
```
-### ActionSheetOptions
+### ActionSheetOptions {/* #actionsheetoptions */}
```typescript
interface ActionSheetOptions {
@@ -282,26 +282,26 @@ interface ActionSheetOptions {
}
```
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties-1 */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/alert.mdx b/docs/api/alert.mdx
index 647bd85f670..f3f7522bf8b 100644
--- a/docs/api/alert.mdx
+++ b/docs/api/alert.mdx
@@ -26,7 +26,7 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
ã¢ã©ãŒãã¯ããŠãŒã¶ãŒã«æ
å ±ãæç€ºããããInputã䜿ã£ãŠãŠãŒã¶ãŒããæ
å ±ãåéããããããã€ã¢ãã°ã§ãããã¢ã©ãŒãã¯ã¢ããªã®ã³ã³ãã³ãã®äžã«è¡šç€ºãããã¢ããªãšã®å¯Ÿè©±ãåéããåã«ããŠãŒã¶ãŒãæåã§è§£é€ããå¿
èŠããããŸãããŸãããªãã·ã§ã³ã§ `header`ã`subHeader`ã`message` ãæã€ããšãã§ããŸãã
-## ã€ã³ã©ã€ã³ã¢ã©ãŒã(æšå¥š)
+## ã€ã³ã©ã€ã³ã¢ã©ãŒã(æšå¥š) {/* #inline-alerts-recommended */}
`ion-alert` ã¯ããã³ãã¬ãŒãã«çŽæ¥ã³ã³ããŒãã³ããèšè¿°ããŠäœ¿çšããããšãã§ããŸããããã«ãããã¢ã©ãŒãã衚瀺ããããã«å¿
èŠãªãã³ãã©ã®æ°ãæžããããšãã§ããŸãã
@@ -34,7 +34,7 @@ import Trigger from '@site/static/usage/v9/alert/presenting/trigger/index.mdx';
-### `isOpen` ã䜿ã
+### `isOpen` ã䜿ã {/* #using-isopen */}
`ion-alert` ã® `isOpen` ããããã£ã¯ãéçºè
ãã¢ããªã±ãŒã·ã§ã³ã®ç¶æ
ããã¢ã©ãŒãã®è¡šç€ºç¶æ
ãå¶åŸ¡ããããšãå¯èœã«ããŸããã€ãŸãã`isOpen` ã `true` ã«èšå®ãããšã¢ã©ãŒãã衚瀺ããã`isOpen` ã `false` ã«èšå®ãããšã¢ã©ãŒãã¯è§£é€ãããŸãã
@@ -44,7 +44,7 @@ import IsOpen from '@site/static/usage/v9/alert/presenting/isOpen/index.mdx';
-## Controller Alerts
+## Controller Alerts {/* #controller-alerts */}
`alertController`ã¯ãã¢ã©ãŒãã衚瀺ããã¿ã€ãã³ã°ãè§£é€ããã¿ã€ãã³ã°ããã现ããå¶åŸ¡ããå¿
èŠãããå Žåã«äœ¿çšããããšãã§ããŸãã
@@ -52,7 +52,7 @@ import Controller from '@site/static/usage/v9/alert/presenting/controller/index.
-## Buttons
+## Buttons {/* #buttons */}
`buttons` ã®é
åã«ã¯ãåbuttonã® `text` ã®ããããã£ãšããªãã·ã§ã³ã§ `handler` ãå©çšããããšãã§ããŸãã `handler` ã `false` ãè¿ããå Žåãbuttonãã¯ãªãã¯ãããŠãAlertã¯èªåçã«è§£é€ãããŸããããã¹ãŠã® `buttons` ã¯ãå·Šããå³ã«ãã¿ã³é
åã«è¿œå ãããé åºã§è¡šç€ºãããŸãã Note: äžçªå³ã®ãã¿ã³(é
åã®æåŸã®1ã€)ãã¡ã€ã³ãã¿ã³ã§ãã
@@ -62,23 +62,23 @@ import Buttons from '@site/static/usage/v9/alert/buttons/index.mdx';
-## Inputs
+## Inputs {/* #inputs */}
Alertã«ã¯ãè€æ°ã®ç°ãªãInputãå«ããããšãã§ãããã®ããŒã¿ãã¢ããªã§åãåãããšãã§ããŸãã Inputã¯ãŠãŒã¶ãŒã«æ
å ±ã®å
¥åãä¿ãç°¡åãªæ¹æ³ãšããŠäœ¿çšã§ããŸããRadios, checkboxes ãš text inputs textarea ã¯ãã¹ãŠå©çšã§ããŸãããããããæ··ããŠå©çšããããšã¯ã§ããŸãããäŸãã°ãAlertã¯ãã¹ãŠbutton Inputã§ãã£ããããã¹ãŠcheckboxã§ã®Inputãæã€ããšã¯ã§ããŸãããåäžã®Alertã«radioãšcheckbox Inputãæ··ããããšã¯ã§ããŸããããã ãã"text" Inputã§ã¯ã `url`, `email`, `text` ãªã©ã®è€æ°ã®typeãæ··ããŠå©çšããããšã¯ã§ããŸããã¢ã©ãŒãã®ã¬ã€ãã©ã€ã³ã«åãŸããªãè€éãªForm UIãå¿
èŠãªå Žåã¯ã代ããã«Modalå
ã§Formãæ§ç¯ããããšããå§ãããŸãã
-### Text Inputs Example
+### Text Inputs Example {/* #text-inputs-example */}
import TextInputs from '@site/static/usage/v9/alert/inputs/text-inputs/index.mdx';
-### Radio Example
+### Radio Example {/* #radio-example */}
import Radios from '@site/static/usage/v9/alert/inputs/radios/index.mdx';
-## ã«ã¹ã¿ãã€ãº
+## ã«ã¹ã¿ãã€ãº {/* #customization */}
Alertã¯scopedã«ããã«ãã»ã«åã䜿çšããŠãããå®è¡æã«åã¹ã¿ã€ã«ã«ã¯ã©ã¹ã远å ããããšã§èªåçã«CSSãã¹ã³ãŒãããŸããCSSã§scopedã»ã¬ã¯ã¿ããªãŒããŒã©ã€ãããã«ã¯ã[higher specificity](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity) ã»ã¬ã¯ã¿ãå¿
èŠã§ãã
@@ -112,17 +112,17 @@ import Customization from '@site/static/usage/v9/alert/customization/index.mdx';
Ionicã®Angularã¢ããªãæ§ç¯ããå Žåãã¹ã¿ã€ã«ã¯ã°ããŒãã«ãªã¹ã¿ã€ã«ã·ãŒããã¡ã€ã«ã«è¿œå ããå¿
èŠããããŸãã
:::
-## ã¢ã¯ã»ã·ããªãã£
+## ã¢ã¯ã»ã·ããªã㣠{/* #accessibility */}
-### Screen Readers
+### Screen Readers {/* #screen-readers */}
ã¢ã©ãŒãã¯ãã¹ã¯ãªãŒã³ãªãŒããŒã«ãšã£ãŠ[ã¢ã¯ã»ã·ãã«](../reference/glossary#a11y)ã§ããããã«ãariaããããã£ãèšå®ããŸããããããã®ããããã£ã¯ãååãªèª¬æããªãå ŽåããŸãã¯ã¢ã©ãŒããã¢ããªã§ã©ã®ããã«äœ¿çšãããŠããããšäžèŽããªãå Žåã¯ããªãŒããŒã©ã€ãããããšãã§ããŸãã
-#### Role
+#### Role {/* #role */}
Ionicã¯èªåçã«ã¢ã©ãŒãã®`role`ããå
¥åããã¿ã³ãããå Žåã¯[`alertdialog`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/alertdialog_role)ã«ãäœããªãå Žåã¯[`alert`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/alert_role)ã«èšå®ããŸãã
-#### Alert ã®æŠèŠ
+#### Alert ã®æŠèŠ {/* #alert-description */}
ã¢ã©ãŒãã« `header` ããããã£ãå®çŸ©ãããŠããå Žåã`aria-labelledby` 屿§ã¯èªåçã«ãããã® ID ã«èšå®ãããŸãã `header` ãå®çŸ©ãããŠããªãå Žåã`subHeader` èŠçŽ ããã©ãŒã«ããã¯ãšããŠäœ¿çšãããŸããåæ§ã«ã `aria-describedby` 屿§ãå®çŸ©ãããŠããå Žåã¯ãèªåçã« `message` èŠçŽ ã® ID ãèšå®ãããŸãã
@@ -186,7 +186,7 @@ const alert = await alertController.create({
ãã¹ãŠã®ARIA屿§ã¯ãã¢ã©ãŒãã®`htmlAttributes`ããããã£ã«ã«ã¹ã¿ã å€ãå®çŸ©ããããšã§ãæåã§äžæžãããããšãã§ããŸãã
-#### Alert Buttons ã®æŠèŠ
+#### Alert Buttons ã®æŠèŠ {/* #alert-buttons-description */}
ããã¹ããå«ããã¿ã³ã¯ã¹ã¯ãªãŒã³ãªãŒããŒã«ãã£ãŠèªã¿åãããŸããæ¢åã®ããã¹ã以å€ã®èª¬æãå¿
èŠãªå Žåã¯ããã¿ã³ã®`htmlAttributes`ããããã£ã«`aria-label`ãæž¡ããŠããã¿ã³ã«ã©ãã«ãèšå®ã§ããŸãã
@@ -266,9 +266,9 @@ const alert = await alertController.create({
-## Interfaces
+## Interfaces {/* #interfaces */}
-### AlertButton
+### AlertButton {/* #alertbutton */}
```typescript
type AlertButtonOverlayHandler = boolean | void | { [key: string]: any };
@@ -283,7 +283,7 @@ interface AlertButton {
}
```
-### AlertInput
+### AlertInput {/* #alertinput */}
```typescript
interface AlertInput {
@@ -307,7 +307,7 @@ interface AlertInput {
}
```
-### AlertOptions
+### AlertOptions {/* #alertoptions */}
```typescript
interface AlertOptions {
@@ -331,26 +331,26 @@ interface AlertOptions {
}
```
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/app.mdx b/docs/api/app.mdx
index b483e717e08..c2bcb9fe6d7 100644
--- a/docs/api/app.mdx
+++ b/docs/api/app.mdx
@@ -30,7 +30,7 @@ Appã¯Ionicã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããèŠçŽ ã§ãã1ã€ã®ãã
- Material Design ã¢ãŒãã§ã®ãã¿ã³æäœæã®[Ripple effect](./ripple-effect.mdx) ã䜿ããŸãã
- Ionicã¢ããªã®äœ¿çšæããããã€ãã£ããªãã®ã«ããããã®ä»ã®ã¿ããããã©ãŒã«ã¹ã®ãŠãŒãã£ãªãã£ã䜿ããŸãã
-## ããã°ã©ã ã«ãããã©ãŒã«ã¹
+## ããã°ã©ã ã«ãããã©ãŒã«ã¹ {/* #programmatic-focus */}
Ionicã¯ã`ion-focusable`ã¯ã©ã¹ãæã€ã³ã³ããŒãã³ãçšã®ãã©ãŒã«ã¹ãŠãŒãã£ãªãã£ãæäŸããŸãããããã®ãŠãŒãã£ãªãã£ã¯ãTabãªã©ã®ç¹å®ã®ããŒããŒãããŒãæŒããããšãã«ãã³ã³ããŒãã³ãã®ãã©ãŒã«ã¹ãèªåçã«ç®¡çããŸããã³ã³ããŒãã³ãã¯ã`ion-app`ã®`setFocus`ã¡ãœããã䜿çšããŠããŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ã«å¿ããŠããã°ã©ã ã§ãã©ãŒã«ã¹ãèšå®ããããšãã§ããŸãã
@@ -38,26 +38,26 @@ import SetFocus from '@site/static/usage/v9/app/set-focus/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/avatar.mdx b/docs/api/avatar.mdx
index 4e0320a78e3..09f86ae4111 100644
--- a/docs/api/avatar.mdx
+++ b/docs/api/avatar.mdx
@@ -25,52 +25,52 @@ Avatarã¯éåžžãåçãã¢ã€ã³ã³ãã©ããããå圢ã®ã³ã³ããŒ
Avatarã¯ãåç¬ã§äœ¿çšããããšããä»»æã®èŠçŽ ã®å
éšã§äœ¿çšããããšãã§ããŸãã`ion-chip` ãŸã㯠`ion-item` ã®å
éšã«é
眮ãããšãAvatarã¯èŠªã³ã³ããŒãã³ãã«åãããŠãµã€ãºå€æŽããŸããAvatarãitemã®å·ŠåŽãŸãã¯å³åŽã«é
眮ããã«ã¯ã`slot` ã `start` ã `end` ã«èšå®ããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/avatar/basic/index.mdx';
-## Chip Avatar
+## Chip Avatar {/* #chip-avatar */}
import Chip from '@site/static/usage/v9/avatar/chip/index.mdx';
-## Item Avatar
+## Item Avatar {/* #item-avatar */}
import Item from '@site/static/usage/v9/avatar/item/index.mdx';
-## ããŒã
+## ããŒã {/* #theming */}
-## CSSã«ã¹ã¿ã ããããã£
+### CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
import CSSProps from '@site/static/usage/v9/avatar/theming/css-properties/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties-1 */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/back-button.mdx b/docs/api/back-button.mdx
index ee91ecf2467..d548779f2e7 100644
--- a/docs/api/back-button.mdx
+++ b/docs/api/back-button.mdx
@@ -23,13 +23,13 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Back Buttonã¯ãã¯ãªãã¯ããããšã¢ããªã®å±¥æŽã«æ»ãããã«ããã²ãŒãããŸãããã®ãã¿ã³ã¯ãããã²ãŒã·ã§ã³ã¹ã¿ãã¯ã«å±¥æŽããããšãã®ã¿è¡šç€ºãããŸãããã ãã [`defaultHref`](#default-back-history) ãèšå®ãããŠããå Žåã¯é€ããŸããæ»ããã¿ã³ã¯ã¢ãŒãã«å¿ããŠç°ãªãããã¹ããšã¢ã€ã³ã³ã衚瀺ããŸãããããã¯ã«ã¹ã¿ãã€ãºããããšãã§ããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/back-button/basic/index.mdx';
-## ã«ã¹ã¿ã ã®Back Button
+## ã«ã¹ã¿ã ã®Back Button {/* #custom-back-button */}
ããã©ã«ãã§ã¯ãæ»ããã¿ã³ã¯`ios`ã§ã¯`"chevron-back"`ã¢ã€ã³ã³ä»ãã§`"Back"`ã®ããã¹ãã衚瀺ãã`md`ã§ã¯`"arrow-back-sharp"`ã¢ã€ã³ã³ã衚瀺ããŸããããã¯ãåæ»ããã¿ã³ã³ã³ããŒãã³ãããšã«`icon`ãŸãã¯`text`ããããã£ãèšå®ããããšã§ã«ã¹ã¿ãã€ãºå¯èœã§ãããããã¯ãã°ããŒãã«èšå®ã§`backButtonIcon`ãŸãã¯`backButtonText`ããããã£ã䜿çšããŠã°ããŒãã«ã«èšå®ããããšãã§ããŸãã詳现ã¯[Configããã¥ã¡ã³ã](../developing/config)ãåç
§ããŠãã ããã
@@ -41,26 +41,26 @@ import Custom from '@site/static/usage/v9/back-button/custom/index.mdx';
ææãã¢ããªãå±¥æŽããªããšãã«æ»ããã¿ã³ã衚瀺ããããã²ãŒãããå¿
èŠãããå ŽåããããŸãããã®å Žåãæ»ããã¿ã³ã® `defaultHref` ããã¹ã«èšå®ããããšã§å®çŸã§ããŸãã `defaultHref` ã䜿çšããã«ã¯ãã¢ããªã«ãã¹ãèšå®ãããã«ãŒã¿ãŒãå«ãŸããŠããå¿
èŠããããŸãã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/backdrop.mdx b/docs/api/backdrop.mdx
index 2266ed37bba..12f83355a9f 100644
--- a/docs/api/backdrop.mdx
+++ b/docs/api/backdrop.mdx
@@ -15,7 +15,7 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Backdropã¯ãä»ã®ã³ã³ããŒãã³ãããªãŒããŒã¬ã€ãããããã«ã¹ã¯ãªãŒã³ã®ã³ã³ããŒãã³ãã§ãããããã¯ãä»ã®ã³ã³ãã³ãã®äžã«é·ç§»ããã³ã³ããŒãã³ãã®ããã¯ã°ã©ãŠã³ãã§åœ¹ç«ã¡ããã®ã³ã³ããŒãã³ããåé€ããããã«äœ¿çšã§ããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
Backdropã¯ããã®åŸãã®ã³ã³ãã³ããã¯ãªãã¯ãããã¿ãããããããã®ãé²ããŸããããã©ã«ãã§ã¯éæãªã®ã§ãäžã®ãã¢ã§ã¯CSSã§èŠããããã«ããŠããŸãã
@@ -23,7 +23,7 @@ import Basic from '@site/static/usage/v9/backdrop/basic/index.mdx';
-## ã¹ã¿ã€ãªã³ã°
+## ã¹ã¿ã€ãªã³ã° {/* #styling */}
ããã¯ããããã¯ãCSSããããã£ãããã¯ããããèŠçŽ ã«çŽæ¥å²ãåœãŠãããšã§ãã«ã¹ã¿ãã€ãºããããšãã§ããŸããäžè¬çãªããããã£ã«ã¯ `background-color`, `background`, `opacity` ããããŸãã
@@ -33,26 +33,26 @@ import Styling from '@site/static/usage/v9/backdrop/styling/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/badge.mdx b/docs/api/badge.mdx
index 8d3cfbf7cbe..02b3d282e11 100644
--- a/docs/api/badge.mdx
+++ b/docs/api/badge.mdx
@@ -23,13 +23,13 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
ãããžã¯ã€ã³ã©ã€ã³ãããã¯èŠçŽ ã§ãéåžžã¯ä»ã®èŠçŽ ã®è¿ãã«è¡šç€ºãããŸããéåžžãæ°åããã®ä»ã®æåãå«ãŸããŠããŸãããããžã¯ãããèŠçŽ ã«é¢é£ãã远å é
ç®ãããããšãç¥ããããããã®é
ç®ã®æ°ã瀺ãããããããã«äœ¿çšãããŸãããããžã¯ãã³ã³ãã³ããæž¡ãããªããšé衚瀺ã«ãªããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/badge/basic/index.mdx';
-## Tabãã¿ã³å
ã®ãããž
+## Tabãã¿ã³å
ã®ãããž {/* #badges-in-tab-buttons */}
ãããžã¯Tabãã¿ã³å
ã«è¿œå ããããšãã§ããå€ãã®å Žåãéç¥ã瀺ããããèŠçŽ ã«é¢é£ãã远å é
ç®ã匷調ããããã«äœ¿çšãããŸãã
@@ -41,40 +41,40 @@ import InsideTabBar from '@site/static/usage/v9/badge/inside-tab-bar/index.mdx';
-## ããŒã
+## ããŒã {/* #theming */}
-### Colors
+### Colors {/* #colors */}
import Colors from '@site/static/usage/v9/badge/theming/colors/index.mdx';
-### CSS Properties
+### CSS Properties {/* #css-properties */}
import CSSProps from '@site/static/usage/v9/badge/theming/css-properties/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/breadcrumb.mdx b/docs/api/breadcrumb.mdx
index 1ccca38123b..8039f39fff2 100644
--- a/docs/api/breadcrumb.mdx
+++ b/docs/api/breadcrumb.mdx
@@ -17,9 +17,9 @@ Breadcrumbã¯ãBreadcrumbsã³ã³ããŒãã³ãã®åã§ãããåäžã®ã
詳现ã¯[Breadcrumbs](./breadcrumbs)ã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
-## Interfaces
+## Interfaces {/* #interfaces */}
-### BreadcrumbCollapsedClickEventDetail
+### BreadcrumbCollapsedClickEventDetail {/* #breadcrumbcollapsedclickeventdetail */}
```typescript
interface BreadcrumbCollapsedClickEventDetail {
@@ -27,7 +27,7 @@ interface BreadcrumbCollapsedClickEventDetail {
}
```
-### BreadcrumbCustomEvent
+### BreadcrumbCustomEvent {/* #breadcrumbcustomevent */}
å¿
é ã§ã¯ãããŸãããããã匷ãåä»ãã®ããã«ããã®ã€ã³ã¿ãŒãã§ãŒã¹ã `CustomEvent` ã€ã³ã¿ãŒãã§ãŒã¹ã®ä»£ããã«äœ¿çšããããšãã§ããŸãã
@@ -38,26 +38,26 @@ interface BreadcrumbCustomEvent extends CustomEvent {
}
```
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/breadcrumbs.mdx b/docs/api/breadcrumbs.mdx
index 4410af756c0..f05f26687cb 100644
--- a/docs/api/breadcrumbs.mdx
+++ b/docs/api/breadcrumbs.mdx
@@ -15,29 +15,29 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Breadcrumbsã¯ããŠãŒã¶ãŒãã¢ããªããµã€ãã®ã©ãã«ããã®ãã瀺ãããã«äœ¿çšãããããã²ãŒã·ã§ã³ã¢ã€ãã ã§ããå€§èŠæš¡ãªãµã€ãããéå±€çã«é
眮ãããããŒãžãæã€ã¢ããªã§äœ¿çšããå¿
èŠããããŸããBreadcrumbsã¯ã衚瀺å¯èœãªæå€§æ°ã«å¿ããŠæããããããšãã§ããæããããã ã€ã³ãžã±ãŒã¿ãã¯ãªãã¯ãããšã詳现æ
å ±ã瀺ãããããªãŒããŒã衚瀺ãããæããããã Breadcrumbãå±éããããšãã§ããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/breadcrumbs/basic/index.mdx';
-## Using Icons
+## Using Icons {/* #using-icons */}
-### ã¢ã€ãã ã§ã®ã¢ã€ã³ã³
+### ã¢ã€ãã ã§ã®ã¢ã€ã³ã³ {/* #icons-on-items */}
import IconsOnItems from '@site/static/usage/v9/breadcrumbs/icons/icons-on-items/index.mdx';
-### Custom Separators
+### Custom Separators {/* #custom-separators */}
import CustomSeparators from '@site/static/usage/v9/breadcrumbs/icons/custom-separators/index.mdx';
-## Collapsing Items
+## Collapsing Items {/* #collapsing-items */}
-### Max Items
+### Max Items {/* #max-items */}
`maxItems` ã®å€ãããå€ãã®ã¢ã€ãã ãããå Žåãbreadcrumbsã¯æããããŸããŸããããã©ã«ãã§ã¯ãæåãšæåŸã®ã¢ã€ãã ã®ã¿ã衚瀺ãããŸãã
@@ -45,7 +45,7 @@ import MaxItems from '@site/static/usage/v9/breadcrumbs/collapsing-items/max-ite
-### Items Before or After Collapse
+### Items Before or After Collapse {/* #items-before-or-after-collapse */}
ã¢ã€ãã ãæããããŸããåŸã衚瀺ããã¢ã€ãã ã®æ°ã¯ `itemsBeforeCollapse` ãš `itemsAfterCollapse` ããããã£ã§å¶åŸ¡ããããšãã§ããŸãã
@@ -53,7 +53,7 @@ import ItemsBeforeAfter from '@site/static/usage/v9/breadcrumbs/collapsing-items
-### Collapsed Indicator Click -- Expand Breadcrumbs
+### Collapsed Indicator Click -- Expand Breadcrumbs {/* #collapsed-indicator-click----expand-breadcrumbs */}
ã€ã³ãžã±ãŒã¿ãã¯ãªãã¯ãããšã`ionCollapsedClick` ã€ãã³ããçºçããŸããããã¯ãäŸãã°ãbreadcrumbsãå±éããããã«äœ¿ãããšãã§ããŸãã
@@ -61,7 +61,7 @@ import ExpandOnClick from '@site/static/usage/v9/breadcrumbs/collapsing-items/ex
-### Collapsed Indicator Click -- Present Popover
+### Collapsed Indicator Click -- Present Popover {/* #collapsed-indicator-click----present-popover */}
ãŸãã`ionCollapsedClick` ã€ãã³ãã¯ãé ããããã³ããã衚瀺ãããªãŒããŒã¬ã€ïŒãã®å Žå㯠`ion-popover` ïŒãæç€ºããããã«äœ¿çšããããšãã§ããŸãã
@@ -69,40 +69,40 @@ import PopoverOnClick from '@site/static/usage/v9/breadcrumbs/collapsing-items/p
-## ããŒã
+## ããŒã {/* #theming */}
-### Colors
+### Colors {/* #colors */}
import Colors from '@site/static/usage/v9/breadcrumbs/theming/colors/index.mdx';
-## CSSã«ã¹ã¿ã ããããã£
+### CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
import CSSProps from '@site/static/usage/v9/breadcrumbs/theming/css-properties/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties-1 */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/button.mdx b/docs/api/button.mdx
index c488d9c4095..44399ba9f01 100644
--- a/docs/api/button.mdx
+++ b/docs/api/button.mdx
@@ -23,13 +23,13 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Buttonã¯ã¯ãªãã¯å¯èœãªèŠçŽ ãæäŸããFormå
ããæšæºã®åæ©èœãªButtonæ©èœãå¿
èŠãšããä»»æã®å Žæã§äœ¿çšã§ããŸããtextãiconããŸãã¯ãã®äž¡æ¹ã衚瀺ã§ããŸããButtonã¯ãããã€ãã®å±æ§ãå©çšããŠç¹å®ã®å€èгã«ãªãããã«ã¹ã¿ã€ã«èšå®ã§ããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/button/basic/index.mdx';
-## Expand
+## Expand {/* #expand */}
ãã®ããããã£ã§ã¯ããã¿ã³ã®å¹
ãæå®ããããšãã§ããŸããããã©ã«ãã§ã¯ããã¿ã³ã¯ `display: inline-block` ãæã¡ãŸããããã®ããããã£ãèšå®ãããšããã¿ã³ã¯ `display: block` ãæã€å
šè§èŠçŽ ã«å€æŽãããŸãã
@@ -37,7 +37,7 @@ import Expand from '@site/static/usage/v9/button/expand/index.mdx';
-## Shape
+## Shape {/* #shape */}
ãã®ããããã£ã¯ããã¿ã³ã®åœ¢ç¶ãæå®ããããšãã§ããŸããããã©ã«ãã§ã¯ããã¿ã³ã¯å°ããªããŒããŒååŸãæã€é·æ¹åœ¢ã§ãããããã `"round"` ã«èšå®ãããšããã¿ã³ã¯äžžã¿ã垯ã³ãèŠçŽ ã«å€æŽãããŸãã
@@ -45,7 +45,7 @@ import Shape from '@site/static/usage/v9/button/shape/index.mdx';
-## Fill
+## Fill {/* #fill */}
ãã®å±æ§ã¯ãButtonã®backgroundãšborder-colorãèšå®ããŸããããã©ã«ãã§ã¯ãButtonã¯toolbarå
ã«ãªãéããbackgroundã¯å¡ãã€ã¶ãããŸããtoolbarå
ã«ããå Žåã¯ãbackgroundã¯éæã«ãªããŸãã
@@ -53,7 +53,7 @@ import Fill from '@site/static/usage/v9/button/fill/index.mdx';
-## Size
+## Size {/* #size */}
ãã®å±æ§ã¯ãButtonã®ãµã€ãºãæå®ããŸãããã®å±æ§ãèšå®ãããšãButtonã®é«ããšpaddingã倿ŽãããŸã
@@ -61,31 +61,31 @@ import Size from '@site/static/usage/v9/button/size/index.mdx';
-## Icons
+## Icons {/* #icons */}
import Icons from '@site/static/usage/v9/button/icons/index.mdx';
-## ããŒã
+## ããŒã {/* #theming */}
-### Colors
+### Colors {/* #colors */}
import Colors from '@site/static/usage/v9/button/theming/colors/index.mdx';
-## CSSã«ã¹ã¿ã ããããã£
+### CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
import CSSProps from '@site/static/usage/v9/button/theming/css-properties/index.mdx';
-## ã¢ã¯ã»ã·ããªãã£
+## ã¢ã¯ã»ã·ããªã㣠{/* #accessibility */}
ãã¿ã³ã¯ã¢ã¯ã»ã¹ããããããã«äœãããŠããŸããããã®å
容ã«ãã£ãŠã¯èª¿æŽãå¿
èŠãªå ŽåããããŸãããã¿ã³ã³ã³ããŒãã³ãã¯ããã€ãã£ãã®[button element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button)ãã¬ã³ããªã³ã°ãããã€ãã£ãã®ãã¿ã³ãæäŸããæ©èœãå©çšã§ããããã«ããŸãã
-### Overflowing Text Content
+### Overflowing Text Content {/* #overflowing-text-content */}
ãã¿ã³ã®ããã¹ãã»ã³ã³ãã³ããã³ã³ããããã¯ã¿åºãå Žåãå€ã
ãããŸãããã®ãããªå Žåããã¹ãŠã®ããã¹ãããŸã èªããããã«ããã¿ã³ã®å
åŽã«ããã¹ããæãè¿ãããšããå§ãããŸãããã¿ã³ã³ã³ããŒãã³ãã¯ãããã¹ãã®äœåãªè¡ãå容ããããã«ããã®é«ããèªåçã«èª¿æŽããŸãã
@@ -99,26 +99,26 @@ import TextWrapping from '@site/static/usage/v9/button/text-wrapping/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties-1 */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/buttons.mdx b/docs/api/buttons.mdx
index 03361246863..e7d67d5d692 100644
--- a/docs/api/buttons.mdx
+++ b/docs/api/buttons.mdx
@@ -23,13 +23,13 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Buttonsã³ã³ããŒãã³ãã¯ãã³ã³ããèŠçŽ ã§ãã [ããŒã«ããŒ](./toolbar) ã®å
éšã§äœ¿çšããæšæºã®[ãã¿ã³](./button)ã[ã¡ãã¥ãŒãã¿ã³](./menu-button)ã[æ»ããã¿ã³](./back-button)ãå«ãããã€ãã®ã¿ã€ãã®ãã¿ã³ãå«ããããšãã§ããã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/buttons/basic/index.mdx';
-## Buttons Placement
+## Buttons Placement {/* #buttons-placement */}
ããŒã«ããŒå
ã®ãã¿ã³ã¯ãã¹ããããšããååã䜿ã£ãŠé
眮ããããšãã§ããŸããäžå³ã¯åã¹ãããã®èª¬æã§ãã
@@ -44,7 +44,7 @@ import Placement from '@site/static/usage/v9/buttons/placement/index.mdx';
-## Buttonsã®ã¿ã€ã
+## Buttonsã®ã¿ã€ã {/* #types-of-buttons */}
ããŒã«ããŒå
ã®ãã¿ã³ã¯ããã©ã«ãã§ã¯ãªã¢ã¹ã¿ã€ã«ã«èšå®ãããŠããŸããããã¿ã³ã®[`fill`](./button#fill)ããããã£ã䜿çšããŠå€æŽããããšãã§ããŸãããã®äŸã§[æ»ããã¿ã³](./back-button)ããã³[ã¡ãã¥ãŒãã¿ã³](./menu-button)ã«å«ãŸããããããã£ã¯è¡šç€ºç®çã®ããã®ãã®ã§ãããæ£ããäœ¿çšæ¹æ³ã«ã€ããŠã¯ããããã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
@@ -52,7 +52,7 @@ import Types from '@site/static/usage/v9/buttons/types/index.mdx';
-## æãããã¿å¯èœãªãã¿ã³
+## æãããã¿å¯èœãªãã¿ã³ {/* #collapsible-buttons */}
ãã¿ã³ã« `collapse` ããããã£ãèšå®ãããšãããããŒãæããããŸãããšãã«ãã¿ã³ãæããããŸããŸããããã¯éåžžã[æãããã¿å¯èœãªå€§ããªã¿ã€ãã«](./title#collapsible-large-titles)ãšå
±ã«äœ¿çšããŸãã
@@ -67,26 +67,26 @@ import CollapsibleLargeTitleButtons from '@site/static/usage/v9/title/collapsibl
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/card-content.mdx b/docs/api/card-content.mdx
index 705861028bd..8e2b802962c 100644
--- a/docs/api/card-content.mdx
+++ b/docs/api/card-content.mdx
@@ -15,26 +15,26 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
詳现ã¯[Card](./card)ã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/card-header.mdx b/docs/api/card-header.mdx
index 7880946d147..d5c6da06c2b 100644
--- a/docs/api/card-header.mdx
+++ b/docs/api/card-header.mdx
@@ -17,26 +17,26 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
詳现ã¯[Card](./card)ã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/card-subtitle.mdx b/docs/api/card-subtitle.mdx
index 00ce6c8f3d1..d68b3950670 100644
--- a/docs/api/card-subtitle.mdx
+++ b/docs/api/card-subtitle.mdx
@@ -17,26 +17,26 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
詳现ã¯[Card](./card)ã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/card-title.mdx b/docs/api/card-title.mdx
index f9b510fe9be..3282e5afe06 100644
--- a/docs/api/card-title.mdx
+++ b/docs/api/card-title.mdx
@@ -25,26 +25,26 @@ Card titleã¯cardã®åã³ã³ããŒãã³ãã§ã[card header](./card-header)
詳现ã¯[Card](./card)ã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/card.mdx b/docs/api/card.mdx
index 54bf67031a2..66ec5fd3be8 100644
--- a/docs/api/card.mdx
+++ b/docs/api/card.mdx
@@ -27,64 +27,64 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
ã«ãŒãã¯ãã®æ§é ã«å¯Ÿå¿ãããããããã€ãã®ã³ã³ããŒãã³ãã«åå²ãããŸãã
[ã«ãŒãããã](./card-header)ã[ã«ãŒãã¿ã€ãã«](./card-title)ã[ã«ãŒããµãã¿ã€ãã«](./card-subtitle)ã[ã«ãŒãã³ã³ãã³ã](./card-content)ã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/card/basic/index.mdx';
-## Media Cards
+## Media Cards {/* #media-cards */}
import Media from '@site/static/usage/v9/card/media/index.mdx';
-## Card Buttons
+## Card Buttons {/* #card-buttons */}
import Buttons from '@site/static/usage/v9/card/buttons/index.mdx';
-## List Card
+## List Card {/* #list-card */}
import List from '@site/static/usage/v9/card/list/index.mdx';
-## ããŒã
+## ããŒã {/* #theming */}
-### Colors
+### Colors {/* #colors */}
import Colors from '@site/static/usage/v9/card/theming/colors/index.mdx';
-## CSSã«ã¹ã¿ã ããããã£
+### CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
import CSSProps from '@site/static/usage/v9/card/theming/css-properties/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties-1 */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/checkbox.mdx b/docs/api/checkbox.mdx
index fa13238da44..a5569a29747 100644
--- a/docs/api/checkbox.mdx
+++ b/docs/api/checkbox.mdx
@@ -23,13 +23,13 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Checkboxã䜿çšãããšãäžé£ã®ãªãã·ã§ã³ããè€æ°ã®ãªãã·ã§ã³ãéžæã§ããŸããéžæãããšããã§ãã¯ããŒã¯ãä»ããç¶æ
(checked)ã§è¡šç€ºãããŸããcheckboxãã¯ãªãã¯ãããšã `checked` ããããã£ãŒãåãæ¿ãããŸãã`checked` ããããã£ãèšå®ããŠãããã°ã©ã ã§ `checked` ãåãæ¿ããããšãã§ããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/checkbox/basic/index.mdx';
-## Label Placement
+## Label Placement {/* #label-placement */}
éçºè
㯠`labelPlacement` ããããã£ã䜿çšããŠãã©ãã«ãã³ã³ãããŒã«ã«å¯ŸããŠã©ã®ããã«é
眮ããããå¶åŸ¡ã§ããŸãããã®ããããã£ã¯ãã¬ãã¯ã¹ããã¯ã¹ã® `flex-direction` ããããã£ãåæ ããŠããŸãã
@@ -37,7 +37,7 @@ import LabelPlacement from '@site/static/usage/v9/checkbox/label-placement/index
-## Alignment
+## Alignment {/* #alignment */}
Developers can use the `alignment` property to control how the label and control are aligned on the cross axis. This property mirrors the flexbox `align-items` property.
@@ -49,7 +49,7 @@ import Alignment from '@site/static/usage/v9/checkbox/alignment/index.mdx';
-## Justification
+## Justification {/* #justification */}
éçºè
㯠`justify` ããããã£ã䜿çšããŠãã©ãã«ãšã³ã³ãããŒã«ã®è¡ã®è©°ãæ¹ãå¶åŸ¡ããããšãã§ããŸãããã®ããããã£ã¯ãã¬ãã¯ã¹ããã¯ã¹ã® `justify-content` ããããã£ãåæ ããŠããŸãã
@@ -61,13 +61,13 @@ import Justify from '@site/static/usage/v9/checkbox/justify/index.mdx';
`ion-item`ã¯ã `justify` ãã©ã®ããã«æ©èœãããã匷調ããããã«ãã¢ã§äœ¿çšãããŠããã ãã§ãã `justify` ãæ£ããæ©èœããããã«å¿
é ã§ã¯ãããŸããã
:::
-## Indeterminate Checkboxes
+## Indeterminate Checkboxes {/* #indeterminate-checkboxes */}
import Indeterminate from '@site/static/usage/v9/checkbox/indeterminate/index.mdx';
-## Links inside of Labels
+## Links inside of Labels {/* #links-inside-of-labels */}
Checkbox labels can sometimes be accompanied with links. These links can provide more information related to the checkbox. However, clicking the link should not check the checkbox. To achieve this, we can use [stopPropagation](https://developer.mozilla.org/en-US/docs/Web/API/Event/stopPropagation) to prevent the click event from bubbling. When using this approach, the rest of the label still remains clickable.
@@ -75,7 +75,7 @@ import LabelLink from '@site/static/usage/v9/checkbox/label-link/index.mdx';
-## Helper & Error Text
+## Helper & Error Text {/* #helper--error-text */}
Helper and error text can be used inside of a checkbox with the `helperText` and `errorText` property. The error text will not be displayed unless the `ion-invalid` and `ion-touched` classes are added to the `ion-checkbox`. This ensures errors are not shown before the user has a chance to enter data.
@@ -85,17 +85,17 @@ import HelperError from '@site/static/usage/v9/checkbox/helper-error/index.mdx';
-## Theming
+## Theming {/* #theming */}
-## CSSã«ã¹ã¿ã ããããã£
+### CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
import CSSProps from '@site/static/usage/v9/checkbox/theming/css-properties/index.mdx';
-## Interfaces
+## Interfaces {/* #interfaces */}
-### CheckboxChangeEventDetail
+### CheckboxChangeEventDetail {/* #checkboxchangeeventdetail */}
```typescript
interface CheckboxChangeEventDetail {
@@ -104,7 +104,7 @@ interface CheckboxChangeEventDetail {
}
```
-### CheckboxCustomEvent
+### CheckboxCustomEvent {/* #checkboxcustomevent */}
å¿
é ã§ã¯ãããŸãããããã®ã³ã³ããŒãã³ãããçºè¡ããã Ionic ã€ãã³ãã§ãã匷ãåä»ããè¡ãããã«ã`CustomEvent` ã€ã³ã¿ãŒãã§ãŒã¹ã®ä»£ããã«ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããããšãå¯èœã§ãã
@@ -115,26 +115,26 @@ interface CheckboxCustomEvent extends CustomEvent {
}
```
-## Properties
+## Properties {/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties-1 */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/chip.mdx b/docs/api/chip.mdx
index 74a30454a48..f58f735025a 100644
--- a/docs/api/chip.mdx
+++ b/docs/api/chip.mdx
@@ -23,52 +23,52 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Chipã¯é£çµ¡å
ãªã©ãè€æ°ã®å°ããªãšã³ãã£ãã£ã§è¡šç€ºããŸãã Chipã«ã¯avatars, text, ã iconsãªã©ãããã€ãã®ç°ãªãèŠçŽ ãå«ããããšãã§ããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/chip/basic/index.mdx';
-## Slotting Components and Icons
+## Slotting Components and Icons {/* #slotting-components-and-icons */}
import SlotExample from '@site/static/usage/v9/chip/slots/index.mdx';
-## ããŒã
+## ããŒã {/* #theming */}
-### Colors
+### Colors {/* #colors */}
import Colors from '@site/static/usage/v9/chip/theming/colors/index.mdx';
-## CSSã«ã¹ã¿ã ããããã£
+### CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
import CSSProps from '@site/static/usage/v9/chip/theming/css-properties/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties-1 */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/col.mdx b/docs/api/col.mdx
index 1a2f8fb82bf..0ac8dfc9c57 100644
--- a/docs/api/col.mdx
+++ b/docs/api/col.mdx
@@ -25,30 +25,30 @@ Columnã¯ã[Grid](./grid) ã·ã¹ãã ã®ã»ã«ã©ãŒã³ã³ããŒãã³ãã§
詳现ã¯[grid](./grid)ã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
-## Column Alignment
+## Column Alignment {/* #column-alignment */}
ããã©ã«ãã§ã¯ãã«ã©ã ã¯è¡ã®é«ãå
šäœãåããããã«åŒã䌞ã°ãããŸããã«ã©ã ã¯[ãã¬ãã¯ã¹ã¢ã€ãã ](https://developer.mozilla.org/en-US/docs/Glossary/Flex_Item)ãªã®ã§ããã®åäœãã«ã¹ã¿ãã€ãºããããã«ãã«ã©ã ã«é©çšã§ããããã€ãã®[CSSã¯ã©ã¹](/layout/css-utilities.mdx#flex-item-properties) ããããŸãã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/content.mdx b/docs/api/content.mdx
index c14c071b5fe..ac92cb23178 100644
--- a/docs/api/content.mdx
+++ b/docs/api/content.mdx
@@ -27,13 +27,13 @@ Contentã³ã³ããŒãã³ãã¯ãã¹ã¯ããŒã«å¯èœé åãå¶åŸ¡ããã
Contentã¯ãä»ã®å€ãã®Ionicã³ã³ããŒãã³ããšåæ§ã«ã [CSS Utilities](/layout/css-utilities.mdx) ã§æäŸãããã°ããŒãã«ã¹ã¿ã€ã«ã䜿çšããããCSSããã³äœ¿çšå¯èœãª [CSS Custom Properties](#css-custom-properties) ã䜿çšããŠåå¥ã«ã¹ã¿ã€ã«èšå®ããããšã«ãã£ãŠã`padding` ã `margin` ãªã©ã倿Žããããã«ã«ã¹ã¿ãã€ãºã§ããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/content/basic/index.mdx';
-## Header & Footer
+## Header & Footer {/* #header--footer */}
ã³ã³ãã³ãã¯ãããŒãžå
ã®å¯äžã®ãããã¬ãã«ã»ã³ã³ããŒãã³ããšããããšãã[ããããŒ](./header)ã[ããã¿ãŒ](./footer)ããŸãã¯ãã®äž¡æ¹ãšäžç·ã«äœ¿çšããããšãå¯èœã§ããããããŒãããã¿ãŒãšäžç·ã«äœ¿çšãããšãæ®ãã®é«ããåããããã«ãµã€ãºã調æŽãããŸãã
@@ -41,7 +41,7 @@ import HeaderFooter from '@site/static/usage/v9/content/header-footer/index.mdx'
-## Fullscreen Content
+## Fullscreen Content {/* #fullscreen-content */}
ããã©ã«ãã§ã¯ãã³ã³ãã³ã㯠[ããããŒ](./header)ãš [ããã¿ãŒ](./footer)ã®éã®ã¹ããŒã¹ãåããŸããããããã®èæ¯ã«ãŸããããšã¯ãããŸãããäŸãã°ãããããŒãšããã¿ãŒã®ã©ã¡ããã« `translucent` ããããã£ãèšå®ããå ŽåããããŒã«ããŒã« `opacity` ãèšå®ããå Žåãªã©ãç¹å®ã®ã±ãŒã¹ã§ã¯ãã³ã³ãã³ããããããŒãšããã¿ãŒã®åŸãã«ã¹ã¯ããŒã«ãããããšãæãŸãããããããªããããã¯ãã³ã³ãã³ãã® `fullscreen` ããããã£ã `true` ã«èšå®ããããšã§å®çŸããããšãã§ããŸãã
@@ -49,7 +49,7 @@ import Fullscreen from '@site/static/usage/v9/content/fullscreen/index.mdx';
-## ã³ã³ãã³ãã®åºå®
+## ã³ã³ãã³ãã®åºå® {/* #fixed-content */}
ã¹ã¯ããŒã«å¯èœãªé åã®å€åŽã«èŠçŽ ãé
眮ããã«ã¯ã`fixed`ã¹ãããã«å²ãåœãŠãŸããããããããšã§ããã®èŠçŽ ã¯ã³ã³ãã³ãã®å·Šäžã«[絶察äœçœ®](https://developer.mozilla.org/en-US/docs/Web/CSS/position#absolute_positioning)ãããŸããèŠçŽ ã®äœçœ®ãå€ããã«ã¯ãCSSã®[top, right, bottom, left](https://developer.mozilla.org/en-US/docs/Web/CSS/position)ããããã£ã䜿ã£ãŠã¹ã¿ã€ã«ãèšå®ããããšãã§ããŸãã
@@ -59,7 +59,7 @@ import Fixed from '@site/static/usage/v9/content/fixed/index.mdx';
-## ã¹ã¯ããŒã«ã¡ãœãã
+## ã¹ã¯ããŒã«ã¡ãœãã {/* #scroll-methods */}
ã³ã³ãã³ãã«ã¯ [ã¡ãœãã](#methods) ãçšæãããŠããããããåŒã³åºãããšã§ã³ã³ãã³ããäžãäžããŸãã¯ç¹å®ã®ãã€ã³ãã«ã¹ã¯ããŒã«ãããããšãã§ããŸãããããã®ã¡ãœããã«ã¯ `duration` ãæž¡ãããšãã§ããç¬æã«äœçœ®ã倿Žããã®ã§ã¯ãªããã¹ã ãŒãºã«ç§»è¡ããããšãã§ããŸãã
@@ -67,7 +67,7 @@ import ScrollMethods from '@site/static/usage/v9/content/scroll-methods/index.md
-## Scroll Events
+## Scroll Events {/* #scroll-events */}
ã¹ã¯ããŒã«ã€ãã³ãã¯ãããã©ãŒãã³ã¹äžãã³ã³ãã³ãã«å¯ŸããŠããã©ã«ãã§ç¡å¹åãããŠããŸãããããã`scrollEvents` ã `true` ã«èšå®ããããšã§ãæå¹ã«ããããšãã§ããŸããããã¯ã ã¹ã¯ããŒã« [ã€ãã³ã](#events) ãèãåã«å¿
èŠã§ãã
@@ -75,27 +75,27 @@ import ScrollEvents from '@site/static/usage/v9/content/scroll-events/index.mdx'
-## ããŒã
+## ããŒã {/* #theming */}
-### Colors
+### Colors {/* #colors */}
import Colors from '@site/static/usage/v9/content/theming/colors/index.mdx';
-### CSS Shadow Parts
+### CSS Shadow Parts {/* #css-shadow-parts */}
import CSSParts from '@site/static/usage/v9/content/theming/css-shadow-parts/index.mdx';
-## CSSã«ã¹ã¿ã ããããã£
+### CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
import CSSProps from '@site/static/usage/v9/content/theming/css-properties/index.mdx';
-### Safe Area Padding
+### Safe Area Padding {/* #safe-area-padding */}
The content component will not automatically apply padding to any of its sides to account for the [safe area](/theming/advanced.mdx#safe-area-padding). This is because the content component is often used in conjunction with other components that apply their own padding, such as [headers](./header) and [footers](./footer). However, if the content component is being used on its own, it may be desired to apply padding to the safe area. This can be done through CSS by using the `--ion-safe-area-(dir)` variables described in [Application Variables](../theming/advanced.mdx#application-variables).
@@ -119,9 +119,9 @@ import SafeArea from '@site/static/usage/v9/content/theming/safe-area/index.mdx'
-## Interfaces
+## Interfaces {/* #interfaces */}
-### ScrollBaseDetail
+### ScrollBaseDetail {/* #scrollbasedetail */}
```typescript
interface ScrollBaseDetail {
@@ -129,7 +129,7 @@ interface ScrollBaseDetail {
}
```
-### ScrollDetail
+### ScrollDetail {/* #scrolldetail */}
```typescript
interface ScrollDetail extends GestureDetail, ScrollBaseDetail {
@@ -138,7 +138,7 @@ interface ScrollDetail extends GestureDetail, ScrollBaseDetail {
}
```
-### ScrollBaseCustomEvent
+### ScrollBaseCustomEvent {/* #scrollbasecustomevent */}
å¿
é ã§ã¯ãããŸãããã`ionScrollStart` ãš `ionScrollEnd` ã€ãã³ãããã匷ãåä»ãããããã«ã`CustomEvent` ã€ã³ã¿ãŒãã§ãŒã¹ã®ä»£ããã«ãã®ã€ã³ã¿ãŒãã§ãŒã¹ãå©çšããããšãå¯èœã§ãã
@@ -149,7 +149,7 @@ interface ScrollBaseCustomEvent extends CustomEvent {
}
```
-### ScrollCustomEvent
+### ScrollCustomEvent {/* #scrollcustomevent */}
å¿
é ã§ã¯ãããŸãããã`ionScroll` ã€ãã³ãããã匷ãåä»ãããããã«ã`CustomEvent` ã€ã³ã¿ãŒãã§ãŒã¹ã®ä»£ããã«ãã®ã€ã³ã¿ãŒãã§ãŒã¹ãå©çšããããšãå¯èœã§ãã
@@ -159,26 +159,26 @@ interface ScrollCustomEvent extends ScrollBaseCustomEvent {
}
```
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts-1 */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties-1 */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/datetime-button.mdx b/docs/api/datetime-button.mdx
index 1f3a9643efd..b3976c60223 100644
--- a/docs/api/datetime-button.mdx
+++ b/docs/api/datetime-button.mdx
@@ -23,23 +23,23 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Datetimeãã¿ã³ã¯ã[Datetime](./datetime) ã³ã³ããŒãã³ããšãªã³ã¯ãããã©ãŒããããããæ¥ä»ãšæå»ã衚瀺ããŸãããŸããã¢ãŒãã«ãããããªãŒããŒãªã©ã§æ¥æã衚瀺ããããã®ãã¿ã³ãçšæãããŠããŸãã
-## æŠèŠ
+## æŠèŠ {/* #overview */}
Datetimeãã¿ã³ã¯ãã¹ããŒã¹ã«å¶çŽãããå Žåã«äœ¿çšããå¿
èŠããããŸãããã®ã³ã³ããŒãã³ãã¯ãçŸåšã®æ¥ä»ãšæå»ã®å€ã衚瀺ãããã¿ã³ã衚瀺ããŸãããã¿ã³ãã¿ããããããšãæ¥ä»ãæå»ã®ããã«ãŒããªãŒããŒã¬ã€ã§è¡šç€ºãããŸãã
AngularãReactãVue ãªã©ã® JavaScript ãã¬ãŒã ã¯ãŒã¯ã§ Datetime Button ã䜿çšããå Žåã¯ã[ion-modal ã® keepContentsMounted ããããã£](./modal#prop-keep-contents-mounted)ãŸã㯠[ion-popover ã® keepContentsMounted ããããã£](./popover#prop-keep-contents-mounted)ã䜿çšããŠãã ãããããã«ããããªãŒããŒã¬ã€ããŸã 衚瀺ãããŠããªãå Žåã§ããé¢é£ä»ãããã datetime ã€ã³ã¹ã¿ã³ã¹ãããŠã³ããããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/datetime-button/basic/index.mdx';
-## ããŒã«ã©ã€ãŒãŒã·ã§ã³
+## ããŒã«ã©ã€ãŒãŒã·ã§ã³ {/* #localization */}
`ion-datetime-button`äžã®ããŒã«ã©ã€ãºãããããã¹ãã¯ãé¢é£ãã`ion-datetime`ã€ã³ã¹ã¿ã³ã¹ã®`locale`ããããã£ã«ãã£ãŠæ±ºãŸããŸãã詳现ã¯[æ¥æããŒã«ã©ã€ãŒãŒã·ã§ã³](./datetime#localization)ãåç
§ããŠãã ããã
-## Format Options
+## Format Options {/* #format-options */}
Datetime ãã¿ã³ã®æ¥æã®åœ¢åŒã¯ãé¢é£ãã Datetime ã€ã³ã¹ã¿ã³ã¹ã§ `formatOptions` ãæå®ããããšã§ã«ã¹ã¿ãã€ãºã§ããŸãã詳现㯠[Datetime ãã©ãŒããããªãã·ã§ã³](./datetime#format-options) ãåç
§ããŠãã ããã
@@ -47,30 +47,30 @@ import FormatOptions from '@site/static/usage/v9/datetime-button/format-options/
-## ã¢ãŒãã«ãããããªãŒããŒãšäœ¿ã
+## ã¢ãŒãã«ãããããªãŒããŒãšäœ¿ã {/* #usage-with-modals-and-popovers */}
`ion-datetime-button` ã¯ãããŠã³ãããã `ion-datetime` ã€ã³ã¹ã¿ã³ã¹ãšé¢é£ä»ããå¿
èŠããããŸãããã®ããã[Inline Modals](./modal#inline-modals-recommended) ãš [Inline Popovers](./popover#inline-popovers) 㯠`keepContentsMounted` ããããã£ã `true` ã«èšå®ããŠäœ¿çšããªããã°ãªããŸããã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSS ã«ã¹ã¿ã ããããã£
+## CSS ã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/datetime.mdx b/docs/api/datetime.mdx
index 956db17538c..4c3b0cbbf74 100644
--- a/docs/api/datetime.mdx
+++ b/docs/api/datetime.mdx
@@ -61,7 +61,7 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Datetime ã¯ã«ã¬ã³ããŒãšã¿ã€ã ãã€ãŒã«ã®ã€ã³ã¿ãŒãã§ã€ã¹ã衚瀺ãããŠãŒã¶ãŒãç°¡åã«æ¥ä»ãšæå»ãéžæã§ããããã«ããŸããDatetime ã¯ãã€ãã£ãã® `datetime-local` ã® `input` èŠçŽ ãšäŒŒãŠããŸãããIonic Framework ã® Datetime ã³ã³ããŒãã³ãã䜿çšãããšã奜ã¿ã®ãã©ãŒãããã§æ¥ä»ãšæå»ã衚瀺ããããdatetime ã®å€ã管çããããšãç°¡åã«ã§ããŸãã
-## æŠèŠ
+## æŠèŠ {/* #overview */}
ãããŸã§ãJavaScript ã HTML ã®å
¥åã§ datetime ã®å€ãæ±ãããšã¯ãåžžã«å°é£ã§ããã
å
¥åã§ããããåžžã«èª²é¡ã§ããã
@@ -72,7 +72,7 @@ Datetime ã¯ã«ã¬ã³ããŒãšã¿ã€ã ãã€ãŒã«ã®ã€ã³ã¿ãŒãã§ã€ã¹
Ionic Framework ã® datetime ã¯ãéçºè
ãäžè¬çãªèœãšã穎ãåé¿ã§ããããã«èšèšãããŠããã
éçºè
ã¯ç°¡åã« datetime å€ãæäœãããŠãŒã¶ãŒã«ã·ã³ãã«ãª datetime ããã«ãŒãæäŸããçŽ æŽããããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããããšãã§ããŸãã
-### ISO 8601 æ¥æåœ¢åŒ: `YYYY-MM-DDTHH:mmZ`
+### ISO 8601 æ¥æåœ¢åŒ: `YYYY-MM-DDTHH:mmZ` {/* #iso-8601-datetime-format-yyyy-mm-ddthhmmz */}
Ionic Framework ã§ã¯ã[ISO 8601 datetime format](https://www.w3.org/TR/NOTE-datetime) ãå€ãšããŠäœ¿çšããŸãã
ãã®å€ã¯ãJavaScript ã® `Date` ãªããžã§ã¯ãã䜿çšããã®ã§ã¯ãªããåçŽã«æååãšããŠäœ¿çšãããŸãã
@@ -100,21 +100,21 @@ JSON ãªããžã§ã¯ããããŒã¿ããŒã¹å
ã§ã®ã·ãªã¢ã©ã€ãºãããŒ
ç§ãããªç§ãã¿ã€ã ãŸãŒã³ã¯ ISO 8601 datetime ãã©ãŒãããã§æå®ã§ããŸããã `ion-datetime` ã¯ç§ãããªç§ãã¿ã€ã ãŸãŒã³ãéžæããããã®ã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŸãããç§ãããªç§ãã¿ã€ã ãŸãŒã³ã®å€ãæå®ããŠãç¡èŠãããŸãã
:::
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
-## æ¥ä»ãã¿ã³ãšäœ¿ã
+## æ¥ä»ãã¿ã³ãšäœ¿ã {/* #usage-with-datetime-button */}
ã¢ãŒãã«ãããããªãŒããŒãªã©ã®ãªãŒããŒã¬ã€ã§æ¥ä»æå»ã衚瀺ããå¿
èŠãããå Žåã¯ã [ion-datetime-button](./datetime-button) ã䜿çšããããšããå§ãããŸããã¹ããŒã¹ã«å¶çŽãããå Žåã¯ã `ion-datetime-button` ã䜿çšããå¿
èŠããããŸãããã®ã³ã³ããŒãã³ãã¯ãçŸåšã®æ¥ä»ãšæå»ã®å€ã衚瀺ãããã¿ã³ã衚瀺ããŸãããã¿ã³ãã¿ããããããšãæ¥ä»ãšæå»ã®ããã«ãŒããªãŒããŒã¬ã€ã§è¡šç€ºãããŸãã
-## éåæã«å€ãèšå®ãã
+## éåæã«å€ãèšå®ãã {/* #setting-values-asynchronously */}
ãã§ã« datetime ãäœæãããåŸã«ããã°ã©ã ã§`value`ãæŽæ°ããããšãdatetime ã¯èªåçã«æ°ããæ¥ä»ã«ãžã£ã³ãããŸãããããããŠãŒã¶ãŒã datetime ãæäœããŠãããšãã«ããã®æ¹æ³ã§`value`ãæŽæ°ããããšã¯é¿ããããšããå§ãããŸããäŸãã°ãdatetime ã®`value`ãéåæåŠçã§èªã¿èŸŒãŸããå Žåãå€ã®æŽæ°ãçµãããŸã§ CSS ã§ datetime ãé衚瀺ã«ããããšããå§ãããŸãã
-## æ¥ä»ã³ã³ãã
+## æ¥ä»ã³ã³ãã {/* #date-constraints */}
-### æ¥ä»ã®æå°å€ãšæå€§å€
+### æ¥ä»ã®æå°å€ãšæå€§å€ {/* #max-and-min-dates */}
æ¥ä»ã®æå°å€ãšæå€§å€ãã«ã¹ã¿ãã€ãºããã«ã¯ã `min` ãš `max` ã³ã³ããŒãã³ãããããã£ã䜿çšããŸããäžã®è¡šã«ããã®ãšåã ISO 8601 ãã©ãŒãããã«åŸã£ãŠãåã³ã³ããŒãã³ãã¯ãŠãŒã¶ãŒãéžæã§ããæ¥ä»ãå¶éããããšãã§ããŸãã
@@ -122,7 +122,7 @@ JSON ãªããžã§ã¯ããããŒã¿ããŒã¹å
ã§ã®ã·ãªã¢ã©ã€ãºãããŒ
-### ç¹å®ã®å€ãéžæãã
+### ç¹å®ã®å€ãéžæãã {/* #selecting-specific-values */}
`min` ãš `max` ããããã£ã§ã¯ãæ¥ä»ã®éžæãããç¯å²ã«å¶éããããšãã§ããŸããã `monthValues`, `dayValues`, `yearValues`, `hourValues`, `minuteValues` ããããã£ã§ã¯ããŠãŒã¶ãŒãéžæã§ããç¹å®ã®æ¥ãæå»ãéžæããããšãå¯èœã§ãã
@@ -130,7 +130,7 @@ JSON ãªããžã§ã¯ããããŒã¿ããŒã¹å
ã§ã®ã·ãªã¢ã©ã€ãºãããŒ
-### é«åºŠãªæ¥ä»å¶é
+### é«åºŠãªæ¥ä»å¶é {/* #advanced-date-constraints */}
`isDateEnabled` ããããã£ã䜿çšãããšãéçºè
㯠`ion-datetime` ãã«ã¹ã¿ãã€ãºããŠãISO 8601 ã®æ¥ä»æååã䜿çšããç¹å®ã®æ¥ãæ¥ä»ã®ç¯å²ã鱿«ããŸãã¯ä»»æã®ã«ã¹ã¿ã ã«ãŒã«ãç¡å¹ã«ã§ããŸãã
`isDateEnabled` ããããã£ã¯ãæ¥ä»ãæå¹ãã©ããã瀺ãããŒã«å€ãè¿ã颿°ãåãä»ããŸãããã®é¢æ°ã¯ã衚瀺ãããŠãã忥ä»ãšããã®åæããã³ç¿æã®æ¥ä»ã«å¯ŸããŠåŒã³åºãããŸããã«ã¹ã¿ã å®è£
ã§ã¯ãç»é¢ã®ã«ã¯ã€ããé¿ããããã«ããã©ãŒãã³ã¹ãæé©åããå¿
èŠããããŸãã
@@ -143,7 +143,7 @@ JSON ãªããžã§ã¯ããããŒã¿ããŒã¹å
ã§ã®ã·ãªã¢ã©ã€ãºãããŒ
Ionic Framework ã§ã¯ã[Intl.DatetimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DatetimeFormat) Web API ãå©çšããŠããŠãŒã¶ãŒã®ç«¯æ«ã«èšå®ãããŠããèšèªãå°åã«å¿ããŠãæåãšææ¥åãèªåçã«ããŒã«ã©ã€ãºããããšãå¯èœã§ãã
-### ã«ã¹ã¿ã ãã±ãŒã«
+### ã«ã¹ã¿ã ãã±ãŒã« {/* #custom-locale */}
ç¹å®ã®ãã±ãŒã«ãå¿
èŠãªå Žåã `locale` ããããã£ã䜿çšããŠèšå®ããããšãã§ããŸãããã±ãŒã«ã¯ã衚瀺ãããèšèªãšæ¥ä»ã»æå»ã®ãã©ãŒãããã®äž¡æ¹ãå¶åŸ¡ããŸãã
@@ -155,7 +155,7 @@ Ionic Framework ã§ã¯ã[Intl.DatetimeFormat](https://developer.mozilla.org/en-
æéã©ãã«ã¯èªåçã«ããŒã«ã©ã€ãºãããŸããã詳现㯠[æéã©ãã«](#time-label) ãåç
§ããŠãã ããã
:::
-### æéãµã€ã¯ã«
+### æéãµã€ã¯ã« {/* #hour-cycle */}
`ion-datetime` ã¯ãããã©ã«ãã§ `locale` ããããã£ã§æå®ãããæéãµã€ã¯ã«ã䜿çšããŸããäŸãã°ã `locale` ã `en-US` ã«èšå®ãããŠããå Žåã `ion-datetime` 㯠12 æéã®ãµã€ã¯ã«ã䜿çšããŸãã
@@ -178,7 +178,7 @@ Ionic Framework ã§ã¯ã[Intl.DatetimeFormat](https://developer.mozilla.org/en-
-### é±åãã®æ¥
+### é±åãã®æ¥ {/* #first-day-of-the-week */}
`ion-datetime` ã®å Žåãããã©ã«ãã®é±ã®æåã®æ¥ã¯æ¥ææ¥ã§ãã2022 幎æç¹ã§ã¯ãIonic ãããã€ã¹ã®ãã±ãŒã«ã«åºã¥ããŠé±ã®æåã®æ¥ãèªåçã«å€å®ãããã©ãŠã¶ API ã¯ãããŸããããããã«é¢ããäœæ¥ã¯é²è¡äžã§ãïŒ[TC39 GitHub](https://github.com/tc39/ecma402/issues/6) ãåç
§ïŒã
@@ -190,7 +190,7 @@ Ionic Framework ã§ã¯ã[Intl.DatetimeFormat](https://developer.mozilla.org/en-
-### ãã±ãŒã«ãšã¯ã¹ãã³ã·ã§ã³ã¿ã°
+### ãã±ãŒã«ãšã¯ã¹ãã³ã·ã§ã³ã¿ã° {/* #locale-extension-tags */}
`ion-datetime` ã¯ã`Intl.Locale` API ã®äžéšãšããŠ[ãã±ãŒã«æ¡åŒµã¿ã°](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale)ããµããŒãããŠããŸãããããã®ã¿ã°ã䜿çšãããšããã±ãŒã«ã«é¢ããæ
å ±ããã±ãŒã«æååèªäœã«ãšã³ã³ãŒãããããšãã§ããŸããéçºè
ã¯ãã¢ããªã®äžã§ [`Intl.Locale` API](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale) ã䜿ã£ãŠããå Žåãæ¡åŒµã¿ã°ã®ã¢ãããŒãã䜿ãããšã奜ããããããŸããã
@@ -202,13 +202,13 @@ Ionic Framework ã§ã¯ã[Intl.DatetimeFormat](https://developer.mozilla.org/en-
ã¢ããªã§äœ¿çšããåã«ã`Intl.Locale` ã®[ãã©ãŠã¶ãŒäºææ§è¡š](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale#browser_compatibility)ãå¿
ã確èªããŠãã ããã
:::
-## ãã¬ãŒã³ããŒã·ã§ã³
+## ãã¬ãŒã³ããŒã·ã§ã³ {/* #presentation */}
ããã©ã«ãã§ã¯ã `ion-datetime` ã¯æ¥ä»ãšæå»ã®äž¡æ¹ãéžæããããšãã§ãããããã«ããŠãŒã¶ã¯ç¹å®ã®æã幎ãæéãåãéžæããããšãã§ããŸãã
ãŠãŒã¹ã±ãŒã¹ã«ãã£ãŠã¯ãæ¥ä»ã ããéžæããããæéã ããéžæãããããããšãã§ããŸãã `presentation` ããããã£ã§ã¯ã衚瀺ããããã«ãŒãšãã®é çªãæå®ããããšãã§ããŸããäŸãã°ã `date-time` ãèšå®ãããšãã«ã¬ã³ããŒããã«ãŒãã¿ã€ã ããã«ãŒãããå
ã«è¡šç€ºãããŸãã `time-date` ãèšå®ãããšãã«ã¬ã³ããŒããã«ãŒã¯ time ããã«ãŒã®åŸã«è¡šç€ºãããŸãã
-### æãšå¹Žã®éžæ
+### æãšå¹Žã®éžæ {/* #month-and-year-selection */}
æãšå¹Žã®éžæã¯ã `presentation` ããããã£ã« `month-year` , `month` , ãŸã㯠`year` ãæž¡ãããšã§è¡ãããšãã§ããŸãã
@@ -216,7 +216,7 @@ Ionic Framework ã§ã¯ã[Intl.DatetimeFormat](https://developer.mozilla.org/en-
-### æå»ã®éžæ
+### æå»ã®éžæ {/* #time-selection */}
æå»ã®éžæã¯ã `presentation` ããããã£ã« `date-time`, `time-date`, `time` ãæž¡ãããšã§è¡ãããšãã§ããŸãã
@@ -224,7 +224,7 @@ Ionic Framework ã§ã¯ã[Intl.DatetimeFormat](https://developer.mozilla.org/en-
-### æ¥ä»ã®éžæ
+### æ¥ä»ã®éžæ {/* #date-selection */}
æå»ã®éžæã¯ã `presentation` ããããã£ã« `date-time`, `time-date`, ãŸã㯠`date` ãæž¡ãããšã§è¡ãããšã§æå¹ã«ãªããŸãã
@@ -232,7 +232,7 @@ Ionic Framework ã§ã¯ã[Intl.DatetimeFormat](https://developer.mozilla.org/en-
-### ããã«ãŒã®ãã€ãŒã«ã¹ã¿ã€ã«
+### ããã«ãŒã®ãã€ãŒã«ã¹ã¿ã€ã« {/* #wheel-style-pickers */}
ããã©ã«ãã§ã¯ãIonic 㯠`presentation` ã䜿çšããå Žåãã°ãªããã¹ã¿ã€ã«ã®ã¬ã€ã¢ãŠããåªå
ããŠè¡šç€ºããŸãããããã`preferWheel` ããããã£ã䜿çšãããšããã€ãŒã«ã¹ã¿ã€ã«ã衚瀺ããããšãã§ããŸãã`preferWheel`ã`true` ã®å ŽåãIonic ã¯å¯èœãªéããã€ãŒã«ã¹ã¿ã€ã«ã®ã¬ã€ã¢ãŠããåªå
ããŠè¡šç€ºããŸãã
@@ -254,7 +254,7 @@ import Wheel from '@site/static/usage/v9/datetime/presentation/wheel/index.mdx';
-## 飿¥ããæ¥ã衚瀺ãã
+## 飿¥ããæ¥ã衚瀺ãã {/* #show-adjacent-days */}
`showAdjacentDays` ããããã£ã `true` ã«èšå®ãããŠããå Žåãã«ã¬ã³ããŒãã¥ãŒã«åæãšç¿æã®æ¥ã衚瀺ãããæã®åããçµããã®ç©ºçœãåããããšãã§ããŸãããŠãŒã¶ãŒãæå¹ãªé£æ¥æ¥ãã¯ãªãã¯ãããšãã«ã¬ã³ããŒã¯ãã®æã®ãã¥ãŒã衚瀺ããããã«ã¹ã ãŒãºã«ã¢ãã¡ãŒã·ã§ã³ããŸãã
@@ -266,7 +266,7 @@ import Wheel from '@site/static/usage/v9/datetime/presentation/wheel/index.mdx';
-## è€æ°ã®æ¥ä»ã®éžæ
+## è€æ°ã®æ¥ä»ã®éžæ {/* #multiple-date-selection */}
`multiple`ããããã£ã`true`ã«èšå®ãããŠããå Žåãã«ã¬ã³ããŒããã«ãŒããè€æ°ã®æ¥ä»ãéžæããããšãã§ããŸããéžæããæ¥ä»ãã¯ãªãã¯ãããšéžæãè§£é€ãããŸãã
@@ -276,15 +276,15 @@ import Wheel from '@site/static/usage/v9/datetime/presentation/wheel/index.mdx';
-## ã¿ã€ãã«
+## ã¿ã€ãã« {/* #titles */}
ããã©ã«ãã§ã¯ã`ion-datetime`ã¯ãã³ã³ããŒãã³ãã«é¢é£ããããããŒãã¿ã€ãã«ã衚瀺ããŸãããéçºè
㯠`showDefaultTitle` ããããã£ã䜿çšããŠãããã©ã«ãã®ã¿ã€ãã«/ããããŒæ§æã衚瀺ããããšãã§ããŸãããŸãã `title` ã¹ãããã䜿çšããŠãããããŒã«è¡šç€ºãããå
容ãã«ã¹ã¿ãã€ãºããããšãã§ããŸãã
-### ããã©ã«ãã¿ã€ãã«ã衚瀺
+### ããã©ã«ãã¿ã€ãã«ã衚瀺 {/* #showing-the-default-title */}
-### ã¿ã€ãã«ãã«ã¹ã¿ãã€ãº
+### ã¿ã€ãã«ãã«ã¹ã¿ãã€ãº {/* #customizing-the-title */}
@@ -298,23 +298,23 @@ Datetime ã¯ã¿ã€ã ãŸãŒã³ã [æäœãããèšå®ãããããŸãã](#
-## ãã¿ã³
+## ãã¿ã³ {/* #buttons */}
ããã©ã«ãã§ã¯ãæ°ããæ¥ä»ãéžæããããšãæ°ãã datetime ã®å€ã§ `ionChange` ãçºè¡ãããŸãã `ionChange` ãçºè¡ããåã«ãŠãŒã¶ã®ç¢ºèªãå¿
èŠãšããå Žåã¯ã `showDefaultButtons` ããããã£ã `true` ã«èšå®ãããã `buttons` ã¹ãããã§ã«ã¹ã¿ã 確èªãã¿ã³ãæž¡ãããšãã§ããŸããã«ã¹ã¿ã ãã¿ã³ãæž¡ãå Žåã `ionChange` ãçºçãããããã«ã確èªãã¿ã³ã¯ `ion-datetime` ã® `confirm` ã¡ãœãããåŒã³åºãå¿
èŠããããŸãã
-### 確èªãã¿ã³ã®è¡šç€º
+### 確èªãã¿ã³ã®è¡šç€º {/* #showing-confirmation-buttons */}
ããã©ã«ãã®ãå®äºããšããã£ã³ã»ã«ããã¿ã³ã¯ãããããæ¢ã« [`confirm`](#method-confirm) ãš [`cancel`](#method-cancel) ã¡ãœãããåŒã³åºãããã«äºåèšå®ãããŠããŸãã
-### ãã¿ã³ããã¹ãã®ã«ã¹ã¿ãã€ãº
+### ãã¿ã³ããã¹ãã®ã«ã¹ã¿ãã€ãº {/* #customizing-button-texts */}
åçŽãªãŠãŒã¹ã±ãŒã¹ã®å Žåãéçºè
㯠`doneText` ãš `cancelText` ããããã£ã䜿çšããŠã確èªãšãã£ã³ã»ã«ã®å€ã«ã«ã¹ã¿ã ãã¿ã³ããã¹ããæå®ããããšãã§ããŸãããã®æ¹æ³ã¯ããã¿ã³ã®ããã¹ãã倿Žããã ãã§ãã«ã¹ã¿ã ããã€ãã¢ãå¿
èŠãšããªãå Žåã«æšå¥šããŸãã
-### ãã¿ã³èŠçŽ ã®ã«ã¹ã¿ãã€ãº
+### ãã¿ã³èŠçŽ ã®ã«ã¹ã¿ãã€ãº {/* #customizing-button-elements */}
éçºè
ã¯ãé«åºŠãªã«ã¹ã¿ã åäœã®ããã®ç¬èªã®ãã¿ã³ãæäŸããããšãã§ããã
@@ -322,7 +322,7 @@ Datetime ã¯ã¿ã€ã ãŸãŒã³ã [æäœãããèšå®ãããããŸãã](#
-## ç¹å®ã®æ¥ä»ããã€ã©ã€ããã
+## ç¹å®ã®æ¥ä»ããã€ã©ã€ããã {/* #highlighting-specific-dates */}
`highlightedDates`ããããã£ã䜿çšãããšãéçºè
ã¯ç¹å®ã®æ¥ä»ãã«ã¹ã¿ã ããã¹ããèæ¯è²ã§ã¹ã¿ã€ã«èšå®ããããšãã§ããŸãããã®ããããã£ã¯ãæ¥ä»ãšãã®è²ã®é
åãšããŠå®çŸ©ããããISO æååãåãåã£ãŠäœ¿çšããè²ãè¿ãã³ãŒã«ããã¯ãšããŠå®çŸ©ããããšãã§ããŸãã
@@ -334,21 +334,21 @@ Datetime ã¯ã¿ã€ã ãŸãŒã³ã [æäœãããèšå®ãããããŸãã](#
ãã®ããããã£ã¯ã`preferWheel="false"` ã〠`presentation` ã `"date"`ã`"date-time"`ã`"time-date"` ã®ããããã®å Žåã«ã®ã¿ãµããŒããããŸãã
:::
-### é
åãå©çš
+### é
åãå©çš {/* #using-array */}
ãã€ã©ã€ããææ¥ãªã©ã®åºå®ãããæ¥ä»ã«é©çšãããå Žåã¯ãé
åã®æ¹ãé©ããŠããŸãã
-### Callback ãå©çš
+### Callback ãå©çš {/* #using-callback */}
èªçæ¥ã宿çãªããŒãã£ã³ã°ãªã©ããã€ã©ã€ããããæ¥ä»ãç¹°ãè¿ãããå Žåã¯ãã³ãŒã«ããã¯ã䜿çšããæ¹ãããã§ãããã
-## ã¹ã¿ã€ãªã³ã°
+## ã¹ã¿ã€ãªã³ã° {/* #styling */}
-### ã°ããŒãã«ããŒã
+### ã°ããŒãã«ããŒã {/* #global-theming */}
Ionic ã®åŒ·åãªããŒãã·ã¹ãã ã䜿çšãããšãç¹å®ã®ããŒãã«åãããŠã¢ããªå
šäœãç°¡åã«å€æŽããããšãã§ããŸãããã®äŸã§ã¯ã[Color Creator](../theming/colors#new-color-creator) ãš [Stepped Color Generator](../theming/themes#stepped-color-generator) ã䜿çšããŠã `ion-datetime` ã§äœ¿çšã§ããããŒãºè²ã®ãã¬ãããäœæããŸããã
@@ -356,7 +356,7 @@ Ionic ã®åŒ·åãªããŒãã·ã¹ãã ã䜿çšãããšãç¹å®ã®ããŒã
-### Datetime Header
+### Datetime Header {/* #datetime-header */}
The datetime header manages the content for the `title` slot and the selected date.
@@ -366,7 +366,7 @@ The datetime header manages the content for the `title` slot and the selected da
-### ã«ã¬ã³ããŒããããŒ
+### ã«ã¬ã³ããŒããã㌠{/* #calendar-header */}
The calendar header manages the date navigation controls (month/year picker and prev/next buttons) and the days of the week when using a grid style layout.
@@ -374,7 +374,7 @@ The header can be styled using CSS shadow parts.
-### Calendar Days
+### Calendar Days {/* #calendar-days */}
The calendar days in a grid-style `ion-datetime` can be styled using CSS shadow parts.
@@ -384,7 +384,7 @@ The example below selects the day 2 days ago, unless that day is in the previous
-### Wheel Pickers
+### Wheel Pickers {/* #wheel-pickers */}
`ion-datetime`ã§äœ¿çšãããã€ãŒã«ã¯ãã·ã£ããŠããŒããš CSS 倿°ãçµã¿åãããŠã¹ã¿ã€ã«ãèšå®ããããšãã§ããŸããããã¯ããã€ãŒã«ã¹ã¿ã€ã«ã® datetime ã®ã«ã©ã ã«ããã°ãªããã¹ã¿ã€ã«ã® datetime ã®æ/幎ã®ããã«ãŒã«ãé©çšãããŸãã
@@ -414,7 +414,7 @@ const zonedTime = utcToZonedTime(date, userTimeZone);
format(zonedTime, 'yyyy-MM-dd HH:mm:ssXXX', { timeZone: userTimeZone });
```
-### æ¥ä»ã®å€ã®ããŒã¹
+### æ¥ä»ã®å€ã®ããŒã¹ {/* #parsing-date-values */}
`ionChange` ã€ãã³ãã¯ãã€ãã³ãã®ãã€ããŒãã« ISO-8601 圢åŒã®æååãšããŠæ¥ä»ã®å€ãåºåããŸããã¢ããªã±ãŒã·ã§ã³ã®ããŒãºã«å¿ããŠããããã©ãŒãããããã®ã¯ãéçºè
ã®è²¬ä»»ã§ããæ¥ä»ã®å€ããã©ãŒãããããã«ã¯ã[date-fns](https://date-fns.org) ã䜿çšããããšãæšå¥šããŸãã
@@ -437,7 +437,7 @@ console.log(formattedString); // Jun 4, 2021
See https://date-fns.org/docs/format for a list of all the valid format tokens.
-## é«åºŠãªæ¥æã®æ€èšŒããã³æäœ
+## é«åºŠãªæ¥æã®æ€èšŒããã³æäœ {/* #advanced-datetime-validation-and-manipulation */}
datetime ããã«ãŒã¯ãæ£ç¢ºãªãã©ãŒããããéžæããã·ã³ãã«ããæäŸãã
æšæºåããã [ISO 8601 datetime format](https://www.w3.org/TR/NOTE-datetime) ã䜿çšããŠã
@@ -449,9 +449,9 @@ datetime å€ãæååãšããŠæç¶ãããããšãã§ããŸãã
ãããã¯ãç¹å®ã®ãã±ãŒã«ã«ããŒã¿ããã©ãŒãããããå¿
èŠããããªãã
JavaScript ã§æ¥ä»ãæ±ãããã« [date-fns](https://date-fns.org) ã䜿ãããšã匷ããå§ãããŸãã
-## ã¢ã¯ã»ã·ããªãã£
+## ã¢ã¯ã»ã·ããªã㣠{/* #accessibility */}
-### ããŒããŒãã€ã³ã¿ã©ã¯ã·ã§ã³
+### ããŒããŒãã€ã³ã¿ã©ã¯ã·ã§ã³ {/* #keyboard-interactions */}
`ion-datetime` ã¯ãã³ã³ããŒãã³ãå
ã®ãã©ãŒã«ã¹å¯èœãªèŠçŽ éãç§»åããããã®ãã«ããŒããŒããµããŒããåããŠããŸããæ¬¡ã®è¡šã¯ãããããã®ããŒãäœãããã®ãã®è©³çްã§ãã
@@ -461,7 +461,7 @@ JavaScript ã§æ¥ä»ãæ±ãããã« [date-fns](https://date-fns.org) ã䜿
| Shift + Tab | Moves focus to the previous focusable element. |
| Space or Enter | Clicks the focusable element. |
-#### æ¥ä»ã®è¡šç€º
+#### æ¥ä»ã®è¡šç€º {/* #date-grid */}
| Key | Description |
| -------------------------------------- | ------------------------------------------------- |
@@ -476,13 +476,13 @@ JavaScript ã§æ¥ä»ãæ±ãããã« [date-fns](https://date-fns.org) ã䜿
| Shift + PageUp | Changes the grid of dates to the previous year. |
| Shift + PageDown | Changes the grid of dates to the next year. |
-#### æå»ãæã幎ã®ãã€ãŒã«
+#### æå»ãæã幎ã®ãã€ãŒã« {/* #time-month-and-year-wheels */}
Datetime ã®ãã€ãŒã«ããã«ãŒã¯å
éšã§ [Picker](./picker) ã䜿çšããŠããŸãããã€ãŒã«ããã«ãŒã®ã¢ã¯ã»ã·ããªãã£æ©èœã®è©³çŽ°ã¯ [Picker ã¢ã¯ã»ã·ããªãã£](./picker#accessibility) ãåç
§ããŠãã ããã
-## Interfaces
+## Interfaces {/* #interfaces */}
-### DatetimeChangeEventDetail
+### DatetimeChangeEventDetail {/* #datetimechangeeventdetail */}
```typescript
interface DatetimeChangeEventDetail {
@@ -490,7 +490,7 @@ interface DatetimeChangeEventDetail {
}
```
-### DatetimeCustomEvent
+### DatetimeCustomEvent {/* #datetimecustomevent */}
å¿
é ã§ã¯ãããŸãããããã®ã³ã³ããŒãã³ãããçºè¡ããã Ionic ã€ãã³ãã§ãã匷ãåä»ããè¡ãããã«ã`CustomEvent` ã€ã³ã¿ãŒãã§ãŒã¹ã®ä»£ããã«ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããããšãå¯èœã§ãã
@@ -501,26 +501,26 @@ interface DatetimeCustomEvent extends CustomEvent {
}
```
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSS ã«ã¹ã¿ã ããããã£
+## CSS ã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/fab-button.mdx b/docs/api/fab-button.mdx
index 91b087f089f..328f71aedfd 100644
--- a/docs/api/fab-button.mdx
+++ b/docs/api/fab-button.mdx
@@ -27,26 +27,26 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
䜿çšäŸã«ã€ããŠã¯ã[fab ããã¥ã¡ã³ã](./fab) ãåç
§ããŠãã ããã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## ã¹ããã
+## ã¹ããã {/* #slots */}
diff --git a/docs/api/fab-list.mdx b/docs/api/fab-list.mdx
index ff5c415e218..9fb733abb4a 100644
--- a/docs/api/fab-list.mdx
+++ b/docs/api/fab-list.mdx
@@ -17,26 +17,26 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
䜿çšäŸã«ã€ããŠã¯ã[fab ããã¥ã¡ã³ã](./fab) ãåç
§ããŠãã ããã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## ã¹ããã
+## ã¹ããã {/* #slots */}
diff --git a/docs/api/fab.mdx b/docs/api/fab.mdx
index a6c06c2691a..0b1af7a1c07 100644
--- a/docs/api/fab.mdx
+++ b/docs/api/fab.mdx
@@ -23,13 +23,13 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Fabã¯ã1ã€ä»¥äžã®[fabãã¿ã³](./fab-button)ãå«ãã³ã³ããèŠçŽ ã§ãããããã¯ã³ã³ãã³ããšäžç·ã«ã¹ã¯ããŒã«ããªãåºå®äœçœ®ã«é
眮ãããã¹ãã§ããFabã¯1ã€ã®ã¡ã€ã³Fabãã¿ã³ãæã€ã¹ãã§ãããŸããã¡ã€ã³ãã¡ããã¿ã³ãã¯ãªãã¯ããããšãã«è¡šç€ºãããé¢é£ãã¿ã³ãå«ã1ã€ä»¥äžã®[fabãªã¹ã](./fab-list)ãå«ãããšãã§ããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import BasicUsage from '@site/static/usage/v9/fab/basic/index.mdx';
-## List Side
+## List Side {/* #list-side */}
[fabãªã¹ã](./fab-list)ã³ã³ããŒãã³ãã®`side`ããããã£ã¯ãã¡ã€ã³fabãã¿ã³ãšçžå¯Ÿçã«è¡šç€ºãããå Žæãå¶åŸ¡ããŸããäžã€ã®fabã¯ã`side`ã®å€ãå
šãŠç°ãªãéããè€æ°ã®fabãªã¹ããæã€ããšãã§ããŸãã
@@ -37,7 +37,7 @@ import ListSide from '@site/static/usage/v9/fab/list-side/index.mdx';
-## ããžã·ã§ã³
+## ããžã·ã§ã³ {/* #positioning */}
fabãåºå®äœçœ®ã«é
眮ããããã«ã¯ãå€åŽã® [content](./content) ã³ã³ããŒãã³ãã® `fixed` ã¹ãããã«å²ãåœãŠãå¿
èŠããããŸããvertical`ãšhorizontal`ã®ããããã䜿çšããŠããã¥ãŒããŒãã§ã®fabã®é
眮ãå¶åŸ¡ããŸããedge`ããããã¯ãã¢ããªã®ããããŒãããã¿ãŒã«fabãã¿ã³ãéãªãããã«ããŸãã
@@ -45,7 +45,7 @@ import Positioning from '@site/static/usage/v9/fab/positioning/index.mdx';
-### ã»ãŒããšãªã¢
+### ã»ãŒããšãªã¢ {/* #safe-area */}
`ion-header`ã³ã³ããŒãã³ãã`ion-footer`ã³ã³ããŒãã³ãããªãå Žåãfabã¯ããã€ã¹ã®ããããã¹ããŒã¿ã¹ããŒããã®ä»ã®ããã€ã¹UIã§èŠãããŠããå¯èœæ§ããããŸãããã®ãããªå Žåãäžäžã® [safe area](/theming/advanced.mdx#safe-area-padding) ã¯èæ
®ãããŸããããã㯠[`--ion-safe-area-(dir)`倿°](/theming/advanced.mdx#application-variables) ã䜿ã£ãŠèª¿æŽããããšãã§ããŸãã
@@ -71,7 +71,7 @@ import SafeArea from '@site/static/usage/v9/fab/safe-area/index.mdx';
-### ç¡éãªã¹ããšã®çžå¯Ÿé¢ä¿
+### ç¡éãªã¹ããšã®çžå¯Ÿé¢ä¿ {/* #relative-to-infinite-list */}
ç¡éã«ã¹ã¯ããŒã«ãããªã¹ããªã©ããã¥ãŒã«å€ãã®ã€ã³ã¿ã©ã¯ãã£ãèŠçŽ ãå«ãŸããã·ããªãªã§ã¯ããããŒãã£ã³ã°ã¢ã¯ã·ã§ã³ãã¿ã³(FAB)ãDOMå
ã®ãã¹ãŠã®ã¢ã€ãã ã®äžã«é
眮ãããŠãããšããŠãŒã¶ãŒããããŒãã£ã³ã°ã¢ã¯ã·ã§ã³ãã¿ã³ã«ç§»åããã®ãé£ããå ŽåããããŸãã
@@ -81,7 +81,7 @@ import BeforeContent from '@site/static/usage/v9/fab/before-content/index.mdx';
-## ãã¿ã³ãµã€ãº
+## ãã¿ã³ãµã€ãº {/* #button-sizing */}
ã¡ã€ã³ãã¡ããã¿ã³ã® `size` ããããã£ã `"small"` ã«èšå®ãããšããããµã€ãºã§æç»ãããŸãããªãããã®ããããã£ã¯å
åŽã®ãã¡ããã¿ã³ã§äœ¿çšããå Žåã¯å¹æããããŸããã
@@ -89,52 +89,52 @@ import ButtonSizing from '@site/static/usage/v9/fab/button-sizing/index.mdx';
-## ããŒã
+## ããŒã {/* #theming */}
-### Colors
+### Colors {/* #colors */}
import Colors from '@site/static/usage/v9/fab/theming/colors/index.mdx';
-## CSSã«ã¹ã¿ã ããããã£
+### CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
import CSSCustomProperties from '@site/static/usage/v9/fab/theming/css-custom-properties/index.mdx';
-### CSS Shadow Parts
+### CSS Shadow Parts {/* #css-shadow-parts */}
import CSSShadowParts from '@site/static/usage/v9/fab/theming/css-shadow-parts/index.mdx';
-## ã¢ã¯ã»ã·ããªãã£
+## ã¢ã¯ã»ã·ããªã㣠{/* #accessibility */}
-### ã©ãã«
+### ã©ãã« {/* #labels */}
FABã¯ã¢ã€ã³ã³ã®ã¿ãå«ãããšãã§ãããããéçºè
ã¯å`ion-fab-button`ã€ã³ã¹ã¿ã³ã¹ã« `aria-label` ãæäŸããªããã°ãªããŸããããã®ã©ãã«ããªããã°ãæ¯æŽæè¡ã¯åãã¿ã³ã®ç®çãåç¥ããããšãã§ããŸããã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts-1 */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties-1 */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/footer.mdx b/docs/api/footer.mdx
index a0b24aa69d9..1dc54c4d98a 100644
--- a/docs/api/footer.mdx
+++ b/docs/api/footer.mdx
@@ -21,13 +21,13 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
ããã¿ãŒã¯ãããŒãžã®äžéšã«é
眮ãããããŒãžã®ã«ãŒãã³ã³ããŒãã³ãã§ãã1ã€ä»¥äžã® [ããŒã«ããŒ](./toolbar) ã®ã©ãããŒãšããŠäœ¿çšããããšãæšå¥šãããŸãããããããèŠçŽ ãã©ããããããã«äœ¿çšããããšãã§ããŸããããŒã«ããŒãããã¿ãŒã®äžã§äœ¿çšãããå Žåãã³ã³ãã³ãã¯æ£ãããµã€ãºã«èª¿æŽãããããã¿ãŒã¯ããã€ã¹ã»ãŒããšãªã¢ãèæ
®ãããã®ã«ãªããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/footer/basic/index.mdx';
-## åéæã®ããã¿ãŒ
+## åéæã®ããã¿ãŒ {/* #translucent-footer */}
ããã¿ãŒã¯ã`translucent`ããããã£ãèšå®ããããšã§ããã€ãã£ãiOSã¢ããªã±ãŒã·ã§ã³ã§èŠãããéæåºŠã«åãããããšãã§ããŸããã³ã³ãã³ããããã¿ãŒã®èåŸã§ã¹ã¯ããŒã«ããããã«ããã«ã¯ãã³ã³ãã³ãã«`fullscreen`ããããã£ãèšå®ããå¿
èŠããããŸãããã®å¹æã¯ãã¢ãŒãã`"ios"`ã§ãããããã€ã¹ã[backdrop-filter](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#browser_compatibility)ããµããŒãããŠããå Žåã«ã®ã¿é©çšãããŸãã
@@ -35,7 +35,7 @@ import Translucent from '@site/static/usage/v9/footer/translucent/index.mdx';
-## ãã§ãŒãããã¿ãŒ
+## ãã§ãŒãããã¿ãŒ {/* #fade-footer */}
å€ãã®ãã€ãã£ãiOSã¢ããªã±ãŒã·ã§ã³ã¯ãããŒã«ããŒã«ãã§ãŒã广ãæãããŠããŸããããã¯ãããã¿ãŒã® `collapse` ããããã£ã `"fade"` ã«èšå®ããããšã§å®çŸã§ããŸããã³ã³ãã³ããæåŸãŸã§ã¹ã¯ããŒã«ããããšãããã¿ãŒã®èæ¯ãšããŒããŒã¯ãã§ãŒãã¢ãŠãããŸãããã®å¹æã¯ãã¢ãŒãã `"ios"` ã®ãšãã ãé©çšãããŸãã
@@ -43,7 +43,7 @@ import Fade from '@site/static/usage/v9/footer/fade/index.mdx';
-### ä»®æ³ã¹ã¯ããŒã«ã§ã®äœ¿ç𿹿³
+### ä»®æ³ã¹ã¯ããŒã«ã§ã®äœ¿ç𿹿³ {/* #usage-with-virtual-scroll */}
ãã§ãŒãããã¿ãŒãæ£ããåäœãããããã«ã¯ãã¹ã¯ããŒã«ã³ã³ãããå¿
èŠã§ããä»®æ³ã¹ã¯ããŒã«ãœãªã¥ãŒã·ã§ã³ã䜿çšããå Žåã¯ãã«ã¹ã¿ã ã¹ã¯ããŒã«ã¿ãŒã²ãããæäŸããå¿
èŠããããŸããã³ã³ãã³ãã®ã¹ã¯ããŒã«ãç¡å¹ã«ããã¹ã¯ããŒã«ãæ
åœããèŠçŽ ã« `.ion-content-scroll-host` ã¯ã©ã¹ã远å ããå¿
èŠããããŸãã
@@ -51,7 +51,7 @@ import CustomScrollTarget from '@site/static/usage/v9/footer/custom-scroll-targe
-## ããŒããŒ
+## ããŒã㌠{/* #borders */}
`"md"`ã¢ãŒãã§ã¯ãããã¿ãŒã¯äžéšã« `box-shadow` ã衚瀺ãããŸãã`"ios"`ã¢ãŒãã§ã¯ãäžéšã« `border` ã衚瀺ãããŸãããããã¯ãããã¿ãŒã« `.ion-no-border` ã¯ã©ã¹ã远å ããããšã§åé€ããããšãã§ããŸãã
@@ -59,26 +59,26 @@ import NoBorder from '@site/static/usage/v9/footer/no-border/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/grid.mdx b/docs/api/grid.mdx
index 713afa68200..ef0cf8f16e6 100644
--- a/docs/api/grid.mdx
+++ b/docs/api/grid.mdx
@@ -23,7 +23,7 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
ã°ãªããã¯ãã«ã¹ã¿ã ã¬ã€ã¢ãŠããæ§ç¯ããããã®åŒ·åãªã¢ãã€ã«ãã¡ãŒã¹ãã®ãã¬ãã¯ã¹ããã¯ã¹ã·ã¹ãã ã§ããã°ãªããã[row(s)](row.mdx)ã [column(s)](col.mdx) ã® 3 ã€ã®ãŠãããã§æ§æãããŠããŸããã«ã©ã ã¯è¡ãåããããã«å±éããã远å ã®ã«ã©ã ã«åãããã«ãµã€ãºã倿ŽããŸããããã¯ãç»é¢ãµã€ãºã«å¿ããŠç°ãªããã¬ãŒã¯ãã€ã³ããæã€ 12 åã®ã¬ã€ã¢ãŠããããŒã¹ã«ããŠããŸããã«ã©ã ã®æ°ã¯ãCSS ã䜿ã£ãŠã«ã¹ã¿ãã€ãºããããšãã§ããŸãã
-## æŠèŠ
+## æŠèŠ {/* #overview */}
- ã°ãªããã¯ããã¹ãŠã®è¡ãšåãæ ŒçŽããã³ã³ãããšããŠæ©èœããŸããã°ãªããã¯ã³ã³ããã®å
šå¹
ãå ããŸããã
`fixed`ããããã£ã远å ãããšãç»é¢ãµã€ãºã«åºã¥ããŠå¹
ãèšå®ãããŸãã詳现ã¯äžèšã®[åºå®ã°ãªãã](#fixed-grid)ãåç
§ããŠãã ããã
@@ -52,7 +52,7 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
| lg | 992px | `sizeLg` | `offsetLg` | `pushLg` | `pullLg` | Set columns when (min-width: 992px) |
| xl | 1200px | `sizeXl` | `offsetXl` | `pushXl` | `pullXl` | Set columns when (min-width: 1200px) |
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
ããã©ã«ãã§ã¯ããã¹ãŠã®ããã€ã¹ãšç»é¢ãµã€ãºã«ãããŠãåã¯è¡ã®äžã§åãå¹
ãå ããŸãã
@@ -76,11 +76,11 @@ import Fixed from '@site/static/usage/v9/grid/fixed/index.mdx';
-## ã«ã©ã ã®ãµã€ãº
+## ã«ã©ã ã®ãµã€ãº {/* #column-size */}
ã«ã©ã ã¯ç¹å®ã®ãµã€ãºã«èšå®ããŠãå
šã«ã©ã æ°ã®ãã¡ç¹å®ã®æ°ãå ããããã«ããããšããã³ã³ãã³ãã«å¿ããŠå¹
ã倿Žããããšãã§ããŸããããã©ã«ãã®ã«ã©ã æ°ã¯ 12 ã§ãããã«ã¹ã¿ãã€ãºããããšãå¯èœã§ãã詳现ã«ã€ããŠã¯ã以äžã®[ã«ã©ã æ°](#number-of-columns)ã®ã»ã¯ã·ã§ã³ãåç
§ããŠãã ããã
-### ã³ã³ãã³ãããŒã¹ãµã€ãº
+### ã³ã³ãã³ãããŒã¹ãµã€ãº {/* #content-based-size */}
`size`ã`"auto"`ã«èšå®ããããšã§ãã«ã©ã ã¯ã³ã³ãã³ãã®èªç¶ãªå¹
ã«åºã¥ãããµã€ãºãèšå®ããããšãã§ããŸããããã¯ãã«ã©ã ãç¹å®ã®ãã¯ã»ã«æ°ã®ãããªçµ¶å¯Ÿçãªå¹
ã«èšå®ãããšãã«å¿
èŠã§ããèªåå¹
ã®ã«ã©ã ã®é£ã«ããã«ã©ã ã¯ãè¡ãåããããã«ãªãµã€ãºãããŸãã
@@ -88,7 +88,7 @@ import SizeAuto from '@site/static/usage/v9/grid/size-auto/index.mdx';
-### æå®ããããµã€ãº
+### æå®ããããµã€ãº {/* #specified-size */}
ã«ã©ã ã® `size` ãèšå®ãããšãä»ã®ã«ã©ã ã¯èªåçã«ãã®ã«ã©ã ã®åšãã«ãªãµã€ãºãããŸãããã¹ãŠã®ã«ã©ã ã«ãµã€ãºãæå®ããããããã«ã©ã ã®ç·æ°ã«æºããªãå Žåãã«ã©ã ã®åŸã«ç©ºçœãã§ããŸãã
@@ -96,7 +96,7 @@ import Size from '@site/static/usage/v9/grid/size/index.mdx';
-### ã¬ã¹ãã³ã·ããµã€ãº
+### ã¬ã¹ãã³ã·ããµã€ãº {/* #responsive-size */}
`size`ããããã£ã¯ããã¹ãŠã®[ãã¬ãŒã¯ãã€ã³ã](#default-breakpoints)ã§ã«ã©ã å¹
ã倿ŽããŸããã«ã©ã ã¯ãŸãããã¬ãŒã¯ãã€ã³ãåããsizeãã®æ«å°Ÿã«ä»å ãããè€æ°ã®ãµã€ãºããããã£ãæäŸããŸãããããã®ããããã£ã䜿çšããŠãç»é¢ãµã€ãºã«å¿ããŠã«ã©ã ã®å¹
ã倿Žããããšãã§ããŸãã以äžã®äŸã StackBlitz ã§éããç»é¢ã®ãµã€ãºã倿ŽããŠã«ã©ã å¹
ã®å€åã確èªããŠãã ããã
@@ -104,11 +104,11 @@ import SizeResponsive from '@site/static/usage/v9/grid/size-responsive/index.mdx
-## åã®ãªãã»ãã
+## åã®ãªãã»ãã {/* #column-offset */}
ã«ã©ã ã¯ãå
šã«ã©ã æ°ã®ãã¡äžå®ã®ã«ã©ã æ°ã ãå³ã«ããããªãã»ãããå¯èœã§ãã
-### æå®ããããªãã»ãã
+### æå®ããããªãã»ãã {/* #specified-offset */}
ã«ã©ã ã¯ã`offset`ããããã£ãçšããŠå³ã«ç§»åãããããšãã§ããŸãããã®ããããã£ã¯ãã«ã©ã ã®å·ŠããŒãžã³ãæå®ããã«ã©ã ã®æ°ã ãå¢ãããŸãããŸãããã®å³åŽã«ã«ã©ã ãååšããå Žåã¯ããã®ã«ã©ã ãç§»åãããŸãã
@@ -116,7 +116,7 @@ import Offset from '@site/static/usage/v9/grid/offset/index.mdx';
-### ã¬ã¹ãã³ã·ããªãã»ãã
+### ã¬ã¹ãã³ã·ããªãã»ãã {/* #responsive-offset */}
`offset`ããããã£ã¯ããã¹ãŠã®[ãã¬ãŒã¯ãã€ã³ã](#default-breakpoints)ã§åã®å·ŠããŒãžã³ã倿ŽããŸããåã«ã¯ããã¬ãŒã¯ãã€ã³ãåã"offset"ã®æ«å°Ÿã«ä»ããè€æ°ã®ãªãã»ããããããã£ããããŸãããããã®ããããã£ã¯ãç»é¢ãµã€ãºã«å¿ããŠåã®ãªãã»ããã倿Žããããã«äœ¿çšã§ããŸãã以äžã®äŸã StackBlitz ã§éããç»é¢ãµã€ãºã倿ŽããŠåã®ãªãã»ãããã©ã®ããã«å€åãããã確èªããŠãã ããã
@@ -124,11 +124,11 @@ import OffsetResponsive from '@site/static/usage/v9/grid/offset-responsive/index
-## ã³ã©ã ããã·ã¥ïŒãã«
+## ã³ã©ã ããã·ã¥ïŒãã« {/* #column-push--pull */}
ã«ã©ã ã®ç·æ°ã®ãã¡ãäžå®ã®ã«ã©ã æ°ã ããã«ã©ã ãå³ã«æŒããããå·Šã«åŒãããããããšãã§ããŸãã
-### æå®ãããããã·ã¥ïŒãã«
+### æå®ãããããã·ã¥ïŒãã« {/* #specified-push--pull */}
`push`ãš`pull`ã®ããããã£ã远å ããããšã§ãã«ã©ã ã®äžŠã³æ¿ããè¡ãããšãã§ããŸãããããã®ããããã£ã¯ãæå®ãããåæ°ã ãåã® `left` ãš `right` ã調æŽããåã®äžŠã³æ¿ããç°¡åã«è¡ãããšãã§ããŸãããã®å Žåãä»ã®ã«ã©ã ãé
眮ãããŠããå Žæã«ã«ã©ã ãç§»åããããšãã«ã©ã ãéãªãããšã«ãªããŸãã
@@ -136,7 +136,7 @@ import PushPull from '@site/static/usage/v9/grid/push-pull/index.mdx';
-### ããã·ã¥ïŒãã«ã®ã¬ã¹ãã³ã·ã察å¿
+### ããã·ã¥ïŒãã«ã®ã¬ã¹ãã³ã·ãå¯Ÿå¿ {/* #responsive-push--pull */}
`push`ããã³`pull`ããããã£ã¯ããã¹ãŠã®[ãã¬ãŒã¯ãã€ã³ã](#default-breakpoints)ã§åã®äœçœ®ã倿ŽããŸããåã«ã¯ããã¬ãŒã¯ãã€ã³ãåã"push" / "pull"ã®æ«å°Ÿã«ä»ããè€æ°ã®`push`ããã³`pull`ããããã£ããããŸãããããã®ããããã£ã¯ãç»é¢ãµã€ãºã«å¿ããŠåã®äœçœ®ã倿Žããããã«äœ¿çšã§ããŸãã以äžã®äŸã StackBlitz ã§éããç»é¢ãµã€ãºã倿ŽããŠåã®äœçœ®ãã©ã®ããã«å€åãããã確èªããŠãã ããã
@@ -144,9 +144,9 @@ import PushPullResponsive from '@site/static/usage/v9/grid/push-pull-responsive/
-## Alignment
+## Alignment {/* #alignment */}
-### åçŽæ¹åã®ã¢ã©ã€ã¡ã³ã
+### åçŽæ¹åã®ã¢ã©ã€ã¡ã³ã {/* #vertical-alignment */}
ãã¹ãŠã®åã¯ãè¡ã«ç°ãªãã¯ã©ã¹ã远å ããããšã§åçŽã«æŽåãããããšãã§ããŸãã䜿çšå¯èœãªã¯ã©ã¹ã®ãªã¹ãã¯[CSS ãŠãŒãã£ãªãã£](/layout/css-utilities#flex-container-properties)ãåç
§ããŠãã ããã
@@ -154,7 +154,7 @@ import VerticalAlignment from '@site/static/usage/v9/grid/vertical-alignment/ind
-### æ°Žå¹³ã¢ã©ã€ã¡ã³ã
+### æ°Žå¹³ã¢ã©ã€ã¡ã³ã {/* #horizontal-alignment */}
ãã¹ãŠã®åã¯ãè¡ã«ç°ãªãã¯ã©ã¹ã远å ããããšã§æ°Žå¹³æ¹åã«æŽåãããããšãã§ããŸãã䜿çšå¯èœãªã¯ã©ã¹ã®ãªã¹ãã¯[CSS ãŠãŒãã£ãªãã£](/layout/css-utilities.mdx#flex-container-properties)ãåç
§ããŠãã ããã
@@ -166,7 +166,7 @@ import HorizontalAlignment from '@site/static/usage/v9/grid/horizontal-alignment
çµã¿èŸŒã¿ã® CSS 倿°ã䜿çšããããšã§ãå®çŸ©æžã¿ã®ã°ãªãã屿§ãã«ã¹ã¿ãã€ãºããããšãã§ããŸããããã£ã³ã°ã®å€ãã«ã©ã æ°ãªã©ã倿Žããããšãã§ããŸãã
-### åºå®å¹
+### åºå®å¹
{/* #fixed-width */}
åºå®ã°ãªããã®å¹
ã¯ããã¹ãŠã®ãã¬ãŒã¯ãã€ã³ãã«å¯ŸããŠ`--ion-grid-width` CSS 倿°ã§èšå®ã§ããŸããåå¥ã®ãã¬ãŒã¯ãã€ã³ããäžæžãããã«ã¯ã`--ion-grid-width-{breakpoint}` CSS 倿°ã䜿çšããŠãã ãããåãã¬ãŒã¯ãã€ã³ãã®ããã©ã«ãå€ã¯ã[åºå®ã°ãªãã](#fixed-grid)ã»ã¯ã·ã§ã³ã«èšèŒãããŠããŸãã以äžã®äŸã StackBlitz ã§éããç»é¢ãµã€ãºã倿ŽããŠã°ãªããå¹
ãã©ã®ããã«å€åãããã確èªããŠãã ããã
@@ -182,7 +182,7 @@ import ColumnNumber from '@site/static/usage/v9/grid/customizing/column-number/i
-### Padding
+### Padding {/* #padding */}
ã°ãªããã³ã³ããã® padding ã¯ãCSS 倿° `--ion-grid-padding` ãçšããŠãã¹ãŠã®ãã¬ã€ã¯ãã€ã³ãã«å¯ŸããŠèšå®ããããšãã§ããŸããåã
ã®ãã¬ã€ã¯ãã€ã³ããäžæžãããã«ã¯ã `--ion-grid-padding-{breakpoint}` CSS 倿°ã䜿çšããŸãã
@@ -192,26 +192,26 @@ import Padding from '@site/static/usage/v9/grid/customizing/padding/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSS ã«ã¹ã¿ã ããããã£
+## CSS ã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/header.mdx b/docs/api/header.mdx
index fa610ab6982..1ed80f2cdec 100644
--- a/docs/api/header.mdx
+++ b/docs/api/header.mdx
@@ -21,13 +21,13 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
ããããŒã¯ãããŒãžã®äžéšã«é
眮ãããããŒãžã®ã«ãŒãã³ã³ããŒãã³ãã§ãã1ã€ä»¥äžã®[ããŒã«ããŒ](./toolbar)ã®ã©ãããŒãšããŠäœ¿çšããããšãæšå¥šãããŠããŸãããããããèŠçŽ ãã©ããããããã«äœ¿çšããããšãã§ããŸããããŒã«ããŒãããããŒå
ã§äœ¿çšãããå Žåãã³ã³ãã³ãã¯æ£ãããµã€ãºã«ãªãããã«èª¿æŽãããããããŒã¯ããã€ã¹ã»ãŒãé åãèæ
®ããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/header/basic/index.mdx';
-## åéæã®ããããŒ
+## åéæã®ããã㌠{/* #translucent-header */}
ããããŒã¯ã`translucent`ããããã£ãèšå®ããããšã§ããã€ãã£ãiOSã¢ããªã±ãŒã·ã§ã³ã§èŠãããéæåºŠãšäžèŽãããããšãã§ããŸããã³ã³ãã³ããããããŒã®èåŸã«ã¹ã¯ããŒã«ãããã«ã¯ãã³ã³ãã³ãã«`fullscreen`ããããã£ãèšå®ããå¿
èŠããããŸãããã®å¹æã¯ãã¢ãŒãã`"ios"`ã§ãããããã€ã¹ã[backdrop-filter](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#browser_compatibility)ããµããŒãããŠããå Žåã«ã®ã¿é©çšãããŸãã
@@ -43,7 +43,7 @@ import Condense from '@site/static/usage/v9/header/condense/index.mdx';
-## ãã§ãŒãããããŒ
+## ãã§ãŒãããã㌠{/* #fade-header */}
å€ãã®ãã€ãã£ãiOSã¢ããªã±ãŒã·ã§ã³ã¯ãããŒã«ããŒã«ãã§ãŒã广ãæãããŠããŸããããã¯ãããããŒã® `collapse` ããããã£ã `"fade"` ã«èšå®ããããšã§å®çŸå¯èœã§ããããŒãžãæåã«èªã¿èŸŒãŸãããšããããããŒã®èæ¯ãšå¢çç·ã¯é衚瀺ã«ãªããŸããã³ã³ãã³ããã¹ã¯ããŒã«ããããšãããããŒã¯åã³ãã§ãŒãã€ã³ããŸãããã®å¹æã¯ãã¢ãŒãããiosãã®ãšãã ãé©çšãããŸãã
@@ -53,7 +53,7 @@ import Fade from '@site/static/usage/v9/header/fade/index.mdx';
-### ä»®æ³ã¹ã¯ããŒã«ã®äœ¿ç𿹿³
+### ä»®æ³ã¹ã¯ããŒã«ã®äœ¿ç𿹿³ {/* #usage-with-virtual-scroll */}
ãã§ãŒãããããŒãæ£ããåäœããããã«ã¯ãã¹ã¯ããŒã«ã³ã³ãããå¿
èŠã§ããä»®æ³ã¹ã¯ããŒã«ãœãªã¥ãŒã·ã§ã³ã䜿çšããå Žåã¯ãã«ã¹ã¿ã ã¹ã¯ããŒã«ã¿ãŒã²ãããæäŸããå¿
èŠããããŸããã³ã³ãã³ãã®ã¹ã¯ããŒã«ãç¡å¹ã«ããã¹ã¯ããŒã«ãæ
åœããèŠçŽ ã« `.ion-content-scroll-host` ã¯ã©ã¹ã远å ããå¿
èŠããããŸãã
@@ -61,7 +61,7 @@ import CustomScrollTarget from '@site/static/usage/v9/header/custom-scroll-targe
-## Borders
+## Borders {/* #borders */}
`"md"`ã¢ãŒãã§ã¯ãããããŒã®äžéšã« `box-shadow` ã衚瀺ãããŸãã `"ios"`ã¢ãŒãã§ã¯ããããã®äžéšã« `border` ã衚瀺ãããŸãããããã¯ãããããŒã« `.ion-no-border` ã¯ã©ã¹ã远å ããããšã§åé€ããããšãã§ããŸãã
@@ -69,26 +69,26 @@ import NoBorder from '@site/static/usage/v9/header/no-border/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/icon.mdx b/docs/api/icon.mdx
index da82ad3406a..35ec225ab96 100644
--- a/docs/api/icon.mdx
+++ b/docs/api/icon.mdx
@@ -14,13 +14,13 @@ Icon ã¯ãã¢ã€ã³ã³ã衚瀺ããããã®æ±çšã³ã³ããã§ãã[Ionic
Ionicons ã®ããã¥ã¡ã³ãã«ã€ããŠã¯ã[ionic.io/ionicons](https://ionic.io/ionicons)ãåç
§ããŠãã ããã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/icon/basic/index.mdx';
-## ãã©ã³ãã¢ã€ã³ã³
+## ãã©ã³ãã¢ã€ã³ã³ {/* #font-icons */}
Font AwesomeãBootstrap IconsãRemix IconsãPhosphor Icons ãªã©ã®ãã©ã³ãããŒã¹ã®ã¢ã€ã³ã³ã¯ãIcon ã® slot ã«é
眮ããŠè¡šç€ºã§ããŸãã
@@ -28,7 +28,7 @@ import FontIcons from '@site/static/usage/v9/icon/font-icons/index.mdx';
-## ã«ã¹ã¿ã SVG
+## ã«ã¹ã¿ã SVG {/* #custom-svgs */}
Icon ã§ã«ã¹ã¿ã SVG ã衚瀺ããæ¹æ³ã¯ 2 ã€ãããŸãã`src` ããããã£ã䜿çšããŠå€éš SVG ãã¡ã€ã«ãèªã¿èŸŒãããSVG ã³ã³ãã³ããã³ã³ããŒãã³ãã® slot ã«çŽæ¥é
眮ããŸãã
@@ -36,7 +36,7 @@ import CustomSVGs from '@site/static/usage/v9/icon/custom-svgs/index.mdx';
-## ã¢ã¯ã»ã·ããªãã£
+## ã¢ã¯ã»ã·ããªã㣠{/* #accessibility */}
çŽç²ã«è£
食çãªã³ã³ãã³ãã§ããã¢ã€ã³ã³ã¯ãaria-hidden="true"ãæã€ã¹ãã§ããããã¯ãã¢ã€ã³ã³ãèŠèŠçã«é ãããšã¯ã§ããŸããããæ¯æŽæè¡ãããã®èŠçŽ ãé ãããšãã§ããŸãã
diff --git a/docs/api/img.mdx b/docs/api/img.mdx
index da45ed720a7..b20bdbbaff1 100644
--- a/docs/api/img.mdx
+++ b/docs/api/img.mdx
@@ -27,32 +27,32 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Img ã¯ãã¿ã°ããã¥ãŒããŒãã«è¡šç€ºãããŠãããšãã«ç»åãLazy Loadããã¿ã°ã§ããããã¯ãç»åã衚瀺ãããŠãããšãã«ã®ã¿ããŒããããããã巚倧ãªãªã¹ããçæããå Žåã«éåžžã«äŸ¿å©ã§ãããã®ã³ã³ããŒãã³ã㯠[Intersection Observer](https://caniuse.com/#feat=intersectionobserver) ãå
éšçã«äœ¿çšããŸããIntersection Observerã¯ãæè¿ã®ã»ãšãã©ã®ãã©ãŠã¶ã§ãµããŒããããŠããŸããããµããŒããããŠããªãå Žå㯠`setTimeout` ã§åŠçãããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/img/basic/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/infinite-scroll-content.mdx b/docs/api/infinite-scroll-content.mdx
index e5c26b0fabe..fa4ddfedd78 100644
--- a/docs/api/infinite-scroll-content.mdx
+++ b/docs/api/infinite-scroll-content.mdx
@@ -15,26 +15,26 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
詳现ããã³äœ¿ç𿹿³ã«ã€ããŠã¯ã[Infinite Scrollããã¥ã¡ã³ã](./infinite-scroll.mdx#custom-content)ãåç
§ããŠãã ããã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## ã¹ããã
+## ã¹ããã {/* #slots */}
diff --git a/docs/api/infinite-scroll.mdx b/docs/api/infinite-scroll.mdx
index 3fb7def6330..4578ca86f9c 100644
--- a/docs/api/infinite-scroll.mdx
+++ b/docs/api/infinite-scroll.mdx
@@ -23,13 +23,13 @@ Infinite Scrollã³ã³ããŒãã³ãã¯ããŠãŒã¶ãŒãããŒãžã®äžéšãŸ
ãŠãŒã¶ãå®çŸ©ãããè·é¢ã«éãããšãã«ã`ionInfinite` ã€ãã³ãã«å²ãåœãŠããã颿°ãåŒã³åºãããŸãããã®é¢æ°ããã¹ãŠã®ã¿ã¹ã¯ãå®äºããããç¡éã¹ã¯ããŒã«ã€ã³ã¹ã¿ã³ã¹ã«å¯Ÿã㊠`complete()` ã¡ãœãããåŒã³åºãå¿
èŠããããŸãã
-## Basic Usage
+## Basic Usage {/* #basic-usage */}
import Basic from '@site/static/usage/v9/infinite-scroll/basic/index.mdx';
-## ç¡éã¹ã¯ããŒã«ã®ã³ã³ãã³ã
+## ç¡éã¹ã¯ããŒã«ã®ã³ã³ãã³ã {/* #loading-text-and-spinner */}
`ion-infinite-scroll`ã³ã³ããŒãã³ãã¯ãç¡éã¹ã¯ããŒã«ã®ããžãã¯ãæã£ãŠããŸããã³ã³ãã³ãã衚瀺ããã«ã¯ãåã³ã³ããŒãã³ããå¿
èŠã§ããIonicã¯ãããã©ã«ãã§ãã® `ion-infinite-scroll-content` ã³ã³ããŒãã³ãã䜿çšããŸãããã®ã³ã³ããŒãã³ãã¯ãç¡éã¹ã¯ããŒã«ã衚瀺ããç¡éã¹ã¯ããŒã«ã®ç¶æ
ã«å¿ããŠå€èгã倿ŽããŸãããŠãŒã¶ã䜿çšããŠãããã©ãããã©ãŒã ã«å¿ããŠæé©ãªã¹ãããŒã衚瀺ãããŸãããã ãã`ion-infinite-scroll-content` ã³ã³ããŒãã³ãã®ããããã£ãèšå®ããããšã«ãããããã©ã«ãã®ã¹ãããŒã倿Žããããããã¹ãã远å ããããšãã§ããŸãã
@@ -37,7 +37,7 @@ import InfiniteScrollContent from '@site/static/usage/v9/infinite-scroll/infinit
-## Custom Content
+## Custom Content {/* #custom-content */}
`ion-infinite-scroll` ãš `ion-infinite-scroll-content` ã³ã³ããŒãã³ããåé¢ããããšã§ãéçºè
ã¯å¿
èŠã«å¿ããŠç¬èªã®ã³ã³ãã³ãã³ã³ããŒãã³ããäœæã§ããŸãããã®ã³ã³ãã³ãã«ã¯ãSVGèŠçŽ ããåºæã®CSSã¢ãã¡ãŒã·ã§ã³ãæã€èŠçŽ ãŸã§ããããããã®ãå«ããããšãã§ããŸãã
@@ -45,7 +45,7 @@ import CustomContent from '@site/static/usage/v9/infinite-scroll/custom-infinite
-## Virtual Scrollã®äœ¿ãæ¹
+## Virtual Scrollã®äœ¿ãæ¹ {/* #usage-with-virtual-scroll */}
ç¡éã¹ã¯ããŒã«ã«ã¯ã¹ã¯ããŒã«ã³ã³ãããå¿
èŠã§ããä»®æ³ã¹ã¯ããŒã«ãœãªã¥ãŒã·ã§ã³ã䜿çšããå Žåã¯ã`ion-content` ã®ã¹ã¯ããŒã«ãç¡å¹ã«ãã`.ion-content-scroll-host` ã¯ã©ã¹ã¿ãŒã²ããã§ãã©ã®èŠçŽ ã³ã³ãããã¹ã¯ããŒã«ã³ã³ãããæ
åœããããæå®ããå¿
èŠããããŸãã
@@ -66,7 +66,7 @@ import CustomContent from '@site/static/usage/v9/infinite-scroll/custom-infinite
:::
-## Accessibility
+## Accessibility {/* #accessibility */}
éçºè
ã¯ããŠãŒã¶ãŒãã¹ã¯ããŒã«ãããšè¿œå ããããåé€ããããããã¹ã¯ããŒã«å¯èœãªãªã¹ãã¢ã€ãã ã« `role="feed"` 屿§ãå²ãåœãŠãå¿
èŠããããŸãã
@@ -90,9 +90,9 @@ import CustomContent from '@site/static/usage/v9/infinite-scroll/custom-infinite
ãã®ä»ã®æ
å ±ã«ã€ããŠã¯ã[ARIA: feed role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/feed_role) ã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
-## Interfaces
+## Interfaces {/* #interfaces */}
-### InfiniteScrollCustomEvent
+### InfiniteScrollCustomEvent {/* #infinitescrollcustomevent */}
å¿
é ã§ã¯ãããŸãããããã®ã³ã³ããŒãã³ãããçºè¡ããã Ionic ã€ãã³ãã§ãã匷ãåä»ããè¡ãããã«ã`CustomEvent` ã€ã³ã¿ãŒãã§ãŒã¹ã®ä»£ããã«ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããããšãå¯èœã§ãã
@@ -102,26 +102,26 @@ interface InfiniteScrollCustomEvent extends CustomEvent {
}
```
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/input-otp.mdx b/docs/api/input-otp.mdx
index 67cae39507c..4fdb6fe6bae 100644
--- a/docs/api/input-otp.mdx
+++ b/docs/api/input-otp.mdx
@@ -23,7 +23,7 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
Input OTP ã³ã³ããŒãã³ãã¯ãã¯ã³ã¿ã€ã ãã¹ã¯ãŒãïŒOTPïŒå
¥åçšã«èšèšãããå
¥åã³ã³ããŒãã³ãã§ããè€æ°ã®å
¥åããã¯ã¹ãšèªåãã©ãŒã«ã¹ç®¡çããµããŒããã æ€èšŒã³ãŒããå
¥åããããã®ãŠãŒã¶ãŒãã¬ã³ããªãŒãªã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŸãã
-## åºæ¬çãªäœ¿çšæ³
+## åºæ¬çãªäœ¿çšæ³ {/* #basic-usage */}
ãã®ã³ã³ããŒãã³ãã¯ããã©ã«ãã§4ã€ã®å
¥åããã¯ã¹ãæäŸããŸããå
¥åããã¯ã¹ã®æ°ã¯ `length` ããããã£ã䜿çšããŠã«ã¹ã¿ãã€ãºããããšãã§ããŸãã
@@ -31,7 +31,7 @@ import Basic from '@site/static/usage/v9/input-otp/basic/index.mdx';
-## Type
+## Type {/* #type */}
`type` ããããã£ã¯å
¥å圢åŒã決å®ããæ°åãŸãã¯è±æ°åã®æ€èšŒã³ãŒãããµããŒãããŸããããããã£ã«ã¯2ã€ã®å€ãæå®ã§ããïŒ `number`ãš `text` ã§ããããã©ã«ãã§ã¯ `type="number"` ã䜿çšããæ°åèªèšŒã³ãŒããå
¥åãåãä»ããŸãã `type="text"` ãæå®ãããšãè±æ°åã®å
¥åãåãä»ããããã®æè»æ§ã«ãããæ°åã®ã¿ã®ã³ãŒãïŒSMS èªèšŒã³ãŒãã®ãããªïŒãè±æ°åã®ã³ãŒãïŒããã¯ã¢ããã³ãŒãããªã«ããªããŒã®ãããªïŒãªã©ãããŸããŸãª OTP ãã©ãŒããããæ±ãããšãã§ããŸã
@@ -50,7 +50,7 @@ import Type from '@site/static/usage/v9/input-otp/type/index.mdx';
-## Shape
+## Shape {/* #shape */}
`shape` ããããã£ã¯ãå
¥åããã¯ã¹ã®ããŒããŒååŸãã³ã³ãããŒã«ããäžžã¿ã垯ã³ãã³ãŒããŒãã·ã£ãŒããªã³ãŒããŒãäœæããŸãã
@@ -58,7 +58,7 @@ import Shape from '@site/static/usage/v9/input-otp/shape/index.mdx';
-## Fill
+## Fill {/* #fill */}
`fill` ããããã£ã¯å
¥åããã¯ã¹ã®èæ¯ã®ã¹ã¿ã€ã«ãã³ã³ãããŒã«ããçžåããŸãã¯å¡ãã€ã¶ãã®èæ¯ãæäŸããŸãã
@@ -66,7 +66,7 @@ import Fill from '@site/static/usage/v9/input-otp/fill/index.mdx';
-## Size
+## Size {/* #size */}
`size`ããããã£ã¯å
¥åããã¯ã¹ã«ç°ãªããµã€ãºã®ãªãã·ã§ã³ãæäŸããŸãã
@@ -74,7 +74,7 @@ import Size from '@site/static/usage/v9/input-otp/size/index.mdx';
-## Separators
+## Separators {/* #separators */}
`separators` ããããã£ã¯1ã€ä»¥äžã®å
¥åããã¯ã¹ã®éã«èŠèŠçãªä»åãã远å ããŸããã»ãã¬ãŒã¿ã¯3ã€ã®æ¹æ³ã§å®çŸ©ã§ããŸãïŒ
@@ -88,7 +88,7 @@ import Separators from '@site/static/usage/v9/input-otp/separators/index.mdx';
-## States
+## States {/* #states */}
ãã®ã³ã³ããŒãã³ãã¯ãå
¥åããã¯ã¹ã®èªåã¹ã¿ã€ãªã³ã°ã®ããã®ããŸããŸãªç¶æ
ããµããŒãããŠããŸãïŒ
@@ -103,7 +103,7 @@ import States from '@site/static/usage/v9/input-otp/states/index.mdx';
-## Pattern
+## Pattern {/* #pattern */}
`pattern` ããããã£ã¯æ£èŠè¡šçŸã䜿ã£ãã«ã¹ã¿ã ããªããŒã·ã§ã³ãå¯èœã«ããŸãã [æååã®æ£èŠè¡šçŸ](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions/Cheatsheet)ãŸãã¯[unicodeã®æ£èŠè¡šçŸ](https://www.regular-expressions.info/unicode.html)ã䜿çšããŠãèš±å¯ãããæåãæ€èšŒããããšãã§ããŸãã `pattern`ã¯ãµãã»ããã ãã§ãªããå€å
šäœã«ãããããå¿
èŠããããŸããããã©ã«ãã®ãã¿ãŒã³
@@ -123,9 +123,9 @@ import Pattern from '@site/static/usage/v9/input-otp/pattern/index.mdx';
-## Theming
+## Theming {/* #theming */}
-### Colors
+### Colors {/* #colors */}
`color`ããããã£ã¯å
¥åããã¯ã¹ã®ã«ã©ãŒãã¬ããã倿ŽããŸããã¢ãŠãã©ã€ã³å¡ãã€ã¶ãã®å Žåããã®ããããã£ã¯ãã£ã¬ããã«ã©ãŒããã€ã©ã€ãã«ã©ãŒãããŒããŒã«ã©ãŒã倿ŽããŸãã `solid` å¡ãã€ã¶ãã®å Žåããã®ããããã£ã¯ãã£ã¬ããã«ã©ãŒãšãã€ã©ã€ãã«ã©ãŒã倿ŽããŸãã
@@ -137,7 +137,7 @@ import Colors from '@site/static/usage/v9/input-otp/theming/colors/index.mdx';
-### CSS Custom Properties
+### CSS Custom Properties {/* #css-custom-properties */}
Input OTPã¯ã¹ã³ãŒããããã«ãã»ã«åã䜿çšããŠããŸããããã¯ãå®è¡æã«åã¹ã¿ã€ã«ã«è¿œå ã®ã¯ã©ã¹ã远å ããããšã§ãCSSãèªåçã«ã¹ã³ãŒãããããšãæå³ããŸããCSSã§ã¹ã³ãŒããããã»ã¬ã¯ã¿ããªãŒããŒã©ã€ãããã«ã¯ã[ããé«ãç¹ç°æ§](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity) ã»ã¬ã¯ã¿ãå¿
èŠã§ãããã®ãããã¯ã©ã¹ã远å ããŠã«ã¹ã¿ãã€ãºããããšããå§ãããŸããç¹å®ã®ã¹ã¿ã€ã«ã `fill` ã«åºã¥ããŠé©çšãããããã`fill` ã®ããããã£ãåå¥ã«ãªãŒããŒã©ã€ãããå¿
èŠããããããããŸããã
@@ -145,9 +145,9 @@ import CSSProps from '@site/static/usage/v9/input-otp/theming/css-properties/ind
-## Accessibility
+## Accessibility {/* #accessibility */}
-### Keyboard Interactions
+### Keyboard Interactions {/* #keyboard-interactions */}
Input OTPã®ããŒããŒãããã²ãŒã·ã§ã³ã¯ã[ARIA Authoring Practices Guide](https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/) ã®è€åãŠã£ãžã§ããã«é¢ããæšå¥šã«åŸã£ãŠããŸããããã¯ã1ã€ã®ã³ã³ãããŒã«ãšããŠæ©èœããè€æ°ã®ãã©ãŒã«ã¹å¯èœãªèŠçŽ ïŒå
¥åããã¯ã¹ïŒãå«ããããè€åãŠã£ãžã§ãããšããŠæ±ãããŸãã
@@ -163,26 +163,26 @@ Input OTPã®ããŒããŒãããã²ãŒã·ã§ã³ã¯ã[ARIA Authoring Practices
| Backspace | In an empty box: moves focus back one box and clears its value.
In a box with a value: clears that value.
With values in boxes to the right: shifts them all one position to the left. In RTL mode, with values in boxes to the left: shifts them all one position to the right. |
| Ctrl + V
Cmd + V | Pastes content starting from the first box, regardless of which box is currently focused. All existing values are cleared before pasting. For example, if you have "1234" in all boxes and paste "56", the result will be "56" in the first two boxes with the remaining boxes empty. If the pasted content is longer than the available boxes, the extra characters are ignored. |
-## Properties
+## Properties {/* #properties */}
-## Events
+## Events {/* #events */}
-## Methods
+## Methods {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSS Custom Properties
+## CSS Custom Properties {/* #css-custom-properties-1 */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/input-password-toggle.mdx b/docs/api/input-password-toggle.mdx
index 095b96b876d..4c8e0c63999 100644
--- a/docs/api/input-password-toggle.mdx
+++ b/docs/api/input-password-toggle.mdx
@@ -23,7 +23,7 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
The InputPasswordToggle component is a companion component to [Input](./input). It allows users to toggle the visibility of text in a password input.
-## Basic Usage
+## Basic Usage {/* #basic-usage */}
:::info
@@ -37,26 +37,26 @@ import Basic from '@site/static/usage/v9/input-password-toggle/basic/index.mdx';
-## Properties
+## Properties {/* #properties */}
-## Events
+## Events {/* #events */}
-## Methods
+## Methods {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSS Custom Properties
+## CSS Custom Properties {/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/input.mdx b/docs/api/input.mdx
index 40afc61bfe3..8b8796d13cc 100644
--- a/docs/api/input.mdx
+++ b/docs/api/input.mdx
@@ -23,13 +23,13 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
input ã³ã³ããŒãã³ãã¯ãHTML input èŠçŽ ã®ã©ãããŒã§ãã«ã¹ã¿ã ã¹ã¿ã€ã«ãšè¿œå æ©èœãåããŠããŸããHTMLå
¥åãšåãããããã£ã®ã»ãšãã©ãåãå
¥ããã¢ãã€ã«ããã€ã¹ã®ããŒããŒããšçµ±åããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/input/basic/index.mdx';
-## Types
+## Types {/* #types */}
input ã³ã³ããŒãã³ãã¯ã`"text"`, `"password"`, `"email"`, `"number"`, `"search"`, `"tel"`, `"url"` ãªã©ã®ããã¹ãã¿ã€ãã®å
¥åã®ã¿ã察象ãšããŠããŸãããŸãã`keyup`ã`keydown`ã`keypress`ãªã©ã®æšæºçãªããã¹ãå
¥åã€ãã³ãããã¹ãŠãµããŒãããŠããŸããããã©ã«ãã® `type` 㯠`"text"` ã§ãã
@@ -37,7 +37,7 @@ import Types from '@site/static/usage/v9/input/types/index.mdx';
-## Labels
+## Labels {/* #labels */}
ã©ãã«ã¯ãå
¥åã説æããããã«äœ¿çšãããã¹ãã§ãããããã¯èŠèŠçã«äœ¿çšããããšãã§ãããŸãããŠãŒã¶ãŒãå
¥åã«éäžããŠãããšãã«ã¯ãã¹ã¯ãªãŒã³ãªãŒããŒã«ãã£ãŠèªã¿äžããããŸããããã«ããããŠãŒã¶ãŒã¯å
¥åã®æå³ãçè§£ãããããªããInputã«ã¯ã©ãã«ãå²ãåœãŠãæ¹æ³ãããã€ããããŸãïŒ
@@ -45,7 +45,7 @@ import Types from '@site/static/usage/v9/input/types/index.mdx';
- `label`ã¹ããã: ã«ã¹ã¿ã HTML ã©ãã«ã«äœ¿çšããïŒå®éšçïŒã
- `aria-label`: ã¹ã¯ãªãŒã³ãªãŒããŒçšã®ã©ãã«ãšããŠäœ¿çšãããããã©ãã«ã¯è¡šç€ºãããªãã
-### Label Placement
+### Label Placement {/* #label-placement */}
ã©ãã«ã¯ãããã©ã«ãã§ãã®ã³ã³ãã³ãã®å¹
ãå ããŸãã éçºè
㯠`labelPlacement` ããããã£ã䜿çšããŠãã©ãã«ãã©ã®ããã«é
眮ãããããå¶åŸ¡ããããšãã§ããŸãã
@@ -53,7 +53,7 @@ import LabelPlacement from '@site/static/usage/v9/input/label-placement/index.md
-### Label Slot ïŒå®éšçïŒ
+### Label Slot ïŒå®éšçïŒ {/* #label-slot-experimental */}
ãã¬ãŒã³ããã¹ãã®ã©ãã«ã¯ `label` ããããã£ãéããŠæž¡ãããã¹ãã§ãããã«ã¹ã¿ã HTML ãå¿
èŠãªå Žåã¯ã代ããã« `label` ã¹ããããéããŠæž¡ãããšãã§ããŸãã
@@ -63,7 +63,7 @@ import LabelSlot from '@site/static/usage/v9/input/label-slot/index.mdx';
-### No Visible Label
+### No Visible Label {/* #no-visible-label */}
衚瀺ããã©ãã«ãå¿
èŠãªãå Žåã§ããéçºè
㯠`aria-label` ãæå®ããå¿
èŠããããŸãã
@@ -71,7 +71,7 @@ import NoVisibleLabel from '@site/static/usage/v9/input/no-visible-label/index.m
-## Clear Options
+## Clear Options {/* #clear-options */}
Inputsã«ã¯ãå
¥åã®æäœæ¹æ³ã«å¿ããŠãInputãã¯ãªã¢ããããã®2ã€ã®ãªãã·ã§ã³ããããŸããæåã®æ¹æ³ã¯ `clearInput` ããããã£ã远å ããããšã§ãInputã« `value` ããããšãã«ã¯ãªã¢ãã¿ã³ã衚瀺ããŸãã2ã€ç®ã®æ¹æ³ã¯ `clearOnEdit` ããããã£ã§ãå
¥åãç·šéåé€ãããåŸãå床å
¥åããããšã¯ãªã¢ãããŸãã `type` ã `"password"` ã«èšå®ãããŠããInputã¯ãããã©ã«ãã§ `clearOnEdit` ãæå¹ã«ãªã£ãŠããŸãã
@@ -79,7 +79,7 @@ import Clear from '@site/static/usage/v9/input/clear/index.mdx';
-## Filled Inputs
+## Filled Inputs {/* #filled-inputs */}
Material Design ã§ã¯ãInputã«å¡ãã€ã¶ãã®ã¹ã¿ã€ã«ãçšæãããŠããŸããInputã® `fill` ããããã£ã¯ `"solid"` ãŸã㯠`"outline"` ã®ããããã«èšå®ããããšãã§ããŸãã
@@ -93,7 +93,7 @@ import Fill from '@site/static/usage/v9/input/fill/index.mdx';
-## Helper & Error Text
+## Helper & Error Text {/* #helper--error-text */}
ãã«ããŒããã¹ããšãšã©ãŒããã¹ãã¯ã`helperText` ãš `errorText` ããããã£ã䜿çšããŠå
¥åã®å
éšã§äœ¿çšããããšãã§ããŸãããšã©ãŒããã¹ãã¯ã `ion-invalid` ã¯ã©ã¹ãš `ion-touched` ã¯ã©ã¹ã `ion-input` ã«è¿œå ãããŠããªãéã衚瀺ãããªããããã«ããããŠãŒã¶ãããŒã¿ãå
¥åããåã«ãšã©ãŒã衚瀺ãããããšã¯ãããŸããã
@@ -103,7 +103,7 @@ import HelperError from '@site/static/usage/v9/input/helper-error/index.mdx';
-## Input Counter
+## Input Counter {/* #input-counter */}
Input Counterã¯ãInputã®äžã«è¡šç€ºãããããã¹ãã§ãå
¥åå¯èœãªæåæ°ã®ãã¡ãäœæåãå
¥åããããããŠãŒã¶ãŒã«éç¥ãããã®ã§ããã«ãŠã³ã¿ãŒã远å ããå Žåãããã©ã«ãã®åäœã¯ã衚瀺ãããå€ã `inputLength` / `maxLength` ãšããŠãã©ãŒãããããããšã§ãããã®åäœã¯ã`counterFormatter`ããããã£ã«ãã©ãŒããã¿é¢æ°ãæž¡ãããšã§ã«ã¹ã¿ãã€ãºããããšãã§ããŸãã
@@ -119,7 +119,7 @@ import CounterAlignment from '@site/static/usage/v9/input/counter-alignment/inde
-## Filtering User Input
+## Filtering User Input {/* #filtering-user-input */}
éçºè
㯠`ionInput` ã€ãã³ãã䜿çšããŠãããŒå
¥åãªã©ã®ãŠãŒã¶ãŒå
¥åã«å¿çããŠå
¥åå€ãæŽæ°ããããšãã§ããŸããããã¯ãç¡å¹ãªæåãäžèŠãªæåããã£ã«ã¿ãªã³ã°ããã®ã«äŸ¿å©ã§ãã
@@ -129,7 +129,7 @@ import FilteringData from '@site/static/usage/v9/input/filtering/index.mdx';
-## å
¥åãã¹ãã³ã°
+## å
¥åãã¹ãã³ã° {/* #input-masking */}
å
¥åãã¹ãã³ã°ã¯ãæå¹ãªå
¥åå€ããµããŒãããããã«å
¥åãå¶çŽããåŒã§ããIonicã§ã¯ãå
¥åãã¹ãã³ã°ã«[Maskito](https://maskito.dev)ã䜿ãããšãæšå¥šããŠããŸããMaskitoã¯ãå
¥åãã£ãŒã«ãããã¹ã¯ããããã®è»œéã§äŸåé¢ä¿ã®ãªãã©ã€ãã©ãªã§ããé»è©±çªå·ãã¯ã¬ãžããã«ãŒããæ¥ä»ãªã©ãå¹
åºããã¹ã¯ããµããŒãããŠããŸãã
@@ -149,7 +149,7 @@ Please submit bug reports with Maskito to the [Maskito Github repository](https:
:::
-## Start and End Slots (experimental)
+## Start and End Slots (experimental) {/* #start-and-end-slots-experimental */}
`start`ã¹ããããš `end`ã¹ãããã¯Inputã®äž¡åŽã«ã¢ã€ã³ã³ããã¿ã³ãæ¥é èŸ/æ¥å°ŸèŸããã¹ããé
眮ããããã«äœ¿çšããããšãã§ããŸãã
@@ -165,9 +165,9 @@ import StartEndSlots from '@site/static/usage/v9/input/start-end-slots/index.mdx
-## ããŒã
+## ããŒã {/* #theming */}
-### é
è²
+### é
è² {/* #colors */}
`color`ããããã£ãèšå®ãããšãåInputã®ã«ã©ãŒãã¬ããã倿ŽãããŸãã `ios`ã¢ãŒãã§ã¯ããã®ããããã£ã¯ãã£ã¬ããã«ã©ãŒã倿ŽããŸãã `md`ã¢ãŒãã§ã¯ããã®ããããã£ã¯ãã£ã¬ããã«ã©ãŒãšãã€ã©ã€ã/ã¢ã³ããŒã©ã€ã³ã«ã©ãŒã倿ŽããŸãã
@@ -179,7 +179,7 @@ import Colors from '@site/static/usage/v9/input/theming/colors/index.mdx';
-## CSSã«ã¹ã¿ã ããããã£
+### CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
Inputã¯scoped encapsulationãæ¡çšããŠãããå®è¡æã«åã¹ã¿ã€ã«ã«è¿œå ã®ã¯ã©ã¹ãä»å ããããšã§ãCSSãèªåçã«ã¹ã³ãŒãåããŸããCSSã§scopedã»ã¬ã¯ã¿ãäžæžãããã«ã¯ã[higher specificity](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity) ã»ã¬ã¯ã¿ãå¿
èŠã§ãããã®ãããã¯ã©ã¹ã远å ããŠã«ã¹ã¿ãã€ãºããããšããå§ãããŸãã
@@ -187,9 +187,9 @@ import CSSProps from '@site/static/usage/v9/input/theming/css-properties/index.m
-## Interfaces
+## Interfaces {/* #interfaces */}
-### InputChangeEventDetail
+### InputChangeEventDetail {/* #inputchangeeventdetail */}
```typescript
interface InputChangeEventDetail {
@@ -197,7 +197,7 @@ interface InputChangeEventDetail {
}
```
-### InputCustomEvent
+### InputCustomEvent {/* #inputcustomevent */}
å¿
é ã§ã¯ãããŸãããããã®ã³ã³ããŒãã³ãããçºè¡ããã Ionic ã€ãã³ãã§ãã匷ãåä»ããè¡ãããã«ã`CustomEvent` ã€ã³ã¿ãŒãã§ãŒã¹ã®ä»£ããã«ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããããšãå¯èœã§ãã
@@ -208,26 +208,26 @@ interface InputCustomEvent extends CustomEvent {
}
```
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties-1 */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/item-divider.mdx b/docs/api/item-divider.mdx
index 67e44a0cff8..39ce786403d 100644
--- a/docs/api/item-divider.mdx
+++ b/docs/api/item-divider.mdx
@@ -23,46 +23,46 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
ã¢ã€ãã ãã£ãã€ãã¯ããªã¹ãå
ã® [ã¢ã€ãã ](./item) ãåºåãããã«äœ¿çšã§ãããããã¯èŠçŽ ã§ãããªã¹ãããããŒãšäŒŒãŠããŸããããªã¹ãã®äžçªäžã«çœ®ãã ãã§ãªããã¢ã€ãã ã®ã°ã«ãŒãã®éã«çœ®ãå¿
èŠããããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/item-divider/basic/index.mdx';
-## ããŒã
+## ããŒã {/* #theming */}
-### é
è²
+### é
è² {/* #colors */}
import Colors from '@site/static/usage/v9/item-divider/theming/colors/index.mdx';
-## CSSã«ã¹ã¿ã ããããã£
+### CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
import CSSProps from '@site/static/usage/v9/item-divider/theming/css-properties/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties-1 */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/item-group.mdx b/docs/api/item-group.mdx
index 4ce16df4fa5..1827a3044e2 100644
--- a/docs/api/item-group.mdx
+++ b/docs/api/item-group.mdx
@@ -21,38 +21,38 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
ã¢ã€ãã ã°ã«ãŒããšã¯ãé¡äŒŒã®[ã¢ã€ãã ](./item)ããŸãšããŠæŽçããããã®ã³ã³ããã§ããã¢ã€ãã ã°ã«ãŒãã«ã¯ãã¢ã€ãã ãè€æ°ã®ã»ã¯ã·ã§ã³ã«åããããã®[ã¢ã€ãã ãã£ãã€ããŒ](./item-divider)ãå«ããããšãã§ããŸãããŸãã[ã¹ã©ã€ãã¢ã€ãã ](./item-sliding)ãã°ã«ãŒãåããããã«äœ¿çšããããšãã§ããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
import Basic from '@site/static/usage/v9/item-group/basic/index.mdx';
-## Sliding Items
+## Sliding Items {/* #sliding-items */}
import SlidingItems from '@site/static/usage/v9/item-group/sliding-items/index.mdx';
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/item-option.mdx b/docs/api/item-option.mdx
index 785ed96f62d..6d581897318 100644
--- a/docs/api/item-option.mdx
+++ b/docs/api/item-option.mdx
@@ -25,26 +25,26 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
詳现ã«ã€ããŠã¯ã[item sliding](./item-sliding)ã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/item-options.mdx b/docs/api/item-options.mdx
index 01bf0d99794..4f2ea42edc4 100644
--- a/docs/api/item-options.mdx
+++ b/docs/api/item-options.mdx
@@ -23,33 +23,33 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
詳现ã«ã€ããŠã¯ã[item sliding](./item-sliding)ã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
-## Side Description
+## Side Description {/* #side-description */}
| Side | Position | Swipe Direction |
| ------- | --------------------------------------------------------------- | ----------------------------------------------------------------- |
| `start` | To the `left` of the content in LTR, and to the `right` in RTL. | From `left` to `right` in LTR, and from `right` to `left` in RTL. |
| `end` | To the `right` of the content in LTR, and to the `left` in RTL. | From `right` to `left` in LTR, and from `left` to `right` in RTL. |
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/item-sliding.mdx b/docs/api/item-sliding.mdx
index fbb878b34de..f61dd53682e 100644
--- a/docs/api/item-sliding.mdx
+++ b/docs/api/item-sliding.mdx
@@ -21,7 +21,7 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
ã¹ã©ã€ãã¢ã€ãã ã«ã¯ããã©ãã°ããŠãªãã·ã§ã³ãã¿ã³ã衚瀺ãããããšãã§ããã¢ã€ãã ãå«ãŸããŠããŸããåèŠçŽ ãšã㊠[item](./item) ã³ã³ããŒãã³ããå¿
èŠã§ãã衚瀺ããããªãã·ã§ã³ã¯ãã¹ãŠ [item options](./item-options) èŠçŽ ã«èšè¿°ããå¿
èŠããããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
ã¹ã©ã€ãã¢ã€ãã ã®ãªãã·ã§ã³ã¯ãããã©ã«ãã§ã¯ã¢ã€ãã ã® `"end"` åŽã«é
眮ãããŸããã€ãŸããLTRã§ã¯å³ããå·ŠãžãRTLã§ã¯å·Šããå³ãžã¹ã¯ã€ããããšããªãã·ã§ã³ã衚瀺ãããŸããå察åŽã«é
眮ããå察æ¹åã«ã¹ã¯ã€ããããšãã«è¡šç€ºãããããã«ããã«ã¯ã [item options](./item-options) èŠçŽ ã® side 屿§ã `"start"` ã«èšå®ããŸããã¢ã€ãã ãªãã·ã§ã³ã¯æå€§2ã€ãŸã§åæã«äœ¿çšããããšãã§ããã¹ã¯ã€ãã®æ¹åã«ãã£ãŠ2ã€ã®ç°ãªããªãã·ã§ã³ã衚瀺ãããããšãã§ããŸãã
@@ -29,7 +29,7 @@ import Basic from '@site/static/usage/v9/item-sliding/basic/index.mdx';
-## Icon Options
+## Icon Options {/* #icon-options */}
[ã¢ã€ãã ãªãã·ã§ã³](./item-option) ã§ã¢ã€ã³ã³ãããã¹ããšäžç·ã«é
眮ãããšãããã©ã«ãã§ããã¹ãã®äžã«ã¢ã€ã³ã³ã衚瀺ããŸããã¢ã€ã³ã³ã®ã¹ãããã¯ãå©çšå¯èœãª [ã¢ã€ãã ãªãã·ã§ã³ã¹ããã](./item-option#slots) ã«å€æŽããããšã§äœçœ®ã倿Žããããšãå¯èœã§ãã
@@ -37,7 +37,7 @@ import Icons from '@site/static/usage/v9/item-sliding/icons/index.mdx';
-## æ¡åŒµå¯èœãªãªãã·ã§ã³
+## æ¡åŒµå¯èœãªãªãã·ã§ã³ {/* #expandable-options */}
ãªãã·ã§ã³ã¯ãã¹ã¯ã€ãããããã€ã³ããè¶
ãããšã芪ãšãªã `ion-item` ã®å¹
ãã£ã±ãã«å±éãããŸããããã¯ã[item options](./item-options) ã® `ionSwipe` ã€ãã³ããšçµã¿åãããããšã§ãã¢ã€ãã ãå®å
šã«ã¹ã¯ã€ãããããšãã«ã¡ãœãããåŒã³åºãããšãã§ããŸãã
@@ -45,9 +45,9 @@ import Expandable from '@site/static/usage/v9/item-sliding/expandable/index.mdx'
-## Interfaces
+## Interfaces {/* #interfaces */}
-### ItemSlidingCustomEvent
+### ItemSlidingCustomEvent {/* #itemslidingcustomevent */}
å¿
é ã§ã¯ãããŸãããããã®ã³ã³ããŒãã³ãããçºè¡ããã Ionic ã€ãã³ãã§ãã匷ãåä»ããè¡ãããã«ã`CustomEvent` ã€ã³ã¿ãŒãã§ãŒã¹ã®ä»£ããã«ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããããšãå¯èœã§ãã
@@ -57,26 +57,26 @@ interface ItemSlidingCustomEvent extends CustomEvent {
}
```
-## ããããã£
+## ãããã㣠{/* #properties */}
-## ã€ãã³ã
+## ã€ãã³ã {/* #events */}
-## ã¡ãœãã
+## ã¡ãœãã {/* #methods */}
-## CSS Shadow Parts
+## CSS Shadow Parts {/* #css-shadow-parts */}
-## CSSã«ã¹ã¿ã ããããã£
+## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
-## Slots
+## Slots {/* #slots */}
diff --git a/docs/api/item.mdx b/docs/api/item.mdx
index 3a9907052be..6ea9e0c8971 100644
--- a/docs/api/item.mdx
+++ b/docs/api/item.mdx
@@ -28,7 +28,7 @@ import EncapsulationPill from '@components/page/api/EncapsulationPill';
ã¢ã€ãã ã¯ãããã¹ããã¢ã€ã³ã³ãã¢ãã¿ãŒãç»åãInputããã®ä»ã®ãã€ãã£ããŸãã¯ã«ã¹ã¿ã èŠçŽ ãå«ãããšãã§ããèŠçŽ ã§ããã¢ã€ãã ã¯ä»ã®ã¢ã€ãã ãšäžç·ã«[ãªã¹ã](./list)ã®è¡ãšããŠã®ã¿äœ¿çšããŠãã ãããã¢ã€ãã ã¯ã¹ã¯ã€ããåé€ãäžŠã³æ¿ããç·šéãªã©ãã§ããŸãã
-## åºæ¬çãªäœ¿ãæ¹
+## åºæ¬çãªäœ¿ãæ¹ {/* #basic-usage */}
ã¢ã€ãã ã¯ããã¹ããå·Šæãã«ããããã¹ããã¢ã€ãã ããåºãå Žåã¯æãè¿ãããŸãããã®åäœã¯ãIonic FrameworkãæäŸããCSSãŠãŒãã£ãªãã£ã䜿çšããŠå€æŽããããšãã§ããŸãã以äžã®äŸã§ã¯`.ion-text-nowrap`ã䜿çšããŠããŸããã¢ã€ãã å
ã®ããã¹ãã倿ããããã«è¿œå ã§ããä»ã®ã¯ã©ã¹ã«ã€ããŠã¯ã[CSSãŠãŒãã£ãªãã£ã®ããã¥ã¡ã³ã](/layout/css-utilities.mdx)ãåç
§ããŠãã ããã
@@ -40,7 +40,7 @@ import Basic from '@site/static/usage/v9/item/basic/index.mdx';
ãªã¹ãå
ã®ã¢ã€ãã ã¯æ§ã
ãªåœ¢ããšããŸãããäžè¬çã«ããžã¥ã¢ã«ãããã¹ããã¡ã¿ããŒã¿ãã¢ã¯ã·ã§ã³ãã³ã³ãããŒã«ã®5ã€ã®ç°ãªãã³ã³ãã³ãã¿ã€ãããµããŒãããŸãããããããããã®ã³ã³ãã³ãã¿ã€ãããã¹ãŠåæã«äœ¿ãã¹ãã§ã¯ãããŸããã以äžã®ã¬ã€ãã§ã¯ãç°ãªãã³ã³ãã³ãã¿ã€ããšãã¢ããªã±ãŒã·ã§ã³ã§ã®é©åãªå©ç𿹿³ã瀺ããŸãã
-### è£å©ããžã¥ã¢ã«
+### è£å©ããžã¥ã¢ã« {/* #supporting-visuals */}
è£å©ããžã¥ã¢ã« è£å©ããžã¥ã¢ã«ã¯ã¢ã€ãã ã®è£
食ã¢ã€ã³ã³ããã®ä»ã®é£Ÿãã§ãããµããŒãã£ã³ã°ããžã¥ã¢ã«ã®äžè¬çãªäŸã¯ã[ã¢ãã¿ãŒ](./avatar)ã [ã¢ã€ã³ã³](./icon)ã[ãµã ãã€ã«](./thumbnail)ã§ãããã®ã³ã³ãã³ãã¯ã¢ã€ãã ã®æå³ãçè§£ããããã«å¿
èŠã§ã¯ãªãã®ã§ãéåžž`aria-hidden="true"`ã䜿ã£ãŠã¹ã¯ãªãŒã³ãªãŒããŒããé ãããŸãã
@@ -70,7 +70,7 @@ import SupportingVisuals from '@site/static/usage/v9/item/content-types/supporti
-### ããã¹ã
+### ããã¹ã {/* #text */}
ããã¹ãã»ã³ã³ãã³ãã»ã¿ã€ãã«ã¯ããã©ãŒã å¶åŸ¡ã©ãã«ããã®ä»ã®å¯èŠããã¹ããå«ãŸããŸãããã®ããã¹ãã¯é
ç®ã®æå³ã瀺ã圹å²ãæãããŸããããã¹ãã¯çããèŠç¹ããŸãšããããã«ããŠãã ããã
@@ -108,7 +108,7 @@ import Text from '@site/static/usage/v9/item/content-types/text/index.mdx';
-### ã¡ã¿ããŒã¿
+### ã¡ã¿ããŒã¿ {/* #metadata */}
ã¡ã¿ããŒã¿ã¯ãã¹ããŒã¿ã¹ããã¹ããã«ãŠã³ãã®ãããªã¢ã€ãã ã®è¿œå ã³ã³ããã¹ããæäŸããŸãã[ãããž](./badge)ã[泚èš](./note)ã®ãããªã³ã³ããŒãã³ãã¯ãã¡ã¿ããŒã¿ã衚瀺ããçŽ æŽãããæ¹æ³ã§ãã
@@ -197,7 +197,7 @@ import Actions from '@site/static/usage/v9/item/content-types/actions/index.mdx'
-### ã³ã³ãããŒã«
+### ã³ã³ãããŒã« {/* #controls */}
ã³ã³ãããŒã«ã¯ããã§ãã¯ããã¯ã¹ãå
¥åãã©ãžãªãªã©ã®ãã©ãŒã ã³ã³ããŒãã³ãã§ãããªã¹ãå
ã®åé
ç®ã¯ãç»é¢ã¹ããŒã¹ã®å¶çŽäžãæå€§ã§ã2ã€ã®ã³ã³ãããŒã«ãæã€å¿
èŠããããŸãã
@@ -278,7 +278,7 @@ import Controls from '@site/static/usage/v9/item/content-types/controls/index.md
-## ã¯ãªãã¯å¯èœãªItems
+## ã¯ãªãã¯å¯èœãªItems {/* #clickable-items */}
`href`ã`button`ã`routerLink` ã®ããããã®ããããã£ãèšå®ãããŠããå Žåãitem ã¯ãclickableïŒã¯ãªãã¯å¯èœïŒããšèŠãªãããŸããclickable 㪠item ã«ã¯ãæäœå¯èœã§ããããšã瀺ãèŠèŠçãªéããããã€ããããŸããäŸãã°ã`md` mode ã§ã¯æäœæã« ripple ãšãã§ã¯ããé©çšããã`ios` mode ã§ã¯æäœæã«ãã€ã©ã€ããããããã©ã«ãã§ [detail arrow](#detail-arrows) ã衚瀺ãããŸãã
@@ -286,7 +286,7 @@ import Clickable from '@site/static/usage/v9/item/clickable/index.mdx';
-## ã«ãŒãã£ã³ã°
+## ã«ãŒãã£ã³ã° {/* #routing */}
Item 㯠`routerLink` ããããã£ã䜿çšããã¯ã©ã€ã¢ã³ããµã€ãããã²ãŒã·ã§ã³ããµããŒãããŸãã`routerLink` ãèšå®ãããš item ã¯ã¢ã³ã«ãŒãšããŠã¬ã³ããªã³ã°ãããã¿ãããããšãã«æå®ããã«ãŒããžç§»åããŸãã`routerDirection` ããããã£ã¯é·ç§»ã¢ãã¡ãŒã·ã§ã³ã®æ¹åãå¶åŸ¡ãã`routerAnimation` ã«ã¯ã«ã¹ã¿ã ã¢ãã¡ãŒã·ã§ã³ãã«ããŒãæå®ã§ããŸãã
@@ -388,15 +388,15 @@ Vue ã§ã¯ã`ion-item` ã« `router-link` 屿§ã䜿çšããŸããé·ç§»ã
-## Detail Arrows
+## Detail Arrows {/* #detail-arrows */}
-ããã©ã«ãã§ã¯ã[clickableãªitems](/#clickable-items) ã¯ã`ios` modeã§å³ç¢å°ã¢ã€ã³ã³ã衚瀺ããŸããclickableãªèŠçŽ ã®å³ç¢å°ã¢ã€ã³ã³ãé衚瀺ã«ããã«ã¯ã `detail` ããããã£ã `false` ã«èšå®ããŸããèªåçã«è¡šç€ºãããªãé
ç®ã«å³ç¢å°ã¢ã€ã³ã³ã衚瀺ããã«ã¯ã`detail`ããããã£ã `true` ã«èšå®ããŸãã
+ããã©ã«ãã§ã¯ã[clickableãªitems](#clickable-items) ã¯ã`ios` modeã§å³ç¢å°ã¢ã€ã³ã³ã衚瀺ããŸããclickableãªèŠçŽ ã®å³ç¢å°ã¢ã€ã³ã³ãé衚瀺ã«ããã«ã¯ã `detail` ããããã£ã `false` ã«èšå®ããŸããèªåçã«è¡šç€ºãããªãé
ç®ã«å³ç¢å°ã¢ã€ã³ã³ã衚瀺ããã«ã¯ã`detail`ããããã£ã `true` ã«èšå®ããŸãã
import DetailArrows from '@site/static/usage/v9/item/detail-arrows/index.mdx';
-## Item Lines
+## Item Lines {/* #item-lines */}
ã¢ã€ãã ã¯ããã©ã«ãã§äžéšã®ããŒããŒãæ¿å
¥ããŠè¡šç€ºããŸããããŒããŒã¯å·ŠåŽã«ããã£ã³ã°ãæã¡ã `"start"` ã¹ãããã«ã¹ããããããã³ã³ãã³ãã®äžã«è¡šç€ºãããããšã¯ãããŸããã `lines` ããããã£ã `"full"` ãŸã㯠`"none"` ã«å€æŽãããšãããããå
šå¹
ã®ããŒããŒã衚瀺ãããããŒããŒã衚瀺ããªãããã«ãªããŸãã
@@ -404,7 +404,7 @@ import Lines from '@site/static/usage/v9/item/lines/index.mdx';
-## Buttons in Items
+## Buttons in Items {/* #buttons-in-items */}
Buttonsã¯ãã¢ã€ãã ã®å€åŽã«ãããšãããããã¢ã€ãã ã®å
åŽã«ãããšãã®æ¹ãå°ããã¹ã¿ã€ã«ãããŸãããã¿ã³ã®ãµã€ãºãã¢ã€ãã ã®å€åŽã®ãã¿ã³ãšåãã«ããã«ã¯ã`size`屿§ã«`"default"`ãèšå®ããŸãã
@@ -412,33 +412,33 @@ import Buttons from '@site/static/usage/v9/item/buttons/index.mdx';
-## Item Inputs
+## Item Inputs {/* #item-inputs */}
import Inputs from '@site/static/usage/v9/item/inputs/index.mdx';
-## ããŒã
+## ããŒã {/* #theming */}
-### Colors
+### Colors {/* #colors */}
import Colors from '@site/static/usage/v9/item/theming/colors/index.mdx';
-### CSS Shadow Parts
+### CSS Shadow Parts {/* #css-shadow-parts */}
import CSSParts from '@site/static/usage/v9/item/theming/css-shadow-parts/index.mdx';
-## CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
+### CSSã«ã¹ã¿ã ãããã㣠{/* #css-custom-properties */}
import CSSProps from '@site/static/usage/v9/item/theming/css-properties/index.mdx';
-## ã¬ã€ãã©ã€ã³
+## ã¬ã€ãã©ã€ã³ {/* #guidelines */}
以äžã®ã¬ã€ãã©ã€ã³ã¯ããªã¹ãé
ç®ãçè§£ããããã䜿ããããããã®ã«åœ¹ç«ã¡ãŸãã
@@ -447,9 +447,9 @@ import CSSProps from '@site/static/usage/v9/item/theming/css-properties/index.md
3. ã¢ã€ãã ã¯æ±ºããŠ[å
¥ãåã«ãªã£ãã€ã³ã¿ã©ã¯ãã£ãŽ](https://dequeuniversity.com/rules/axe/4.4/nested-interactive)ãã¬ã³ããªã³ã°ãã¹ãã§ã¯ãããŸãããå
¥ãåã«ãªã£ãã€ã³ã¿ã©ã¯ãã£ãèŠçŽ ã䜿çšãããŠããå Žåãã¹ã¯ãªãŒã³ãªãŒããŒã¯æ£ããã€ã³ã¿ã©ã¯ãã£ãèŠçŽ ãéžæããããšãã§ããŸãããäŸãã°ã`button="true"`ãæã€`ion-item`ã®äžã«ãã¿ã³ã眮ãããšã¯é¿ããŠãã ããã
4. [ã³ã³ãã³ãã¿ã€ã](#content-types)ãæ£ãã䜿çšããŠãã ãããItem ã³ã³ããŒãã³ãã¯ã[ãªã¹ã](./list)å
ã®è¡ãšããŠèšèšãããŠãããæ±çšã³ã³ãããšããŠäœ¿çšãã¹ãã§ã¯ãããŸããã
-## ã¢ã¯ã»ã·ããªãã£
+## ã¢ã¯ã»ã·ããªã㣠{/* #accessibility */}
-### ããŒããŒãã€ã³ã¿ã©ã¯ã·ã§ã³
+### ããŒããŒãã€ã³ã¿ã©ã¯ã·ã§ã³ {/* #keyboard-interactions */}
An `` has the following keyboard interactions when any of these conditions are met:
@@ -462,7 +462,7 @@ An `` has the following keyboard interactions when any of these condit
| Tab | Moves focus to the next focusable element. |
| Shift + Tab | Moves focus to the previous focusable element. |
-#### Button
+#### Button {/* #button */}
When an `` renders a native `
-## æŠèŠ
+## æŠèŠ {/* #overview */}
Ionic ã¯ãã¢ããªã®ããã³ããšã³ã UX ãš UI ã€ã³ã¿ã©ã¯ã·ã§ã³ã«çŠç¹ãåœãŠãŠããŸã â UI ã³ã³ãããŒã«ãã€ã³ã¿ã©ã¯ã·ã§ã³ããžã§ã¹ãã£ãŒãã¢ãã¡ãŒã·ã§ã³ãåŠç¿ã容æã§ã[Angular](angular/overview.mdx)ã[React](react/overview.mdx)ã[Vue](vue/overview.mdx)ãªã©ã®ä»ã®ã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ãšçµ±åã§ããŸãããŸããã·ã³ãã«ãª[script include](intro/cdn.mdx)ã䜿çšããŠãããã³ããšã³ããã¬ãŒã ã¯ãŒã¯ãªãã§ã¹ã¿ã³ãã¢ãã³ã§äœ¿çšããããšãã§ããŸããIonic ã«ã€ããŠè©³ããç¥ãããå Žåã¯ã[åºæ¬ã説æããåç»](https://youtu.be/p3AN3igqiRc)ãäœæããŸããã
-### ã©ãã§ãã²ãšã€ã®ã³ãŒãã§
+### ã©ãã§ãã²ãšã€ã®ã³ãŒãã§ {/* #one-codebase-running-everywhere */}
Ionic ã¯ããŠã§ãéçºè
ããã¹ãŠã®äž»èŠã¢ããªã¹ãã¢ãšã¢ãã€ã«ãŠã§ãçšã®ã¢ããªãåäžã®ã³ãŒãããŒã¹ããæ§ç¯ã§ãããã°ãããã¢ãã€ã«ã¢ããªã¹ã¿ãã¯ã§ãããŸãã [Adaptive Styling](theming/platform-styles.mdx) ã«ãã£ãŠãIonic ã¢ããªã¯ãã¹ãŠã®ããã€ã¹äžã§é©åãªå€èŠ³ãšæäœæãæäŸããŸãã
-### ããã©ãŒãã³ã¹ã«ãã©ãŒã«ã¹
+### ããã©ãŒãã³ã¹ã«ãã©ãŒã«ã¹ {/* #a-focus-on-performance */}
Ionic ã¯ãå¹ççãªããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ãã¿ããã«æé©åããããžã§ã¹ãã£ãªã©ã®ãã¹ããã©ã¯ãã£ã¹ã«ãããææ°ã®ã¢ãã€ã«ããã€ã¹ã§åªããããã©ãŒãã³ã¹ãšåäœãå®çŸããããã«èšèšãããŠããŸãã
-### ã¯ãªãŒã³ã§ã·ã³ãã«ãæ©èœçãªãã¶ã€ã³
+### ã¯ãªãŒã³ã§ã·ã³ãã«ãæ©èœçãªãã¶ã€ã³ {/* #clean-simple-and-functional-design */}
Ionic ã¯ãçŸåšã®ãã¹ãŠã®ã¢ãã€ã«ããã€ã¹ããã³ãã©ãããã©ãŒã ã§çŸããåäœãã衚瀺ããããã«èšèšãããŠããŸããäºåã«çšæãããã³ã³ããŒãã³ããã¿ã€ãã°ã©ãã£ãåãã©ãããã©ãŒã ã«å¯Ÿå¿ãããã°ããã(ãŸã æ¡åŒµå¯èœãª)ããŒã¹ããŒãã«ãããã¹ã¿ã€ã«ãæ§ç¯ã§ããŸãã
-### ãã€ãã£ãããã³ Web ã«æé©å
+### ãã€ãã£ãããã³ Web ã«æé©å {/* #native-and-web-optimized */}
Ionic ã¯ãã€ãã£ãã¢ããªã±ãŒã·ã§ã³ã® UI ã¬ã€ãã©ã€ã³ããšãã¥ã¬ãŒããããã€ãã£ã SDK ã䜿çšããŠããã€ãã£ãã¢ããªã® UI æšæºãšããã€ã¹æ©èœãããªãŒãã³ Web ã®å®å
šãªãã¯ãŒãšæè»æ§ãšãšãã«å®çŸããŸããIonic 㯠Capacitor(ãŸã㯠Cordova)ã䜿ã£ãŠãã€ãã£ãã«ãããã€ããããProgressive Web App ãšããŠãã©ãŠã¶ã§å®è¡ããŸãã
-## ãŽãŒã«
+## ãŽãŒã« {/* #goals */}
-### ã¯ãã¹ãã©ãããã©ãŒã
+### ã¯ãã¹ãã©ãããã©ãŒã {/* #cross-platform */}
ãã€ãã£ãã® iOSãAndroidããã¹ã¯ããããWeb ãªã©ãè€æ°ã®ãã©ãããã©ãŒã ã§åäœããã¢ããªã Progressive Web App ãšããŠããã¹ãŠ 1 ã€ã®ã³ãŒãããŒã¹ã§éçºããããã€ããããšãã§ããŸããäžåºŠæžãã°ãã©ãã§ãå®è¡ã§ããŸãã
-### Web æšæº
+### Web æšæº {/* #web-standards-based */}
Ionic Framework ã¯ãCustom Elements ã Shadow DOM ãªã©ã®ææ°ã® Web API ã䜿çšããŠãä¿¡é Œæ§ã®é«ã [Web æšæºãã¯ãããžãŒ](reference/glossary.mdx#web-standards) : HTMLãCSSãããã³ JavaScript ã®äžã«æ§ç¯ãããŠããŸãããã®ãããIonic ã³ã³ããŒãã³ãã¯å®å®ãã API ãåããŠãããåäžã®ãã©ãããã©ãŒã ã»ãã³ããŒã®æãä»ãã§ã¯ãããŸããã
-### çŸãããã¶ã€ã³
+### çŸãããã¶ã€ã³ {/* #beautiful-design */}
ã¯ãªãŒã³ã§ã·ã³ãã«ãæ©èœçãIonic Framework ã¯å
šãŠã®ãã©ãããã©ãŒã ã§åäœããçŸãã衚瀺ãããããã«èšèšãããŠããŸãã
ããããããã¶ã€ã³ãããã³ã³ããŒãã³ããã¿ã€ãã°ã©ãã£ãã€ã³ã¿ã©ã¯ãã£ããªãã©ãã€ã ããã°ããã(ãŸã æ¡åŒµå¯èœãª)åºæ¬ããŒãããå§ããŸãã
-### ã·ã³ãã«
+### ã·ã³ãã« {/* #simplicity */}
Ionic Framework ã¯ã·ã³ãã«ãã念é ã«çœ®ããŠæ§ç¯ãããŠããã®ã§ãIonic ã¢ããªãäœæããããšã¯æ¥œãããç°¡åã«åŠã¶ããšãã§ãããŠã§ãéçºã¹ãã«ãæã£ãŠãã人ãªã誰ã§ãç°¡åã«ã¢ã¯ã»ã¹ããããšãã§ããŸãã
-## Framework ã®äºææ§
+## Framework ã®äºææ§ {/* #framework-compatibility */}
Ionic ã®éå»ã®ãªãªãŒã¹ã¯ Angular ãšå¯çµåãããŠããŸãããããã¬ãŒã ã¯ãŒã¯ã®ããŒãžã§ã³ 4.x ããã¯ã¹ã¿ã³ãã¢ãã³ã®[Web Component](https://developer.mozilla.org/en-US/docs/Web/Web_Components)ã©ã€ãã©ãªãšããŠåäœããããã«åèšèšãããAngular ã®ãããªææ°ã® JavaScript ãã¬ãŒã ã¯ãŒã¯ãšäœµçšã§ããããã«ãªããŸãããIonic 㯠React ã Vue ãå«ãã»ãšãã©ã®ããã³ããšã³ããã¬ãŒã ã¯ãŒã¯ã§äœ¿çšã§ããŸãããWeb ã³ã³ããŒãã³ããå®å
šã«ãµããŒãããã«ã¯ shim ãå¿
èŠãªãã¬ãŒã ã¯ãŒã¯ããããŸãã
-### JavaScript
+### JavaScript {/* #javascript */}
Ionic Framework ã [Web Components](https://developer.mozilla.org/en-US/docs/Web/Web_Components) ã«ç§»è¡ããäž»ãªç®æšã®ã²ãšã€ã¯ãã³ã³ããŒãã³ãããã¹ãããåäžãã¬ãŒã ã¯ãŒã¯ã®ããŒãèŠä»¶ãåãé€ãããšã ã£ããããã«ãããã³ã¢ã³ã³ããŒãã³ãã¯ãscript ã¿ã°ã ãã§ Web ããŒãžå
ã§ã¹ã¿ã³ãã¢ãã³ã§åäœã§ããããã«ãªããŸããããã¬ãŒã ã¯ãŒã¯ã䜿ã£ãŠäœæ¥ããããšã¯å€§èŠæš¡ãªããŒã ãå€§èŠæš¡ãªã¢ããªã«ãšã£ãŠã¯çŽ æŽãããããšã§ãããIonic ã WordPress ã®ãããªã³ã³ããã¹ãã§ããåäžããŒãžã®ã¹ã¿ã³ãã¢ãã³ã©ã€ãã©ãªãšããŠäœ¿çšããããšãå¯èœã«ãªããŸããã
-### Angular
+### Angular {/* #angular */}
Angular ã¯åžžã« Ionic ã®çŽ æŽãããã®äžå¿ã«ãããŸãããã³ã¢ã³ã³ããŒãã³ãã¯ã¹ã¿ã³ãã¢ãã³ã® Web Component ã©ã€ãã©ãªãšããŠåäœããããã«æžãããŠããŸããã `@ionic/angular` ããã±ãŒãžã¯ Angular ãšã³ã·ã¹ãã ãšã®çµ±åãç°¡åã«ããŸãã `@ionic/angular` 㯠Ionic 2/3 ã«æåŸ
ããããã¹ãŠã®æ©èœãå«ãã§ãããAngular ã«ãŒã¿ã®ãããªã³ã¢ Angular ã©ã€ãã©ãªãšçµ±åãããŠããŸãã
-### React
+### React {/* #react */}
Ionic ã¯çŸåšã人æ°ã® React ã©ã€ãã©ãªãå
¬åŒã«ãµããŒãããŠããŸããIonic React ã䜿ããšãReact éçºè
ã¯æ¢åã® Web ã¹ãã«ã䜿ã£ãŠãiOSãAndroidãWebããã¹ã¯ããããã¿ãŒã²ããã«ããã¢ããªãäœãããšãã§ããŸãã `@ionic/react` ã䜿ãã°ããã¹ãŠã®ã³ã¢ Ionic ã³ã³ããŒãã³ããããã€ãã£ã㪠React ã³ã³ããŒãã³ãã䜿ã£ãŠãããããªæèŠã§äœ¿çšããããšãã§ããŸãã
-### Vue
+### Vue {/* #vue */}
Ionic ã¯çŸåšã人æ°ã® Vue3 ã©ã€ãã©ãªãå
¬åŒã«ãµããŒãããŠããŸãã Ionic Vue ã䜿çšãããšãVue éçºè
ã¯æ¢åã® Web ã¹ãã«ã䜿çšããŠãiOSãAndroidãWebãããã³ãã¹ã¯ãããã察象ãšããã¢ããªãæ§ç¯ã§ããŸãã `@ionic/vue` ã䜿çšãããšããã¹ãŠã®ã³ã¢ Ionic ã³ã³ããŒãã³ãã䜿çšã§ããŸããããã€ãã£ãã® Vue ã³ã³ããŒãã³ãã䜿çšããŠããããã«æããããŸãã
-### å°æ¥ã®ãµããŒã
+### å°æ¥ã®ãµããŒã {/* #future-support */}
ä»ã®ãã¬ãŒã ã¯ãŒã¯ã®ãµããŒãã¯ãå°æ¥ã®ãªãªãŒã¹ã§æ€èšãããäºå®ã§ãã
-## Ionic CLI
+## Ionic CLI {/* #ionic-cli */}
å
¬åŒã® [Ionic CLI](cli.mdx) ã¯ãIonic ã¢ããªãè¿
éã«æ§ç¯ããIonic éçºè
ã«å€ãã®åœ¹ã«ç«ã€ã³ãã³ããæäŸããããŒã«ã§ããCLI ã«ã¯ãIonic ã®ã€ã³ã¹ããŒã«ãšã¢ããããŒãã«å ããŠãçµã¿èŸŒã¿ã®éçºãµãŒãããã«ããšãããã°ã®ããã®ããŒã«ãªã©ãå«ãŸããŠããŸãã [Appflow](#appflow) ã®ã¡ã³ããŒã®å Žåã¯ãCLI ã䜿çšããŠã¯ã©ãŠãã®æ§ç¯ãšå±éãå®è¡ããã¢ã«ãŠã³ãã管çã§ããŸãã
-## Appflow
+## Appflow {/* #appflow */}
Ionic ã¢ããªã®æ§ç¯ããããã€ãã©ã€ããµã€ã¯ã«ãéãã管çãæ¯æŽããããã«ãç§ãã¡ã¯ **ãªãŒãã³ãœãŒã¹ãã¬ãŒã ã¯ãŒã¯** ãšã¯åé¢ãã [Appflow](https://ionic.io/appflow) ãšåŒãã§ãã補åã¢ããªçšã®åçšãµãŒãã¹ãæäŸããŠããŸãã
@@ -131,11 +131,11 @@ Appflow ã¯ãéçºè
ãšããŒã ããã€ãã£ãã¢ããªã®ãã«ããã³
Appflow ã«ã¯ [Ionic Account](https://dashboard.ionicframework.com/signup) ãå¿
èŠã§ãããã€ãã®æ©èœã詊ããŠã¿ãã人ã¯ç¡æã®ãHobbyããã©ã³ãä»ããŠããŸãã
-## ãšã³ã·ã¹ãã
+## ãšã³ã·ã¹ãã {/* #ecosystem */}
Ionic Framework ã¯ã³ã¢ããŒã ã«ãã£ãŠç©æ¥µçã«éçºãããã¡ã³ããã³ã¹ãããŠããããã®ãšã³ã·ã¹ãã ã¯ãã®æé·ãšæ¡çšãä¿é²ããéçºè
ãšè²¢ç®è
ã®åœéçãªã³ãã¥ããã£ã«ãã£ãŠå°ãããŠããã倧å°ããŸããŸãªéçºè
ãäŒæ¥ã Ionic ã䜿ã£ãŠãã©ãã§ãåããã°ãããã¢ããªãäœã£ãŠãªãªãŒã¹ããŠããŸãã
-### ã³ãã¥ããã£ã«åå ãã
+### ã³ãã¥ããã£ã«åå ãã {/* #join-the-community */}
Ionic ã®éçºè
ã¯äžç 200 ãåœä»¥äžã«äœçŸäžäººãããŸããã³ãã¥ããã£ãžã®åå æ¹æ³ãããã€ã玹ä»ããŸã:
@@ -147,7 +147,7 @@ Ionic ã®éçºè
ã¯äžç 200 ãåœä»¥äžã«äœçŸäžäººãããŸããã³ã
- [GitHub:](https://github.com/ionic-team/ionic) ãã°ãå ±åãããæ°æ©èœããªã¯ãšã¹ãããã«ã¯ãããã§issueãäœæããŠãã ãããPRãæè¿ã§ãïŒ
- [ã³ã³ãã³ãäœæ:](https://ionicframework.com/contributors) æè¡ããã°ãæžããããIonicã³ãã¥ããã£ãšããªãã®ã¹ããŒãªãŒãå
±æããŠãã ããã
-## ã©ã€ã»ã³ã¹
+## ã©ã€ã»ã³ã¹ {/* #license */}
Ionic Framework ã¯ç¡æã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ã [MIT license](https://opensource.org/licenses/MIT) ã©ã€ã»ã³ã¹ã®äžã§å
¬éãããŠããŸããã€ãŸããå人çãªãããžã§ã¯ããåçšãããžã§ã¯ãã§ç¡æã§å©çšã§ããŸããMIT ã©ã€ã»ã³ã¹ã¯ãjQuery ã Ruby on Rails ãªã©ã®äººæ°ãããžã§ã¯ãã§äœ¿çšãããŠããã®ãšåãã©ã€ã»ã³ã¹ã§ãã
diff --git a/docs/intro/cdn.mdx b/docs/intro/cdn.mdx
index e2c6e6c5a56..1f01695d895 100644
--- a/docs/intro/cdn.mdx
+++ b/docs/intro/cdn.mdx
@@ -16,7 +16,7 @@ import DocsCards from '@components/global/DocsCards';
Ionic Framework ã¯ãAngularãReactãVueãJavaScript çšã® npm ããã±ãŒãžãšãè¿
éãªãããã¿ã€ãã³ã°çšã® CDN ãªã³ã¯ãæäŸããŠããŸããäžèšãããã¬ãŒã ã¯ãŒã¯ãéžæããŠå§ããããCDN ã䜿çšããŠãã©ãŠã¶ã§ Ionic Framework ã³ã³ããŒãã³ãããã¹ãããŠãã ããã
-## Ionic Angular
+## Ionic Angular {/* #ionic-angular */}
æ°ãã Ionic Angular ã¢ããªãéå§ããããæ¢åã® Angular ãããžã§ã¯ãã« Ionic ã远å ããŸãã
@@ -40,7 +40,7 @@ Ionic Framework ã¯ãAngularãReactãVueãJavaScript çšã® npm ããã±ãŒ
-## Ionic React
+## Ionic React {/* #ionic-react */}
æ°ãã Ionic React ã¢ããªãéå§ããããæ¢åã® React ãããžã§ã¯ãã« Ionic ã远å ããŸãã
@@ -64,7 +64,7 @@ Ionic Framework ã¯ãAngularãReactãVueãJavaScript çšã® npm ããã±ãŒ
-## Ionic Vue
+## Ionic Vue {/* #ionic-vue */}
æ°ãã Ionic Vue ã¢ããªãéå§ããããæ¢åã® Vue ãããžã§ã¯ãã« Ionic ã远å ããŸãã
@@ -88,7 +88,7 @@ Ionic Framework ã¯ãAngularãReactãVueãJavaScript çšã® npm ããã±ãŒ
-## Ionic JavaScript
+## Ionic JavaScript {/* #ionic-javascript */}
æ°ãã Ionic JavaScript ã¢ããªãéå§ããŸãã
@@ -104,7 +104,7 @@ Ionic Framework ã¯ãAngularãReactãVueãJavaScript çšã® npm ããã±ãŒ
-## Ionic Framework CDN
+## Ionic Framework CDN {/* #ionic-framework-cdn */}
Ionic Framework ã¯ã[StackBlitz](https://stackblitz.com/)ã[Plunker](https://plnkr.co/)ã[Codepen](https://codepen.io)ããŸãã¯ãã®ä»ã®ãªã³ã©ã€ã³ã³ãŒããšãã£ã¿ã§è¿
éã«ãã¹ãããããã«ãCDN ããå«ããããšãã§ããŸãïŒ
@@ -118,7 +118,7 @@ CDN ãããã¬ãŒã ã¯ãŒã¯ã«ã¢ã¯ã»ã¹ããã«ã¯ã [jsdelivr](https:/
ããã«ããããã¬ãŒã ã¯ãŒã¯ãã€ã³ã¹ããŒã«ããããšãªããIonic Framework ã®ãã¹ãŠã®ã³ã¢ã³ã³ããŒãã³ãã䜿çšã§ããŸããCSS ãã³ãã«ã«ã¯ãIonic ã®ãã¹ãŠã®[ã°ããŒãã«ã¹ã¿ã€ã«ã·ãŒã](/layout/global-stylesheets.mdx)ãå«ãŸããŸãã
-## Ionicons CDN
+## Ionicons CDN {/* #ionicons-cdn */}
Ionicons ã¯ããã©ã«ãã§ Ionic Framework ã«å梱ãããŠããã®ã§ãIonic ã䜿çšããŠããå Žåã¯ã€ã³ã¹ããŒã«ã¯äžèŠã§ããIonic Framework ã䜿çšããã« Ionicons ã䜿çšããããã«ã¯ãããŒãžã®çµããã®è¿ãã«ãã `