body method

  1. @override
String body(
  1. String baseName,
  2. String className
)
override

Defines the actual body code. path is passed relative to lib, baseName is the filename, and className is the filename converted to Pascal case.

実際の本体コードを定義します。pathlibからの相対パス、baseNameにファイル名が渡され、classNameにファイル名をパスカルケースに変換した値が渡されます。

Implementation

@override
String body(String baseName, String className) {
  return r"""
`UniversalSearchBar`は下記のように利用する。

## 概要

$excerpt

## 利用方法

```dart
UniversalSearchBar(
  hintText: "検索",
  onSearch: (value) {
      // TODO: Implement the search action.
  },
  onChanged: (value) {
      // TODO: Implement the text changed action.
  },
  leading: const Icon(Icons.search),
  trailing: [
      IconButton(
          icon: const Icon(Icons.clear),
          onPressed: () {
              // TODO: Implement the clear action.
          },
      ),
  ],
);
```

## プロパティ

- `hintText`: 検索バーのプレースホルダーテキストを設定する。
- `onSearch`: 検索実行時のコールバックを設定する。
- `onChanged`: テキスト変更時のコールバックを設定する。
- `leading`: 検索バーの左側に表示するウィジェットを設定する。
- `trailing`: 検索バーの右側に表示するウィジェットのリストを設定する。
- `controller`: テキストコントローラーを設定する。
- `focusNode`: フォーカスノードを設定する。
- `decoration`: 検索バーの装飾を設定する。
- `maxWidth`: 検索バーの最大幅を設定する。
- `breakpoint`: レスポンシブ対応のブレークポイントを設定する。

## 注意点

- デスクトップモードでは、`maxWidth`が適用され、検索バーが中央に配置される。
- モバイルモードでは、画面幅いっぱいに検索バーが表示される。
- `onSearch`は、Enterキーを押すか、検索アイコンをタップした時に呼び出される。
- `onChanged`は、テキストが変更される度に呼び出される。
- `UniversalScaffold`と組み合わせることで、より柔軟なレイアウトが可能。
""";
}