UNPKG

@applicaster/zapp-react-native-utils

Version:

Applicaster Zapp React Native utilities package

54 lines (45 loc) 1.2 kB
const R = require("ramda"); const { tvActionButtonContainerFields } = require("../../keys"); const { toSnakeCase, generateFieldsFromDefaultsWithoutPrefixedLabel, } = require("../../_internals"); const { fieldsGroup } = require("../../utils"); const appendConditionalField = (prefix) => (configs) => { const append = (condition, label) => (config) => { if (!condition) { return config; } return { ...config, conditional_fields: [ ...(config.conditional_fields || []), { key: `styles/${toSnakeCase(label)}_buttons_enabled`, condition_value: true, }, ], }; }; return configs.map((config) => { return append(!R.endsWith("_buttons_enabled", config.key), prefix)(config); }); }; function tvActionButtonsContainer({ label, description, defaults }) { const config = fieldsGroup( label, description, generateFieldsFromDefaultsWithoutPrefixedLabel( label, defaults, tvActionButtonContainerFields(defaults["position"]) ) ); return { ...config, fields: appendConditionalField(label)(config.fields), }; } module.exports = { tvActionButtonsContainer, };