@varlet/ui 3.20.0 → 3.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "framework": "vue",
4
- "version": "3.20.0",
4
+ "version": "3.20.2",
5
5
  "name": "VARLET",
6
6
  "contributions": {
7
7
  "html": {
@@ -3362,7 +3362,7 @@
3362
3362
  },
3363
3363
  {
3364
3364
  "name": "allowed-dates",
3365
- "description": "Selectable date filter",
3365
+ "description": "Selectable date filter. The value format follows `type`: `year` uses `YYYY`, `month` uses `YYYY-MM`, and `date` / `datetime` use `YYYY-MM-DD`",
3366
3366
  "default": "-",
3367
3367
  "value": {
3368
3368
  "type": "(value: string) => boolean",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "framework": "vue",
4
- "version": "3.20.0",
4
+ "version": "3.20.2",
5
5
  "name": "VARLET",
6
6
  "contributions": {
7
7
  "html": {
@@ -3113,7 +3113,7 @@
3113
3113
  },
3114
3114
  {
3115
3115
  "name": "allowed-dates",
3116
- "description": "可选日期过滤函数",
3116
+ "description": "可选日期过滤函数,参数格式随 `type` 变化:`year` 使用 `YYYY`,`month` 使用 `YYYY-MM`,`date` / `datetime` 使用 `YYYY-MM-DD`",
3117
3117
  "default": "-",
3118
3118
  "value": {
3119
3119
  "type": "(value: string) => boolean",
package/lib/varlet.cjs.js CHANGED
@@ -5626,6 +5626,7 @@ function usePopover(options) {
5626
5626
  let reference = void 0;
5627
5627
  let enterPopover = false;
5628
5628
  let enterReference = false;
5629
+ let hoverSequence = 0;
5629
5630
  let allowClose = true;
5630
5631
  useEventListener(() => window, "keydown", handleKeydown);
5631
5632
  (0, vue.watch)(() => [
@@ -5695,28 +5696,32 @@ function usePopover(options) {
5695
5696
  function handleReferenceMouseenter() {
5696
5697
  if (options.trigger !== "hover") return;
5697
5698
  enterReference = true;
5699
+ hoverSequence++;
5698
5700
  open();
5699
5701
  }
5700
5702
  function handleReferenceMouseleave() {
5701
5703
  return __async$21(this, null, function* () {
5702
5704
  if (options.trigger !== "hover") return;
5703
5705
  enterReference = false;
5706
+ const currentHoverSequence = ++hoverSequence;
5704
5707
  yield doubleRaf();
5705
- if (enterPopover) return;
5708
+ if (currentHoverSequence !== hoverSequence || enterReference || enterPopover) return;
5706
5709
  close();
5707
5710
  });
5708
5711
  }
5709
5712
  function handlePopoverMouseenter() {
5710
5713
  if (options.trigger !== "hover") return;
5711
5714
  enterPopover = true;
5715
+ hoverSequence++;
5712
5716
  if (options.cascadeOptimization) allowClose = false;
5713
5717
  }
5714
5718
  function handlePopoverMouseleave() {
5715
5719
  return __async$21(this, null, function* () {
5716
5720
  if (options.trigger !== "hover") return;
5717
5721
  enterPopover = false;
5722
+ const currentHoverSequence = ++hoverSequence;
5718
5723
  yield doubleRaf();
5719
- if (enterReference) return;
5724
+ if (currentHoverSequence !== hoverSequence || enterReference || enterPopover) return;
5720
5725
  close();
5721
5726
  });
5722
5727
  }
@@ -15416,8 +15421,7 @@ var WeekHeader = [
15416
15421
  var DatePickerFormats = {
15417
15422
  Year: "YYYY",
15418
15423
  Month: "YYYY-MM",
15419
- Day: "YYYY-MM-D",
15420
- DayPadded: "YYYY-MM-DD"
15424
+ Day: "YYYY-MM-DD"
15421
15425
  };
15422
15426
  var ShiftDirections = enumOf({
15423
15427
  Prev: "prev",
@@ -16314,7 +16318,7 @@ var __sfc__$60 = (0, vue.defineComponent)({
16314
16318
  var _a, _b, _c, _d;
16315
16319
  const { multiple, range } = props2;
16316
16320
  if (range) {
16317
- const formattedDays = selectionState.selectedRangeDays.map((date) => dayjs$1(date).format(DatePickerFormats.DayPadded));
16321
+ const formattedDays = selectionState.selectedRangeDays.map((date) => dayjs$1(date).format(DatePickerFormats.Day));
16318
16322
  return formattedDays.length ? formattedDays.join(" ~ ") : "";
16319
16323
  }
16320
16324
  if (multiple) return `${selectionState.selectedDays.length}${(pt || t)("datePickerSelected")}`;
@@ -16325,7 +16329,7 @@ var __sfc__$60 = (0, vue.defineComponent)({
16325
16329
  const monthName = (_d = (_c = (pt || t)("datePickerMonthDict")) == null ? void 0 : _c[selectionState.selectedMonth].name) != null ? _d : "";
16326
16330
  const showDay = padStart(selectionState.selectedDay, 2, "0");
16327
16331
  if ((pt || t)("lang") === "zh-CN") return `${selectionState.selectedMonth}-${showDay} ${weekName.slice(0, 3)}`;
16328
- return `${weekName.slice(0, 3)}, ${monthName.slice(0, 3)} ${selectionState.selectedDay}`;
16332
+ return `${weekName.slice(0, 3)}, ${monthName.slice(0, 3)} ${toNumber(selectionState.selectedDay)}`;
16329
16333
  });
16330
16334
  const dateSlotProps = (0, vue.computed)(() => {
16331
16335
  var _a, _b;
@@ -16338,7 +16342,7 @@ var __sfc__$60 = (0, vue.defineComponent)({
16338
16342
  date: day
16339
16343
  };
16340
16344
  });
16341
- const formattedRangeDays = (0, vue.computed)(() => selectionState.selectedRangeDays.map((date) => dayjs$1(date).format(DatePickerFormats.DayPadded)));
16345
+ const formattedRangeDays = (0, vue.computed)(() => selectionState.selectedRangeDays.map((date) => dayjs$1(date).format(DatePickerFormats.Day)));
16342
16346
  const selectedYearInPreview = (0, vue.computed)(() => selectionState.selectedYear === previewYear.value);
16343
16347
  const selectedMonthInPreview = (0, vue.computed)(() => selectionState.selectedMonth === previewMonth.value);
16344
16348
  let shouldKeepPreviewOnModelValueChange = false;
@@ -16447,7 +16451,7 @@ var __sfc__$60 = (0, vue.defineComponent)({
16447
16451
  }
16448
16452
  function updateMultiple(selectedValue, pickerType) {
16449
16453
  const selectedMultipleValues = getMultipleValuesByType(pickerType);
16450
- const valueFormat = pickerType === DatePickerTypes.Year ? DatePickerFormats.Year : pickerType === DatePickerTypes.Month ? DatePickerFormats.Month : DatePickerFormats.DayPadded;
16454
+ const valueFormat = pickerType === DatePickerTypes.Year ? DatePickerFormats.Year : pickerType === DatePickerTypes.Month ? DatePickerFormats.Month : DatePickerFormats.Day;
16451
16455
  const nextMultipleValues = selectedMultipleValues.map((date) => dayjs$1(date).format(valueFormat));
16452
16456
  const index = nextMultipleValues.findIndex((multipleValue) => multipleValue === selectedValue);
16453
16457
  const alreadySelected = index !== -1;
@@ -16486,7 +16490,7 @@ var __sfc__$60 = (0, vue.defineComponent)({
16486
16490
  const { readonly } = props2;
16487
16491
  if (readonly) return;
16488
16492
  const targetMonthDayjsObject = dayjs$1(`${previewYear.value}-${previewMonth.value}-01`).add(monthOffset, DatePickerUnits.Month);
16489
- const dayValue = `${targetMonthDayjsObject.format(DatePickerFormats.Month)}-${day}`;
16493
+ const dayValue = targetMonthDayjsObject.date(day).format(DatePickerFormats.Day);
16490
16494
  if (!isSelectableDate(dayValue, DatePickerUnits.Day)) return;
16491
16495
  reverse.value = monthOffset !== 0 ? monthOffset < 0 : getReverse(DatePickerUnits.Day, day);
16492
16496
  if (monthOffset !== 0) {
@@ -16494,7 +16498,7 @@ var __sfc__$60 = (0, vue.defineComponent)({
16494
16498
  previewMonth.value = targetMonthDayjsObject.format(DatePickerFormats.Month).split("-")[1];
16495
16499
  emitPreview();
16496
16500
  }
16497
- selectValue(dayjs$1(dayValue).format(DatePickerFormats.DayPadded), DatePickerTypes.Date);
16501
+ selectValue(dayValue, DatePickerTypes.Date);
16498
16502
  }
16499
16503
  function selectMonthFromPanel(month) {
16500
16504
  const { type: pickerType, readonly } = props2;
@@ -32813,7 +32817,7 @@ var _WatermarkComponent = stdin_default$108;
32813
32817
  var stdin_default$102 = stdin_default$108;
32814
32818
  //#endregion
32815
32819
  //#region es/index.bundle.mjs
32816
- var version = "3.20.0";
32820
+ var version = "3.20.2";
32817
32821
  function install(app) {
32818
32822
  stdin_default.install && app.use(stdin_default);
32819
32823
  stdin_default$1.install && app.use(stdin_default$1);