@applicaster/zapp-react-native-ui-components
Version:
Applicaster Zapp React Native ui components for the Quick Brick App
212 lines (209 loc) • 8.76 kB
text/typescript
import * as R from "ramda";
import {
castIfDefined,
castOrDefaultValue,
} from "@applicaster/zapp-react-native-utils/configurationUtils";
import { isTV } from "@applicaster/zapp-react-native-utils/reactUtils";
export const keysMap: Record<string, Function> = {
target_screen_switch: castOrDefaultValue(Boolean, false),
target: castOrDefaultValue(String, false),
display_mode: castOrDefaultValue(String, "fractional"),
display_mode_tab_width: castOrDefaultValue(Number, 80),
display_mode_tabs_alignment: castOrDefaultValue(String, "center"),
text_label_data_key: castOrDefaultValue(String, "title"), // check where to use
text_label_custom_data_key: castIfDefined(String), // check where to use
text_label_ios_font_family: castOrDefaultValue(String, "SFProText-Semibold"),
text_label_default_font_color: castOrDefaultValue(
R.identity,
"rgba(239, 239, 239, 0.5)"
),
text_label_active_font_color: castOrDefaultValue(
R.identity,
"rgba(239, 239, 239, 0.5)"
),
text_label_selected_default_font_color: castOrDefaultValue(
R.identity,
"rgba(254, 20, 72, 1)"
),
text_label_selected_active_font_color: castOrDefaultValue(
R.identity,
"rgba(254, 20, 72, 1)"
),
text_label_android_font_family: castOrDefaultValue(String, "Roboto-Medium"),
text_label_font_size: castOrDefaultValue(Number, 13),
text_label_line_height: castOrDefaultValue(Number, 16),
text_label_ios_letter_spacing: castOrDefaultValue(Number, -0.4),
text_label_android_letter_spacing: castOrDefaultValue(Number, 0),
text_label_text_transform: castOrDefaultValue(String, "default"),
tab_bar_background_color: castOrDefaultValue(
R.identity,
isTV() ? "transparent" : "rgba(30, 30, 30, 1)"
),
tab_bar_elevation: castOrDefaultValue(Number, 4),
tab_bar_shadow_color: castOrDefaultValue(R.identity, "rgba(0, 0, 0, 0.10)"),
tab_bar_shadow_offset_width: castOrDefaultValue(Number, 4),
tab_bar_shadow_offset_height: castOrDefaultValue(Number, 8),
tab_bar_shadow_radius: castOrDefaultValue(Number, 8),
tab_bar_padding_top: castOrDefaultValue(Number, 0),
tab_bar_padding_right: castOrDefaultValue(Number, 0),
tab_bar_padding_bottom: castOrDefaultValue(Number, 0),
tab_bar_padding_left: castOrDefaultValue(Number, 0),
tab_bar_gutter: castOrDefaultValue(Number, isTV() ? 80 : 0),
tab_bar_border_bottom_width: castOrDefaultValue(Number, 0),
tab_bar_border_bottom_color: castOrDefaultValue(R.identity, "transparent"),
tab_cell_background_color_default: castOrDefaultValue(
R.identity,
"transparent"
),
tab_cell_background_color_active: castOrDefaultValue(
R.identity,
"transparent"
),
tab_cell_background_color_selected_default: castOrDefaultValue(
R.identity,
"transparent"
),
tab_cell_background_color_selected_active: castOrDefaultValue(
R.identity,
"transparent"
),
tab_cell_padding_top: castOrDefaultValue(Number, 14),
tab_cell_padding_right: castOrDefaultValue(Number, 10),
tab_cell_padding_bottom: castOrDefaultValue(Number, 14),
tab_cell_padding_left: castOrDefaultValue(Number, 10),
tab_cell_border_radius: castOrDefaultValue(Number, 0),
tab_cell_border_width: castOrDefaultValue(Number, 0),
tab_cell_border_color_default: castOrDefaultValue(R.identity, "transparent"),
tab_cell_border_color_default_focused: castOrDefaultValue(
R.identity,
"transparent"
),
tab_cell_border_color_active: castOrDefaultValue(R.identity, "transparent"),
tab_cell_border_color_active_focused: castOrDefaultValue(
R.identity,
"transparent"
),
tab_cell_indicator_height: castOrDefaultValue(Number, 0),
tab_cell_indicator_color: castOrDefaultValue(
R.identity,
"rgba(0, 125, 255, 1)"
),
tab_cell_indicator_border_radius: castOrDefaultValue(Number, 0),
sticky_tab_bar: castOrDefaultValue(Boolean, true),
components_container_background_color: R.identity,
components_container_padding_top: castIfDefined(Number),
components_container_padding_bottom: castIfDefined(Number),
components_container_padding_left: castIfDefined(Number),
components_container_padding_right: castIfDefined(Number),
tablet_theme: castOrDefaultValue(Boolean, false),
tablet_components_container_padding_top: castIfDefined(Number),
tablet_components_container_padding_bottom: castIfDefined(Number),
tablet_components_container_padding_left: castIfDefined(Number),
tablet_components_container_padding_right: castIfDefined(Number),
tab_bar_type: castOrDefaultValue(String, "horizontal"),
tab_bar_display_mode: castOrDefaultValue(String, "fixed"),
tab_bar_width: castOrDefaultValue(Number, 1920),
tab_bar_alignment: castOrDefaultValue(String, "left"),
component_padding_top: castOrDefaultValue(Number, 40),
component_padding_right: castOrDefaultValue(Number, 124),
component_padding_bottom: castOrDefaultValue(Number, 30),
component_padding_left: castOrDefaultValue(Number, 124),
component_margin_top: castOrDefaultValue(Number, 0),
tab_bar_background_image: castIfDefined(String),
tab_bar_border_color: castOrDefaultValue(R.identity, "transparent"),
tab_bar_border_width: castOrDefaultValue(Number, 0),
tab_bar_border_radius: castOrDefaultValue(Number, 0),
tab_bar_item_size: castOrDefaultValue(String, "dynamic"),
tab_bar_item_width: castOrDefaultValue(Number, 200),
tab_bar_item_alignment: castOrDefaultValue(String, "left"),
text_label_enabled: castOrDefaultValue(Boolean, true),
text_label_focused_font_color: castOrDefaultValue(
R.identity,
"rgba(254, 20, 72, 1)"
),
text_label_selected_font_color: castOrDefaultValue(
R.identity,
"rgba(239, 239, 239, 1)"
),
text_label_selected_focused_font_color: castOrDefaultValue(
R.identity,
"rgba(254, 20, 72, 1)"
),
tvos_font_family: castOrDefaultValue(String, "Ubuntu-Medium"),
tvos_font_size: castOrDefaultValue(Number, 20),
tvos_line_height: castOrDefaultValue(Number, 40),
tvos_letter_spacing: castOrDefaultValue(Number, 0.4),
android_tv_font_family: castOrDefaultValue(String, "Ubuntu-Medium"),
android_tv_font_size: castOrDefaultValue(Number, 20),
android_tv_line_height: castOrDefaultValue(Number, 40),
android_tv_letter_spacing: castOrDefaultValue(Number, 0.4),
lg_tv_font_family: castOrDefaultValue(String, "Ubuntu-Medium"),
lg_tv_font_size: castOrDefaultValue(Number, 20),
lg_tv_line_height: castOrDefaultValue(Number, 40),
lg_tv_letter_spacing: castOrDefaultValue(Number, 0.4),
samsung_tv_font_family: castOrDefaultValue(String, "Ubuntu-Medium"),
samsung_tv_font_size: castOrDefaultValue(Number, 20),
samsung_tv_line_height: castOrDefaultValue(Number, 40),
samsung_tv_letter_spacing: castOrDefaultValue(Number, 0.4),
text_transform: castOrDefaultValue(String, "uppercase"),
tab_bar_item_default_underline_color: castOrDefaultValue(
R.identity,
"transparent"
),
tab_bar_item_focused_underline_color: castOrDefaultValue(
R.identity,
"rgba(254, 20, 72, 1)"
),
tab_bar_item_selected_underline_color: castOrDefaultValue(
R.identity,
"rgba(239, 239, 239, 1)"
),
tab_bar_item_selected_focused_underline_color: castOrDefaultValue(
R.identity,
"rgba(254, 20, 72, 1)"
),
tab_bar_item_underline_thickness: castOrDefaultValue(Number, 0),
tab_bar_item_underline_border_radius: castOrDefaultValue(Number, 3),
tab_bar_item_padding_top: castOrDefaultValue(Number, 12),
tab_bar_item_padding_right: castOrDefaultValue(Number, 0),
tab_bar_item_padding_bottom: castOrDefaultValue(Number, 12),
tab_bar_item_padding_left: castOrDefaultValue(Number, 0),
tab_bar_item_default_background_color: castOrDefaultValue(
R.identity,
"transparent"
),
tab_bar_item_focused_background_color: castOrDefaultValue(
R.identity,
"transparent"
),
tab_bar_item_selected_background_color: castOrDefaultValue(
R.identity,
"transparent"
),
tab_bar_item_selected_focused_background_color: castOrDefaultValue(
R.identity,
"transparent"
),
tab_bar_item_default_border_color: castOrDefaultValue(
R.identity,
"transparent"
),
tab_bar_item_focused_border_color: castOrDefaultValue(
R.identity,
"transparent"
),
tab_bar_item_selected_border_color: castOrDefaultValue(
R.identity,
"transparent"
),
tab_bar_item_selected_focused_border_color: castOrDefaultValue(
R.identity,
"transparent"
),
tab_bar_item_border_width: castOrDefaultValue(Number, 0),
tab_bar_item_border_radius: castOrDefaultValue(Number, 0),
tab_bar_item_margin_top: castOrDefaultValue(Number, 0),
tab_bar_item_margin_right: castOrDefaultValue(Number, 0),
tab_bar_item_margin_bottom: castOrDefaultValue(Number, 0),
tab_bar_item_margin_left: castOrDefaultValue(Number, 0),
};