bhd-components 0.9.3 → 0.9.4

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
  import { z as zhCN, A as App, _ as _object_spread, a as AntdMessage, M as Modal$1, b as AntdNotification, C as ConfigProvider, c as _extends, d as _object_destructuring_empty, j as jsx, e as _object_spread_props, f as jsxs, t as transform, S as StyleProvider, g as _sliced_to_array, T as Tooltip, h as Table$2, I as Icon, E as ExclamationCircleFilled, i as _to_consumable_array, P as Pagination$1, k as Select, l as CaretDownOutlined, m as _inherits, n as _create_super, o as _create_class, p as _class_call_check, q as _define_property, r as _assert_this_initialized, s as _async_to_generator, L as LeftOutlined, R as RightOutlined, u as MinusOutlined, v as PlusOutlined, w as __generator, x as Input, y as SearchOutlined, B as CloseOutlined, X, D as I, H, F as html2canvas$1, G as Remarkable, J as Drawer, K as HighlightJS, Z as ZoomInOutlined, N as DatePicker, O as Button, Q as _type_of } from './vendor.esm.es5.development.js';
2
2
  export { U as Affix, V as Alert, W as Anchor, a as AntdMessage, A as App, Y as AutoComplete, $ as Avatar, a1 as BackTop, a2 as Badge, a3 as Breadcrumb, O as Button, a4 as Calendar, a5 as Card, a6 as Carousel, a7 as Cascader, a8 as Checkbox, a9 as Col, aa as Collapse, N as DatePicker, ab as Descriptions, ac as Divider, J as Drawer, ad as Dropdown, ae as Empty, a0 as FloatButton, af as Form, ag as Grid, ah as Image, x as Input, ai as InputNumber, aj as Layout, ak as List, al as Mentions, am as Menu, M as Modal, an as Popconfirm, ao as Popover, ap as Progress, aO as QRCode, aq as Radio, ar as Rate, as as Result, at as Row, au as Segmented, k as Select, av as Skeleton, aw as Slider, ax as Space, ay as Spin, az as Statistic, aA as Steps, aB as Switch, aC as Tabs, aD as Tag, aF as TimePicker, aG as Timeline, T as Tooltip, aH as Tour, aI as Transfer, aJ as Tree, aK as TreeSelect, aL as Typography, aM as Upload, aN as Watermark, aQ as en_US, b as notification, aE as theme, aP as version, z as zh_CN } from './vendor.esm.es5.development.js';
3
3
  import * as React from 'react';
4
- import { useState, useRef, useEffect, useLayoutEffect, forwardRef, useImperativeHandle } from 'react';
4
+ import { useState, useRef, useEffect, useLayoutEffect, forwardRef, useImperativeHandle, useCallback } from 'react';
5
5
  import { Fragment } from 'react/jsx-runtime';
6
6
  import { render } from 'react-dom';
7
7
 
@@ -436,7 +436,19 @@ var zh_CN = {
436
436
  Load: "正在加载...",
437
437
  确定: "确定",
438
438
  此刻: "此刻",
439
- 今天: "今天"
439
+ 今天: "今天",
440
+ 一月: "一月",
441
+ 二月: "二月",
442
+ 三月: "三月",
443
+ 四月: "四月",
444
+ 五月: "五月",
445
+ 六月: "六月",
446
+ 七月: "七月",
447
+ 八月: "八月",
448
+ 九月: "九月",
449
+ 十月: "十月",
450
+ 十一月: "十一月",
451
+ 十二月: "十二月"
440
452
  };
441
453
  var zh_CN$1 = zh_CN;
442
454
 
@@ -448,7 +460,19 @@ var en_US = {
448
460
  Load: "Loading...",
449
461
  确定: "OK",
450
462
  此刻: "Now",
451
- 今天: "Today"
463
+ 今天: "Today",
464
+ 一月: "Jan",
465
+ 二月: "Feb",
466
+ 三月: "Mar",
467
+ 四月: "Apr",
468
+ 五月: "May",
469
+ 六月: "Jun",
470
+ 七月: "Jul",
471
+ 八月: "Aug",
472
+ 九月: "Sep",
473
+ 十月: "Oct",
474
+ 十一月: "Nov",
475
+ 十二月: "Dec"
452
476
  };
453
477
  var en_US$1 = en_US;
454
478
 
@@ -11465,11 +11489,26 @@ window.appendDom = function(root, props) {
11465
11489
  };
11466
11490
  var CustomerService$1 = CustomerService;
11467
11491
 
11468
- var modules_63b47c51 = {"bhdDatePicker":"index_module_bhdDatePicker__3c4442cb","bhdDatePickerPopup":"index_module_bhdDatePickerPopup__3c4442cb","singlePicker":"index_module_singlePicker__3c4442cb","rangePicker":"index_module_rangePicker__3c4442cb","extraPicker":"index_module_extraPicker__3c4442cb","showTime":"index_module_showTime__3c4442cb","showExtraFooter":"index_module_showExtraFooter__3c4442cb","readonly":"index_module_readonly__3c4442cb"};
11492
+ var modules_63b47c51 = {"bhdDatePicker":"index_module_bhdDatePicker__0bace134","bhdDatePickerPopup":"index_module_bhdDatePickerPopup__0bace134","singlePicker":"index_module_singlePicker__0bace134","rangePicker":"index_module_rangePicker__0bace134","extraPicker":"index_module_extraPicker__0bace134","showTime":"index_module_showTime__0bace134","showExtraFooter":"index_module_showExtraFooter__0bace134","readonly":"index_module_readonly__0bace134"};
11469
11493
 
11470
11494
  var RangePicker = DatePicker.RangePicker;
11495
+ var months = [
11496
+ "一月",
11497
+ "二月",
11498
+ "三月",
11499
+ "四月",
11500
+ "五月",
11501
+ "六月",
11502
+ "七月",
11503
+ "八月",
11504
+ "九月",
11505
+ "十月",
11506
+ "十一月",
11507
+ "十二月"
11508
+ ];
11509
+ //January_February_March_April_May_June_July_August_September_October_November_December
11471
11510
  var BhdDatePicker = function(props) {
11472
- var lang = ConfigProvider.lang === "en" ? "en_US" : "zh_CN";
11511
+ ConfigProvider.lang === "en" ? "en_US" : "zh_CN";
11473
11512
  // if (lang === "en_US") {
11474
11513
  // const enUS = require("dayjs/locale/en");
11475
11514
  // dayjs.locale(enUS);
@@ -11477,6 +11516,7 @@ var BhdDatePicker = function(props) {
11477
11516
  // const zhCN = require("dayjs/locale/zh-cn");
11478
11517
  // dayjs.locale(zhCN);
11479
11518
  // }
11519
+ var id = "BhdDatePicker_" + new Date().getTime();
11480
11520
  // 默认格式
11481
11521
  var getDefaultFormat = function() {
11482
11522
  if (props.format) {
@@ -11504,7 +11544,7 @@ var BhdDatePicker = function(props) {
11504
11544
  }
11505
11545
  };
11506
11546
  // 自己组件内使用的,或者自己处理的
11507
- var _props_kind = props.kind, kind = _props_kind === void 0 ? "single" : _props_kind, extraItems = props.extraItems, _props_extraReadonly = props.extraReadonly, extraReadonly = _props_extraReadonly === void 0 ? false : _props_extraReadonly, _props_useType = props.useType, useType = _props_useType === void 0 ? "" : _props_useType, _props_open = props.open, open = _props_open === void 0 ? false : _props_open, mode = props.mode, picker = props.picker, _props_value = props.value, value = _props_value === void 0 ? props.kind === "range" ? [] : "" : _props_value, _props_format = props.format, format = _props_format === void 0 ? getDefaultFormat() : _props_format, _props_presets = props.presets, presets = _props_presets === void 0 ? [] : _props_presets, className = props.className, popupClassName = props.popupClassName, showTime = props.showTime, _props_showNow = props.showNow, showNow = _props_showNow === void 0 ? true : _props_showNow, _props_allowClear = props.allowClear, allowClear = _props_allowClear === void 0 ? true : _props_allowClear, onClick = props.onClick, onBlur = props.onBlur, onChange = props.onChange, onOk = props.onOk, onCalendarChange = props.onCalendarChange, onOpenChange = props.onOpenChange, onPanelChange = props.onPanelChange, disabledDate = props.disabledDate, cellRender = props.cellRender, renderExtraFooter = props.renderExtraFooter;
11547
+ var _props_kind = props.kind, kind = _props_kind === void 0 ? "single" : _props_kind, extraItems = props.extraItems, _props_extraReadonly = props.extraReadonly, extraReadonly = _props_extraReadonly === void 0 ? false : _props_extraReadonly, _props_useType = props.useType, useType = _props_useType === void 0 ? "" : _props_useType, _props_open = props.open, open = _props_open === void 0 ? false : _props_open, mode = props.mode, picker = props.picker, _props_value = props.value, value = _props_value === void 0 ? props.kind === "range" ? [] : "" : _props_value, _props_format = props.format, format = _props_format === void 0 ? getDefaultFormat() : _props_format, _props_presets = props.presets, presets = _props_presets === void 0 ? [] : _props_presets, className = props.className, popupClassName = props.popupClassName, showTime = props.showTime, _props_showNow = props.showNow, showNow = _props_showNow === void 0 ? true : _props_showNow, _props_showToday = props.showToday, showToday = _props_showToday === void 0 ? true : _props_showToday, _props_allowClear = props.allowClear, allowClear = _props_allowClear === void 0 ? true : _props_allowClear, onClick = props.onClick, onBlur = props.onBlur, onChange = props.onChange, onOk = props.onOk, onCalendarChange = props.onCalendarChange, onOpenChange = props.onOpenChange, onPanelChange = props.onPanelChange, disabledDate = props.disabledDate, cellRender = props.cellRender, renderExtraFooter = props.renderExtraFooter;
11508
11548
  var bhdDatePickerRef = useRef(null);
11509
11549
  var _useState = _sliced_to_array(useState(open), 2), panelOpen = _useState[0], setPanelOpen = _useState[1];
11510
11550
  var _useState1 = _sliced_to_array(useState("date"), 2), panelMode = _useState1[0], setPanelMode = _useState1[1];
@@ -11519,6 +11559,7 @@ var BhdDatePicker = function(props) {
11519
11559
  var _useState5 = _sliced_to_array(useState(value), 2), selectedRangeDate = _useState5[0], setSelectedRangeDate = _useState5[1];
11520
11560
  var _useState6 = _sliced_to_array(useState([]), 2), selectedRangeDateString = _useState6[0], setSelectedRangeDateString = _useState6[1];
11521
11561
  var _useState7 = _sliced_to_array(useState(false), 2), rangeOpenChange = _useState7[0], setRangeOpenChange = _useState7[1]; // 用于范围选择失去焦点后,判断是否关闭
11562
+ var isChange = useRef(false);
11522
11563
  useEffect(function() {
11523
11564
  setDefaultMode();
11524
11565
  if (kind === "range") {
@@ -11536,7 +11577,18 @@ var BhdDatePicker = function(props) {
11536
11577
  });
11537
11578
  }
11538
11579
  }
11580
+ return function() {
11581
+ var _document_getElementsByClassName__getElementsByClassName, _document_getElementsByClassName_, _document_getElementsByClassName, _btn;
11582
+ var btn = (_document_getElementsByClassName = document.getElementsByClassName(id)) === null || _document_getElementsByClassName === void 0 ? void 0 : (_document_getElementsByClassName_ = _document_getElementsByClassName[0]) === null || _document_getElementsByClassName_ === void 0 ? void 0 : (_document_getElementsByClassName__getElementsByClassName = _document_getElementsByClassName_.getElementsByClassName("bhd-picker-today-btn")) === null || _document_getElementsByClassName__getElementsByClassName === void 0 ? void 0 : _document_getElementsByClassName__getElementsByClassName[0];
11583
+ (_btn = btn) === null || _btn === void 0 ? void 0 : _btn.removeEventListener("click", todayClick);
11584
+ };
11539
11585
  }, []);
11586
+ useEffect(function() {
11587
+ isChange.current = true;
11588
+ }, [
11589
+ selectedDate,
11590
+ selectedRangeDate
11591
+ ]);
11540
11592
  // 传给 DatePicker 的props参数
11541
11593
  var getConfig = function() {
11542
11594
  var config = _object_spread_props(_object_spread({
@@ -11600,6 +11652,7 @@ var BhdDatePicker = function(props) {
11600
11652
  config.allowClear = false; // 日程安排查看时,不显示清除按钮
11601
11653
  }
11602
11654
  }
11655
+ config.popupClassName = "".concat(config.popupClassName, " ").concat(id);
11603
11656
  return config;
11604
11657
  };
11605
11658
  // 设置默认mode
@@ -11640,9 +11693,14 @@ var BhdDatePicker = function(props) {
11640
11693
  }
11641
11694
  // 月份 中文模式下显示全名称(例:一月),英文模式下显示短名称(例:Jan)
11642
11695
  if (info.type === "month") {
11696
+ // return (
11697
+ // <div className={`${"bhd-picker-cell-inner"}`}>
11698
+ // {current.format(dayjs.locale() === "zh-cn" ? "MMMM" : "MMM")}
11699
+ // </div>
11700
+ // );
11643
11701
  return /*#__PURE__*/ jsx("div", {
11644
11702
  className: "bhd-picker-cell-inner",
11645
- children: current.format(lang === "zh_CN" ? "MMMM" : "MMM")
11703
+ children: i18Conversion$1(months[Number(current.format("M")) - 1])
11646
11704
  });
11647
11705
  }
11648
11706
  return info.originNode;
@@ -11674,14 +11732,14 @@ var BhdDatePicker = function(props) {
11674
11732
  children: [
11675
11733
  renderExtraFooter && /*#__PURE__*/ jsx("div", {
11676
11734
  className: "bhddatepicker-picker-footer-extra-extend",
11677
- children: renderExtraFooter()
11735
+ children: renderExtraFooter(mode)
11678
11736
  }),
11679
11737
  !showTime ? /*#__PURE__*/ jsx(Fragment, {
11680
11738
  children: /*#__PURE__*/ jsxs("ul", {
11681
11739
  className: "bhd-picker-ranges",
11682
11740
  children: [
11683
11741
  selfRenderPresets(),
11684
- renderNow(),
11742
+ renderToday(),
11685
11743
  /*#__PURE__*/ jsx("li", {
11686
11744
  className: "bhd-picker-ok",
11687
11745
  children: /*#__PURE__*/ jsx(Button, {
@@ -11701,13 +11759,14 @@ var BhdDatePicker = function(props) {
11701
11759
  });
11702
11760
  };
11703
11761
  // 渲染今天
11704
- var renderNow = function() {
11762
+ var renderToday = function() {
11705
11763
  // 显示now
11706
- if (showNow) {
11764
+ if (showToday) {
11707
11765
  var _extraItems;
11708
11766
  // 日程安排时: extraItems中今天是否是可选或者已选择状态
11709
11767
  var hasNow = ((_extraItems = extraItems) === null || _extraItems === void 0 ? void 0 : _extraItems.filter(function(item) {
11710
- return item.status !== "noselectable";
11768
+ return item.status !== "noselectable" && // item.date.format(format) === dayjs().format(format)
11769
+ item.date.format("YYYYMMDD") === getToday();
11711
11770
  }).length) > 0;
11712
11771
  if (kind === "single" || kind === "extra" && hasNow) {
11713
11772
  if (mode === "date" || mode === undefined) {
@@ -11715,8 +11774,11 @@ var BhdDatePicker = function(props) {
11715
11774
  className: "bhd-picker-now",
11716
11775
  children: /*#__PURE__*/ jsx("a", {
11717
11776
  className: "bhd-picker-now-btn",
11777
+ style: {
11778
+ visibility: "hidden"
11779
+ },
11718
11780
  onClick: todayClick,
11719
- children: showTime ? i18Conversion$1("此刻") : i18Conversion$1("今天")
11781
+ children: i18Conversion$1("今天")
11720
11782
  })
11721
11783
  });
11722
11784
  }
@@ -11724,6 +11786,11 @@ var BhdDatePicker = function(props) {
11724
11786
  }
11725
11787
  return null;
11726
11788
  };
11789
+ // 获取到年月日
11790
+ var getToday = function() {
11791
+ var date = new Date();
11792
+ return date.getFullYear().toString() + date.getMonth().toString().padStart(2, "0") + date.getDay().toString().padStart(2, "0");
11793
+ };
11727
11794
  // 渲染预设
11728
11795
  var selfRenderPresets = function() {
11729
11796
  return /*#__PURE__*/ jsx("li", {
@@ -11749,42 +11816,58 @@ var BhdDatePicker = function(props) {
11749
11816
  setPanelOpen(true);
11750
11817
  }
11751
11818
  } else {
11752
- if (selectedDate && selectedDateString) {
11753
- onChange && onChange(selectedDate, selectedDateString);
11819
+ if (selectedDateRef.current && selectedDateStringRef.current) {
11820
+ onChange && onChange(selectedDateRef.current, selectedDateStringRef.current);
11754
11821
  setPanelOpen(false);
11755
11822
  }
11756
11823
  }
11757
11824
  };
11758
11825
  // 今天点击
11759
- var todayClick = function() {
11760
- // var today = dayjs();
11761
- // var todayString = today.format(format);
11762
- // setSelectedDate((prevState) => {
11763
- // selectedDateRef.current = today;
11764
- // return selectedDateRef.current;
11765
- // });
11766
- // setSelectedDateString((prevState) => {
11767
- // selectedDateStringRef.current = todayString;
11768
- // return selectedDateStringRef.current;
11769
- // });
11770
- // onChange && onChange(today, todayString);
11771
- // setPanelOpen(false);
11826
+ var todayClick = useCallback(function() {
11827
+ setTimeout(function() {
11828
+ okClick();
11829
+ }, 0);
11830
+ }, []);
11831
+ var todayClickEventListener = function(value) {
11832
+ if (!value) return;
11833
+ if (showToday) {
11834
+ var _document_getElementsByClassName__getElementsByClassName, _document_getElementsByClassName_, _document_getElementsByClassName;
11835
+ var btn = (_document_getElementsByClassName = document.getElementsByClassName(id)) === null || _document_getElementsByClassName === void 0 ? void 0 : (_document_getElementsByClassName_ = _document_getElementsByClassName[0]) === null || _document_getElementsByClassName_ === void 0 ? void 0 : (_document_getElementsByClassName__getElementsByClassName = _document_getElementsByClassName_.getElementsByClassName("bhd-picker-today-btn")) === null || _document_getElementsByClassName__getElementsByClassName === void 0 ? void 0 : _document_getElementsByClassName__getElementsByClassName[0];
11836
+ if (value) {
11837
+ var _btn, _btn1;
11838
+ (_btn = btn) === null || _btn === void 0 ? void 0 : _btn.removeEventListener("click", todayClick);
11839
+ (_btn1 = btn) === null || _btn1 === void 0 ? void 0 : _btn1.addEventListener("click", todayClick, {
11840
+ once: true
11841
+ });
11842
+ }
11843
+ }
11772
11844
  };
11773
11845
  //预设点击
11774
11846
  var presetClick = function(info) {
11775
11847
  console.log(_type_of(info.value));
11776
11848
  var value = typeof info.value === "function" ? info.value() : info.value;
11777
- var valueString = value.format(format);
11778
- setSelectedDate(function(prevState) {
11779
- selectedDateRef.current = value;
11780
- return selectedDateRef.current;
11781
- });
11782
- setSelectedDateString(function(prevState) {
11783
- selectedDateStringRef.current = valueString;
11784
- return selectedDateStringRef.current;
11785
- });
11786
- onChange && onChange(value, valueString);
11787
- setPanelOpen(false);
11849
+ if (kind === "range") {
11850
+ var valueString = [
11851
+ value[0].format(format),
11852
+ value[1].format(format)
11853
+ ];
11854
+ setSelectedRangeDate(value);
11855
+ setSelectedRangeDateString(valueString);
11856
+ onChange && onChange(value, valueString);
11857
+ setPanelOpen(false);
11858
+ } else {
11859
+ var valueString1 = value.format(format);
11860
+ setSelectedDate(function(prevState) {
11861
+ selectedDateRef.current = value;
11862
+ return selectedDateRef.current;
11863
+ });
11864
+ setSelectedDateString(function(prevState) {
11865
+ selectedDateStringRef.current = valueString1;
11866
+ return selectedDateStringRef.current;
11867
+ });
11868
+ onChange && onChange(value, valueString1);
11869
+ setPanelOpen(false);
11870
+ }
11788
11871
  };
11789
11872
  return /*#__PURE__*/ jsxs("span", {
11790
11873
  className: "".concat(modules_63b47c51.bhdDatePicker),
@@ -11792,8 +11875,8 @@ var BhdDatePicker = function(props) {
11792
11875
  children: [
11793
11876
  (kind === "single" || kind === "extra") && /*#__PURE__*/ jsx(Fragment, {
11794
11877
  children: /*#__PURE__*/ jsx(DatePicker, _object_spread_props(_object_spread({}, getConfig()), {
11878
+ id: id,
11795
11879
  value: selectedDate,
11796
- showNow: showTime ? showNow : false,
11797
11880
  mode: panelMode,
11798
11881
  open: panelOpen,
11799
11882
  disabledDate: selfDisabledDate,
@@ -11805,6 +11888,7 @@ var BhdDatePicker = function(props) {
11805
11888
  // 打开设置默认mode
11806
11889
  if (value) {
11807
11890
  setDefaultMode();
11891
+ todayClickEventListener(value);
11808
11892
  }
11809
11893
  onOpenChange && onOpenChange(value);
11810
11894
  },
@@ -11841,7 +11925,6 @@ var BhdDatePicker = function(props) {
11841
11925
  kind === "range" && /*#__PURE__*/ jsx(Fragment, {
11842
11926
  children: /*#__PURE__*/ jsx(RangePicker, _object_spread_props(_object_spread({}, getConfig()), {
11843
11927
  value: selectedRangeDate,
11844
- showNow: false,
11845
11928
  mode: rangePanelMode,
11846
11929
  open: panelOpen,
11847
11930
  disabledDate: selfDisabledDate,