Zephora UI

เริ่มต้นใช้งาน

Zephora UI มาในรูปแบบแพ็กเกจแบบ scoped ติดตั้งแพ็กเกจ React พร้อมเอนจินธีม import สไตล์ชีตพื้นฐานหนึ่งครั้ง แล้วนำมาประกอบใช้งาน

ติดตั้ง

npm install @zephora/react @zephora/theme @zephora/tokens
# React Native
npm install @zephora/native @zephora/theme @zephora/tokens

การใช้งาน

import "@zephora/react/styles.css";
import { Button, Card, CardBody, Input } from "@zephora/react";
import { ThemeProvider, darkTheme } from "@zephora/theme";

export default function App() {
  return (
    <ThemeProvider theme={darkTheme}>
      <Card>
        <CardBody>
          <Input placeholder="Email" />
          <Button>Save</Button>
        </CardBody>
      </Card>
    </ThemeProvider>
  );
}

React Native

import { ZephoraProvider, Button } from "@zephora/native";
import { darkTheme } from "@zephora/theme";

export default function App() {
  return (
    <ZephoraProvider theme={darkTheme}>
      <Button onPress={() => {}}>Save</Button>
    </ZephoraProvider>
  );
}

Tree shaking

ทุกแพ็กเกจเป็น ESM-first โดย sideEffects จำกัดไว้เฉพาะ CSS import เฉพาะสิ่งที่คุณใช้ แล้ว bundler จะตัดส่วนที่เหลือทิ้ง งบ gzip ต่อคอมโพเนนต์ (~5KB) ถูกบังคับใช้ใน CI ด้วย size-limit