@easepick/core

中文文档
1.2.1发布于 2023/02/23GPL-2.0-or-laterTypeScriptESM + CJS近 30 天下载 7.1万

The core of easepick.

原始使用文档
文档目录5 节
  1. Documentation
  2. Options
  3. Methods
  4. Events
  5. PluginManager

@easepick/core

npm version

This package does not need to be installed if you are using @easepick/bundle.

Main package of easepick.

Documentation

https://easepick.com/packages/core

Options

NameTypeDefaultDescription
elementHTMLElement
string
nullBind the datepicker to a element. Also is possible to bind to any element (not input) for example you need inline calendar.
docDocument
ShadowRoot
documentMay be required if you need to pass ShadowRoot.
cssstring
array
function
[]Pass a CSS file for picker. Don't mix types, if you are using css link then array should only contain links.
firstDaynumber1Day of start week. (0 - Sunday, 1 - Monday, 2 - Tuesday, etc…)
langstringen-USLanguage.
This option affect to day names, month names via Date.prototype.toLocaleString() and also affect to plural rules via Intl.PluralRules.
dateDate
string
number
nullPreselect date.
Date Object or Unix Timestamp (with milliseconds) or String (must be equal to option format).
formatstringYYYY-MM-DDThe default output format.
See tokens format.
gridnumber1Number of calendar columns.
calendarsnumber1Number of visible months.
readonlybooleantrueAdd readonly attribute to element.
autoApplybooleantrueHide the apply and cancel buttons, and automatically apply a new date range as soon as two dates are clicked.
zIndexnumbernullzIndex of picker.
inlinebooleanfalseShow calendar inline.
scrollToDatebooleantrueScroll to the selected date on open.
headerboolean
string
HTMLElement
falseAdd header to calendar.
localeobject{
nextMonth: '',
previousMonth: '',
cancel: 'Cancel',
apply: 'Apply'
}
Icon and text for buttons.
documentClickboolean
function
functionHide picker on click outside picker element.
setupfunctionnull
pluginsarray[]List of plugins.

Methods

NameDescription
versionreturn version of picker.
isShown()Determine if the picker is visible or not.
show()Show the picker.
hide()Hide the picker.
clear()Clear the picker selection.
gotoDate(date)Change visible month.
setDate(date)Set date programmatically.
getDate()Get selected date.
on(type, listener, options)Add listener to container element.
off(type, listener, options)Remove listener from container element.
trigger(type, detail)Dispatch an event.
renderAll()Redraw the calendar layout.
destroy()Destroy the picker.

Example

const picker = new easepick.create({
  element: document.getElementById('datepicker'),
  css: [
    'https://cdn.jsdelivr.net/npm/@easepick/core@[version.number]/dist/index.css',
  ],
});
// 
picker.setDate('2022-01-01');

Events

Events based on CustomEvent().

NameDescription
render
view
preselectEvent is called on select days (before submit selection). When autoApply option is false.
selectEvent is called when selection is submitted.

It is also allowed to use default events such as click, keydown, etc.

Example

const picker = new easepick.create({
  element: document.getElementById('datepicker'),
  css: [
    'https://cdn.jsdelivr.net/npm/@easepick/core@[version.number]/dist/index.css',
  ],
  setup(picker) {
    picker.on('view', (e) => {
      const { view, date, target } = e.detail;
      // do something
    });
  },
});

PluginManager

PluginManager allows you to manage plugins of created picker.

Methods

NameDescription
getInstance(pluginName)Returns the plugin instance. pluginName is a string (eg.: RangePlugin).
addInstance(pluginName)Adds a plugin to the picker. Returns an instance of the added plugin.
removeInstance(pluginName)Removes the plugin from the picker.Returns a boolean result.
reloadInstance(pluginName)Removes the plugin from the picker and adds it again. Returns an instance of the added plugin.

Example

// example use bundle version
const picker = new easepick.create({
  element: document.getElementById('datepicker'),
  css: [
    'https://cdn.jsdelivr.net/npm/@easepick/core@[version.number]/dist/index.css',
  ],
});

// add AmpPlugin to the picker
const ampPlugin = picker.PluginManager.addInstance('AmpPlugin');
// change plugin option
ampPlugin.options.resetButton = true;

版本与发布记录

@easepick/core 共发布 22 个版本,首次发布于 2022/01/24;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.2.1latest2023/02/233 年前
1.2.02022/05/214 年前
1.1.72022/04/194 年前
1.1.62022/04/194 年前
1.1.52022/04/114 年前
1.1.42022/04/114 年前

其他发布通道:beta → 1.0.2-beta.0。

关于 @easepick/core 的常见问题

@easepick/core 是什么?

The core of easepick.

如何安装 @easepick/core?

在项目目录运行 npm install @easepick/core,或使用 pnpm add / yarn add / bun add。

@easepick/core 支持 TypeScript 吗?

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

@easepick/core 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@easepick/core 可以商用吗?

@easepick/core 使用 GPL-2.0-or-later 许可。强 Copyleft:分发包含该代码的软件时,整个作品需以兼容的 GPL 许可开源。仅在内部使用、不对外分发时不触发此义务。以上为概括,不构成法律意见,请以许可原文为准。

@easepick/core 的下载量有多少?

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

@easepick/core 还在维护吗?

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