@factoringplus/pl-components-pack-v3 0.5.11 → 0.5.12-pre-3

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.
@@ -25896,11 +25896,12 @@ var objectSupport$1 = { exports: {} };
25896
25896
  })(objectSupport$1);
25897
25897
  var objectSupport = objectSupport$1.exports;
25898
25898
  var plDatePickerRange_vue_vue_type_style_index_0_lang = "";
25899
- const _hoisted_1$v = { class: "date-picker" };
25900
- const _hoisted_2$r = {
25901
- key: 0,
25902
- class: "date-picker__wrapper"
25903
- };
25899
+ const _hoisted_1$v = ["id"];
25900
+ const _hoisted_2$r = /* @__PURE__ */ createElementVNode("img", {
25901
+ class: "date-picker__img",
25902
+ src: _imports_0$8,
25903
+ alt: "date-picker icon"
25904
+ }, null, -1);
25904
25905
  const _hoisted_3$n = { class: "date-switcher__container flex-column" };
25905
25906
  const _hoisted_4$h = { class: "d-flex pb-4 justify-content-between" };
25906
25907
  const _hoisted_5$b = { class: "date-switcher justify-content-center flex-column" };
@@ -25919,8 +25920,12 @@ const _sfc_main$w = {
25919
25920
  __name: "pl-date-picker-range",
25920
25921
  props: {
25921
25922
  modelValue: {
25923
+ type: Array,
25924
+ default: () => []
25925
+ },
25926
+ width: {
25922
25927
  type: String,
25923
- default: ""
25928
+ default: "260"
25924
25929
  },
25925
25930
  placeholder: {
25926
25931
  type: String,
@@ -25930,7 +25935,7 @@ const _sfc_main$w = {
25930
25935
  type: String,
25931
25936
  default: ""
25932
25937
  },
25933
- isOpen: {
25938
+ isClose: {
25934
25939
  type: Boolean,
25935
25940
  default: false
25936
25941
  },
@@ -25945,7 +25950,20 @@ const _sfc_main$w = {
25945
25950
  dayjs.locale("ru");
25946
25951
  dayjs.extend(isBetween);
25947
25952
  dayjs.extend(objectSupport);
25948
- const { isOpen } = toRefs(props);
25953
+ const { isClose } = toRefs(props);
25954
+ const randId = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c2) => (c2 ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c2 / 4).toString(16));
25955
+ const offsetTop = ref(0);
25956
+ const offsetLeft = ref(0);
25957
+ const calculateOffsets = () => {
25958
+ const currentDatePicker = document.getElementById(`date-picker-range-${randId}`);
25959
+ const offsets = currentDatePicker.getBoundingClientRect();
25960
+ offsetLeft.value = offsets.x;
25961
+ offsetTop.value = offsets.y + offsets.height;
25962
+ };
25963
+ const openPopup = () => {
25964
+ calculateOffsets();
25965
+ emit2("changeOpen", !isClose.value);
25966
+ };
25949
25967
  const validateDateValueString = (dateStr) => {
25950
25968
  if (dateStr.includes("-")) {
25951
25969
  return dayjs(dateStr.split("-")[0], "DD.MM.YYYY", true).isValid() && dayjs(dateStr.split("-")[1], "DD.MM.YYYY", true).isValid();
@@ -25961,25 +25979,55 @@ const _sfc_main$w = {
25961
25979
  const rangeEndDateValue = ref(dayjs().format("DD.MM.YYYY"));
25962
25980
  const WEEK_DAYS2 = ["\u041F\u043D", "\u0412\u0442", "\u0421\u0440", "\u0427\u0442", "\u041F\u0442", "\u0421\u0431", "\u0412\u0441"];
25963
25981
  let range3 = [];
25964
- const dateValue = computed$1({
25965
- get: () => props.modelValue,
25966
- set: (val) => {
25967
- emit2("update:modelValue", val);
25982
+ const dateValue = ref("");
25983
+ onMounted(() => {
25984
+ setupDates(props.modelValue);
25985
+ });
25986
+ watch(() => props.modelValue, (date4) => {
25987
+ if (date4.length === 2) {
25988
+ setupDates(date4);
25968
25989
  }
25969
25990
  });
25970
25991
  watch(dateValue, (value) => {
25971
25992
  if (validateDateValueString(value)) {
25972
- startDate.value = dayjs(value.split("-")[0].split(".").reverse().join("-"));
25973
- endDate.value = dayjs(value.split("-")[1].split(".").reverse().join("-"));
25974
- range3 = [startDate.value, endDate.value];
25975
- }
25976
- if (startDate.value.isAfter(endDate.value)) {
25977
- endDate.value = range3[0];
25978
- startDate.value = range3[1];
25979
- range3 = [startDate.value, endDate.value];
25993
+ if (value.split("-").length === 2) {
25994
+ startDate.value = dayjs(value.split("-")[0].split(".").reverse().join("-"));
25995
+ endDate.value = dayjs(value.split("-")[1].split(".").reverse().join("-"));
25996
+ range3 = [startDate.value, endDate.value];
25997
+ rangeStartDateValue.value = displayData(startDate.value);
25998
+ rangeEndDateValue.value = displayData(endDate.value);
25999
+ updateModelValue(range3);
26000
+ }
26001
+ if (startDate.value.isAfter(endDate.value)) {
26002
+ endDate.value = range3[0];
26003
+ startDate.value = range3[1];
26004
+ range3 = [startDate.value, endDate.value];
26005
+ rangeStartDateValue.value = displayData(startDate.value);
26006
+ rangeEndDateValue.value = displayData(endDate.value);
26007
+ updateModelValue(range3);
26008
+ }
26009
+ } else {
26010
+ updateModelValue();
25980
26011
  }
25981
26012
  setupUpdate();
25982
26013
  });
26014
+ const setupDates = (date4) => {
26015
+ if (date4 && date4.length === 2) {
26016
+ const startDate2 = dayjs(date4[0]).format("YYYY-MM-DD").split("-").reverse().join(".");
26017
+ const endDate2 = dayjs(date4[1]).format("YYYY-MM-DD").split("-").reverse().join(".");
26018
+ const newDateValue = startDate2 + "-" + endDate2;
26019
+ if (validateDateValueString(newDateValue)) {
26020
+ dateValue.value = `${startDate2}-${endDate2}`;
26021
+ }
26022
+ }
26023
+ };
26024
+ const updateModelValue = (range4 = []) => {
26025
+ let newRange = range4;
26026
+ if (newRange.length === 2) {
26027
+ newRange = [newRange[0].format("YYYY-MM-DD"), newRange[1].format("YYYY-MM-DD")];
26028
+ }
26029
+ emit2("update:modelValue", newRange);
26030
+ };
25983
26031
  const updateDate = (event, flag) => {
25984
26032
  if (validateDateValueString(event.target.value)) {
25985
26033
  if (flag) {
@@ -26059,7 +26107,6 @@ const _sfc_main$w = {
26059
26107
  range3 = [];
26060
26108
  dateValue.value = "";
26061
26109
  emit2("changeOpen", true);
26062
- emit2("update:modelValue", "");
26063
26110
  };
26064
26111
  const closeDatePicker = () => {
26065
26112
  if (!validateDateValueString(dateValue.value)) {
@@ -26071,7 +26118,7 @@ const _sfc_main$w = {
26071
26118
  setupUpdate();
26072
26119
  emit2("changeOpen", true);
26073
26120
  };
26074
- watch(isOpen, (value) => {
26121
+ watch(isClose, (value) => {
26075
26122
  if (validateDateValueString(dateValue.value)) {
26076
26123
  rangeStartDateValue.value = dayjs(dateValue.value.split("-")[0].split(".").reverse().join("-")).format("DD.MM.YYYY");
26077
26124
  rangeEndDateValue.value = dayjs(dateValue.value.split("-")[1].split(".").reverse().join("-")).format("DD.MM.YYYY");
@@ -26106,10 +26153,8 @@ const _sfc_main$w = {
26106
26153
  }
26107
26154
  if (startDate.value.isAfter(endDate.value)) {
26108
26155
  dateValue.value = endDate.value.format("DD.MM.YYYY") + "-" + startDate.value.format("DD.MM.YYYY");
26109
- emit2("update:modelValue", endDate.value.format("DD.MM.YYYY") + "-" + startDate.value.format("DD.MM.YYYY"));
26110
26156
  } else {
26111
26157
  dateValue.value = startDate.value.format("DD.MM.YYYY") + "-" + endDate.value.format("DD.MM.YYYY");
26112
- emit2("update:modelValue", startDate.value.format("DD.MM.YYYY") + "-" + endDate.value.format("DD.MM.YYYY"));
26113
26158
  }
26114
26159
  emit2("changeOpen", true);
26115
26160
  };
@@ -26246,131 +26291,137 @@ const _sfc_main$w = {
26246
26291
  });
26247
26292
  return (_ctx, _cache) => {
26248
26293
  const _directive_maska = resolveDirective("maska");
26249
- return openBlock(), createElementBlock("div", _hoisted_1$v, [
26250
- __props.showInput ? (openBlock(), createElementBlock("div", _hoisted_2$r, [
26294
+ return openBlock(), createElementBlock("div", {
26295
+ class: "date-picker",
26296
+ id: `date-picker-range-${unref(randId)}`
26297
+ }, [
26298
+ __props.showInput ? (openBlock(), createElementBlock("div", {
26299
+ key: 0,
26300
+ class: "date-picker__wrapper",
26301
+ style: normalizeStyle(`width: ${__props.width}px`),
26302
+ onClick: openPopup
26303
+ }, [
26251
26304
  createVNode(_sfc_main$B, {
26252
26305
  mask: "##.##.####-##.##.####",
26253
- modelValue: unref(dateValue),
26254
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(dateValue) ? dateValue.value = $event : null),
26306
+ modelValue: dateValue.value,
26307
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => dateValue.value = $event),
26255
26308
  label: __props.label,
26256
26309
  placeholder: __props.placeholder,
26257
26310
  onInput: updateDate,
26258
26311
  datePicker: ""
26259
26312
  }, null, 8, ["mask", "modelValue", "label", "placeholder"]),
26260
- createElementVNode("img", {
26261
- class: "date-picker__img",
26262
- src: _imports_0$8,
26263
- alt: "date-picker icon",
26264
- onClick: _cache[1] || (_cache[1] = ($event) => emit2("changeOpen", !unref(isOpen)))
26265
- })
26266
- ])) : createCommentVNode("", true),
26267
- !unref(isOpen) ? (openBlock(), createElementBlock("div", {
26268
- key: 1,
26269
- id: "date-picker-popup",
26270
- class: "pl-date-picker__popup",
26271
- ref_key: "datePickerRef",
26272
- ref: datePickerRef
26273
- }, [
26274
- createElementVNode("div", _hoisted_3$n, [
26275
- createElementVNode("div", _hoisted_4$h, [
26276
- createElementVNode("div", _hoisted_5$b, [
26277
- _hoisted_6$7,
26278
- withDirectives(createElementVNode("input", {
26279
- id: "date-mask",
26280
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => rangeStartDateValue.value = $event),
26281
- onInput: updateDate,
26282
- type: "text",
26283
- placeholder: "\u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413",
26284
- class: "pl-date-picker__input"
26285
- }, null, 544), [
26286
- [_directive_maska, "##.##.####"],
26287
- [vModelText, rangeStartDateValue.value]
26313
+ _hoisted_2$r
26314
+ ], 4)) : createCommentVNode("", true),
26315
+ (openBlock(), createBlock(Teleport, { to: "body" }, [
26316
+ !unref(isClose) ? (openBlock(), createElementBlock("div", {
26317
+ key: 0,
26318
+ id: "date-picker-popup",
26319
+ class: "pl-date-picker__popup",
26320
+ ref_key: "datePickerRef",
26321
+ ref: datePickerRef,
26322
+ style: normalizeStyle({ top: `${offsetTop.value}px`, left: `${offsetLeft.value}px` })
26323
+ }, [
26324
+ createElementVNode("div", _hoisted_3$n, [
26325
+ createElementVNode("div", _hoisted_4$h, [
26326
+ createElementVNode("div", _hoisted_5$b, [
26327
+ _hoisted_6$7,
26328
+ withDirectives(createElementVNode("input", {
26329
+ id: "date-mask",
26330
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => rangeStartDateValue.value = $event),
26331
+ onInput: updateDate,
26332
+ type: "text",
26333
+ placeholder: "\u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413",
26334
+ class: "pl-date-picker__input"
26335
+ }, null, 544), [
26336
+ [_directive_maska, "##.##.####"],
26337
+ [vModelText, rangeStartDateValue.value]
26338
+ ])
26339
+ ]),
26340
+ createElementVNode("div", _hoisted_7$5, [
26341
+ _hoisted_8$4,
26342
+ withDirectives(createElementVNode("input", {
26343
+ id: "date-mask",
26344
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => rangeEndDateValue.value = $event),
26345
+ onInput: _cache[3] || (_cache[3] = ($event) => updateDate($event, true)),
26346
+ type: "text",
26347
+ placeholder: "\u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413",
26348
+ class: "pl-date-picker__input"
26349
+ }, null, 544), [
26350
+ [_directive_maska, "##.##.####"],
26351
+ [vModelText, rangeEndDateValue.value]
26352
+ ])
26288
26353
  ])
26289
26354
  ]),
26290
- createElementVNode("div", _hoisted_7$5, [
26291
- _hoisted_8$4,
26292
- withDirectives(createElementVNode("input", {
26293
- id: "date-mask",
26294
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => rangeEndDateValue.value = $event),
26295
- onInput: _cache[4] || (_cache[4] = ($event) => updateDate($event, true)),
26296
- type: "text",
26297
- placeholder: "\u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413",
26298
- class: "pl-date-picker__input"
26299
- }, null, 544), [
26300
- [_directive_maska, "##.##.####"],
26301
- [vModelText, rangeEndDateValue.value]
26355
+ createElementVNode("div", _hoisted_9$4, [
26356
+ createElementVNode("div", _hoisted_10$3, [
26357
+ createElementVNode("div", {
26358
+ class: "date-switcher__arrow date-switcher__arrow-left",
26359
+ onClick: switchPrevMonth
26360
+ }),
26361
+ createElementVNode("span", _hoisted_11$3, toDisplayString(capitalize2(currentDate.value.format("MMMM"))), 1),
26362
+ createElementVNode("div", {
26363
+ class: "date-switcher__arrow date-switcher__arrow-right",
26364
+ onClick: switchNextMonth
26365
+ })
26366
+ ]),
26367
+ createElementVNode("div", _hoisted_12$3, [
26368
+ createElementVNode("div", {
26369
+ class: "date-switcher__arrow date-switcher__arrow-left",
26370
+ onClick: switchPrevYear
26371
+ }),
26372
+ createElementVNode("span", _hoisted_13$3, toDisplayString(capitalize2(currentDate.value.format("YYYY"))), 1),
26373
+ createElementVNode("div", {
26374
+ class: "date-switcher__arrow date-switcher__arrow-right",
26375
+ onClick: switchNextYear
26376
+ })
26302
26377
  ])
26303
26378
  ])
26304
26379
  ]),
26305
- createElementVNode("div", _hoisted_9$4, [
26306
- createElementVNode("div", _hoisted_10$3, [
26307
- createElementVNode("div", {
26308
- class: "date-switcher__arrow date-switcher__arrow-left",
26309
- onClick: switchPrevMonth
26310
- }),
26311
- createElementVNode("span", _hoisted_11$3, toDisplayString(capitalize2(currentDate.value.format("MMMM"))), 1),
26312
- createElementVNode("div", {
26313
- class: "date-switcher__arrow date-switcher__arrow-right",
26314
- onClick: switchNextMonth
26315
- })
26316
- ]),
26317
- createElementVNode("div", _hoisted_12$3, [
26318
- createElementVNode("div", {
26319
- class: "date-switcher__arrow date-switcher__arrow-left",
26320
- onClick: switchPrevYear
26321
- }),
26322
- createElementVNode("span", _hoisted_13$3, toDisplayString(capitalize2(currentDate.value.format("YYYY"))), 1),
26323
- createElementVNode("div", {
26324
- class: "date-switcher__arrow date-switcher__arrow-right",
26325
- onClick: switchNextYear
26326
- })
26327
- ])
26380
+ createElementVNode("div", _hoisted_14$3, [
26381
+ (openBlock(), createElementBlock(Fragment, null, renderList(WEEK_DAYS2, (item, index) => {
26382
+ return createElementVNode("div", {
26383
+ class: "pl-date-picker__week-day",
26384
+ key: index
26385
+ }, [
26386
+ createElementVNode("span", null, toDisplayString(item), 1)
26387
+ ]);
26388
+ }), 64)),
26389
+ (openBlock(true), createElementBlock(Fragment, null, renderList(daysData.value, (item, index) => {
26390
+ return openBlock(), createElementBlock("div", {
26391
+ class: normalizeClass([
26392
+ "pl-date-picker__day-item",
26393
+ item.type !== "previous" && item.type !== "next" ? framePosition(item) : "",
26394
+ {
26395
+ "pl-date-picker__day-item_disabled": item.type !== "current"
26396
+ },
26397
+ {
26398
+ "pl-date-picker__day-item_svg-circle-background": activeDay(item) && item.type === "current"
26399
+ },
26400
+ {
26401
+ "pl-date-picker__background-range": item.type !== "previous" && item.type !== "next" ? updateSelection(item, true) : ""
26402
+ }
26403
+ ]),
26404
+ key: `dd${index}`,
26405
+ onClick: ($event) => item.type !== "previous" && item.type !== "next" ? toggleSelection(item) : "",
26406
+ onMousemove: ($event) => item.type !== "previous" && item.type !== "next" ? updateSelection(item, false) : ""
26407
+ }, [
26408
+ createElementVNode("div", _hoisted_16$2, toDisplayString(item.type !== "previous" && item.type !== "next" ? item.day : ""), 1)
26409
+ ], 42, _hoisted_15$2);
26410
+ }), 128))
26411
+ ]),
26412
+ createElementVNode("div", { class: "pl-date-picker__buttons" }, [
26413
+ createElementVNode("button", {
26414
+ class: "pl-date-picker__btn pl-date-picker__btn-cancel",
26415
+ onClick: cancelButton
26416
+ }, " \u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C "),
26417
+ createElementVNode("button", {
26418
+ class: "pl-date-picker__btn pl-date-picker__btn-confirm",
26419
+ onClick: confirmDate
26420
+ }, " \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C ")
26328
26421
  ])
26329
- ]),
26330
- createElementVNode("div", _hoisted_14$3, [
26331
- (openBlock(), createElementBlock(Fragment, null, renderList(WEEK_DAYS2, (item, index) => {
26332
- return createElementVNode("div", {
26333
- class: "pl-date-picker__week-day",
26334
- key: index
26335
- }, [
26336
- createElementVNode("span", null, toDisplayString(item), 1)
26337
- ]);
26338
- }), 64)),
26339
- (openBlock(true), createElementBlock(Fragment, null, renderList(daysData.value, (item, index) => {
26340
- return openBlock(), createElementBlock("div", {
26341
- class: normalizeClass([
26342
- "pl-date-picker__day-item",
26343
- item.type !== "previous" && item.type !== "next" ? framePosition(item) : "",
26344
- {
26345
- "pl-date-picker__day-item_disabled": item.type !== "current"
26346
- },
26347
- {
26348
- "pl-date-picker__day-item_svg-circle-background": activeDay(item) && item.type === "current"
26349
- },
26350
- {
26351
- "pl-date-picker__background-range": item.type !== "previous" && item.type !== "next" ? updateSelection(item, true) : ""
26352
- }
26353
- ]),
26354
- key: `dd${index}`,
26355
- onClick: ($event) => item.type !== "previous" && item.type !== "next" ? toggleSelection(item) : "",
26356
- onMousemove: ($event) => item.type !== "previous" && item.type !== "next" ? updateSelection(item, false) : ""
26357
- }, [
26358
- createElementVNode("div", _hoisted_16$2, toDisplayString(item.type !== "previous" && item.type !== "next" ? item.day : ""), 1)
26359
- ], 42, _hoisted_15$2);
26360
- }), 128))
26361
- ]),
26362
- createElementVNode("div", { class: "pl-date-picker__buttons" }, [
26363
- createElementVNode("button", {
26364
- class: "pl-date-picker__btn pl-date-picker__btn-cancel",
26365
- onClick: cancelButton
26366
- }, " \u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C "),
26367
- createElementVNode("button", {
26368
- class: "pl-date-picker__btn pl-date-picker__btn-confirm",
26369
- onClick: confirmDate
26370
- }, " \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C ")
26371
- ])
26372
- ], 512)) : createCommentVNode("", true)
26373
- ]);
26422
+ ], 4)) : createCommentVNode("", true)
26423
+ ]))
26424
+ ], 8, _hoisted_1$v);
26374
26425
  };
26375
26426
  }
26376
26427
  };