stylesheet.ts 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import {
  2. type ViewStyle,
  3. StyleSheet
  4. } from "react-native";
  5. import {
  6. type SelectSheetDynamicStyleType
  7. } from "./type";
  8. import type {
  9. Mutable
  10. } from "../../types";
  11. const stylesheet = StyleSheet.create({
  12. headerContainer: {
  13. flexDirection: "column",
  14. width: "100%"
  15. },
  16. bottomContainer: {
  17. flexDirection: "row",
  18. alignItems: "center"
  19. },
  20. loadingContainer: {
  21. justifyContent: "center",
  22. alignItems: "center",
  23. flex: 1
  24. },
  25. itemContainer: {
  26. flexDirection: "row",
  27. alignItems: "center"
  28. },
  29. itemContentContainer: {
  30. flex: 1
  31. },
  32. checkIconContainer: {
  33. justifyContent: "center",
  34. alignItems: "center"
  35. }
  36. });
  37. export const useStyles = ({
  38. isSearchable,
  39. radiuses,
  40. spaces,
  41. colors
  42. }: SelectSheetDynamicStyleType) => {
  43. const styles = {
  44. contentContainer: {
  45. padding: spaces.spacingSm
  46. } as Mutable<ViewStyle>,
  47. headerContainer: {
  48. padding: spaces.spacingSm
  49. } as Mutable<ViewStyle>,
  50. headerTitle: {
  51. } as Mutable<ViewStyle>,
  52. bottomContainer: {
  53. marginTop: spaces.spacingSm,
  54. padding: spaces.spacingSm
  55. } as Mutable<ViewStyle>,
  56. cancelButton: {
  57. marginRight: spaces.spacingSm
  58. } as Mutable<ViewStyle>,
  59. okButton: {
  60. marginLeft: spaces.spacingSm
  61. } as Mutable<ViewStyle>,
  62. itemContainer: {
  63. backgroundColor: colors.content.container.mid,
  64. paddingHorizontal: spaces.spacingMd,
  65. paddingVertical: spaces.spacingSm,
  66. borderRadius: radiuses.form
  67. } as Mutable<ViewStyle>,
  68. checkIconContainer: {
  69. height: 24 + spaces.spacingSm,
  70. width: 24 + spaces.spacingSm
  71. } as Mutable<ViewStyle>,
  72. loadingContainer: {
  73. padding: spaces.spacingMd
  74. } as Mutable<ViewStyle>
  75. };
  76. if(isSearchable) {
  77. styles.headerTitle.marginBottom = spaces.spacingSm;
  78. }
  79. return styles;
  80. };
  81. export default stylesheet;