assui 3.0.54 → 3.0.55

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.
package/es/index.d.ts CHANGED
@@ -22,6 +22,8 @@ export type { CSSMotionProps, CSSMotionList, CSSMotionListProps, MotionEventHand
22
22
  export { default as RcMotion } from './rc-motion';
23
23
  export type { NumberInputProps } from './number-input';
24
24
  export { default as NumberInput } from './number-input';
25
+ export type { LabelRangeNumberProps } from './label-range-number';
26
+ export { default as LabelRangeNumber } from './label-range-number';
25
27
  export type { StepNumberInputProps } from './step-number-input';
26
28
  export { default as StepNumberInput } from './step-number-input';
27
29
  export type { RcEchartPropsType } from './rc-echart';
package/es/index.js CHANGED
@@ -10,6 +10,7 @@ export { default as ImgCrop } from './img-crop';
10
10
  export { default as KeepTab } from './keep-tab';
11
11
  export { default as RcMotion } from './rc-motion';
12
12
  export { default as NumberInput } from './number-input';
13
+ export { default as LabelRangeNumber } from './label-range-number';
13
14
  export { default as StepNumberInput } from './step-number-input';
14
15
  export { default as RcEcharts } from './rc-echart';
15
16
  export { default as RcQRcode } from './rc-qrcode';
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import type { NumberInputProps } from '../number-input';
3
+ export declare type RangeNumberValue = {
4
+ startInterval?: number | string;
5
+ endInterval?: number | string;
6
+ };
7
+ export interface LabelRangeNumberProps {
8
+ className?: string;
9
+ disabled?: boolean;
10
+ label: React.ReactNode;
11
+ value?: RangeNumberValue;
12
+ onChange?: (value: RangeNumberValue) => void;
13
+ enableMinus?: boolean;
14
+ numberType?: 'int' | 'float';
15
+ precision?: number;
16
+ connector?: React.ReactNode;
17
+ suffix?: string;
18
+ /** value的数据类型 */
19
+ dataType?: 'number' | 'string';
20
+ startNumberInputProps?: NumberInputProps;
21
+ endNumberInputProps?: NumberInputProps;
22
+ }
23
+ declare const LabelDatePicker: React.FC<LabelRangeNumberProps>;
24
+ export default LabelDatePicker;
@@ -0,0 +1,134 @@
1
+ var __assign = this && this.__assign || function () {
2
+ __assign = Object.assign || function (t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) {
6
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
7
+ }
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = this && this.__read || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o),
17
+ r,
18
+ ar = [],
19
+ e;
20
+ try {
21
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
22
+ ar.push(r.value);
23
+ }
24
+ } catch (error) {
25
+ e = {
26
+ error: error
27
+ };
28
+ } finally {
29
+ try {
30
+ if (r && !r.done && (m = i["return"])) m.call(i);
31
+ } finally {
32
+ if (e) throw e.error;
33
+ }
34
+ }
35
+ return ar;
36
+ };
37
+ import React from 'react';
38
+ import useControllableValue from "ahooks/es/useControllableValue";
39
+ import useClickAway from "ahooks/es/useClickAway";
40
+ import classNames from 'classnames';
41
+ import NumberInput from '../number-input';
42
+ var defaultValue = {
43
+ startInterval: '',
44
+ endInterval: ''
45
+ };
46
+ var LabelDatePicker = function LabelDatePicker(props) {
47
+ var disabled = props.disabled,
48
+ className = props.className,
49
+ label = props.label,
50
+ enableMinus = props.enableMinus,
51
+ numberType = props.numberType,
52
+ dataType = props.dataType,
53
+ precision = props.precision,
54
+ connector = props.connector,
55
+ startNumberInputProps = props.startNumberInputProps,
56
+ endNumberInputProps = props.endNumberInputProps;
57
+ var containerRef = React.useRef(null);
58
+ var startNumberRef = React.useRef(null);
59
+ var _a = __read(useControllableValue(props, {
60
+ valuePropName: 'focus',
61
+ trigger: 'onFocus'
62
+ }), 2),
63
+ focus = _a[0],
64
+ onFocus = _a[1];
65
+ var _b = __read(useControllableValue(props, {
66
+ defaultValue: {
67
+ startInterval: '',
68
+ endInterval: ''
69
+ }
70
+ }), 2),
71
+ value = _b[0],
72
+ onChangeValue = _b[1];
73
+ useClickAway(function () {
74
+ onFocus(false);
75
+ }, containerRef);
76
+ var onStartChange = function onStartChange(startInterval) {
77
+ onChangeValue(__assign(__assign({}, value), {
78
+ startInterval: startInterval
79
+ }));
80
+ };
81
+ var onEndChange = function onEndChange(endInterval) {
82
+ onChangeValue(__assign(__assign({}, value), {
83
+ endInterval: endInterval
84
+ }));
85
+ };
86
+ var handleLabelClick = function handleLabelClick() {
87
+ var _a;
88
+ if (!focus) {
89
+ onFocus(!focus);
90
+ }
91
+ (_a = startNumberRef.current) === null || _a === void 0 ? void 0 : _a.focus();
92
+ };
93
+ var resultValue = value || defaultValue;
94
+ return /*#__PURE__*/React.createElement("div", {
95
+ ref: containerRef,
96
+ className: classNames({
97
+ 'label-range-number': true,
98
+ 'label-range-number-disabled': disabled,
99
+ 'label-range-number-label-scale': focus || resultValue.endInterval || resultValue.startInterval
100
+ }, className)
101
+ }, /*#__PURE__*/React.createElement("div", {
102
+ className: "a-number a-number-range a-number-focused",
103
+ "aria-required": "true"
104
+ }, /*#__PURE__*/React.createElement("div", {
105
+ className: "a-number-input"
106
+ }, /*#__PURE__*/React.createElement(NumberInput, __assign({
107
+ bordered: false,
108
+ enableMinus: enableMinus,
109
+ numberType: numberType,
110
+ precision: precision,
111
+ dataType: dataType
112
+ }, endNumberInputProps, {
113
+ ref: startNumberRef,
114
+ onChange: onStartChange,
115
+ value: resultValue.startInterval
116
+ }))), /*#__PURE__*/React.createElement("div", {
117
+ className: "a-number-range-separator"
118
+ }, connector || '–'), /*#__PURE__*/React.createElement("div", {
119
+ className: "a-number-input"
120
+ }, /*#__PURE__*/React.createElement(NumberInput, __assign({
121
+ bordered: false,
122
+ enableMinus: enableMinus,
123
+ numberType: numberType,
124
+ precision: precision,
125
+ dataType: dataType
126
+ }, startNumberInputProps, {
127
+ onChange: onEndChange,
128
+ value: resultValue.endInterval
129
+ })))), /*#__PURE__*/React.createElement("label", {
130
+ className: "label-range-number-text",
131
+ onClick: handleLabelClick
132
+ }, label));
133
+ };
134
+ export default LabelDatePicker;