@itshixun/qst-ui-system
TypeScript icon, indicating that this package has built-in type declarations

0.2.5 • Public • Published

qst-ui-system

QST 前端 UI 基础库:

  1. 对接设计端定制的颜色/间距/风格(圆角/边框)等主题规范,作为 UI 设计和前端开发之间的“接口”;
  2. 将设计端定制的主题规范 关联到常用组件库的主题配置上;
  3. 将设计端定制的主题规范 关联到常用 css 框架的配置上;
  4. 通用的 normalize(reset)样式和其他全局样式;

主要功能

  • [x] 基于 element-plus 的 css 变量,生成主题变量配置:颜色/字色/背景色/圆角/间距/组件尺寸 等等,
  • [x] 全局初始化样式:normalize,全局文字配置(字体/抗锯齿等)
  • [ ] 组件库适配主题变量配置(样式覆盖)
    • [x] element-plus
    • [ ] element-ui
    • [ ] ant-design / ant-design-vue
    • [ ] vant
  • [ ] css 框架适配主题变量配置
    • [x] unocss
    • [ ] windicss (windicss即将停止维护,不再进行适配)
    • [ ] tailwind

对接&使用说明

设计端:

  1. 设计师使用主题编辑器配置并导出 json 格式的主题列表
  2. 在 UI 设计的过程中遵循配置好的主题进行设计

前端:

  1. 在项目入口(main.js/main.ts)调用initQstTheme()初始化主题样式,引入设计端定制好的主题(不传则使用默认主题列表)

    import { initQstTheme } from 'qst-ui-system';
    // 初始化qst主题,不传参数使用默认配置
    initQstTheme();
    
    // 类型定义
    export declare const initQstTheme: (option?: ThemeOption) => void;
    
    /** 主题选项 */
    export interface ThemeOption {
      /** 主题css变量命名空间 默认--el */
      namespace?: string;
      /** 主题列表 */
      themeList?: UITheme[];
      /** 主题样式设置完成后的回调函数 */
      onStylesSet?: () => void;
      /** 是否包含css重置样式(reset/normalize) 默认是 */
      cssReset?: boolean;
      /** 需要适配的组件库(进行样式覆盖/主题定制)  */
      uiLibs?: UILib | UILib[];
      /** 初始主题序号, 默认为主题列表中第一个主题 */
      initialThemeIndex?: number;
    }
  2. 如果使用 element-plus 组件库,则 element 组件自动适配引入的主题配置;其他组件库需要额外的步骤(WIP)

  3. 使用 css 框架(比如 unocss),可以方便的调用主题配置进行样式编写(需要在相应的配置文件中引入主题配置 WIP)

    import { generateUnocssTheme } from 'qst-ui-system';
    // unocss配置
    {
      ...
      presets: [...],
      safelist: [...],
      transformers: [...]
      // 生成主题配置 参数为namespace,默认'--el'
      theme: generateUnocssTheme('--el'),
      ...
    }

Readme

Keywords

Package Sidebar

Install

npm i @itshixun/qst-ui-system

Weekly Downloads

9

Version

0.2.5

License

MIT

Unpacked Size

50 kB

Total Files

9

Last publish

Collaborators

  • lijunran
  • mutueye
  • guoyingxu
  • donkeyliuyan