@0610studio/zs-ui 0.13.6 → 0.13.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/build/overlay/BottomSheetOverlay/index.d.ts.map +1 -1
  2. package/build/overlay/BottomSheetOverlay/index.js +9 -2
  3. package/build/overlay/BottomSheetOverlay/index.js.map +1 -1
  4. package/build/theme/palette.d.ts +2 -2
  5. package/build/theme/palette.d.ts.map +1 -1
  6. package/build/theme/palette.js +156 -210
  7. package/build/theme/palette.js.map +1 -1
  8. package/build/theme/primitive.d.ts +111 -0
  9. package/build/theme/primitive.d.ts.map +1 -0
  10. package/build/theme/primitive.js +133 -0
  11. package/build/theme/primitive.js.map +1 -0
  12. package/package.json +1 -1
  13. package/android/.gradle/8.5/checksums/checksums.lock +0 -0
  14. package/android/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock +0 -0
  15. package/android/.gradle/8.5/dependencies-accessors/gc.properties +0 -0
  16. package/android/.gradle/8.5/fileChanges/last-build.bin +0 -0
  17. package/android/.gradle/8.5/fileHashes/fileHashes.lock +0 -0
  18. package/android/.gradle/8.5/gc.properties +0 -0
  19. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  20. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  21. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  22. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  23. package/android/.gradle/8.9/gc.properties +0 -0
  24. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  25. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  26. package/android/.gradle/vcs-1/gc.properties +0 -0
  27. package/android/.idea/android.iml +0 -9
  28. package/android/.idea/caches/deviceStreaming.xml +0 -873
  29. package/android/.idea/gradle.xml +0 -19
  30. package/android/.idea/misc.xml +0 -3
  31. package/android/.idea/modules.xml +0 -8
  32. package/android/.idea/runConfigurations.xml +0 -17
  33. package/android/.idea/vcs.xml +0 -6
  34. package/android/build/.transforms/20dc622d532d4c8c1a60378d5937e3b4/results.bin +0 -1
  35. package/android/build/.transforms/20dc622d532d4c8c1a60378d5937e3b4/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/BuildConfig.dex +0 -0
  36. package/android/build/.transforms/20dc622d532d4c8c1a60378d5937e3b4/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/DimensionsHelper.dex +0 -0
  37. package/android/build/.transforms/20dc622d532d4c8c1a60378d5937e3b4/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/FoldingStateResult.dex +0 -0
  38. package/android/build/.transforms/20dc622d532d4c8c1a60378d5937e3b4/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$definition$1$2$1.dex +0 -0
  39. package/android/build/.transforms/20dc622d532d4c8c1a60378d5937e3b4/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$$inlined$AsyncFunctionWithoutArgs$1.dex +0 -0
  40. package/android/build/.transforms/20dc622d532d4c8c1a60378d5937e3b4/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$$inlined$View$1.dex +0 -0
  41. package/android/build/.transforms/20dc622d532d4c8c1a60378d5937e3b4/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$lambda$1$$inlined$Prop$1.dex +0 -0
  42. package/android/build/.transforms/20dc622d532d4c8c1a60378d5937e3b4/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$getCurrentFoldingState$layoutInfo$1.dex +0 -0
  43. package/android/build/.transforms/20dc622d532d4c8c1a60378d5937e3b4/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule.dex +0 -0
  44. package/android/build/.transforms/20dc622d532d4c8c1a60378d5937e3b4/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiView.dex +0 -0
  45. package/android/build/.transforms/20dc622d532d4c8c1a60378d5937e3b4/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  46. package/android/build/.transforms/b53d840c85b6b6e60163f15142cc0fcc/results.bin +0 -1
  47. package/android/build/.transforms/b53d840c85b6b6e60163f15142cc0fcc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/BuildConfig.dex +0 -0
  48. package/android/build/.transforms/b53d840c85b6b6e60163f15142cc0fcc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/DimensionsHelper.dex +0 -0
  49. package/android/build/.transforms/b53d840c85b6b6e60163f15142cc0fcc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/FoldingStateResult.dex +0 -0
  50. package/android/build/.transforms/b53d840c85b6b6e60163f15142cc0fcc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$definition$1$2$1.dex +0 -0
  51. package/android/build/.transforms/b53d840c85b6b6e60163f15142cc0fcc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$$inlined$AsyncFunctionWithoutArgs$1.dex +0 -0
  52. package/android/build/.transforms/b53d840c85b6b6e60163f15142cc0fcc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$$inlined$View$1.dex +0 -0
  53. package/android/build/.transforms/b53d840c85b6b6e60163f15142cc0fcc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$lambda$1$$inlined$Prop$1.dex +0 -0
  54. package/android/build/.transforms/b53d840c85b6b6e60163f15142cc0fcc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule$getCurrentFoldingState$layoutInfo$1.dex +0 -0
  55. package/android/build/.transforms/b53d840c85b6b6e60163f15142cc0fcc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiModule.dex +0 -0
  56. package/android/build/.transforms/b53d840c85b6b6e60163f15142cc0fcc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kr/co/studio0610/zsui/ZsUiView.dex +0 -0
  57. package/android/build/.transforms/b53d840c85b6b6e60163f15142cc0fcc/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  58. package/android/build/.transforms/e1825519fa1f1f05ec16f1348dbe962e/results.bin +0 -1
  59. package/android/build/.transforms/e1825519fa1f1f05ec16f1348dbe962e/transformed/classes/classes_dex/classes.dex +0 -0
  60. package/android/build/.transforms/e9befbab9cd80473477458132fa7cbe8/results.bin +0 -1
  61. package/android/build/.transforms/e9befbab9cd80473477458132fa7cbe8/transformed/classes/classes_dex/classes.dex +0 -0
  62. package/android/build/generated/source/buildConfig/debug/kr/co/studio0610/zsui/BuildConfig.java +0 -10
  63. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -7
  64. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +0 -18
  65. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +0 -6
  66. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +0 -1
  67. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  68. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  69. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  70. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
  71. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
  72. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  73. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  74. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  75. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/0610studio-zs-ui_debug.kotlin_module +0 -0
  76. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/kr/co/studio0610/zsui/BuildConfig.class +0 -0
  77. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +0 -2
  78. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +0 -7
  79. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +0 -7
  80. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +0 -1
  81. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +0 -1
  82. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/0610studio-zs-ui_debug.kotlin_module +0 -0
  83. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kr/co/studio0610/zsui/BuildConfig.class +0 -0
  84. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kr/co/studio0610/zsui/DimensionsHelper.class +0 -0
  85. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kr/co/studio0610/zsui/FoldingStateResult.class +0 -0
  86. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kr/co/studio0610/zsui/ZsUiModule$definition$1$2$1.class +0 -0
  87. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$$inlined$AsyncFunctionWithoutArgs$1.class +0 -0
  88. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$$inlined$View$1.class +0 -0
  89. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$lambda$1$$inlined$Prop$1.class +0 -0
  90. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kr/co/studio0610/zsui/ZsUiModule$getCurrentFoldingState$layoutInfo$1.class +0 -0
  91. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kr/co/studio0610/zsui/ZsUiModule.class +0 -0
  92. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kr/co/studio0610/zsui/ZsUiView.class +0 -0
  93. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  94. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +0 -1
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +0 -2
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  160. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  161. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  162. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  163. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  164. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  165. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  166. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  167. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  168. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  169. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  170. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  171. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  172. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  173. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  174. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  175. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  176. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -14
  177. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  178. package/android/build/tmp/kotlin-classes/debug/META-INF/0610studio-zs-ui_debug.kotlin_module +0 -0
  179. package/android/build/tmp/kotlin-classes/debug/kr/co/studio0610/zsui/DimensionsHelper.class +0 -0
  180. package/android/build/tmp/kotlin-classes/debug/kr/co/studio0610/zsui/FoldingStateResult.class +0 -0
  181. package/android/build/tmp/kotlin-classes/debug/kr/co/studio0610/zsui/ZsUiModule$definition$1$2$1.class +0 -0
  182. package/android/build/tmp/kotlin-classes/debug/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$$inlined$AsyncFunctionWithoutArgs$1.class +0 -0
  183. package/android/build/tmp/kotlin-classes/debug/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$$inlined$View$1.class +0 -0
  184. package/android/build/tmp/kotlin-classes/debug/kr/co/studio0610/zsui/ZsUiModule$definition$lambda$2$lambda$1$$inlined$Prop$1.class +0 -0
  185. package/android/build/tmp/kotlin-classes/debug/kr/co/studio0610/zsui/ZsUiModule$getCurrentFoldingState$layoutInfo$1.class +0 -0
  186. package/android/build/tmp/kotlin-classes/debug/kr/co/studio0610/zsui/ZsUiModule.class +0 -0
  187. package/android/build/tmp/kotlin-classes/debug/kr/co/studio0610/zsui/ZsUiView.class +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/overlay/BottomSheetOverlay/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAOzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAuCzD,iBAAS,kBAAkB,CAAC,EAC1B,eAAe,EACf,SAAS,EACT,OAAY,GACb,EAAE,oBAAoB,4BAkMtB;AA0BD,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/overlay/BottomSheetOverlay/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAOzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAwCzD,iBAAS,kBAAkB,CAAC,EAC1B,eAAe,EACf,SAAS,EACT,OAAY,GACb,EAAE,oBAAoB,4BAwMtB;AA0BD,eAAe,kBAAkB,CAAC"}
@@ -37,6 +37,7 @@ const GESTURE_CONSTANTS = {
37
37
  closeVelocityThreshold: 0.5,
38
38
  closeDistanceRatio: 1 / 3,
39
39
  hideDelay: 200,
40
+ moveThreshold: 10, // 드래그로 인식하기 위한 최소 이동 거리 (px)
40
41
  };
41
42
  function BottomSheetOverlay({ headerComponent, component, options = {}, }) {
42
43
  const { foldableSingleScreen = false, isBackgroundTouchClose = true, marginHorizontal = 10, marginBottom = 10, padding = 14, } = options;
@@ -135,8 +136,14 @@ function BottomSheetOverlay({ headerComponent, component, options = {}, }) {
135
136
  scale.value = withSpring(1, ANIMATION_CONFIG.scaleRestore);
136
137
  }, [translateX, translateY, scale, maxHeight, isGesturing, closeBottomSheet]);
137
138
  const panResponder = useMemo(() => PanResponder.create({
138
- onStartShouldSetPanResponder: () => true,
139
- onMoveShouldSetPanResponder: () => true,
139
+ onStartShouldSetPanResponder: () => false,
140
+ onStartShouldSetPanResponderCapture: () => false,
141
+ onMoveShouldSetPanResponder: (_, gestureState) => {
142
+ // 일정 거리 이상 이동했을 때만 PanResponder가 응답 (탭과 드래그 구분)
143
+ const { dx, dy } = gestureState;
144
+ return Math.abs(dx) > GESTURE_CONSTANTS.moveThreshold || Math.abs(dy) > GESTURE_CONSTANTS.moveThreshold;
145
+ },
146
+ onMoveShouldSetPanResponderCapture: () => false,
140
147
  onPanResponderGrant: handlePanResponderGrant,
141
148
  onPanResponderMove: handlePanResponderMove,
142
149
  onPanResponderRelease: handlePanResponderRelease,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/overlay/BottomSheetOverlay/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState, useCallback, useMemo } from 'react';\nimport { StyleSheet, View, PanResponder, Keyboard, Platform, type KeyboardEvent, Dimensions, type ViewStyle } from 'react-native';\nimport { useBottomSheet } from '../../model/useOverlay';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring, withTiming } from 'react-native-reanimated';\nimport ModalBackground from '../ui/ModalBackground';\nimport { useTheme } from '../../context/ThemeContext';\nimport { useSafeAreaInsets, initialWindowMetrics } from 'react-native-safe-area-context';\nimport { ShowBottomSheetProps } from '../../model/types';\nimport { MAX_FOLDABLE_SINGLE_WIDTH, Z_INDEX_VALUE } from '../../model/utils';\nimport useKeyboard from '../../model/useKeyboard';\nimport useFoldingState from '../../model/useFoldingState';\n\nconst windowHeight = Dimensions.get('window').height;\n\nconst IS_IOS = Platform.OS === 'ios';\n\nconst ANIMATION_CONFIG = {\n keyboard: {\n show: { duration: 250 },\n hide: { duration: 150 },\n },\n spring: {\n damping: 50,\n stiffness: 300,\n mass: 0.7,\n velocity: 100,\n restDisplacementThreshold: 0.2,\n },\n close: { duration: 150 },\n scale: { duration: 200 },\n scaleRestore: {\n damping: 15,\n stiffness: 300,\n },\n} as const;\n\nconst GESTURE_CONSTANTS = {\n scaleAmount: 0.985,\n horizontalDamping: 18,\n verticalUpDamping: 18,\n verticalDownDamping: 1.5,\n closeVelocityThreshold: 0.5,\n closeDistanceRatio: 1 / 3,\n hideDelay: 200,\n} as const;\n\nfunction BottomSheetOverlay({\n headerComponent,\n component,\n options = {},\n}: ShowBottomSheetProps) {\n const {\n foldableSingleScreen = false,\n isBackgroundTouchClose = true,\n marginHorizontal = 10,\n marginBottom = 10,\n padding = 14,\n } = options;\n const { width: windowWidth } = useFoldingState();\n const { palette } = useTheme();\n const { bottomSheetVisible, setBottomSheetVisible, height } = useBottomSheet();\n const { bottom: bottomInsets } = useSafeAreaInsets();\n\n // 화면의 크기보다 높이가 높으면 화면의 크기로 제한 \n const maxHeight = useMemo(() =>\n Math.min(\n windowHeight - 30 - (initialWindowMetrics?.insets.bottom || 0) - (initialWindowMetrics?.insets.top || 0),\n height\n ),\n [windowHeight, height]\n );\n\n const translateY = useSharedValue(0);\n const translateX = useSharedValue(0);\n const scale = useSharedValue(1);\n const startX = useSharedValue(0);\n const startY = useSharedValue(0);\n const isGesturing = useSharedValue(false);\n\n const [localVisible, setLocalVisible] = useState(false);\n\n const handleKeyboardShow = useCallback((event: KeyboardEvent) => {\n 'worklet';\n if (!isGesturing.value) {\n const targetY = -event.endCoordinates.height + (IS_IOS ? bottomInsets : 0);\n translateY.value = withTiming(targetY, ANIMATION_CONFIG.keyboard.show);\n }\n }, []);\n\n const handleKeyboardHide = useCallback(() => {\n 'worklet';\n if (!isGesturing.value) {\n translateY.value = withTiming(0, ANIMATION_CONFIG.keyboard.hide);\n }\n }, []);\n\n useKeyboard({\n handleKeyboardShow,\n handleKeyboardHide,\n });\n\n // BottomSheet 표시/숨김 애니메이션 처리\n useEffect(() => {\n if (bottomSheetVisible) {\n Keyboard.dismiss();\n setLocalVisible(true);\n translateY.value = withSpring(0, ANIMATION_CONFIG.spring);\n } else {\n translateY.value = withTiming(maxHeight + 100, ANIMATION_CONFIG.close);\n setTimeout(() => {\n setLocalVisible(false);\n }, GESTURE_CONSTANTS.hideDelay);\n }\n }, [bottomSheetVisible, translateY, maxHeight]);\n\n const animatedStyles = useAnimatedStyle(() => {\n 'worklet';\n return {\n transform: [\n { translateY: translateY.value },\n { translateX: translateX.value },\n { scale: scale.value }\n ],\n };\n }, [translateY, translateX, scale]);\n\n const dismissKeyboard = useCallback(() => {\n Keyboard.dismiss();\n }, []);\n\n const closeBottomSheet = useCallback(() => {\n setBottomSheetVisible(false);\n }, [setBottomSheetVisible]);\n\n const handlePanResponderGrant = useCallback(() => {\n dismissKeyboard();\n isGesturing.value = true;\n startX.value = translateX.value;\n startY.value = translateY.value;\n scale.value = withTiming(GESTURE_CONSTANTS.scaleAmount, ANIMATION_CONFIG.scale);\n }, [translateX, translateY, scale, startX, startY, isGesturing, dismissKeyboard]);\n\n const handlePanResponderMove = useCallback((_, gestureState) => {\n const newTranslateX = (startX.value + gestureState.dx) / GESTURE_CONSTANTS.horizontalDamping;\n translateX.value = newTranslateX;\n\n const newTranslateY = startY.value + gestureState.dy;\n if (newTranslateY < 0) {\n translateY.value = newTranslateY / GESTURE_CONSTANTS.verticalUpDamping;\n } else {\n translateY.value = newTranslateY / GESTURE_CONSTANTS.verticalDownDamping;\n }\n }, [translateX, translateY, startX, startY]);\n\n const handlePanResponderRelease = useCallback((_, gestureState) => {\n isGesturing.value = false;\n translateX.value = withTiming(0, { duration: 100 });\n\n // 빠른 플리킹 제스처를 했을 때, 혹은 화면의 1/3 이상 내렸을 때, 닫기\n const shouldClose = gestureState.vy > GESTURE_CONSTANTS.closeVelocityThreshold ||\n translateY.value > maxHeight * GESTURE_CONSTANTS.closeDistanceRatio;\n\n if (shouldClose) {\n translateY.value = withTiming(maxHeight + 100, ANIMATION_CONFIG.close);\n closeBottomSheet();\n } else {\n translateY.value = withTiming(0, ANIMATION_CONFIG.close);\n }\n\n // 사이즈 원래대로 복귀\n scale.value = withSpring(1, ANIMATION_CONFIG.scaleRestore);\n }, [translateX, translateY, scale, maxHeight, isGesturing, closeBottomSheet]);\n\n const panResponder = useMemo(\n () => PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderGrant: handlePanResponderGrant,\n onPanResponderMove: handlePanResponderMove,\n onPanResponderRelease: handlePanResponderRelease,\n }),\n [handlePanResponderGrant, handlePanResponderMove, handlePanResponderRelease]\n );\n\n // 배경 터치 핸들러\n const handleBackgroundPress = useCallback(() => {\n if (isBackgroundTouchClose) setBottomSheetVisible(false);\n }, [isBackgroundTouchClose, setBottomSheetVisible]);\n\n const containerStyle = [\n styles.container,\n {\n width: options.type === 'fixed' ? '100%' : windowWidth - marginHorizontal * 2,\n maxWidth: foldableSingleScreen ? MAX_FOLDABLE_SINGLE_WIDTH : '100%',\n height: maxHeight,\n marginHorizontal: options.type === 'fixed' ? 0 : marginHorizontal,\n bottom: options.type === 'fixed' ? 0 : marginBottom + bottomInsets,\n paddingBottom: options.type === 'fixed' ? bottomInsets : 0,\n backgroundColor: palette.background.base,\n ... (options.type === 'fixed' ? { borderTopLeftRadius: 26, borderTopRightRadius: 26, borderBottomLeftRadius: 0, borderBottomRightRadius: 0 } : { borderRadius: 26 }),\n },\n animatedStyles,\n ] as ViewStyle[];\n\n const pressableViewStyle = [\n styles.pressableView,\n { paddingHorizontal: padding, paddingBottom: padding },\n ];\n\n const gestureBarContainerStyle = [\n styles.gestureBarContainer,\n { paddingBottom: padding }\n ];\n\n const gestureBarStyle = [\n styles.gestureBar,\n { backgroundColor: palette.grey[60] }\n ];\n\n if (!localVisible) {\n return null;\n }\n\n return (\n <ModalBackground\n zIndex={Z_INDEX_VALUE.BOTTOM_SHEET1}\n key={localVisible ? 'visiblebs' : 'hiddenbs'}\n modalBgColor={palette.modalBgColor}\n onPress={handleBackgroundPress}\n >\n <Animated.View style={containerStyle}>\n <View style={pressableViewStyle}>\n <View {...panResponder.panHandlers}>\n <View style={gestureBarContainerStyle}>\n <View style={gestureBarStyle} />\n </View>\n {headerComponent}\n </View>\n\n {component}\n </View>\n </Animated.View>\n </ModalBackground>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n position: 'absolute',\n borderRadius: 26,\n overflow: 'hidden',\n zIndex: Z_INDEX_VALUE.BOTTOM_SHEET2,\n },\n pressableView: {\n width: '100%',\n height: '100%',\n },\n gestureBarContainer: {\n width: '100%',\n paddingTop: 10,\n justifyContent: 'center',\n alignItems: 'center',\n },\n gestureBar: {\n width: 45,\n height: 3,\n borderRadius: 2,\n },\n});\n\nexport default BottomSheetOverlay;"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/overlay/BottomSheetOverlay/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState, useCallback, useMemo } from 'react';\nimport { StyleSheet, View, PanResponder, Keyboard, Platform, type KeyboardEvent, Dimensions, type ViewStyle } from 'react-native';\nimport { useBottomSheet } from '../../model/useOverlay';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring, withTiming } from 'react-native-reanimated';\nimport ModalBackground from '../ui/ModalBackground';\nimport { useTheme } from '../../context/ThemeContext';\nimport { useSafeAreaInsets, initialWindowMetrics } from 'react-native-safe-area-context';\nimport { ShowBottomSheetProps } from '../../model/types';\nimport { MAX_FOLDABLE_SINGLE_WIDTH, Z_INDEX_VALUE } from '../../model/utils';\nimport useKeyboard from '../../model/useKeyboard';\nimport useFoldingState from '../../model/useFoldingState';\n\nconst windowHeight = Dimensions.get('window').height;\n\nconst IS_IOS = Platform.OS === 'ios';\n\nconst ANIMATION_CONFIG = {\n keyboard: {\n show: { duration: 250 },\n hide: { duration: 150 },\n },\n spring: {\n damping: 50,\n stiffness: 300,\n mass: 0.7,\n velocity: 100,\n restDisplacementThreshold: 0.2,\n },\n close: { duration: 150 },\n scale: { duration: 200 },\n scaleRestore: {\n damping: 15,\n stiffness: 300,\n },\n} as const;\n\nconst GESTURE_CONSTANTS = {\n scaleAmount: 0.985,\n horizontalDamping: 18,\n verticalUpDamping: 18,\n verticalDownDamping: 1.5,\n closeVelocityThreshold: 0.5,\n closeDistanceRatio: 1 / 3,\n hideDelay: 200,\n moveThreshold: 10, // 드래그로 인식하기 위한 최소 이동 거리 (px)\n} as const;\n\nfunction BottomSheetOverlay({\n headerComponent,\n component,\n options = {},\n}: ShowBottomSheetProps) {\n const {\n foldableSingleScreen = false,\n isBackgroundTouchClose = true,\n marginHorizontal = 10,\n marginBottom = 10,\n padding = 14,\n } = options;\n const { width: windowWidth } = useFoldingState();\n const { palette } = useTheme();\n const { bottomSheetVisible, setBottomSheetVisible, height } = useBottomSheet();\n const { bottom: bottomInsets } = useSafeAreaInsets();\n\n // 화면의 크기보다 높이가 높으면 화면의 크기로 제한 \n const maxHeight = useMemo(() =>\n Math.min(\n windowHeight - 30 - (initialWindowMetrics?.insets.bottom || 0) - (initialWindowMetrics?.insets.top || 0),\n height\n ),\n [windowHeight, height]\n );\n\n const translateY = useSharedValue(0);\n const translateX = useSharedValue(0);\n const scale = useSharedValue(1);\n const startX = useSharedValue(0);\n const startY = useSharedValue(0);\n const isGesturing = useSharedValue(false);\n\n const [localVisible, setLocalVisible] = useState(false);\n\n const handleKeyboardShow = useCallback((event: KeyboardEvent) => {\n 'worklet';\n if (!isGesturing.value) {\n const targetY = -event.endCoordinates.height + (IS_IOS ? bottomInsets : 0);\n translateY.value = withTiming(targetY, ANIMATION_CONFIG.keyboard.show);\n }\n }, []);\n\n const handleKeyboardHide = useCallback(() => {\n 'worklet';\n if (!isGesturing.value) {\n translateY.value = withTiming(0, ANIMATION_CONFIG.keyboard.hide);\n }\n }, []);\n\n useKeyboard({\n handleKeyboardShow,\n handleKeyboardHide,\n });\n\n // BottomSheet 표시/숨김 애니메이션 처리\n useEffect(() => {\n if (bottomSheetVisible) {\n Keyboard.dismiss();\n setLocalVisible(true);\n translateY.value = withSpring(0, ANIMATION_CONFIG.spring);\n } else {\n translateY.value = withTiming(maxHeight + 100, ANIMATION_CONFIG.close);\n setTimeout(() => {\n setLocalVisible(false);\n }, GESTURE_CONSTANTS.hideDelay);\n }\n }, [bottomSheetVisible, translateY, maxHeight]);\n\n const animatedStyles = useAnimatedStyle(() => {\n 'worklet';\n return {\n transform: [\n { translateY: translateY.value },\n { translateX: translateX.value },\n { scale: scale.value }\n ],\n };\n }, [translateY, translateX, scale]);\n\n const dismissKeyboard = useCallback(() => {\n Keyboard.dismiss();\n }, []);\n\n const closeBottomSheet = useCallback(() => {\n setBottomSheetVisible(false);\n }, [setBottomSheetVisible]);\n\n const handlePanResponderGrant = useCallback(() => {\n dismissKeyboard();\n isGesturing.value = true;\n startX.value = translateX.value;\n startY.value = translateY.value;\n scale.value = withTiming(GESTURE_CONSTANTS.scaleAmount, ANIMATION_CONFIG.scale);\n }, [translateX, translateY, scale, startX, startY, isGesturing, dismissKeyboard]);\n\n const handlePanResponderMove = useCallback((_, gestureState) => {\n const newTranslateX = (startX.value + gestureState.dx) / GESTURE_CONSTANTS.horizontalDamping;\n translateX.value = newTranslateX;\n\n const newTranslateY = startY.value + gestureState.dy;\n if (newTranslateY < 0) {\n translateY.value = newTranslateY / GESTURE_CONSTANTS.verticalUpDamping;\n } else {\n translateY.value = newTranslateY / GESTURE_CONSTANTS.verticalDownDamping;\n }\n }, [translateX, translateY, startX, startY]);\n\n const handlePanResponderRelease = useCallback((_, gestureState) => {\n isGesturing.value = false;\n translateX.value = withTiming(0, { duration: 100 });\n\n // 빠른 플리킹 제스처를 했을 때, 혹은 화면의 1/3 이상 내렸을 때, 닫기\n const shouldClose = gestureState.vy > GESTURE_CONSTANTS.closeVelocityThreshold ||\n translateY.value > maxHeight * GESTURE_CONSTANTS.closeDistanceRatio;\n\n if (shouldClose) {\n translateY.value = withTiming(maxHeight + 100, ANIMATION_CONFIG.close);\n closeBottomSheet();\n } else {\n translateY.value = withTiming(0, ANIMATION_CONFIG.close);\n }\n\n // 사이즈 원래대로 복귀\n scale.value = withSpring(1, ANIMATION_CONFIG.scaleRestore);\n }, [translateX, translateY, scale, maxHeight, isGesturing, closeBottomSheet]);\n\n const panResponder = useMemo(\n () => PanResponder.create({\n onStartShouldSetPanResponder: () => false,\n onStartShouldSetPanResponderCapture: () => false,\n onMoveShouldSetPanResponder: (_, gestureState) => {\n // 일정 거리 이상 이동했을 때만 PanResponder가 응답 (탭과 드래그 구분)\n const { dx, dy } = gestureState;\n return Math.abs(dx) > GESTURE_CONSTANTS.moveThreshold || Math.abs(dy) > GESTURE_CONSTANTS.moveThreshold;\n },\n onMoveShouldSetPanResponderCapture: () => false,\n onPanResponderGrant: handlePanResponderGrant,\n onPanResponderMove: handlePanResponderMove,\n onPanResponderRelease: handlePanResponderRelease,\n }),\n [handlePanResponderGrant, handlePanResponderMove, handlePanResponderRelease]\n );\n\n // 배경 터치 핸들러\n const handleBackgroundPress = useCallback(() => {\n if (isBackgroundTouchClose) setBottomSheetVisible(false);\n }, [isBackgroundTouchClose, setBottomSheetVisible]);\n\n const containerStyle = [\n styles.container,\n {\n width: options.type === 'fixed' ? '100%' : windowWidth - marginHorizontal * 2,\n maxWidth: foldableSingleScreen ? MAX_FOLDABLE_SINGLE_WIDTH : '100%',\n height: maxHeight,\n marginHorizontal: options.type === 'fixed' ? 0 : marginHorizontal,\n bottom: options.type === 'fixed' ? 0 : marginBottom + bottomInsets,\n paddingBottom: options.type === 'fixed' ? bottomInsets : 0,\n backgroundColor: palette.background.base,\n ... (options.type === 'fixed' ? { borderTopLeftRadius: 26, borderTopRightRadius: 26, borderBottomLeftRadius: 0, borderBottomRightRadius: 0 } : { borderRadius: 26 }),\n },\n animatedStyles,\n ] as ViewStyle[];\n\n const pressableViewStyle = [\n styles.pressableView,\n { paddingHorizontal: padding, paddingBottom: padding },\n ];\n\n const gestureBarContainerStyle = [\n styles.gestureBarContainer,\n { paddingBottom: padding }\n ];\n\n const gestureBarStyle = [\n styles.gestureBar,\n { backgroundColor: palette.grey[60] }\n ];\n\n if (!localVisible) {\n return null;\n }\n\n return (\n <ModalBackground\n zIndex={Z_INDEX_VALUE.BOTTOM_SHEET1}\n key={localVisible ? 'visiblebs' : 'hiddenbs'}\n modalBgColor={palette.modalBgColor}\n onPress={handleBackgroundPress}\n >\n <Animated.View style={containerStyle}>\n <View style={pressableViewStyle}>\n <View {...panResponder.panHandlers}>\n <View style={gestureBarContainerStyle}>\n <View style={gestureBarStyle} />\n </View>\n {headerComponent}\n </View>\n\n {component}\n </View>\n </Animated.View>\n </ModalBackground>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n position: 'absolute',\n borderRadius: 26,\n overflow: 'hidden',\n zIndex: Z_INDEX_VALUE.BOTTOM_SHEET2,\n },\n pressableView: {\n width: '100%',\n height: '100%',\n },\n gestureBarContainer: {\n width: '100%',\n paddingTop: 10,\n justifyContent: 'center',\n alignItems: 'center',\n },\n gestureBar: {\n width: 45,\n height: 3,\n borderRadius: 2,\n },\n});\n\nexport default BottomSheetOverlay;"]}
@@ -66,9 +66,9 @@ export interface ThemeFactoryConfig {
66
66
  dark?: ThemeFactoryColors;
67
67
  }
68
68
  /**
69
- * 테마 팩토리 함수 - LIGHT_COLORSDARK_COLORS를 재정의할 수 있는 기능을 제공합니다.
69
+ * 테마 팩토리 함수 - SEMANTIC_LIGHT_COLORSSEMANTIC_DARK_COLORS를 재정의할 수 있는 기능을 제공합니다.
70
70
  * @param config - 라이트/다크 모드별로 색상을 재정의할 수 있는 설정 객체
71
- * @returns 재정의된 LIGHT_COLORSDARK_COLORS를 포함한 팩토리 함수
71
+ * @returns 재정의된 SEMANTIC_LIGHT_COLORSSEMANTIC_DARK_COLORS를 포함한 팩토리 함수
72
72
  */
73
73
  export declare function themeFactory(config?: ThemeFactoryConfig): ({ mode, themeColors, }?: {
74
74
  mode?: "light" | "dark" | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/theme/palette.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDxB,CAAC;AA+PF,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,GAAE,kBAAuB;;;;;;MAgDjD,KAAK,CAiGf;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAc,EACd,WAAgB,GACjB,GAAE;IACD,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC;CAC1C,GAAG,KAAK,CAsBb"}
1
+ {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/theme/palette.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDxB,CAAC;AAuMF,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,GAAE,kBAAuB;;;;;;MAgDjD,KAAK,CAiGf;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAc,EACd,WAAgB,GACjB,GAAE;IACD,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC;CAC1C,GAAG,KAAK,CAsBb"}
@@ -1,3 +1,4 @@
1
+ import { BLACK, PRIMITIVE_BLUE, PRIMITIVE_GREEN, PRIMITIVE_GREY, PRIMITIVE_GREY_DARK, PRIMITIVE_ORANGE, PRIMITIVE_RED, PRIMITIVE_TEAL, PRIMITIVE_YELLOW, SHADOW_COLORS, WHITE } from "./primitive";
1
2
  export const transparency = {
2
3
  '0%': '00',
3
4
  '2%': '05',
@@ -52,259 +53,204 @@ export const transparency = {
52
53
  '100%': 'FF' // 완전 불투명
53
54
  };
54
55
  const MODAL_BG_COLOR = {
55
- light: '#212B3688',
56
- dark: '#00000088'
56
+ light: PRIMITIVE_GREY[90] + transparency['52%'],
57
+ dark: PRIMITIVE_GREY[90] + transparency['40%'],
57
58
  };
58
- const SHADOW_COLORS = {
59
- light: [
60
- 'rgba(0, 0, 0, 0.18)',
61
- 'rgba(0, 0, 0, 0.20)',
62
- 'rgba(0, 0, 0, 0.22)',
63
- 'rgba(0, 0, 0, 0.23)',
64
- 'rgba(0, 0, 0, 0.25)',
65
- 'rgba(0, 0, 0, 0.27)',
66
- 'rgba(0, 0, 0, 0.29)',
67
- 'rgba(0, 0, 0, 0.30)',
68
- 'rgba(0, 0, 0, 0.32)',
69
- 'rgba(0, 0, 0, 0.34)',
70
- ],
71
- dark: [
72
- 'rgba(255, 255, 255, 0.58)',
73
- 'rgba(255, 255, 255, 0.60)',
74
- 'rgba(255, 255, 255, 0.62)',
75
- 'rgba(255, 255, 255, 0.63)',
76
- 'rgba(255, 255, 255, 0.65)',
77
- 'rgba(255, 255, 255, 0.67)',
78
- 'rgba(255, 255, 255, 0.69)',
79
- 'rgba(255, 255, 255, 0.70)',
80
- 'rgba(255, 255, 255, 0.72)',
81
- 'rgba(255, 255, 255, 0.74)',
82
- ]
83
- };
84
- // FF9F06
85
- const LIGHT_COLORS = {
59
+ const SEMANTIC_LIGHT_COLORS = {
86
60
  primary: {
87
- 5: '#fffaf0',
88
- 10: '#fff2dc',
89
- 20: '#ffda9e',
90
- 30: '#ffc86e',
91
- 40: '#ffb742',
92
- 50: '#ffa20d',
93
- 60: '#e69100',
94
- 70: '#cc8000',
95
- 80: '#b37000',
96
- 90: '#996000',
97
- 100: '#805000',
98
- lighter: '#ffda9e',
99
- light: '#ffc86e',
100
- main: '#ffa20d',
101
- dark: '#e69100',
102
- darker: '#b37000',
61
+ ...PRIMITIVE_ORANGE,
62
+ lighter: PRIMITIVE_ORANGE[20],
63
+ light: PRIMITIVE_ORANGE[30],
64
+ main: PRIMITIVE_ORANGE[50],
65
+ dark: PRIMITIVE_ORANGE[60],
66
+ darker: PRIMITIVE_ORANGE[70],
103
67
  },
104
68
  secondary: {
105
- 5: '#D1EDFF',
106
- 10: '#ADE2FF',
107
- 20: '#85D4FF',
108
- 30: '#5CC5FF',
109
- 40: '#33B7FF',
110
- 50: '#1A9FFF',
111
- 60: '#0088E6',
112
- 70: '#0072CC',
113
- 80: '#005CB3',
114
- 90: '#004699',
115
- 100: '#003080',
116
- main: '#1A9FFF',
69
+ ...PRIMITIVE_TEAL,
70
+ lighter: PRIMITIVE_TEAL[20],
71
+ light: PRIMITIVE_TEAL[30],
72
+ main: PRIMITIVE_TEAL[50],
73
+ dark: PRIMITIVE_TEAL[60],
74
+ darker: PRIMITIVE_TEAL[70],
117
75
  },
118
76
  danger: {
119
- 5: '#FFF5F6',
120
- 10: '#FFE8EB',
121
- 20: '#FFB8C4',
122
- 30: '#FF8FA3',
123
- 40: '#FF6B85',
124
- 50: '#FF4D6F',
125
- 60: '#F02D5A',
126
- 70: '#E01E4A',
127
- 80: '#CC163E',
128
- 90: '#B30F33',
129
- 100: '#990A2A',
130
- main: '#FF4D6F',
77
+ ...PRIMITIVE_RED,
78
+ lighter: PRIMITIVE_RED[20],
79
+ light: PRIMITIVE_RED[30],
80
+ main: PRIMITIVE_RED[50],
81
+ dark: PRIMITIVE_RED[60],
82
+ darker: PRIMITIVE_RED[70],
131
83
  },
132
84
  warning: {
133
- 5: '#FFFBF0',
134
- 10: '#FFF7DC',
135
- 20: '#FFEF9E',
136
- 30: '#FFE76E',
137
- 40: '#FFDF42',
138
- 50: '#FFD700',
139
- 60: '#E6C200',
140
- 70: '#CCAD00',
141
- 80: '#B39800',
142
- 90: '#998300',
143
- 100: '#806E00',
144
- main: '#FFD700',
85
+ ...PRIMITIVE_YELLOW,
86
+ lighter: PRIMITIVE_YELLOW[20],
87
+ light: PRIMITIVE_YELLOW[30],
88
+ main: PRIMITIVE_YELLOW[50],
89
+ dark: PRIMITIVE_YELLOW[60],
90
+ darker: PRIMITIVE_YELLOW[70],
145
91
  },
146
92
  success: {
147
- 5: '#F5FFF7',
148
- 10: '#E8FFEC',
149
- 20: '#B8FFC4',
150
- 30: '#8FFFA3',
151
- 40: '#6BFF85',
152
- 50: '#4FD165',
153
- 60: '#2DB84A',
154
- 70: '#1A9F38',
155
- 80: '#0F8B2B',
156
- 90: '#0A7A24',
157
- 100: '#00691D',
158
- main: '#4FD165',
93
+ ...PRIMITIVE_GREEN,
94
+ lighter: PRIMITIVE_GREEN[20],
95
+ light: PRIMITIVE_GREEN[30],
96
+ main: PRIMITIVE_GREEN[50],
97
+ dark: PRIMITIVE_GREEN[60],
98
+ darker: PRIMITIVE_GREEN[70],
159
99
  },
160
100
  information: {
161
- 5: '#F5F7FF',
162
- 10: '#E8EDFF',
163
- 20: '#B8C8FF',
164
- 30: '#8FA8FF',
165
- 40: '#6B8AFF',
166
- 50: '#4981FF',
167
- 60: '#1F53E6',
168
- 70: '#173ECC',
169
- 80: '#0C2EB3',
170
- 90: '#041F99',
171
- 100: '#021980',
172
- main: '#4981FF',
101
+ ...PRIMITIVE_BLUE,
102
+ lighter: PRIMITIVE_BLUE[20],
103
+ light: PRIMITIVE_BLUE[30],
104
+ main: PRIMITIVE_BLUE[50],
105
+ dark: PRIMITIVE_BLUE[60],
106
+ darker: PRIMITIVE_BLUE[70],
173
107
  },
174
108
  grey: {
175
- 5: '#F8F8F8',
176
- 10: '#F5F7F9',
177
- 20: '#F0F2F4',
178
- 30: '#DFE3E8',
179
- 40: '#C4CDD5',
180
- 50: '#919EAB',
181
- 60: '#637381',
182
- 70: '#454F5B',
183
- 80: '#1C252E',
184
- 90: '#141A21',
185
- 100: '#000000',
186
- main: '#F4F6F8',
109
+ ...PRIMITIVE_GREY,
110
+ lighter: PRIMITIVE_GREY[20],
111
+ light: PRIMITIVE_GREY[30],
112
+ main: PRIMITIVE_GREY[20],
113
+ dark: PRIMITIVE_GREY[60],
114
+ darker: PRIMITIVE_GREY[70],
187
115
  },
188
116
  };
189
- const DARK_COLORS = {
117
+ const SEMANTIC_DARK_COLORS = {
190
118
  primary: {
191
- ...LIGHT_COLORS.primary,
192
- main: '#FF9F06',
119
+ ...SEMANTIC_LIGHT_COLORS.primary,
120
+ lighter: PRIMITIVE_ORANGE[20],
121
+ light: PRIMITIVE_ORANGE[30],
122
+ main: PRIMITIVE_ORANGE[50],
123
+ dark: PRIMITIVE_ORANGE[60],
124
+ darker: PRIMITIVE_ORANGE[70],
193
125
  },
194
126
  secondary: {
195
- ...LIGHT_COLORS.secondary,
196
- main: '#1A9FFF',
127
+ ...SEMANTIC_LIGHT_COLORS.secondary,
128
+ lighter: PRIMITIVE_TEAL[20],
129
+ light: PRIMITIVE_TEAL[30],
130
+ main: PRIMITIVE_TEAL[50],
131
+ dark: PRIMITIVE_TEAL[60],
132
+ darker: PRIMITIVE_TEAL[70],
197
133
  },
198
134
  danger: {
199
- ...LIGHT_COLORS.danger,
200
- main: '#FF4D6F',
135
+ ...SEMANTIC_LIGHT_COLORS.danger,
136
+ lighter: PRIMITIVE_RED[20],
137
+ light: PRIMITIVE_RED[30],
138
+ main: PRIMITIVE_RED[50],
139
+ dark: PRIMITIVE_RED[60],
140
+ darker: PRIMITIVE_RED[70],
201
141
  },
202
142
  warning: {
203
- ...LIGHT_COLORS.warning,
204
- main: '#FFE033',
143
+ ...SEMANTIC_LIGHT_COLORS.warning,
144
+ lighter: PRIMITIVE_YELLOW[20],
145
+ light: PRIMITIVE_YELLOW[30],
146
+ main: PRIMITIVE_YELLOW[50],
147
+ dark: PRIMITIVE_YELLOW[60],
148
+ darker: PRIMITIVE_YELLOW[70],
205
149
  },
206
150
  success: {
207
- ...LIGHT_COLORS.success,
208
- main: '#4FD165',
151
+ ...SEMANTIC_LIGHT_COLORS.success,
152
+ lighter: PRIMITIVE_GREEN[20],
153
+ light: PRIMITIVE_GREEN[30],
154
+ main: PRIMITIVE_GREEN[50],
155
+ dark: PRIMITIVE_GREEN[60],
156
+ darker: PRIMITIVE_GREEN[70],
209
157
  },
210
158
  information: {
211
- ...LIGHT_COLORS.information,
212
- main: '#4981FF',
159
+ ...SEMANTIC_LIGHT_COLORS.information,
160
+ lighter: PRIMITIVE_BLUE[20],
161
+ light: PRIMITIVE_BLUE[30],
162
+ main: PRIMITIVE_BLUE[50],
163
+ dark: PRIMITIVE_BLUE[60],
164
+ darker: PRIMITIVE_BLUE[70],
213
165
  },
214
166
  grey: {
215
- 5: '#141414',
216
- 10: '#1F1F1F',
217
- 20: '#2C2C2C',
218
- 30: '#3D3D3D',
219
- 40: '#4F4F4F',
220
- 50: '#606060',
221
- 60: '#737373',
222
- 70: '#8C8C8C',
223
- 80: '#bfbfbf',
224
- 90: '#ededed',
225
- 100: '#FFFFFF',
226
- main: '#2C2C2C',
167
+ ...PRIMITIVE_GREY_DARK,
168
+ lighter: PRIMITIVE_GREY_DARK[20],
169
+ light: PRIMITIVE_GREY_DARK[30],
170
+ main: PRIMITIVE_GREY_DARK[20],
171
+ dark: PRIMITIVE_GREY_DARK[60],
172
+ darker: PRIMITIVE_GREY_DARK[70],
227
173
  },
228
174
  };
229
175
  const MAIN_COLORS = {
230
176
  light: {
231
- primary: LIGHT_COLORS.primary.main,
232
- secondary: LIGHT_COLORS.secondary.main,
233
- danger: LIGHT_COLORS.danger.main,
234
- warning: LIGHT_COLORS.warning.main,
235
- success: LIGHT_COLORS.success.main,
236
- information: LIGHT_COLORS.information.main,
237
- grey: LIGHT_COLORS.grey.main
177
+ primary: SEMANTIC_LIGHT_COLORS.primary.main,
178
+ secondary: SEMANTIC_LIGHT_COLORS.secondary.main,
179
+ danger: SEMANTIC_LIGHT_COLORS.danger.main,
180
+ warning: SEMANTIC_LIGHT_COLORS.warning.main,
181
+ success: SEMANTIC_LIGHT_COLORS.success.main,
182
+ information: SEMANTIC_LIGHT_COLORS.information.main,
183
+ grey: SEMANTIC_LIGHT_COLORS.grey.main
238
184
  },
239
185
  dark: {
240
- primary: DARK_COLORS.primary.main,
241
- secondary: DARK_COLORS.secondary.main,
242
- danger: DARK_COLORS.danger.main,
243
- warning: DARK_COLORS.warning.main,
244
- success: DARK_COLORS.success.main,
245
- information: DARK_COLORS.information.main,
246
- grey: DARK_COLORS.grey.main
186
+ primary: SEMANTIC_DARK_COLORS.primary.main,
187
+ secondary: SEMANTIC_DARK_COLORS.secondary.main,
188
+ danger: SEMANTIC_DARK_COLORS.danger.main,
189
+ warning: SEMANTIC_DARK_COLORS.warning.main,
190
+ success: SEMANTIC_DARK_COLORS.success.main,
191
+ information: SEMANTIC_DARK_COLORS.information.main,
192
+ grey: SEMANTIC_DARK_COLORS.grey.main
247
193
  }
248
194
  };
249
- const TEXT_COLORS = {
195
+ const SEMANTIC_TEXT_COLORS = {
250
196
  light: {
251
- primary: LIGHT_COLORS.primary.main,
252
- base: LIGHT_COLORS.grey[80],
253
- secondary: LIGHT_COLORS.grey[60],
254
- disabled: LIGHT_COLORS.grey[50],
255
- danger: LIGHT_COLORS.danger[60],
256
- warning: LIGHT_COLORS.warning[60],
257
- success: LIGHT_COLORS.success[60],
258
- information: LIGHT_COLORS.information[60],
259
- white: '#FFFFFF',
260
- black: '#000000',
197
+ primary: SEMANTIC_LIGHT_COLORS.primary.main,
198
+ base: SEMANTIC_LIGHT_COLORS.grey[80],
199
+ secondary: SEMANTIC_LIGHT_COLORS.grey[60],
200
+ disabled: SEMANTIC_LIGHT_COLORS.grey[50],
201
+ danger: SEMANTIC_LIGHT_COLORS.danger[60],
202
+ warning: SEMANTIC_LIGHT_COLORS.warning[60],
203
+ success: SEMANTIC_LIGHT_COLORS.success[60],
204
+ information: SEMANTIC_LIGHT_COLORS.information[60],
205
+ white: WHITE,
206
+ black: BLACK,
261
207
  },
262
208
  dark: {
263
- primary: LIGHT_COLORS.primary.main,
264
- base: DARK_COLORS.grey[90],
265
- secondary: DARK_COLORS.grey[70],
266
- disabled: DARK_COLORS.grey[50],
267
- danger: DARK_COLORS.danger[30],
268
- warning: DARK_COLORS.warning[30],
269
- success: DARK_COLORS.success[30],
270
- information: DARK_COLORS.information[30],
271
- white: '#FFFFFF',
272
- black: '#000000',
209
+ primary: SEMANTIC_DARK_COLORS.primary.main,
210
+ base: SEMANTIC_DARK_COLORS.grey[90],
211
+ secondary: SEMANTIC_DARK_COLORS.grey[70],
212
+ disabled: SEMANTIC_DARK_COLORS.grey[50],
213
+ danger: SEMANTIC_DARK_COLORS.danger[30],
214
+ warning: SEMANTIC_DARK_COLORS.warning[30],
215
+ success: SEMANTIC_DARK_COLORS.success[30],
216
+ information: SEMANTIC_DARK_COLORS.information[30],
217
+ white: WHITE,
218
+ black: BLACK,
273
219
  },
274
220
  };
275
- const BACKGROUND_COLORS = {
221
+ const SEMANTIC_BACKGROUND_COLORS = {
276
222
  light: {
277
- primary: LIGHT_COLORS.primary.main,
278
- layer1: LIGHT_COLORS.grey[5],
279
- layer2: LIGHT_COLORS.grey[20],
280
- neutral: LIGHT_COLORS.grey[30],
281
- base: '#ffffff',
282
- danger: LIGHT_COLORS.danger[5],
283
- warning: LIGHT_COLORS.warning[5],
284
- success: LIGHT_COLORS.success[5],
285
- information: LIGHT_COLORS.information[5],
223
+ primary: SEMANTIC_LIGHT_COLORS.primary.main,
224
+ layer1: SEMANTIC_LIGHT_COLORS.grey[5],
225
+ layer2: SEMANTIC_LIGHT_COLORS.grey[20],
226
+ neutral: SEMANTIC_LIGHT_COLORS.grey[30],
227
+ base: WHITE,
228
+ danger: SEMANTIC_LIGHT_COLORS.danger[5],
229
+ warning: SEMANTIC_LIGHT_COLORS.warning[5],
230
+ success: SEMANTIC_LIGHT_COLORS.success[5],
231
+ information: SEMANTIC_LIGHT_COLORS.information[5],
286
232
  },
287
233
  dark: {
288
- primary: DARK_COLORS.primary.main,
289
- layer1: DARK_COLORS.grey[5],
290
- layer2: DARK_COLORS.grey[20],
291
- neutral: DARK_COLORS.grey[30],
292
- base: '#000000',
293
- danger: DARK_COLORS.danger[80],
294
- warning: DARK_COLORS.warning[80],
295
- success: DARK_COLORS.success[80],
296
- information: DARK_COLORS.information[80],
234
+ primary: SEMANTIC_DARK_COLORS.primary.main,
235
+ layer1: SEMANTIC_DARK_COLORS.grey[5],
236
+ layer2: SEMANTIC_DARK_COLORS.grey[20],
237
+ neutral: SEMANTIC_DARK_COLORS.grey[30],
238
+ base: BLACK,
239
+ danger: SEMANTIC_DARK_COLORS.danger[80],
240
+ warning: SEMANTIC_DARK_COLORS.warning[80],
241
+ success: SEMANTIC_DARK_COLORS.success[80],
242
+ information: SEMANTIC_DARK_COLORS.information[80],
297
243
  },
298
244
  };
299
245
  /**
300
- * 테마 팩토리 함수 - LIGHT_COLORSDARK_COLORS를 재정의할 수 있는 기능을 제공합니다.
246
+ * 테마 팩토리 함수 - SEMANTIC_LIGHT_COLORSSEMANTIC_DARK_COLORS를 재정의할 수 있는 기능을 제공합니다.
301
247
  * @param config - 라이트/다크 모드별로 색상을 재정의할 수 있는 설정 객체
302
- * @returns 재정의된 LIGHT_COLORSDARK_COLORS를 포함한 팩토리 함수
248
+ * @returns 재정의된 SEMANTIC_LIGHT_COLORSSEMANTIC_DARK_COLORS를 포함한 팩토리 함수
303
249
  */
304
250
  export function themeFactory(config = {}) {
305
251
  // 기본 색상들을 깊은 복사로 생성
306
252
  const createCustomLightColors = () => {
307
- const customColors = { ...LIGHT_COLORS };
253
+ const customColors = { ...SEMANTIC_LIGHT_COLORS };
308
254
  if (config.light) {
309
255
  Object.keys(config.light).forEach((key) => {
310
256
  const colorKey = key;
@@ -319,7 +265,7 @@ export function themeFactory(config = {}) {
319
265
  return customColors;
320
266
  };
321
267
  const createCustomDarkColors = () => {
322
- const customColors = { ...DARK_COLORS };
268
+ const customColors = { ...SEMANTIC_DARK_COLORS };
323
269
  if (config.dark) {
324
270
  Object.keys(config.dark).forEach((key) => {
325
271
  const colorKey = key;
@@ -349,8 +295,8 @@ export function themeFactory(config = {}) {
349
295
  warning: colors.warning[60],
350
296
  success: colors.success[60],
351
297
  information: colors.information[60],
352
- white: '#FFFFFF',
353
- black: '#000000',
298
+ white: WHITE,
299
+ black: BLACK,
354
300
  },
355
301
  dark: {
356
302
  primary: colors.primary.main,
@@ -361,8 +307,8 @@ export function themeFactory(config = {}) {
361
307
  warning: colors.warning[30],
362
308
  success: colors.success[30],
363
309
  information: colors.information[30],
364
- white: '#FFFFFF',
365
- black: '#000000',
310
+ white: WHITE,
311
+ black: BLACK,
366
312
  },
367
313
  };
368
314
  const customBackgroundColors = {
@@ -371,7 +317,7 @@ export function themeFactory(config = {}) {
371
317
  layer1: colors.grey[5],
372
318
  layer2: colors.grey[20],
373
319
  neutral: colors.grey[30],
374
- base: '#ffffff',
320
+ base: WHITE,
375
321
  danger: colors.danger[5],
376
322
  warning: colors.warning[5],
377
323
  success: colors.success[5],
@@ -382,7 +328,7 @@ export function themeFactory(config = {}) {
382
328
  layer1: colors.grey[5],
383
329
  layer2: colors.grey[20],
384
330
  neutral: colors.grey[30],
385
- base: '#000000',
331
+ base: BLACK,
386
332
  danger: colors.danger[80],
387
333
  warning: colors.warning[80],
388
334
  success: colors.success[80],
@@ -429,12 +375,12 @@ export function themeFactory(config = {}) {
429
375
  };
430
376
  }
431
377
  export default function palette({ mode = 'light', themeColors = {}, } = {}) {
432
- const colors = mode === 'light' ? LIGHT_COLORS : DARK_COLORS;
378
+ const colors = mode === 'light' ? SEMANTIC_LIGHT_COLORS : SEMANTIC_DARK_COLORS;
433
379
  const theme = {
434
380
  mode,
435
381
  ...colors,
436
- text: TEXT_COLORS[mode],
437
- background: BACKGROUND_COLORS[mode],
382
+ text: SEMANTIC_TEXT_COLORS[mode],
383
+ background: SEMANTIC_BACKGROUND_COLORS[mode],
438
384
  elevationShadow: SHADOW_COLORS[mode],
439
385
  modalBgColor: MODAL_BG_COLOR[mode],
440
386
  mainColor: MAIN_COLORS[mode]