@bilions/search-js

中文文档
0.5.5发布于 2023/04/08ISCTypeScriptCommonJS零依赖近 30 天下载 2764

实例搜索 UI 组件

中文使用文档
文档目录3 节
  1. 搜索联署材料
  2. 目录
  3. 安装

搜索联署材料

build status npm version License: ISC

任何 Javascript 框架的实例搜索 UI 组件 .

兼容

  • 反应
  • 阴道
  • 角质

目录

安装

通过 cdn 安装

<script src="https://cdn.jsdelivr.net/npm/@bilions/search-js/dist/search-js.js"></script>

通过 npm 安装

npm install @bilions/search-js

使用量

Javascript
import SearchJS from '@bilions/search-js'

const data = [
  {
    title: 'Validation',
    description: 'Create validation easily using validator',
    route: '/validation',
  },
  {
    title: 'Request',
    description: 'Http request',
    route: '/request',
  },
]

const searchJs = SearchJS({
  data,
  theme: '#FF2E1F',
  width: '600px',
  positionTop: '85px',
  search: {
    placeholder: 'Search docs',
  },
  onSelected: (i) => {
    console.log(i)
  },
  onSearch: (keyword) => {
    console.log(keyword)
  },
})

searchJs.open()
字体
import SearchJS, { SearchJSConfig, SearchJSItem } from '@bilions/search-js'

const config: SearchJSConfig = {
  data: [
    {
      title: 'Validation',
      description: 'Create validation easily using validator',
      route: '/validation',
    },
    {
      title: 'Request',
      description: 'Http request',
      route: '/request',
    },
  ],
  theme: '#FF2E1F',
  width: '600px',
  positionTop: '85px',
  search: {
    placeholder: 'Search docs',
  },
  onSelected: (value: SearchJSItem) => {
    console.log(value)
  },
  onSearch: (keyword) => {
    console.log(keyword)
  },
}

const searchJs = SearchJS(config)
searchJs.open()

API 调用

async function getFromApi(keyword = '') {
  let res = await fetch('https://dummyjson.com/products/search?q=' + keyword)
  let json = await res.json()
  return json.products
}

const searchJs = SearchJS({
  theme: '#FF2E1F',
  width: '600px',
  darkMode: false,
  positionTop: '50px',
  data: [],
  search: {
    placeholder: 'Search products',
  },
  onSelected: (route) => {
    console.log(route)
  },
  onSearch: (keyword) => {
    return getFromApi(keyword)
  },
})

可用选项

名称需求说明
data对要搜索的数据
data.title对数据标题
data.description无数据描述
element无附加搜索 -js 的元素
theme无颜色代码或主题名称( e)#FF2E1F, (中文(简体) ), github-light, (中文(简体) ), github-dark(中文(简体) )
darkMode无默认 false设置 true 用于暗模式
width无模式宽度默认值 (400px)
search
search.icon无搜索输入的 svg 图标字符串
search.placeholder无搜索输入的占位符文本(默认) Search(中文(简体) )
positionTop无默认 85px
onSelected对选中项目后触发的回调函数
onSearch无3⁄4 ̄ ̧漯b

现有职能

  • open() 函数将触发打开搜索菜单
  • close() 函数将触发关闭搜索菜单
  • 或者按键 cmd + k 或者说 ctrl + k 打开搜索菜单,并 ESC 关闭菜单

主题

备妥的主题

  • github-dark
  • github-light
Github Dark (github- dark) (英语)
Github 光( 光)
光线 有颜色代码的主题
阴暗 有颜色代码的主题

自定义主题颜色

覆盖自定义主题颜色的 css 变量下方 .

默认光线模式
root {
  --search-js-backdrop-bg: rgba(101, 108, 133, 0.8);
  --search-js-modal-bg: #f5f6f7;
  --search-js-modal-box-shadow: inset 1px 1px 0 0 hsla(0, 0%, 100%, 0.5), 0 3px 8px 0 #555a64;
  --search-js-modal-footer-box-shadow: 0 -1px 0 0 #e0e3e8, 0 -3px 6px 0 rgba(69, 98, 155, 0.12);
  --search-js-keyboard-button-box-shadow: inset 0 -2px 0 0 #cdcde6, inset 0 0 1px 1px #fff,
    0 1px 2px 1px rgba(30, 35, 90, 0.4);
  --search-js-keyboard-button-bg: linear-gradient(-225deg, #d5dbe4, #f8f8f8);
  --search-js-search-input-bg: white;
  --search-js-item-bg: white;
  --search-js-text-color: #969faf;
  --search-js-input-placeholder-color: #969faf;
  --search-js-item-box-shadow: 0 1px 3px 0 #d4d9e1;
}
默认黑暗模式
root {
  --search-js-backdrop-bg: rgba(47, 55, 69, 0.7);
  --search-js-modal-bg: #1b1b1d;
  --search-js-modal-box-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;
  --search-js-modal-footer-box-shadow: inset 0 1px 0 0 rgba(73, 76, 106, 0.5), 0 -4px 8px 0 rgba(0, 0, 0, 0.2);
  --search-js-keyboard-button-box-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d,
    0 2px 2px 0 rgba(3, 4, 9, 0.3);
  --search-js-keyboard-button-bg: linear-gradient(-26.5deg, transparent 0%, transparent 100%);
  --search-js-search-input-bg: black;
  --search-js-item-bg: #1c1e21;
  --search-js-text-color: #b3b3b3;
  --search-js-input-placeholder-color: #aeaeae;
  --search-js-item-box-shadow: none;
}

受爱高丽所启发

版本与发布记录

@bilions/search-js 共发布 24 个版本,首次发布于 2023/03/25;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.5.5latest2023/04/083 年前
0.5.42023/03/303 年前
0.5.32023/03/293 年前
0.5.22023/03/293 年前
0.5.12023/03/273 年前
0.5.02023/03/273 年前

关于 @bilions/search-js 的常见问题

@bilions/search-js 是什么?

实例搜索 UI 组件

如何安装 @bilions/search-js?

在项目目录运行 npm install @bilions/search-js,或使用 pnpm add / yarn add / bun add。

@bilions/search-js 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bilions/search-js 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@bilions/search-js 可以商用吗?

@bilions/search-js 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bilions/search-js 的下载量有多少?

根据 npm 官方下载统计,@bilions/search-js 在 2026/10/08 – 2026/11/06 这 30 天内被下载 2,764 次,日均约 92 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bilions/search-js 还在维护吗?

最新版本 0.5.5 发布于 2023/04/08(3 年前);至今共发布 24 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/03/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。