From 73c489b316fe015d3ca0b82362d945fb6e4e3d42 Mon Sep 17 00:00:00 2001 From: Ji Sungbin Date: Thu, 25 May 2023 15:12:22 +0900 Subject: [PATCH] Introduce QuackDefaultTextField (#707) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 디자인 가이드라인상 `Default Text Fields` 컴포넌트 및 데코레이터를 모두 추가합니다. --- .editorconfig | 4 +- .idea/codeStyles/Project.xml | 9 +- .idea/codeStyles/codeStyleConfig.xml | 2 +- .idea/dictionaries/jisungbin.xml | 2 + .../quackquack/aide/rule/AideModifiers.kt | 7 + .../quackquack/aide/rule/QuackComponents.kt | 4 + bom/version.txt | 2 +- .../src/main/kotlin/SugarPoetConfig.kt | 2 +- .../quackquack/casa/material/CasaConfig.kt | 2 +- .../duckie/quackquack/catalog/MainActivity.kt | 78 +- detekt-config.yml | 11 +- .../duckie/quackquack/material/clickable.kt | 49 +- .../team/duckie/quackquack/material/color.kt | 3 + .../duckie/quackquack/material/theme/theme.kt | 18 +- material/version.txt | 2 +- ui/build.gradle.kts | 8 + .../compose-metrics/ui_debug-module.json | 36 +- .../ui_debugUnitTest-module.json | 40 +- .../compose-metrics/ui_release-module.json | 36 +- .../ui_releaseUnitTest-module.json | 40 +- .../compose-reports/ui_debug-classes.txt | 72 + .../compose-reports/ui_debug-composables.csv | 8 +- .../compose-reports/ui_debug-composables.txt | 154 ++ .../ui_debugUnitTest-classes.txt | 32 + .../ui_debugUnitTest-composables.csv | 3 + .../ui_debugUnitTest-composables.txt | 11 + .../compose-reports/ui_release-classes.txt | 196 +- .../ui_release-composables.csv | 64 +- .../ui_release-composables.txt | 507 ++++- .../ui_releaseUnitTest-classes.txt | 32 + .../ui_releaseUnitTest-composables.csv | 3 + .../ui_releaseUnitTest-composables.txt | 11 + .../kotlin/team/duckie/quackquack/ui/icon.kt | 19 +- .../ui/optin/ExperimentalDesignToken.kt | 17 + .../team/duckie/quackquack/ui/sugar/icon.kt | 79 + .../kotlin/team/duckie/quackquack/ui/tag.kt | 6 +- .../team/duckie/quackquack/ui/textfield.kt | 1836 +++++++++++++++++ .../duckie/quackquack/ui/token/direction.kt | 36 + .../team/duckie/quackquack/ui/util/assert.kt | 42 + .../duckie/quackquack/ui/util/hashcode.kt | 23 + .../quackquack/ui/util/numberbuilder.kt | 74 + .../team/duckie/quackquack/ui/util/ux.kt | 9 +- .../ui/{ => snapshot}/ImageSnapshot.kt | 5 +- .../ui/{ => snapshot}/TagSnapshot.kt | 9 +- .../ui/snapshot/TextFieldSnapshot.kt | 323 +++ .../ui/{ => snapshot}/TextSnapshot.kt | 6 +- .../util/ComposeContentTestRule.kt | 2 +- .../util/SnapshotPathGenerator.kt | 20 +- .../quackquack/ui/snapshot/util/TestLayout.kt | 38 + .../ui/{ => snapshot}/util/UxTesting.kt | 4 +- .../quackquack/ui/{ => uitest}/TagTest.kt | 17 +- .../quackquack/ui/uitest/TextFieldTest.kt | 91 + .../quackquack/ui/utiltest/HashCodeTest.kt | 78 + .../ui/utiltest/NumberBuilderTest.kt | 53 + .../QuackDefaultTextField_default.png | Bin 0 -> 838 bytes ...QuackDefaultTextField_default_counters.png | Bin 0 -> 4580 bytes .../QuackDefaultTextField_default_icons.png | Bin 0 -> 4578 bytes ...ackDefaultTextField_default_indicators.png | Bin 0 -> 7748 bytes ...ackDefaultTextField_default_multilines.png | Bin 0 -> 63722 bytes ...DefaultTextField_default_multilines_x2.png | Bin 0 -> 135108 bytes ...kDefaultTextField_default_placeholders.png | Bin 0 -> 4035 bytes ...ckDefaultTextField_default_validations.png | Bin 0 -> 4920 bytes ui/version.txt | 2 +- .../team/duckie/quackquack/util/cast.kt | 11 + .../team/duckie/quackquack/util/collection.kt | 13 + .../duckie/quackquack/util/precondition.kt | 34 + .../duckie/quackquack/util/CollectionTest.kt | 38 +- util/version.txt | 2 +- website/docs/releases.mdx | 68 +- 69 files changed, 4204 insertions(+), 199 deletions(-) create mode 100644 ui/src/main/kotlin/team/duckie/quackquack/ui/optin/ExperimentalDesignToken.kt create mode 100644 ui/src/main/kotlin/team/duckie/quackquack/ui/textfield.kt create mode 100644 ui/src/main/kotlin/team/duckie/quackquack/ui/token/direction.kt create mode 100644 ui/src/main/kotlin/team/duckie/quackquack/ui/util/assert.kt create mode 100644 ui/src/main/kotlin/team/duckie/quackquack/ui/util/hashcode.kt create mode 100644 ui/src/main/kotlin/team/duckie/quackquack/ui/util/numberbuilder.kt rename ui/src/test/kotlin/team/duckie/quackquack/ui/{ => snapshot}/ImageSnapshot.kt (89%) rename ui/src/test/kotlin/team/duckie/quackquack/ui/{ => snapshot}/TagSnapshot.kt (93%) create mode 100644 ui/src/test/kotlin/team/duckie/quackquack/ui/snapshot/TextFieldSnapshot.kt rename ui/src/test/kotlin/team/duckie/quackquack/ui/{ => snapshot}/TextSnapshot.kt (89%) rename ui/src/test/kotlin/team/duckie/quackquack/ui/{ => snapshot}/util/ComposeContentTestRule.kt (90%) rename ui/src/test/kotlin/team/duckie/quackquack/ui/{ => snapshot}/util/SnapshotPathGenerator.kt (52%) create mode 100644 ui/src/test/kotlin/team/duckie/quackquack/ui/snapshot/util/TestLayout.kt rename ui/src/test/kotlin/team/duckie/quackquack/ui/{ => snapshot}/util/UxTesting.kt (85%) rename ui/src/test/kotlin/team/duckie/quackquack/ui/{ => uitest}/TagTest.kt (65%) create mode 100644 ui/src/test/kotlin/team/duckie/quackquack/ui/uitest/TextFieldTest.kt create mode 100644 ui/src/test/kotlin/team/duckie/quackquack/ui/utiltest/HashCodeTest.kt create mode 100644 ui/src/test/kotlin/team/duckie/quackquack/ui/utiltest/NumberBuilderTest.kt create mode 100644 ui/src/test/snapshots/textfield/QuackDefaultTextField_default.png create mode 100644 ui/src/test/snapshots/textfield/QuackDefaultTextField_default_counters.png create mode 100644 ui/src/test/snapshots/textfield/QuackDefaultTextField_default_icons.png create mode 100644 ui/src/test/snapshots/textfield/QuackDefaultTextField_default_indicators.png create mode 100644 ui/src/test/snapshots/textfield/QuackDefaultTextField_default_multilines.png create mode 100644 ui/src/test/snapshots/textfield/QuackDefaultTextField_default_multilines_x2.png create mode 100644 ui/src/test/snapshots/textfield/QuackDefaultTextField_default_placeholders.png create mode 100644 ui/src/test/snapshots/textfield/QuackDefaultTextField_default_validations.png create mode 100644 util/src/main/kotlin/team/duckie/quackquack/util/cast.kt create mode 100644 util/src/main/kotlin/team/duckie/quackquack/util/precondition.kt diff --git a/.editorconfig b/.editorconfig index 9eea668fe..0b3c97c78 100644 --- a/.editorconfig +++ b/.editorconfig @@ -4,13 +4,15 @@ root = true charset = utf-8 indent_size = 2 indent_style = space +max_line_length = 150 insert_final_newline = true trim_trailing_whitespace = true ktlint_standard_filename = disabled -ktlint_standard_max-line-length = disabled ktlint_standard_import-ordering = disabled ktlint_standard_annotation = disabled +ktlint_standard_wrapping = disabled ktlint_standard_argument-list-wrapping = disabled +ktlint_standard_multiline-if-else = disabled [*.{kt,kts}] ij_kotlin_allow_trailing_comma = true diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index a73b82cdc..8aac352cc 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -42,7 +42,9 @@