-
-
Notifications
You must be signed in to change notification settings - Fork 82
Add Korean localization docs #389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
WalkthroughThis PR adds comprehensive Korean documentation to the Stac project, including 100+ new Korean-language documentation files covering widgets, actions, styles, and core concepts. It also restructures the docs navigation in docs.json from a flat tab-based structure to a language-nested architecture, restores the "--help" CLI option, and applies minor formatting corrections. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~35 minutes
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
🧹 Nitpick comments (8)
docs/ko/widgets/visibility.mdx (2)
6-11: Consider separating grouped properties for clarity.Line 11 groups five
maintain*properties into a single row. While space-efficient, splitting them into individual rows would improve scanability and align with typical documentation patterns. Additionally, please verify that all Visibility widget properties are documented by comparing with the English documentation.| replacement | `Map<String,dynamic>?` | `visible=false`일 때 대신 렌더링할 위젯(기본 `SizedBox.shrink`) | | visible | `bool` | 표시 여부(기본 `true`) | - | maintainState / maintainAnimation / maintainSize / maintainSemantics / maintainInteractivity | `bool` | 숨김 상태에서도 상태/애니메이션/크기/접근성/인터랙션을 유지할지 | + | maintainState | `bool` | 숨김 상태에서도 상태를 유지할지 | + | maintainAnimation | `bool` | 숨김 상태에서도 애니메이션을 유지할지 | + | maintainSize | `bool` | 숨김 상태에서도 크기를 유지할지 | + | maintainSemantics | `bool` | 숨김 상태에서도 접근성을 유지할지 | + | maintainInteractivity | `bool` | 숨김 상태에서도 인터랙션을 유지할지 |
13-30: Add explanatory text for examples.The JSON examples are valid and well-formatted, but they lack introductory context. Adding brief explanations before each example would improve clarity for readers unfamiliar with the widget:
## 예제 + **Case 1: Widget Visibility Enabled (visible=true)** ```json { "type": "visibility", "child": { "type": "text", "data": "I am visible!" }, "visible": true }
- Case 2: Widget Hidden with Replacement
{ "type": "visibility", "child": { "type": "text", "data": "I am hidden!" }, "replacement": { "type": "container", "color": "#FF5733", "width": 50, "height": 50 }, "visible": false }This provides readers with immediate context about what each example demonstrates. </blockquote></details> <details> <summary>docs/ko/widgets/text_field.mdx (1)</summary><blockquote> `6-9`: **Add missing "## 속성" section header.** The properties table should be preceded by a "## 속성" (Properties) header for consistency with other Korean widget documentation in this PR (e.g., safe_area.mdx, clip_oval.mdx). This header is important for document structure and potential TOC generation. Apply this diff to add the missing header: ```diff `textField`는 Flutter `TextField`와 동일한 속성을 JSON으로 노출합니다. +## 속성 + | 속성 | 타입 | 설명 |docs/ko/widgets/placeholder.mdx (1)
1-8: Add section header for consistency.All other widget documentation files in this PR include
## 속성before the properties table. Add this header here for consistency.Apply this diff to add the missing section header:
`placeholder`는 아직 위젯이 준비되지 않은 영역을 표시하거나 레이아웃 디버깅에 사용됩니다. +## 속성 + | 속성 | 타입 | 설명 |docs/ko/concepts/custom_actions.mdx (1)
25-60: Clarify the requiredpartdirective location in the code example.Line 55 lists
part 'stac_share_action.g.dart';as a required element, but the code example starting at line 29 does not show this directive. For clarity, thepartdirective must appear at the top of the file before the class declaration.Consider updating the code example to include the
partdirective at the beginning:+ part 'stac_share_action.g.dart'; + @JsonSerializable() class StacShareAction extends StacAction {docs/ko/widgets/text_form_field.mdx (1)
32-54: Consider adding usage tips section for consistency with other widget documentation.Compared to other widget documentation pages (e.g., backdrop_filter.mdx, alert_dialog.mdx), this page lacks a "사용 팁" (usage tips) section before the example. Adding practical guidance would improve consistency and usefulness.
Consider restructuring to match other widget docs:
## 예제 + ## 사용 팁 + + 1. `id`는 폼에서 값을 저장하고 검증할 때 사용되므로 고유해야 합니다. + 2. `autovalidateMode`로 언제 검증을 실행할지 제어합니다. + 3. `validatorRules`로 복수의 검증 규칙을 조합할 수 있습니다. + ## 예제docs/ko/widgets/scaffold.mdx (1)
25-51: Add usage tips section for Scaffold widget documentation.The properties table describes many options (floatingActionButtonLocation, persistentFooterButtons, bottomNavigationBar, bottomSheet, extendBody) that are not demonstrated in the single example. Adding a "사용 팁" section would help developers understand when and how to use these properties.
docs/ko/styles/table_column_width.mdx (1)
1-22: Document enhanced with examples for all column width types.The documentation structure is good, but the example only demonstrates
fixedColumnWidth. Consider adding examples for the other three supported types (flexColumnWidth, fractionColumnWidth, intrinsicColumnWidth) to provide complete guidance.Add additional JSON examples after line 21 to demonstrate all column width type variants:
} \`\`\` +\`\`\`json +{ + "type": "flexColumnWidth", + "value": 1.0 +} +\`\`\` + +\`\`\`json +{ + "type": "fractionColumnWidth", + "value": 0.5 +} +\`\`\` + +\`\`\`json +{ + "type": "intrinsicColumnWidth" +} +\`\`\`
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
.gitignore(1 hunks)docs/cli.mdx(1 hunks)docs/docs.json(2 hunks)docs/introduction.mdx(1 hunks)docs/ko/actions/delay_action.mdx(1 hunks)docs/ko/actions/dialog.mdx(1 hunks)docs/ko/actions/form_validate.mdx(1 hunks)docs/ko/actions/get_form_value.mdx(1 hunks)docs/ko/actions/modal_bottom_sheet.mdx(1 hunks)docs/ko/actions/multi_action.mdx(1 hunks)docs/ko/actions/navigate.mdx(1 hunks)docs/ko/actions/network_request.mdx(1 hunks)docs/ko/actions/none.mdx(1 hunks)docs/ko/actions/snack_bar.mdx(1 hunks)docs/ko/cli.mdx(1 hunks)docs/ko/concepts/caching.mdx(1 hunks)docs/ko/concepts/custom_actions.mdx(1 hunks)docs/ko/concepts/custom_widgets.mdx(1 hunks)docs/ko/concepts/rendering_stac_widgets.mdx(1 hunks)docs/ko/concepts/theming.mdx(1 hunks)docs/ko/get_started.mdx(1 hunks)docs/ko/introduction.mdx(1 hunks)docs/ko/project_structure.mdx(1 hunks)docs/ko/quickstart.mdx(1 hunks)docs/ko/sdui.mdx(1 hunks)docs/ko/styles/border.mdx(1 hunks)docs/ko/styles/border_radius.mdx(1 hunks)docs/ko/styles/border_side.mdx(1 hunks)docs/ko/styles/box_fit.mdx(1 hunks)docs/ko/styles/clip_behavior.mdx(1 hunks)docs/ko/styles/colors.mdx(1 hunks)docs/ko/styles/stac_alignment_directional.mdx(1 hunks)docs/ko/styles/table_border.mdx(1 hunks)docs/ko/styles/table_column_width.mdx(1 hunks)docs/ko/widgets/alert_dialog.mdx(1 hunks)docs/ko/widgets/align.mdx(1 hunks)docs/ko/widgets/app_bar.mdx(1 hunks)docs/ko/widgets/aspect_ratio.mdx(1 hunks)docs/ko/widgets/auto_complete.mdx(1 hunks)docs/ko/widgets/backdrop_filter.mdx(1 hunks)docs/ko/widgets/bottom_navigation_bar.mdx(1 hunks)docs/ko/widgets/card.mdx(1 hunks)docs/ko/widgets/carousel_view.mdx(1 hunks)docs/ko/widgets/center.mdx(1 hunks)docs/ko/widgets/check_box.mdx(1 hunks)docs/ko/widgets/chip.mdx(1 hunks)docs/ko/widgets/circle_avatar.mdx(1 hunks)docs/ko/widgets/circular_progress_indicator.mdx(1 hunks)docs/ko/widgets/clip_oval.mdx(1 hunks)docs/ko/widgets/clip_rrect.mdx(1 hunks)docs/ko/widgets/colored_box.mdx(1 hunks)docs/ko/widgets/column.mdx(1 hunks)docs/ko/widgets/container.mdx(1 hunks)docs/ko/widgets/custom_scroll_view.mdx(1 hunks)docs/ko/widgets/drawer.mdx(1 hunks)docs/ko/widgets/dropdown_menu.mdx(1 hunks)docs/ko/widgets/dynamic_view.mdx(1 hunks)docs/ko/widgets/elevated_button.mdx(1 hunks)docs/ko/widgets/expanded.mdx(1 hunks)docs/ko/widgets/filled_button.mdx(1 hunks)docs/ko/widgets/fitted_box.mdx(1 hunks)docs/ko/widgets/flexible.mdx(1 hunks)docs/ko/widgets/floating_action_button.mdx(1 hunks)docs/ko/widgets/form.mdx(1 hunks)docs/ko/widgets/fractionally_sized_box.mdx(1 hunks)docs/ko/widgets/gesture_detector.mdx(1 hunks)docs/ko/widgets/grid_view.mdx(1 hunks)docs/ko/widgets/icon.mdx(1 hunks)docs/ko/widgets/icon_button.mdx(1 hunks)docs/ko/widgets/image.mdx(1 hunks)docs/ko/widgets/ink_well.mdx(1 hunks)docs/ko/widgets/limited_box.mdx(1 hunks)docs/ko/widgets/linear_progress_indicator.mdx(1 hunks)docs/ko/widgets/list_tile.mdx(1 hunks)docs/ko/widgets/listview.mdx(1 hunks)docs/ko/widgets/network_widget.mdx(1 hunks)docs/ko/widgets/opacity.mdx(1 hunks)docs/ko/widgets/outlined_button.mdx(1 hunks)docs/ko/widgets/padding.mdx(1 hunks)docs/ko/widgets/page_view.mdx(1 hunks)docs/ko/widgets/placeholder.mdx(1 hunks)docs/ko/widgets/positioned.mdx(1 hunks)docs/ko/widgets/radio_group.mdx(1 hunks)docs/ko/widgets/refresh_indicator.mdx(1 hunks)docs/ko/widgets/row.mdx(1 hunks)docs/ko/widgets/safe_area.mdx(1 hunks)docs/ko/widgets/scaffold.mdx(1 hunks)docs/ko/widgets/single_child_scroll_view.mdx(1 hunks)docs/ko/widgets/sized_box.mdx(1 hunks)docs/ko/widgets/slider.mdx(1 hunks)docs/ko/widgets/sliver_app_bar.mdx(1 hunks)docs/ko/widgets/spacer.mdx(1 hunks)docs/ko/widgets/stack.mdx(1 hunks)docs/ko/widgets/switch.mdx(1 hunks)docs/ko/widgets/tab_bar.mdx(1 hunks)docs/ko/widgets/table.mdx(1 hunks)docs/ko/widgets/table_cell.mdx(1 hunks)docs/ko/widgets/table_row.mdx(1 hunks)docs/ko/widgets/text.mdx(1 hunks)docs/ko/widgets/text_button.mdx(1 hunks)docs/ko/widgets/text_field.mdx(1 hunks)docs/ko/widgets/text_form_field.mdx(1 hunks)docs/ko/widgets/vertical_divider.mdx(1 hunks)docs/ko/widgets/visibility.mdx(1 hunks)docs/ko/widgets/webview.mdx(1 hunks)docs/ko/widgets/wrap.mdx(1 hunks)docs/quickstart.mdx(1 hunks)
⛔ Files not processed due to max files limit (1)
- docs/sdui.mdx
🧰 Additional context used
🪛 LanguageTool
docs/ko/introduction.mdx
[grammar] ~15-~15: Spatie toevoegen
Context: ...즈니스 로직을 분리하여 다음을 가능하게 합니다. - 즉시 업데이트 배포. Stac 위젯을 수정해 Stac Cloud에 푸시하면 됩니다. - ...
(QB_NEW_NL_OTHER_ERROR_IDS_MISSING_ORTHOGRAPHY_SPACE)
docs/ko/quickstart.mdx
[grammar] ~157-~157: Ensure spelling is correct
Context: ...## Stac 초기화 프로젝트가 준비되었으니 main.dart에서 Stac을 초기화합니다. ```dart import 'package:stac_d...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
docs/ko/sdui.mdx
[grammar] ~6-~6: Dit kan een fout zijn.
Context: ...그리고 SDUI를 도입한 회사 사례" --- Server-Driven UI(SDUI)는 **서버가 화면의 레이아웃과 동작을 정의하고 앱은 이를 렌...
(QB_NEW_NL)
[grammar] ~33-~33: Dit kan een fout zijn.
Context: ...- 개발 속도 향상과 비용 절감 ### 단점 - 초기 구현 난이도가 존재(하지만 Stac이 크게 완화) - 완전 오프라인 앱에는 제한적 ## ...
(QB_NEW_NL)
[typographical] ~58-~58: Niet-gecombineerd symbool: “[” lijkt te ontbreken
Context: ...otify** - PhonePe ## 다음 단계 - 퀵스타트에서 첫 번째 서버 기반 화면을 렌더링해 보세요...
(UNPAIRED_BRACKETS)
[typographical] ~59-~59: Niet-gecombineerd symbool: “[” lijkt te ontbreken
Context: ... 첫 번째 서버 기반 화면을 렌더링해 보세요. - Stac 위젯 렌더링을 읽고 ...
(UNPAIRED_BRACKETS)
[typographical] ~60-~60: Niet-gecombineerd symbool: “[” lijkt te ontbreken
Context: ...ng_stac_widgets)을 읽고 내부 동작을 이해하세요. - 위젯 카탈로그를 살펴보고 어떤 컴포넌트가 있는지 확인하...
(UNPAIRED_BRACKETS)
docs/ko/widgets/row.mdx
[grammar] ~5-~5: Ensure spelling is correct
Context: ...e: "Row" description: "가로로 자식을 배치" --- Stac row는 Flutter Row 위젯과 동일합니다. ## 속성 ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: format
- GitHub Check: analyze
- GitHub Check: pub_get_check
🔇 Additional comments (116)
docs/ko/widgets/visibility.mdx (1)
1-4: Well-structured frontmatter. ✓The YAML frontmatter is properly formatted with appropriate title and clear Korean description.
docs/ko/widgets/aspect_ratio.mdx (4)
1-4: YAML frontmatter looks good.The frontmatter structure is correct with proper
titleanddescriptionkeys in Korean.
6-6: Reference link is helpful.The link to official Flutter documentation provides good context for developers. Ensure the link remains stable and current.
17-28: JSON example is clear and valid.The example correctly demonstrates using the
aspectRatiowidget with a child container. The structure is syntactically valid and illustrates the key properties appropriately.
8-13: File path in review is incorrect: The referenced filedocs/ko/widgets/aspect_ratio.mdxdoes not exist. The actual AspectRatio documentation is located atdocs/widgets/aspect_ratio.mdx(English only, no locale-specific versions exist).The actual properties table is well-formatted and accurately documents the
aspectRatio(double) andchild(Map<String, dynamic>?) properties with descriptions that match the official Flutter AspectRatio widget API.Likely an incorrect or invalid review comment.
docs/ko/widgets/safe_area.mdx (1)
1-28: Well-structured Korean widget documentation.The SafeArea documentation follows a clear structure with proper frontmatter, explanation, properties table, and practical JSON example. Korean terminology and phrasing are consistent and clear.
docs/ko/widgets/clip_oval.mdx (1)
1-29: Well-structured Korean widget documentation with defaults.The ClipOval documentation is well-organized with clear Korean explanations and includes a default values column in the properties table, which adds helpful context. JSON example is practical and well-formed.
docs/ko/widgets/text_field.mdx (1)
30-41: Well-documented example and properties.The TextField documentation covers an extensive set of properties with clear Korean descriptions. The JSON example is practical and properly formatted.
docs/ko/widgets/slider.mdx (1)
1-35: Well-structured Korean Slider widget documentation.The Slider documentation follows the standard pattern with proper headers, comprehensive properties table, and practical JSON example. Korean terminology and explanations are clear and consistent.
docs/ko/actions/none.mdx (1)
1-12: Clear and concise Korean action documentation.The None action documentation is appropriately brief, with a clear explanation of its purpose as a placeholder in conditional flows. The JSON example is minimal and correct.
docs/ko/widgets/network_widget.mdx (1)
1-27: Well-documented Korean NetworkWidget documentation.The NetworkWidget documentation clearly explains the widget's purpose and provides a comprehensive example showing request configuration with headers. Structure and Korean terminology are consistent with other widget docs.
docs/introduction.mdx (1)
103-103: Trailing newline formatting consistency.Adding a trailing newline is a minor formatting consistency fix that aligns with other file changes in this PR.
.gitignore (1)
42-49: Appropriate Docusaurus build artifact exclusion.Adding
website/to gitignore is the correct approach for Docusaurus-based documentation projects, preventing build artifacts from being tracked in version control. The formatting fix to.fvm/adds consistency.docs/ko/widgets/circular_progress_indicator.mdx (1)
1-30: Documentation structure looks good.The Korean documentation for CircularProgressIndicator follows a consistent format with clear property descriptions and a valid JSON example.
docs/ko/widgets/center.mdx (1)
1-26: Documentation structure is consistent and clear.The Center widget documentation follows the established format and appropriately shows the nested widget structure in the JSON example.
docs/ko/actions/delay_action.mdx (1)
1-21: Action documentation follows established pattern.The Delay Action documentation is well-structured. Note that the actionType is "delay" (line 18), which differs from the class name prefix "StacDelayAction" — please verify this is intentional and consistent with other action definitions.
docs/ko/actions/form_validate.mdx (1)
1-35: Well-documented action with comprehensive example.The Form Validate Action documentation clearly explains the conditional execution pattern and the JSON example effectively demonstrates nested action usage.
docs/quickstart.mdx (1)
243-243: Minor formatting fix approved.Adding the trailing newline to the end of the file is a standard best practice for text files and improves tool compatibility.
docs/ko/widgets/row.mdx (1)
1-33: Documentation is complete and well-structured.The Row widget documentation provides comprehensive property documentation and a clear usage example. The static analysis grammar flag appears to be a false positive given the Korean language content.
docs/ko/actions/get_form_value.mdx (1)
1-21: Documentation structure is consistent and complete.The Get Form Value action documentation clearly explains its purpose and provides a straightforward example.
docs/ko/widgets/grid_view.mdx (1)
1-43: Documentation structure and format look good.The file follows the established pattern across other Ko widget documentation with front matter, a clear description, comprehensive properties table, and practical JSON example.
docs/ko/widgets/clip_rrect.mdx (1)
1-66: Well-structured widget documentation with clear examples.The file provides comprehensive property documentation and two practical JSON examples that demonstrate both simple and complex usage patterns. The additional guidance on BorderRadius specification methods is helpful for developers.
docs/ko/widgets/switch.mdx (1)
1-31: Documentation is appropriately concise for the widget's scope.The Switch documentation includes comprehensive properties and a valid JSON example. While a second example demonstrating
onChangedcallback would be helpful, the current documentation is sufficient for a straightforward toggle component.docs/ko/widgets/sized_box.mdx (1)
1-23: Documentation appropriately reflects the widget's simplicity.The SizedBox documentation clearly explains its dual purpose (fixed dimensions vs. spacing) with a concise properties table and example.
docs/ko/widgets/listview.mdx (1)
1-54: Comprehensive and practical ListView documentation.The documentation provides a complete properties reference and a realistic example that demonstrates common ListView patterns including separators and styled ListTile children. The example effectively shows practical styling and layout composition.
docs/ko/widgets/list_tile.mdx (1)
1-42: Well-documented ListTile widget with practical example.The documentation clearly describes the component's structure and properties, with an example that demonstrates realistic styling and child composition patterns (leading image, styled text, trailing icon).
docs/ko/widgets/linear_progress_indicator.mdx (1)
1-34: Well-structured progress indicator documentation.The documentation provides clear property reference and a good example that demonstrates styling options including color, height, background, and rounded corners. The note about null values enabling infinite animation is helpful context.
docs/cli.mdx (1)
214-218: Verify that the--helpCLI option is actually supported by the Stac CLI tool.This repository contains the Flutter framework/library code, not the CLI tool implementation. The Stac CLI is installed separately from the StacDev/install repository. The documentation correctly shows
--versionis supported (used in installation examples at lines 17 and 26), but verifying--helprequires checking the actual CLI tool source code in the separate CLI repository, which is not present here. Consider cross-referencing with the CLI tool's repository or release notes to confirm--helpsupport before documenting it.docs/ko/widgets/container.mdx (1)
1-56: Documentation structure and content look good.Clear structure with helpful reference to official Flutter docs, comprehensive property table, and valid JSON example.
docs/ko/widgets/opacity.mdx (1)
1-27: Clean and well-structured documentation.Good description of opacity behavior with accurate property details and a clear example.
docs/ko/widgets/fractionally_sized_box.mdx (1)
1-34: Excellent documentation with clear proportional sizing example.Properties are accurately documented with nullable indicators, and the example effectively demonstrates fractional sizing.
docs/ko/widgets/image.mdx (1)
1-32: Comprehensive image widget documentation.Well-documented with clear handling of multiple image source types and helpful default value documentation.
docs/ko/widgets/elevated_button.mdx (1)
1-33: Good button documentation with clear event handler organization.Properties are logically grouped and the example demonstrates typical usage patterns.
docs/ko/widgets/limited_box.mdx (1)
1-29: Clear explanation of constraint-based sizing.Description effectively explains the scenario where LimitedBox applies, with accurate property documentation.
docs/ko/widgets/carousel_view.mdx (1)
1-44: Comprehensive carousel documentation with good example of weighted layout.Thorough property documentation handles the complexity of carousel configuration, and the example effectively demonstrates the weighted carousel pattern.
docs/ko/widgets/placeholder.mdx (1)
17-25: Documentation content is clear and accurate.The placeholder widget documentation is well-written with appropriate examples, pending the section header consistency fix above.
docs/ko/widgets/text.mdx (2)
10-23: Properties table formatting and completeness look good.The table is well-structured with clear type hints and Korean descriptions. All 14 properties are documented.
27-35: JSON example is clear and follows Stac conventions.The example demonstrates basic usage with style properties (color, fontSize). Syntax is valid.
docs/ko/widgets/sliver_app_bar.mdx (2)
10-26: Properties table uses grouping for related attributes—verify this aligns with style guide.Properties like "leading / title / titleTextStyle / toolbarTextStyle" are grouped on one row. While this reduces table height for a complex widget, verify this grouping approach is consistent with other documentation or established style conventions. If inconsistent, consider splitting into separate rows for uniform presentation.
30-48: JSON example demonstrates proper widget nesting and type usage.The example correctly shows a sliverAppBar with nested text, iconButton, and icon widgets. Stac type names and JSON structure are valid.
docs/ko/widgets/circle_avatar.mdx (2)
20-29: JSON example uses external GitHub URL for backgroundImage.The example references
https://raw.githubusercontent.com/StacDev/stac/refs/heads/dev/assets/companies/bettrdo.jpg. Verify this URL remains valid and accessible. Consider whether examples should use placeholder URLs or external assets, depending on documentation maintenance practices.
10-16: Properties are well-documented with appropriate type hints and descriptions.Clear organization with parent/child and variant properties grouped logically.
docs/ko/widgets/single_child_scroll_view.mdx (1)
22-32: JSON example is valid and demonstrates proper widget composition.Example correctly shows singleChildScrollView wrapping a column with text children.
docs/ko/widgets/outlined_button.mdx (2)
1-9: Documentation pattern: Cross-reference to elevatedButton for properties.The documentation intentionally omits a properties table, referencing
elevatedButtoninstead. This is a reasonable approach for UI component variants. However, consider whether users might miss this cross-reference when searching or browsing. If the style guide allows this, it's acceptable; otherwise, consider adding a properties table for consistency.
12-24: JSON example is valid and demonstrates outlinedButton usage.The example correctly uses the outlinedButton type with proper styling and text child.
docs/ko/widgets/page_view.mdx (1)
26-34: JSON example demonstrates multi-page composition with proper nesting.The three-page example correctly uses container, center, and text widgets with color values. Structure is valid and realistic for PageView usage.
docs/ko/widgets/dropdown_menu.mdx (3)
10-21: Main properties table is comprehensive and well-organized.11 properties documented with clear type hints and Korean descriptions. Property grouping (e.g., "leadingIcon / trailingIcon") is consistent with complex widget documentation style.
23-31: DropdownMenuEntry subsection correctly documents nested type properties.The subsection properly uses ### header and documents 5 properties for the nested entry type. Organization is clear and follows subsection conventions.
35-46: JSON example demonstrates realistic DropdownMenu usage with multiple entries and icons.The example correctly shows dropdown with label, hintText, width, and three entries (each with value, label, and leadingIcon). Stac type names and structure are valid.
docs/ko/widgets/refresh_indicator.mdx (2)
21-30: JSON example uses external asset URL—verify accessibility.The example references
https://raw.githubusercontent.com/StacDev/stac/main/examples/stac_gallery/assets/json/list_view_example.json. Ensure this URL remains accessible and the referenced asset is maintained. Consider documentation practices for external asset dependencies.
8-17: Properties table accurately documents RefreshIndicator behavior.8 properties documented with clear Korean descriptions and type hints. Property descriptions explain default values where applicable (e.g., "기본 40" for displacement).
docs/ko/widgets/colored_box.mdx (1)
1-24: LGTM — clear and accurate documentation for ColoredBox.The documentation is well-structured, concise, and the JSON example effectively demonstrates the widget's core properties (color and child). Consistent with the documentation pattern across other widget pages.
docs/ko/widgets/ink_well.mdx (1)
29-47: Verify custom type instantiation in the InkWell example.The example uses custom types like
StacDuration(line 44:{ "seconds": 10 }) andStacBorderRadius(line 42). Ensure these JSON representations match the actual API expectations for these types. If the API uses string-based duration formats (e.g.,"10s") or different patterns, the example should be updated accordingly.docs/ko/widgets/icon_button.mdx (1)
29-49: Verify type representations in the IconButton example.The example references custom types (StacEdgeInsets, StacAlignment, StacBoxConstraints, StacButtonStyle). Confirm that these types serialize to JSON in the format shown, particularly the icon and selectedIcon properties (lines 46-47), which should be Map<String,dynamic> containing nested widget definitions.
docs/ko/widgets/auto_complete.mdx (1)
20-32: Verify the callback action syntax in the AutoComplete example.The example (lines 24-27) uses a callback action with
"type": "callback", "name": "onOptionSelected". Confirm this is the correct syntax for defining callbacks in the Stac framework. If callbacks are handled differently (e.g., as native action types), the example should be updated.docs/ko/actions/network_request.mdx (1)
54-66: Verify the nested action structure in the NetworkRequestAction example.The example handles response codes by executing nested actions (lines 56-64). Confirm that:
- The
"action"field withinStacNetworkResultcan contain arbitrary nested action structures as shown."actionType": "none"is the correct way to represent a no-op action in Stac.If different patterns are used (e.g., returning control without an action or using a different null-action type), the example should be updated.
docs/ko/widgets/form.mdx (1)
29-42: Verify the form validation action structure and semantics.The example (lines 29-42) uses a complex nested action structure with
validateFormcontaining anisValidfield that holds the success action. Confirm:
- Is
validateForman action type or a validation-only operation?- Does the
isValidfield represent the action to execute on successful validation, or is a different field name expected?- Is
getFormValuean action that returns a value (for use in the body object), or should it be structured differently?The example is sophisticated and should align precisely with the implemented API to avoid user confusion.
docs/ko/widgets/tab_bar.mdx (1)
57-84: Verify custom type names and example structure for TabBar components.The example uses several custom type names (
StacEdgeInsets,StacBorderRadius,StacTextStyle,StacBoxDecoration) and enums (TabBarIndicatorSize,DragStartBehavior,StacScrollPhysics,TabAlignment). Confirm:
- These type/enum names match the actual implementation.
- The nested widget structure (defaultTabController containing scaffold containing appBar containing tabBar) aligns with the runtime widget hierarchy.
- The
bottomfield in appBar (line 65) correctly references the TabBar component.If type names or nesting patterns differ, the example should be updated for accuracy.
docs/ko/project_structure.mdx (1)
1-22: LGTM — clear introductory guide to project structure.The documentation effectively introduces newcomers to the standard Stac project layout with a clear ASCII tree diagram and concise descriptions of key files. The structure is appropriate for an introductory guide and should help developers understand the organization of a typical Stac project.
docs/ko/widgets/text_button.mdx (1)
1-42: Documentation is complete and well-structured.The Korean documentation for TextButton follows the established pattern with clear property descriptions, proper formatting, and a realistic JSON example. The reference to the Flutter official documentation provides valuable context.
docs/ko/concepts/theming.mdx (1)
1-58: Comprehensive theming guide with well-detailed code example.The documentation effectively explains the theming concept, provides clear setup instructions, and includes a complete Dart implementation example. The themeJson structure demonstrates all key theming properties including brightness, colorScheme, and Material 3 colors.
docs/ko/widgets/gesture_detector.mdx (1)
1-87: Excellent documentation with diverse, practical examples.The GestureDetector documentation is well-organized with clear property categories and three distinct use-case examples that progress in complexity. All JSON examples are valid and demonstrate realistic action handlers.
docs/ko/widgets/chip.mdx (1)
1-59: Comprehensive Chip documentation with complete property coverage.The documentation covers all major Chip properties including avatar, styling, deletion behavior, and visual properties. The JSON example demonstrates proper nesting and configuration of avatar, label, and delete icon elements.
docs/ko/widgets/filled_button.mdx (1)
1-32: Clear and concise FilledButton documentation.The documentation appropriately notes the similarity to ElevatedButton and provides a focused properties table. The JSON example is minimal but sufficient for basic usage.
docs/ko/widgets/stack.mdx (1)
1-32: Well-documented Stack widget with appropriate examples.The documentation clearly explains Stack's purpose and includes properties for positioning, clipping, and sizing. The example appropriately demonstrates multiple child types.
docs/ko/quickstart.mdx (1)
1-229: Comprehensive quickstart guide with good step-by-step structure.The documentation provides a complete onboarding flow from prerequisites through deployment, including platform-specific CLI installation, realistic command outputs, and full code examples. The guide includes verification steps and clearly points to next steps and community resources.
Verify that the asset images referenced at lines 209 and 217 (
/assets/hello_world.pngand/assets/console.png) exist in the documentation structure. If paths are relative, ensure they're correctly configured for the Korean documentation location.docs/ko/widgets/floating_action_button.mdx (1)
1-38: Well-structured FloatingActionButton documentation with complete properties.The documentation covers all essential FAB properties including button type variants, color states, elevations, and hero animation support. The JSON example demonstrates a small FAB variant with icon, colors, and accessibility features.
docs/ko/widgets/icon.mdx (1)
1-32: Documentation structure looks good.The Icon widget documentation is well-organized with clear property descriptions, proper MDX formatting, and a practical JSON example. The reference link to icon_utils.dart provides helpful context for developers.
docs/ko/widgets/webview.mdx (1)
1-59: Comprehensive and well-structured WebView documentation.The documentation effectively guides developers through setup (dependency + parser registration) with clear code examples. The properties table is well-organized and the JSON example is practical and minimal.
docs/ko/widgets/radio_group.mdx (1)
1-60: RadioGroup documentation is comprehensive and practical.Clear separation between RadioGroup and Radio properties makes it easy to understand the relationship. The JSON example effectively demonstrates how to combine RadioGroup with ListTile for practical form layouts. The extensive property table serves as a thorough reference.
docs/ko/cli.mdx (1)
1-216: Excellent, comprehensive CLI documentation.The Korean CLI documentation is thorough and well-organized, covering installation, all major commands, authentication, and practical workflows. The tabbed installation instructions, detailed options tables, and step-by-step examples make it highly useful for developers. The global options section at the end provides complete command reference.
docs/ko/widgets/drawer.mdx (1)
1-45: Well-structured Drawer widget documentation.Clear property descriptions and a detailed JSON example that demonstrates shape configuration and proper child nesting. The documentation effectively explains both basic and styling properties.
docs/ko/actions/navigate.mdx (1)
1-92: Navigate action documentation is clear and comprehensive.Excellent documentation with clear property descriptions, well-documented NavigationStyle enum values, and four distinct practical examples covering network requests, widget JSON, asset files, and named routes. The variety of examples helps developers understand all navigation patterns.
docs/ko/introduction.mdx (2)
13-19: Verify link path consistency for language-specific documentation.The introduction page uses a mix of language-specific paths (
/ko/quickstart,/ko/cli) and shared paths (/widgets/align,/actions/navigate,/concepts/parsers,/concepts/theming). Given the PR restructures docs navigation to language-nested architecture, please verify that shared paths like/widgets/alignand/actions/navigateshould not be/ko/widgets/alignand/ko/actions/navigatefor consistency.
13-19: Minor spacing note from static analysis.Static analysis flagged a potential spacing issue around line 15 in the bullet list. The formatting appears intentional (using bold for action names), so this may be a false positive, but please review to ensure Korean formatting is correct.
docs/ko/widgets/check_box.mdx (1)
1-42: CheckBox documentation is complete and consistent.Clear property table with comprehensive styling options and a practical JSON example that demonstrates using both string colors and complex types (materialColor). Documentation follows the established widget documentation pattern.
docs/ko/concepts/custom_actions.mdx (1)
120-133: Valid JSON structure in usage example.The JSON example correctly demonstrates the serialized output format for StacShareAction with proper actionType mapping and all required fields.
docs/ko/widgets/backdrop_filter.mdx (1)
52-79: JSON structure is valid, but review filter property naming consistency.The Blur example uses
sigmaXandsigmaYproperties. Verify these match the actual Stac framework API for blur filters, as property naming should be consistent with the underlying implementation.docs/ko/widgets/alert_dialog.mdx (1)
31-59: JSON example is well-structured and demonstrates practical dialog usage.The example correctly shows content padding, centered text, and action buttons with proper spacing and navigation. This is a good reference implementation for AlertDialog.
Please verify that the property names in the table (lines 10-27), particularly
actionsPadding,buttonPadding,actionsAlignment, etc., match the actual Stac framework API for alertDialog.docs/ko/widgets/dynamic_view.mdx (2)
50-86: Excellent comprehensive example demonstrating loading/error states and data binding.The second example effectively showcases nested data structure, error handling, and template binding with realistic API endpoint (dummyjson.com). The JSON is valid and demonstrates best practices for DynamicView usage.
90-105: List rendering example is clear and practical.Properly demonstrates targetPath for extracting array data and itemTemplate for rendering list items. JSON syntax and binding expressions are correct.
docs/ko/actions/modal_bottom_sheet.mdx (1)
31-63: JSON example demonstrates practical modal bottom sheet implementation with proper action handling.The example shows nested widget structure, color specification, and proper pop action for dismissal. The structure is valid and demonstrates the intended functionality well.
Please verify that the
actionType: "showModalBottomSheet"matches the actual Stac action parser registration.docs/ko/concepts/caching.mdx (3)
8-40: Excellent explanation of caching lifecycle and Optimistic strategy implementation.The documentation clearly explains how caching works and provides a practical Dart code example for the Optimistic strategy. The pattern is consistent with standard Stac usage and the explanation of behavior (lines 34-38) is clear and helpful.
212-220: Strategy comparison table provides valuable quick reference.The table effectively summarizes all five strategies with columns for initial load, subsequent load, offline support, and optimal use cases. This helps developers quickly understand which strategy to use for their scenario.
25-169: Verify thatStacCacheStrategyenum values andStacCacheConfigproperties match the actual framework API.The caching documentation provides five cache strategies with corresponding Dart configuration examples. Please verify that:
- Enum values:
optimistic,cacheFirst,networkFirst,cacheOnly,networkOnly- Config properties:
strategy,maxAge,refreshInBackground,staleWhileRevalidatematch the actual Stac framework implementation.
docs/ko/widgets/bottom_navigation_bar.mdx (1)
1-142: Well-structured widget documentation with comprehensive example.The documentation is clear, well-organized, and the JSON example effectively demonstrates how BottomNavigationBar integrates with DefaultBottomNavigationController and BottomNavigationView. Property tables are complete and descriptions are helpful.
docs/ko/widgets/app_bar.mdx (1)
1-41: Concise and complete AppBar documentation.The properties table covers all major AppBar customization options. The JSON example is practical and demonstrates typical usage patterns (title, colors, actions).
docs/ko/styles/stac_alignment_directional.mdx (1)
1-27: Complete alignment enum documentation with RTL awareness.The table documents all nine alignment values with clear Korean descriptions. The note about RTL (right-to-left) directionality is a nice touch for i18n context.
docs/ko/widgets/align.mdx (1)
1-43: Clear Align widget documentation with nested example.The properties are well-explained, particularly the widthFactor and heightFactor descriptions. The JSON example effectively demonstrates nested Align usage with styling.
docs/ko/widgets/custom_scroll_view.mdx (1)
1-41: CustomScrollView documentation with proper sliver context.The properties table covers scrolling configuration comprehensively. The JSON example appropriately references the SliverAppBar widget, which is documented elsewhere in the Korean docs.
docs/ko/styles/box_fit.mdx (1)
1-25: Complete BoxFit enum documentation with practical descriptions.All seven BoxFit values are documented with clear explanations of behavior (overflow, clipping, aspect ratio preservation).
docs/ko/widgets/padding.mdx (1)
1-32: Clear Padding widget documentation with flexible property formats.The property description helpfully explains the three ways to specify padding (single number, object with sides, array notation), making the API more discoverable.
docs/ko/styles/border_side.mdx (1)
1-30: File path in review comment is incorrect. The filedocs/ko/styles/border_side.mdxdoes not exist. The actual file is located atdocs/styles/border_side.mdxand contains English documentation, not Korean content. The snippet shown in the review comment does not match the actual file content in the repository. The cross-reference to Border in the actual file is valid and the target file exists.Likely an incorrect or invalid review comment.
docs/ko/styles/clip_behavior.mdx (1)
1-22: Well-structured Korean style documentation for clipBehavior.Clear frontmatter, concise explanation, and practical example. The properties table format and JSON example align with documentation standards.
docs/ko/sdui.mdx (1)
1-60: Comprehensive Korean SDUI documentation with excellent educational structure.Content is well-organized with clear sections on concepts, operational flow, advantages/limitations, use cases, and adoption examples. The relative links to quickstart, rendering concepts, and widget catalog are correctly formatted despite static analysis tool warnings (LanguageTool lacks robust Korean support).
docs/ko/widgets/expanded.mdx (1)
1-26: Well-structured Korean widget documentation for Expanded.Consistent format with properties section header, clear type definitions, and practical JSON example demonstrating the flex property and child widget usage.
docs/ko/styles/table_border.mdx (1)
1-33: Well-structured Korean style documentation for TableBorder.Clear properties table with comprehensive types, and a practical example showing JSON configuration including nested borderRadius values.
docs/ko/get_started.mdx (1)
1-84: Excellent comprehensive Korean getting started guide.Well-organized with clear progression from package overview through installation to practical usage examples. Code blocks are properly formatted with language identifiers, examples are practical and incremental, and the guide appropriately directs users to pub.dev for version information.
docs/ko/widgets/flexible.mdx (1)
1-14: Add missing "## 속성" (Properties) section header for consistency.This widget documentation lacks a properties section header, unlike other widget docs (e.g., expanded.mdx). Maintain uniform documentation structure by adding the header.
Apply this diff to add the missing section header:
+## 속성 + | 속성 | 타입 | 설명 | |------|------|------|Likely an incorrect or invalid review comment.
docs/ko/widgets/spacer.mdx (1)
1-12: Add missing "## 속성" (Properties) section header for consistency.This widget documentation lacks a properties section header. Add it to align with the standard widget documentation pattern seen in expanded.mdx and other docs.
Apply this diff to add the missing section header:
+## 속성 + | 속성 | 타입 | 설명 | |------|------|------|Likely an incorrect or invalid review comment.
docs/ko/widgets/positioned.mdx (1)
1-70: Well-structured documentation with clear examples.The file follows the established documentation format consistently: valid YAML frontmatter, clear descriptions, comprehensive properties table, and multiple practical JSON examples covering different
positionedTypescenarios (default, directional, fill, fromRect).Verify that all properties listed in the table (positionedType, left/top/right/bottom, width/height, start/end, textDirection, rect, child) accurately match the Positioned widget's supported attributes. Since I don't have access to the framework implementation, please confirm that the property names and types are correct.
docs/ko/widgets/table.mdx (1)
1-56: Comprehensive table documentation with practical example.The properties table is well-organized with clear descriptions, and the example demonstrates proper table composition with border styling, column width configuration, and nested tableRow/tableCell structure.
Confirm that the example JSON (lines 22-56) correctly represents the expected table structure. Specifically, verify:
- The
columnWidthsmap format with "1" as key is correct- The nested
tableRow>tableCell> child structure matches the framework's expected composition- The
bordertype ("tableBorder") and its properties are accurately nameddocs/ko/widgets/fitted_box.mdx (1)
1-30: Well-structured FittedBox documentation with practical example.Clear property descriptions and a good example demonstrating fit, alignment, and nested widget styling.
Verify that the
alignmentproperty value on line 23 of the example ("alignment": "center") correctly represents the expected format forStacAlignmentDirectional. Confirm whether alignment should be a string or an object structure.docs/ko/styles/border_radius.mdx (1)
1-43: Excellent border radius documentation with comprehensive examples.The documentation clearly explains the three mutually-exclusive methods for specifying
borderRadius(single value, mapped corners, or list order), reinforced by a helpful note block and three complete working examples. This is particularly well-done for an API with multiple valid input formats.docs/ko/widgets/card.mdx (1)
1-40: Comprehensive Card documentation with realistic example.The properties table thoroughly documents all Card attributes including shadow, tint, and shape configurations. The JSON example demonstrates practical usage with proper nesting of shape and styling properties.
docs/ko/widgets/column.mdx (1)
1-36: Well-documented Column widget with clear axis semantics.Properties are clearly explained with Korean terminology (주축 for main axis, 교차축 for cross axis), and the example demonstrates practical usage with mixed child widgets and layout configuration.
docs/ko/styles/colors.mdx (1)
1-55: Well-structured Korean documentation with clear examples.This documentation provides a comprehensive overview of color definition methods in Stac with proper examples and external reference. The content is well-organized with clear sections for Theme colors, Hex colors, and named colors. All three JSON examples demonstrate proper syntax and usage patterns.
docs/ko/widgets/wrap.mdx (1)
1-37: Clear Wrap widget documentation with accurate properties and example.The properties table accurately represents the Wrap widget's configuration options with proper type annotations. The JSON example demonstrates a realistic layout scenario with multiple colored containers arranged in a wrap. The documentation follows the established pattern for Korean widget documentation.
docs/ko/actions/snack_bar.mdx (1)
1-57: Comprehensive SnackBar action documentation with nested property definitions.The documentation clearly separates the main SnackBar properties from the nested SnackBarAction properties. The JSON example accurately demonstrates the structure with proper nesting of content, action, and behavior fields. External reference to Flutter documentation is properly included.
docs/ko/styles/border.mdx (1)
1-136: Well-structured border documentation with comprehensive examples and cross-references.The documentation clearly explains the uniform vs. individual border configuration modes with progressing examples from simple to complex scenarios. The properties tables are well-formatted, and the note section clarifies the automatic mode switching behavior. The container example demonstrates realistic usage with borderRadius integration.
Please verify that the referenced documentation files exist in the PR:
docs/ko/styles/border_side.mdxdocs/ko/styles/border_radius.mdxThese files are referenced on lines 134-135. Ensure the relative links resolve correctly after the PR is merged.
docs/ko/actions/dialog.mdx (1)
1-54: Complete dialog action documentation with diverse usage examples.The documentation provides three well-separated examples demonstrating different dialog loading strategies: direct widget JSON, network request, and asset-based content. The properties table covers all necessary parameters. Each example is self-contained and clearly demonstrates a practical scenario.
docs/ko/actions/multi_action.mdx (1)
1-79: Excellent multi-action example demonstrating sequential execution and composition.This documentation provides a sophisticated example showing multiple action types (showSnackBar, networkRequest) composed sequentially with proper result handling. The network request configuration is comprehensive, including headers, query parameters, content type, and results mapping. The example effectively demonstrates the sync parameter's behavior and the structure for complex action workflows.
docs/ko/concepts/rendering_stac_widgets.mdx (1)
1-181: Comprehensive rendering guide with four clear strategies and practical examples.This documentation provides a thorough guide to all Stac widget rendering methods with proper Dart code examples, JSON structures, and parameter documentation. Each rendering strategy (Stac Cloud, JSON, Assets, Network) includes initialization code, practical examples, and clear use case guidance. The progression from simple to advanced scenarios is well-organized and accessible.
docs/ko/concepts/custom_widgets.mdx (1)
1-191: Excellent comprehensive guide to custom widget creation with complete examples.This documentation provides a thorough, methodical guide to extending Stac with custom widgets. The five-step process covers widget class definition, code generation requirements, parser implementation, and registration. Dart code examples are realistic and properly formatted, including decorators, factory methods, and parser logic. The advanced patterns section clarifies converters and Stac type usage. The final JSON output example demonstrates the complete workflow effectively.
docs/docs.json (2)
249-301: Review comment references file state that does not exist.The docs.json file is only 222 lines long; it does not contain lines 249-301 or any Korean (ko/) widget documentation. The current file contains only English documentation organized into Overview, Widgets, and Actions tabs. The opacity widget is correctly listed once in Display Widgets (line 86), and visibility is present in Display Widgets (line 88). There are no duplicates or missing widgets in the current file structure.
Likely an incorrect or invalid review comment.
305-315: The review comment references non-existent content and incorrect line numbers.The file
docs/docs.jsonis only 222 lines long (lines 305-315 do not exist). The current state of the repository contains no Korean documentation files or references—only English pages underwidgets/,actions/,concepts/, andstyles/directories. The snippet in the review comment showing Korean text ("데이터 위젯") does not appear in the actual file, which displays "Data Widgets" in English. If this review is intended for a PR that adds Korean localization, it may be referencing a different branch or an uncommitted state.Likely an incorrect or invalid review comment.
| --- | ||
| title: "PageView" | ||
| description: "페이지 단위로 스크롤" | ||
| --- | ||
|
|
||
| `pageView`는 각 페이지를 좌우/위아래로 넘기며 보여줍니다. | ||
|
|
||
| | 속성 | 타입 | 설명 | | ||
| |------|------|------| | ||
| | scrollDirection / reverse | `Axis` / `bool` | 스크롤 방향과 역스크롤 | | ||
| | physics | `StacScrollPhysics?` | 스크롤 물리 | | ||
| | pageSnapping | `bool` | 페이지 경계에 스냅(기본 `true`) | | ||
| | onPageChanged | `Map<String,dynamic>?` | 페이지 전환 시 콜백 | | ||
| | dragStartBehavior | `DragStartBehavior` | 드래그 시작 방식 | | ||
| | allowImplicitScrolling | `bool` | 암시적 스크롤 허용 | | ||
| | restorationId | `String?` | 스크롤 위치 복원 ID | | ||
| | clipBehavior | `Clip` | 클리핑 방식 | | ||
| | padEnds | `bool` | 양 끝 여백 추가 | | ||
| | initialPage | `int` | 초기 페이지 | | ||
| | keepPage | `bool` | 현재 페이지 저장 | | ||
| | viewportFraction | `double` | 뷰포트 대비 페이지 비율 | | ||
| | children | `List<Map<String,dynamic>>` | 페이지 목록 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add missing section header for properties table.
Similar to single_child_scroll_view.mdx, the properties table (lines 8–22) is missing the "## 속성" section header. This creates inconsistency with other documentation files.
Apply this diff to add the missing header:
`pageView`는 각 페이지를 좌우/위아래로 넘기며 보여줍니다.
+## 속성
+
| 속성 | 타입 | 설명 |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| title: "PageView" | |
| description: "페이지 단위로 스크롤" | |
| --- | |
| `pageView`는 각 페이지를 좌우/위아래로 넘기며 보여줍니다. | |
| | 속성 | 타입 | 설명 | | |
| |------|------|------| | |
| | scrollDirection / reverse | `Axis` / `bool` | 스크롤 방향과 역스크롤 | | |
| | physics | `StacScrollPhysics?` | 스크롤 물리 | | |
| | pageSnapping | `bool` | 페이지 경계에 스냅(기본 `true`) | | |
| | onPageChanged | `Map<String,dynamic>?` | 페이지 전환 시 콜백 | | |
| | dragStartBehavior | `DragStartBehavior` | 드래그 시작 방식 | | |
| | allowImplicitScrolling | `bool` | 암시적 스크롤 허용 | | |
| | restorationId | `String?` | 스크롤 위치 복원 ID | | |
| | clipBehavior | `Clip` | 클리핑 방식 | | |
| | padEnds | `bool` | 양 끝 여백 추가 | | |
| | initialPage | `int` | 초기 페이지 | | |
| | keepPage | `bool` | 현재 페이지 저장 | | |
| | viewportFraction | `double` | 뷰포트 대비 페이지 비율 | | |
| | children | `List<Map<String,dynamic>>` | 페이지 목록 | | |
| --- | |
| title: "PageView" | |
| description: "페이지 단위로 스크롤" | |
| --- | |
| `pageView`는 각 페이지를 좌우/위아래로 넘기며 보여줍니다. | |
| ## 속성 | |
| | 속성 | 타입 | 설명 | | |
| |------|------|------| | |
| | scrollDirection / reverse | `Axis` / `bool` | 스크롤 방향과 역스크롤 | | |
| | physics | `StacScrollPhysics?` | 스크롤 물리 | | |
| | pageSnapping | `bool` | 페이지 경계에 스냅(기본 `true`) | | |
| | onPageChanged | `Map<String,dynamic>?` | 페이지 전환 시 콜백 | | |
| | dragStartBehavior | `DragStartBehavior` | 드래그 시작 방식 | | |
| | allowImplicitScrolling | `bool` | 암시적 스크롤 허용 | | |
| | restorationId | `String?` | 스크롤 위치 복원 ID | | |
| | clipBehavior | `Clip` | 클리핑 방식 | | |
| | padEnds | `bool` | 양 끝 여백 추가 | | |
| | initialPage | `int` | 초기 페이지 | | |
| | keepPage | `bool` | 현재 페이지 저장 | | |
| | viewportFraction | `double` | 뷰포트 대비 페이지 비율 | | |
| | children | `List<Map<String,dynamic>>` | 페이지 목록 | |
🤖 Prompt for AI Agents
In docs/ko/widgets/page_view.mdx around lines 8 to 22, the properties table is
missing the "## 속성" section header; insert a new line with "## 속성" immediately
above the table (before the line starting with "| 속성 | 타입 | 설명 |") so the file
matches the structure used in single_child_scroll_view.mdx and other docs.
| --- | ||
| title: "RefreshIndicator" | ||
| description: "당겨서 새로고침" | ||
| --- | ||
|
|
||
| `refreshIndicator`는 리스트를 아래로 당겨 데이터 새로고침을 트리거합니다. | ||
|
|
||
| | 속성 | 타입 | 설명 | | ||
| |------|------|------| | ||
| | child | `Map<String,dynamic>?` | 감싸는 스크롤 위젯 | | ||
| | displacement | `double` | 인디케이터 시작 위치(기본 40) | | ||
| | edgeOffset | `double` | 시작 오프셋(기본 0) | | ||
| | onRefresh | `Map<String,dynamic>?` | 충분히 끌어내렸을 때 호출할 액션 | | ||
| | color / backgroundColor | `String?` | 인디케이터 전경/배경 색 | | ||
| | semanticsLabel / semanticsValue | `String?` | 접근성 텍스트 | | ||
| | strokeWidth | `double` | 원형 스트로크 두께 | | ||
| | triggerMode | `RefreshIndicatorTriggerMode` | 트리거 조건(`onEdge` 등) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add missing section header for properties table.
The properties table (lines 8–17) is missing the "## 속성" section header, creating inconsistency with other documentation files. This is the third file with this issue (also present in single_child_scroll_view.mdx and page_view.mdx).
Apply this diff to add the missing header:
`refreshIndicator`는 리스트를 아래로 당겨 데이터 새로고침을 트리거합니다.
+## 속성
+
| 속성 | 타입 | 설명 |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| title: "RefreshIndicator" | |
| description: "당겨서 새로고침" | |
| --- | |
| `refreshIndicator`는 리스트를 아래로 당겨 데이터 새로고침을 트리거합니다. | |
| | 속성 | 타입 | 설명 | | |
| |------|------|------| | |
| | child | `Map<String,dynamic>?` | 감싸는 스크롤 위젯 | | |
| | displacement | `double` | 인디케이터 시작 위치(기본 40) | | |
| | edgeOffset | `double` | 시작 오프셋(기본 0) | | |
| | onRefresh | `Map<String,dynamic>?` | 충분히 끌어내렸을 때 호출할 액션 | | |
| | color / backgroundColor | `String?` | 인디케이터 전경/배경 색 | | |
| | semanticsLabel / semanticsValue | `String?` | 접근성 텍스트 | | |
| | strokeWidth | `double` | 원형 스트로크 두께 | | |
| | triggerMode | `RefreshIndicatorTriggerMode` | 트리거 조건(`onEdge` 등) | | |
| --- | |
| title: "RefreshIndicator" | |
| description: "당겨서 새로고침" | |
| --- | |
| `refreshIndicator`는 리스트를 아래로 당겨 데이터 새로고침을 트리거합니다. | |
| ## 속성 | |
| | 속성 | 타입 | 설명 | | |
| |------|------|------| | |
| | child | `Map<String,dynamic>?` | 감싸는 스크롤 위젯 | | |
| | displacement | `double` | 인디케이터 시작 위치(기본 40) | | |
| | edgeOffset | `double` | 시작 오프셋(기본 0) | | |
| | onRefresh | `Map<String,dynamic>?` | 충분히 끌어내렸을 때 호출할 액션 | | |
| | color / backgroundColor | `String?` | 인디케이터 전경/배경 색 | | |
| | semanticsLabel / semanticsValue | `String?` | 접근성 텍스트 | | |
| | strokeWidth | `double` | 원형 스트로크 두께 | | |
| | triggerMode | `RefreshIndicatorTriggerMode` | 트리거 조건(`onEdge` 등) | |
🤖 Prompt for AI Agents
In docs/ko/widgets/refresh_indicator.mdx around lines 1 to 17, the properties
table is missing the "## 속성" section header which causes inconsistency; add a
new line containing "## 속성" immediately above the table (before the line
starting with "| 속성 | 타입 | 설명 |") so the file matches the other docs
(single_child_scroll_view.mdx and page_view.mdx) and preserves
spacing/formatting conventions.
| --- | ||
| title: "SingleChildScrollView" | ||
| description: "단일 자식을 스크롤" | ||
| --- | ||
|
|
||
| `singleChildScrollView`는 하나의 자식을 감싸 스크롤 가능하게 만듭니다. | ||
|
|
||
| | 속성 | 타입 | 설명 | | ||
| |------|------|------| | ||
| | scrollDirection / reverse | `Axis` / `bool` | 스크롤 방향과 역방향 여부 | | ||
| | padding | `StacEdgeInsets?` | 주변 여백 | | ||
| | primary | `bool?` | 기본 스크롤 뷰인지 | | ||
| | physics | `StacScrollPhysics?` | 스크롤 물리 | | ||
| | child | `Map<String,dynamic>?` | 스크롤할 자식 | | ||
| | dragStartBehavior | `DragStartBehavior` | 드래그 시작 방식 | | ||
| | clipBehavior | `Clip` | 클리핑 방식 | | ||
| | restorationId | `String?` | 상태 복원 ID | | ||
| | keyboardDismissBehavior | `ScrollViewKeyboardDismissBehavior` | 키보드 닫기 방식 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add missing section header for properties table.
The properties table (lines 8–18) is missing the "## 속성" (Properties) section header that is present in other documentation files (text.mdx, circle_avatar.mdx, sliver_app_bar.mdx). This creates a structural inconsistency.
Apply this diff to add the missing header:
`singleChildScrollView`는 하나의 자식을 감싸 스크롤 가능하게 만듭니다.
+## 속성
+
| 속성 | 타입 | 설명 |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| title: "SingleChildScrollView" | |
| description: "단일 자식을 스크롤" | |
| --- | |
| `singleChildScrollView`는 하나의 자식을 감싸 스크롤 가능하게 만듭니다. | |
| | 속성 | 타입 | 설명 | | |
| |------|------|------| | |
| | scrollDirection / reverse | `Axis` / `bool` | 스크롤 방향과 역방향 여부 | | |
| | padding | `StacEdgeInsets?` | 주변 여백 | | |
| | primary | `bool?` | 기본 스크롤 뷰인지 | | |
| | physics | `StacScrollPhysics?` | 스크롤 물리 | | |
| | child | `Map<String,dynamic>?` | 스크롤할 자식 | | |
| | dragStartBehavior | `DragStartBehavior` | 드래그 시작 방식 | | |
| | clipBehavior | `Clip` | 클리핑 방식 | | |
| | restorationId | `String?` | 상태 복원 ID | | |
| | keyboardDismissBehavior | `ScrollViewKeyboardDismissBehavior` | 키보드 닫기 방식 | | |
| --- | |
| title: "SingleChildScrollView" | |
| description: "단일 자식을 스크롤" | |
| --- | |
| `singleChildScrollView`는 하나의 자식을 감싸 스크롤 가능하게 만듭니다. | |
| ## 속성 | |
| | 속성 | 타입 | 설명 | | |
| |------|------|------| | |
| | scrollDirection / reverse | `Axis` / `bool` | 스크롤 방향과 역방향 여부 | | |
| | padding | `StacEdgeInsets?` | 주변 여백 | | |
| | primary | `bool?` | 기본 스크롤 뷰인지 | | |
| | physics | `StacScrollPhysics?` | 스크롤 물리 | | |
| | child | `Map<String,dynamic>?` | 스크롤할 자식 | | |
| | dragStartBehavior | `DragStartBehavior` | 드래그 시작 방식 | | |
| | clipBehavior | `Clip` | 클리핑 방식 | | |
| | restorationId | `String?` | 상태 복원 ID | | |
| | keyboardDismissBehavior | `ScrollViewKeyboardDismissBehavior` | 키보드 닫기 방식 | |
🤖 Prompt for AI Agents
In docs/ko/widgets/single_child_scroll_view.mdx around lines 1 to 18, the
properties table lacks the "## 속성" section header; add a second-level header "##
속성" immediately above the table (before the line starting with "| 속성 | 타입 | 설명
|") so the document matches the structure used in other widget docs and restores
consistency.
| --- | ||
| title: "TableCell" | ||
| description: "표의 셀 정의" | ||
| --- | ||
|
|
||
| | 속성 | 타입 | 설명 | | ||
| |------|------|------| | ||
| | verticalAlignment | `TableCellVerticalAlignment?` | `top`, `middle`, `bottom`, `baseline`, `fill`, `intrinsicHeight` 등 | | ||
| | child | `Map<String,dynamic>` | 셀 내부 자식 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion | 🟠 Major
Add missing "## 속성" (Properties) section header for consistency.
The properties table lacks a section header, unlike other widget documentation (e.g., expanded.mdx). This inconsistency should be corrected to maintain uniform documentation structure.
Apply this diff to add the missing section header:
+## 속성
+
| 속성 | 타입 | 설명 |
|------|------|------|📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| title: "TableCell" | |
| description: "표의 셀 정의" | |
| --- | |
| | 속성 | 타입 | 설명 | | |
| |------|------|------| | |
| | verticalAlignment | `TableCellVerticalAlignment?` | `top`, `middle`, `bottom`, `baseline`, `fill`, `intrinsicHeight` 등 | | |
| | child | `Map<String,dynamic>` | 셀 내부 자식 | | |
| --- | |
| title: "TableCell" | |
| description: "표의 셀 정의" | |
| --- | |
| ## 속성 | |
| | 속성 | 타입 | 설명 | | |
| |------|------|------| | |
| | verticalAlignment | `TableCellVerticalAlignment?` | `top`, `middle`, `bottom`, `baseline`, `fill`, `intrinsicHeight` 등 | | |
| | child | `Map<String,dynamic>` | 셀 내부 자식 | |
🤖 Prompt for AI Agents
In docs/ko/widgets/table_cell.mdx around lines 1 to 9, the properties table is
missing the "## 속성" section header; insert a localized header line "## 속성"
immediately above the table (with a blank line after the header) so the file
matches the structure used by other widget docs and preserves markdown rendering
consistency.
| --- | ||
| title: "TableRow" | ||
| description: "표의 한 행" | ||
| --- | ||
|
|
||
| | 속성 | 타입 | 설명 | | ||
| |------|------|------| | ||
| | decoration | `StacDecoration?` | 행 배경/테두리 등 장식 | | ||
| | children | `List<Map<String,dynamic>>` | 셀 목록 (`tableCell` 사용) | | ||
|
|
||
| ## 예제 | ||
|
|
||
| ```json | ||
| { | ||
| "type": "tableRow", | ||
| "children": [ | ||
| { "type": "tableCell", "child": { "type": "text", "data": "Header 1" } }, | ||
| { "type": "tableCell", "child": { "type": "text", "data": "Header 2" } } | ||
| ] | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add missing documentation structure for consistency.
The file is missing two elements present in other widget documentation files:
- A "## 속성" section header before the properties table (currently starts at line 6 without header)
- An introductory description after the frontmatter explaining TableRow's purpose
This breaks formatting consistency with positioned.mdx, table.mdx, and other widget docs.
Apply this diff to add missing structure:
---
title: "TableRow"
description: "표의 한 행"
---
+`tableRow`는 `table`의 한 행을 구성합니다.
+
+## 속성
+
| 속성 | 타입 | 설명 |
|------|------|------|
| decoration | `StacDecoration?` | 행 배경/테두리 등 장식 |
| children | `List<Map<String,dynamic>>` | 셀 목록 (`tableCell` 사용) |
## 예제🤖 Prompt for AI Agents
In docs/ko/widgets/table_row.mdx around lines 1 to 20, the file lacks a short
introductory paragraph after the frontmatter and is missing the "## 속성" section
header before the properties table; insert a one- or two-sentence Korean
introduction describing TableRow's purpose (e.g., it represents a row composed
of tableCell children and optional decoration) immediately after the
frontmatter, and add a "## 속성" header line immediately before the existing
properties table so the structure matches other widget docs.
| --- | ||
| title: "VerticalDivider" | ||
| description: "세로 구분선" | ||
| --- | ||
|
|
||
| | 속성 | 타입 | 설명 | | ||
| |------|------|------| | ||
| | width | `double?` | 전체 폭 | | ||
| | thickness | `double?` | 선 두께 | | ||
| | indent / endIndent | `double?` | 위/아래 간격 | | ||
| | color | `String?` | 선 색상 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing introductory description.
This documentation is missing the descriptive intro sentence that appears in other widget documentation files. Add a sentence after the frontmatter explaining the VerticalDivider widget's purpose (e.g., comparing to Flutter's VerticalDivider if applicable).
Apply this diff to add the missing intro:
---
title: "VerticalDivider"
description: "세로 구분선"
---
+
+Stac `verticalDivider`는 Flutter `VerticalDivider` 위젯과 동일하게 세로 구분선을 그립니다.
+
| 속성 | 타입 | 설명 |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| title: "VerticalDivider" | |
| description: "세로 구분선" | |
| --- | |
| | 속성 | 타입 | 설명 | | |
| |------|------|------| | |
| | width | `double?` | 전체 폭 | | |
| | thickness | `double?` | 선 두께 | | |
| | indent / endIndent | `double?` | 위/아래 간격 | | |
| | color | `String?` | 선 색상 | | |
| --- | |
| title: "VerticalDivider" | |
| description: "세로 구분선" | |
| --- | |
| Stac `verticalDivider`는 Flutter `VerticalDivider` 위젯과 동일하게 세로 구분선을 그립니다. | |
| | 속성 | 타입 | 설명 | | |
| |------|------|------| | |
| | width | `double?` | 전체 폭 | | |
| | thickness | `double?` | 선 두께 | | |
| | indent / endIndent | `double?` | 위/아래 간격 | | |
| | color | `String?` | 선 색상 | |
🤖 Prompt for AI Agents
In docs/ko/widgets/vertical_divider.mdx around lines 1 to 11, add a single
introductory sentence immediately after the frontmatter that explains the
purpose of the VerticalDivider widget (for example: "VerticalDivider는 수직 구분선을
렌더링하며, Flutter의 VerticalDivider와 유사하게 레이아웃 사이의 시각적 분리를 제공합니다.") so the page
matches other widget docs; ensure the sentence is in Korean and placed before
the property table.
Description
Related Issues
Closes #
Type of Change
Summary by CodeRabbit
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.