@uxhispam/kenos-web
v1.4.12
Published
![Kenos](img/kenos-logo-light.svg#gh-light-mode-only) ![Kenos](img/kenos-logo-dark.svg#gh-dark-mode-only)
Downloads
668
Readme
Kénos Web
Kénos Web es una colección de componentes de React que te permiten construir aplicaciones web modernas y atractivas con facilidad destinado para Telefónica Hispam.
Contenido
¿Qué puedes encontrar en Kénos?
Desde botones hasta elementos complejos, la librería Kénos ofrece una amplia variedad de componentes altamente personalizables y fáciles de usar que te ayudarán a mejorar la usabilidad y el atractivo visual de tus proyectos de React.
Instalación
Solamente con los comandos de instalación en tu proyecto React podrás utilizar esta librería.
Utilizando yarn
yarn add @uxhispam/kenos-web
Utilizando npm
npm install @uxhispam/kenos-web
Configuración inicial
Antes de usar cualquiera de nuestros componentes, debes agregar <ThemeContextProvider>
en la raíz de su
aplicación React. Aquí hay un ejemplo completo de un formulario con dos campos de texto y un botón de envío:
import {createRoot} from 'react-dom/client';
// Import Kenos styles. Depending on the bundler you use, you may need to import it in a different way.
import '@uxhispam/kenos-web/css/kenos.css';
// Use kenos components
import {
ThemeContextProvider,
Form,
Box,
Stack,
TextField,
EmailField,
ButtonLayout,
ButtonPrimary,
alert,
getMovistarSkin,
} from '@uxhispam/kenos-web';
const App = () => (
<Form
onSubmit={(formData) =>
alert({
title: 'This is your data',
message: JSON.stringify(formData, null, 2),
})
}
>
<Box padding={16}>
<Stack space={16}>
<TextField name="name" label="Name" />
<EmailField name="email" label="Email" />
<ButtonLayout>
<ButtonPrimary submit>Send</ButtonPrimary>
</ButtonLayout>
</Stack>
</Box>
</Form>
);
const kenosTheme = {
skin: getMovistarSkin(),
i18n: {locale: 'es-AR', phoneNumberFormattingRegionCode: 'AR'},
};
const container = document.getElementById('app');
const root = createRoot(container);
root.render(
<ThemeContextProvider theme={kenosTheme}>
<App />
</ThemeContextProvider>
);
El prop theme
en ThemeContextProvider
es obligatorio, y puedes usarlo para configurar algunos aspectos
de la biblioteca. Hay múltiples configuraciones, pero los únicos dos campos obligatorios son skin
e i18n
.
Leer el theme config doc para más información.
:advertencia: Por lo general, el objeto theme
es constante y no necesitará cambiar dinámicamente en su
aplicación, en ese caso recomendamos extraerlo a una variable const
externa fuera del componente, de esta
manera en la referencia del objeto será la misma en cada renderizado. Si por alguna razón el theme
debe ser
dinámico en su app, considera memorizarla (por ejemplo, con el hook React.useMemo
).
Desarrollo
yarn test
: run testsyarn test-acceptance
: run acceptance tests headless (you need to start storybook first)yarn test-acceptance --ui
: run acceptance tests with ui (you need to start storybook first)yarn lint
: check codestyleyarn ts-check
: check static typesyarn build
: build packageyarn storybook
: starts storybookyarn playroom
: starts playroom
Contribución
Para detalles sobre cómo contribuir al proyecto, consulta el archivo CONTRIBUTING.