assui 2.0.82 → 2.0.86

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.
Files changed (53) hide show
  1. package/es/copy-to-clipboard/index.d.ts +1 -1
  2. package/es/index.d.ts +8 -0
  3. package/es/index.js +4 -0
  4. package/es/label-date-picker/index.d.ts +7 -0
  5. package/es/label-date-picker/index.js +107 -0
  6. package/es/label-date-picker/style/index.css +44 -0
  7. package/es/label-date-picker/style/index.d.ts +2 -0
  8. package/es/label-date-picker/style/index.js +2 -0
  9. package/es/label-date-picker/style/index.less +53 -0
  10. package/es/label-desc-item/index.d.ts +3 -3
  11. package/es/label-desc-item/index.js +2 -2
  12. package/es/label-range-picker/index.d.ts +7 -0
  13. package/es/label-range-picker/index.js +111 -0
  14. package/es/label-range-picker/style/index.css +61 -0
  15. package/es/label-range-picker/style/index.d.ts +2 -0
  16. package/es/label-range-picker/style/index.js +2 -0
  17. package/es/label-range-picker/style/index.less +74 -0
  18. package/es/label-select/index.js +1 -1
  19. package/es/label-select/style/index.css +1 -0
  20. package/es/label-select/style/index.less +9 -8
  21. package/es/label-text-area/index.d.ts +20 -1
  22. package/es/label-text-area/index.js +95 -2
  23. package/es/label-text-area/style/index.css +44 -0
  24. package/es/label-text-area/style/index.d.ts +1 -1
  25. package/es/label-text-area/style/index.js +1 -0
  26. package/es/label-text-area/style/index.less +59 -0
  27. package/lib/copy-to-clipboard/index.d.ts +1 -1
  28. package/lib/index.d.ts +8 -0
  29. package/lib/index.js +36 -0
  30. package/lib/label-date-picker/index.d.ts +7 -0
  31. package/lib/label-date-picker/index.js +123 -0
  32. package/lib/label-date-picker/style/index.css +44 -0
  33. package/lib/label-date-picker/style/index.d.ts +2 -0
  34. package/lib/label-date-picker/style/index.js +9 -0
  35. package/lib/label-date-picker/style/index.less +53 -0
  36. package/lib/label-desc-item/index.d.ts +3 -3
  37. package/lib/label-desc-item/index.js +2 -2
  38. package/lib/label-range-picker/index.d.ts +7 -0
  39. package/lib/label-range-picker/index.js +128 -0
  40. package/lib/label-range-picker/style/index.css +61 -0
  41. package/lib/label-range-picker/style/index.d.ts +2 -0
  42. package/lib/label-range-picker/style/index.js +9 -0
  43. package/lib/label-range-picker/style/index.less +74 -0
  44. package/lib/label-select/index.js +3 -3
  45. package/lib/label-select/style/index.css +1 -0
  46. package/lib/label-select/style/index.less +9 -8
  47. package/lib/label-text-area/index.d.ts +20 -1
  48. package/lib/label-text-area/index.js +98 -2
  49. package/lib/label-text-area/style/index.css +44 -0
  50. package/lib/label-text-area/style/index.d.ts +1 -1
  51. package/lib/label-text-area/style/index.js +7 -0
  52. package/lib/label-text-area/style/index.less +59 -0
  53. package/package.json +3 -3
@@ -1,7 +1,100 @@
1
+ var __read = this && this.__read || function (o, n) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
3
+ if (!m) return o;
4
+ var i = m.call(o),
5
+ r,
6
+ ar = [],
7
+ e;
8
+
9
+ try {
10
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
11
+ ar.push(r.value);
12
+ }
13
+ } catch (error) {
14
+ e = {
15
+ error: error
16
+ };
17
+ } finally {
18
+ try {
19
+ if (r && !r.done && (m = i["return"])) m.call(i);
20
+ } finally {
21
+ if (e) throw e.error;
22
+ }
23
+ }
24
+
25
+ return ar;
26
+ };
27
+
1
28
  import React from 'react';
29
+ import classNames from 'classnames';
30
+ import { useControllableValue } from 'ahooks';
31
+ import { trimStart } from 'lodash';
32
+
33
+ var LabelTextArea = function LabelTextArea(props) {
34
+ var className = props.className,
35
+ label = props.label,
36
+ id = props.id,
37
+ formatter = props.formatter,
38
+ onFocus = props.onFocus,
39
+ onBlur = props.onBlur;
40
+
41
+ var _a = __read(React.useState(false), 2),
42
+ focused = _a[0],
43
+ setFocused = _a[1];
44
+
45
+ var _b = __read(useControllableValue(props), 2),
46
+ value = _b[0],
47
+ setValue = _b[1];
48
+
49
+ var TextAreaDomRef = React.useRef(null);
50
+
51
+ var handleFocus = function handleFocus() {
52
+ setFocused(true);
53
+ onFocus === null || onFocus === void 0 ? void 0 : onFocus(value);
54
+ };
55
+
56
+ var handleBlur = function handleBlur() {
57
+ setFocused(false);
58
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(value);
59
+ };
60
+
61
+ var handleLabelClick = function handleLabelClick() {
62
+ var _a;
63
+
64
+ (_a = TextAreaDomRef.current) === null || _a === void 0 ? void 0 : _a.focus();
65
+ };
66
+
67
+ var handleChange = function handleChange(e) {
68
+ var finallyValue = trimStart(e.target.value);
69
+
70
+ if (formatter) {
71
+ finallyValue = formatter(finallyValue);
72
+ }
73
+
74
+ setValue(finallyValue);
75
+ };
2
76
 
3
- var LabelTextArea = function LabelTextArea() {
4
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("textarea", null));
77
+ return /*#__PURE__*/React.createElement("div", {
78
+ className: classNames('label-input-control', className),
79
+ id: id
80
+ }, /*#__PURE__*/React.createElement("div", {
81
+ className: classNames('label-textarea-warper', {
82
+ 'textarea-warper-focused': focused
83
+ }),
84
+ onClick: handleLabelClick
85
+ }, /*#__PURE__*/React.createElement("textarea", {
86
+ ref: function ref(el) {
87
+ return TextAreaDomRef.current = el;
88
+ },
89
+ "data-value": value ? value.length : 0,
90
+ className: "label-textarea",
91
+ value: value,
92
+ onFocus: handleFocus,
93
+ onChange: handleChange,
94
+ onBlur: handleBlur
95
+ }), /*#__PURE__*/React.createElement("label", {
96
+ className: "label-textarea-text"
97
+ }, label)));
5
98
  };
6
99
 
7
100
  export default LabelTextArea;
@@ -0,0 +1,44 @@
1
+ .label-textarea {
2
+ z-index: 1;
3
+ width: 100%;
4
+ height: 100%;
5
+ min-height: 28px;
6
+ margin-bottom: -4px;
7
+ padding: 0 15px 0 15px;
8
+ color: #263241;
9
+ font-size: 16px;
10
+ border: 0;
11
+ border-radius: 12px;
12
+ outline: 0;
13
+ transition: border 0.3s;
14
+ }
15
+ .label-textarea:focus + label,
16
+ .label-textarea:not([data-value='0']) + label {
17
+ transform: translateY(-10px) scale(0.86);
18
+ }
19
+ .label-textarea-warper {
20
+ position: relative;
21
+ width: 100%;
22
+ height: 100%;
23
+ padding-top: 24px;
24
+ border: 1px solid #e5e5e5;
25
+ border-radius: 12px;
26
+ outline: 0;
27
+ cursor: text;
28
+ }
29
+ .label-textarea-text {
30
+ position: absolute;
31
+ top: 16px;
32
+ left: 16px;
33
+ z-index: 2;
34
+ height: 20px;
35
+ color: #9aa5b5;
36
+ font-size: 14px;
37
+ line-height: 20px;
38
+ transform-origin: top left;
39
+ cursor: text;
40
+ transition: all 0.2s ease-out;
41
+ }
42
+ .textarea-warper-focused {
43
+ border-color: #ff6b00;
44
+ }
@@ -1 +1 @@
1
-
1
+ import './index.less';
@@ -0,0 +1 @@
1
+ import './index.less';
@@ -0,0 +1,59 @@
1
+ @primary-color: #ff6b00;
2
+ @color_dfe2e7: #dfe2e7;
3
+ @color_9aa5b5: #9aa5b5;
4
+ @color_b3b3b3: #b3b3b3;
5
+ @color_e5e5e5: #e5e5e5;
6
+
7
+ @font-size-base: 14px;
8
+ @font-size-lg: @font-size-base + 2px;
9
+
10
+ @font-weight-500: 500;
11
+
12
+ .label-textarea {
13
+ z-index: 1;
14
+ width: 100%;
15
+ height: 100%;
16
+ min-height: 28px;
17
+ margin-bottom: -4px;
18
+ padding: 0 15px 0 15px;
19
+ color: #263241;
20
+ font-size: @font-size-lg;
21
+ border: 0;
22
+ border-radius: 12px;
23
+ outline: 0;
24
+ transition: border 0.3s;
25
+
26
+ &:focus + label,
27
+ &:not([data-value='0']) + label {
28
+ transform: translateY(-10px) scale(0.86);
29
+ }
30
+
31
+ &-warper {
32
+ position: relative;
33
+ width: 100%;
34
+ height: 100%;
35
+ padding-top: 24px;
36
+ border: 1px solid @color_e5e5e5;
37
+ border-radius: 12px;
38
+ outline: 0;
39
+ cursor: text;
40
+ }
41
+
42
+ &-text {
43
+ position: absolute;
44
+ top: 16px;
45
+ left: 16px;
46
+ z-index: 2;
47
+ height: 20px;
48
+ color: @color_9aa5b5;
49
+ font-size: @font-size-base;
50
+ line-height: 20px;
51
+ transform-origin: top left;
52
+ cursor: text;
53
+ transition: all 0.2s ease-out;
54
+ }
55
+ }
56
+
57
+ .textarea-warper-focused {
58
+ border-color: @primary-color;
59
+ }
@@ -8,7 +8,7 @@ export interface CopyToClipboardProps {
8
8
  /** 文本被复制时候的回调 */
9
9
  onCopy?: (text: string, result: boolean) => void;
10
10
  /** ant design Tooltip props */
11
- tooltipProps: TooltipProps;
11
+ tooltipProps?: Omit<TooltipProps, 'title'>;
12
12
  /** 复制成功的Tooltip提示文案 */
13
13
  tooltipTitle?: React.ReactNode;
14
14
  /** 依赖底层组件 https://github.com/sudodoki/copy-to-clipboard 的 options */
package/lib/index.d.ts CHANGED
@@ -36,6 +36,14 @@ export type { TextInputProps } from './text-input';
36
36
  export { default as TextInput } from './text-input';
37
37
  export type { LabelInputProps } from './label-input';
38
38
  export { default as LabelInput } from './label-input';
39
+ export type { LabelSelectProps } from './label-select';
40
+ export { default as LabelSelect } from './label-select';
41
+ export type { LabelRangePickerProps } from './label-range-picker';
42
+ export { default as LabelRangePicker } from './label-range-picker';
43
+ export type { LabelDatePickerProps } from './label-date-picker';
44
+ export { default as LabelDatePicker } from './label-date-picker';
45
+ export type { LabelDescItemProps } from './label-desc-item';
46
+ export { default as LabelDescItem } from './label-desc-item';
39
47
  export type { RichTextEditorProps } from './rich-text-editor';
40
48
  export { default as RichTextEditor } from './rich-text-editor';
41
49
  export { default as beautifulDnd } from './beautiful-dnd';
package/lib/index.js CHANGED
@@ -184,6 +184,42 @@ Object.defineProperty(exports, "LabelInput", {
184
184
  }
185
185
  });
186
186
 
187
+ var label_select_1 = require("./label-select");
188
+
189
+ Object.defineProperty(exports, "LabelSelect", {
190
+ enumerable: true,
191
+ get: function get() {
192
+ return label_select_1["default"];
193
+ }
194
+ });
195
+
196
+ var label_range_picker_1 = require("./label-range-picker");
197
+
198
+ Object.defineProperty(exports, "LabelRangePicker", {
199
+ enumerable: true,
200
+ get: function get() {
201
+ return label_range_picker_1["default"];
202
+ }
203
+ });
204
+
205
+ var label_date_picker_1 = require("./label-date-picker");
206
+
207
+ Object.defineProperty(exports, "LabelDatePicker", {
208
+ enumerable: true,
209
+ get: function get() {
210
+ return label_date_picker_1["default"];
211
+ }
212
+ });
213
+
214
+ var label_desc_item_1 = require("./label-desc-item");
215
+
216
+ Object.defineProperty(exports, "LabelDescItem", {
217
+ enumerable: true,
218
+ get: function get() {
219
+ return label_desc_item_1["default"];
220
+ }
221
+ });
222
+
187
223
  var rich_text_editor_1 = require("./rich-text-editor");
188
224
 
189
225
  Object.defineProperty(exports, "RichTextEditor", {
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { DatePickerProps } from 'antd/es/date-picker';
3
+ export interface LabelDatePickerProps extends Omit<DatePickerProps, 'label'> {
4
+ label: React.ReactNode;
5
+ }
6
+ declare const LabelDatePicker: React.FC<LabelDatePickerProps>;
7
+ export default LabelDatePicker;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ var __assign = this && this.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+
8
+ for (var p in s) {
9
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
10
+ }
11
+ }
12
+
13
+ return t;
14
+ };
15
+
16
+ return __assign.apply(this, arguments);
17
+ };
18
+
19
+ var __read = this && this.__read || function (o, n) {
20
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
21
+ if (!m) return o;
22
+ var i = m.call(o),
23
+ r,
24
+ ar = [],
25
+ e;
26
+
27
+ try {
28
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
29
+ ar.push(r.value);
30
+ }
31
+ } catch (error) {
32
+ e = {
33
+ error: error
34
+ };
35
+ } finally {
36
+ try {
37
+ if (r && !r.done && (m = i["return"])) m.call(i);
38
+ } finally {
39
+ if (e) throw e.error;
40
+ }
41
+ }
42
+
43
+ return ar;
44
+ };
45
+
46
+ var __importDefault = this && this.__importDefault || function (mod) {
47
+ return mod && mod.__esModule ? mod : {
48
+ "default": mod
49
+ };
50
+ };
51
+
52
+ Object.defineProperty(exports, "__esModule", {
53
+ value: true
54
+ });
55
+
56
+ var react_1 = __importDefault(require("react"));
57
+
58
+ var useControllableValue_1 = __importDefault(require("ahooks/lib/useControllableValue"));
59
+
60
+ var date_picker_1 = __importDefault(require("antd/es/date-picker"));
61
+
62
+ var CalendarOutlined_1 = __importDefault(require("a-icons/lib/CalendarOutlined"));
63
+
64
+ var classnames_1 = __importDefault(require("classnames"));
65
+
66
+ var LabelDatePicker = function LabelDatePicker(props) {
67
+ var className = props.className,
68
+ label = props.label;
69
+ var datePickerRef = react_1["default"].useRef(null);
70
+
71
+ var _a = __read(useControllableValue_1["default"](props, {
72
+ valuePropName: 'open',
73
+ trigger: 'setOpen'
74
+ }), 2),
75
+ open = _a[0],
76
+ setOpen = _a[1];
77
+
78
+ var _b = __read(useControllableValue_1["default"](props), 2),
79
+ value = _b[0],
80
+ setValue = _b[1];
81
+
82
+ var handleChange = function handleChange(nextValue) {
83
+ setValue(nextValue);
84
+ };
85
+
86
+ var handleLabelClick = function handleLabelClick() {
87
+ var _a;
88
+
89
+ if (!open) {
90
+ setOpen(!open);
91
+ }
92
+
93
+ (_a = datePickerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
94
+ };
95
+
96
+ var onBlur = function onBlur() {
97
+ setOpen(false);
98
+ };
99
+
100
+ var onOpenChange = function onOpenChange(nextOpen) {
101
+ setOpen(nextOpen);
102
+ };
103
+
104
+ return react_1["default"].createElement("div", {
105
+ className: classnames_1["default"]({
106
+ 'label-date-picker': true,
107
+ 'label-date-picker-label-scale': open || value
108
+ }, className)
109
+ }, react_1["default"].createElement(date_picker_1["default"], __assign({}, props, {
110
+ open: open,
111
+ onChange: handleChange,
112
+ ref: datePickerRef,
113
+ onOpenChange: onOpenChange,
114
+ onBlur: onBlur,
115
+ placeholder: "",
116
+ suffixIcon: react_1["default"].createElement(CalendarOutlined_1["default"], null)
117
+ })), react_1["default"].createElement("label", {
118
+ className: "label-date-picker-text",
119
+ onClick: handleLabelClick
120
+ }, label));
121
+ };
122
+
123
+ exports["default"] = LabelDatePicker;
@@ -0,0 +1,44 @@
1
+ /* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */
2
+ /* stylelint-disable no-duplicate-selectors */
3
+ /* stylelint-disable */
4
+ /* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */
5
+ .label-date-picker {
6
+ position: relative;
7
+ height: 100%;
8
+ }
9
+ .label-date-picker .ant-picker {
10
+ height: 52px;
11
+ border: 1px solid #e5e5e5;
12
+ border-radius: 12px;
13
+ outline: none;
14
+ }
15
+ .label-date-picker .ant-picker-input input {
16
+ padding-top: 16px;
17
+ padding-left: 4px;
18
+ }
19
+ .label-date-picker .ant-picker-focused {
20
+ border-color: #ff6b00;
21
+ box-shadow: none;
22
+ }
23
+ .label-date-picker .ant-picker-suffix .spotecicon {
24
+ width: 14px;
25
+ color: #323232;
26
+ }
27
+ .label-date-picker-text {
28
+ position: absolute;
29
+ top: 18px;
30
+ left: 16px;
31
+ z-index: 2;
32
+ height: 20px;
33
+ color: #9aa5b5;
34
+ font-size: 14px;
35
+ line-height: 20px;
36
+ transform-origin: top left;
37
+ cursor: pointer;
38
+ transition: all 0.2s ease-out;
39
+ }
40
+ .label-date-picker-label-scale .label-date-picker-text {
41
+ transform: translateY(-10px) scale(0.86);
42
+ cursor: text;
43
+ pointer-events: none;
44
+ }
@@ -0,0 +1,2 @@
1
+ import 'antd/es/date-picker/style';
2
+ import './index.less';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ require("antd/es/date-picker/style");
8
+
9
+ require("./index.less");
@@ -0,0 +1,53 @@
1
+ @import '~antd/es/style/themes/index';
2
+
3
+ @color_9aa5b5: #9aa5b5;
4
+ @font-size-base: 14px;
5
+
6
+ .label-date-picker {
7
+ position: relative;
8
+ height: 100%;
9
+
10
+ .@{ant-prefix}-picker {
11
+ height: 52px;
12
+ border: 1px solid #e5e5e5;
13
+ border-radius: 12px;
14
+ outline: none;
15
+
16
+ &-input input {
17
+ padding-top: 16px;
18
+ padding-left: 4px;
19
+ }
20
+
21
+ &-focused {
22
+ border-color: #ff6b00;
23
+ box-shadow: none;
24
+ }
25
+
26
+ &-suffix .spotecicon {
27
+ width: 14px;
28
+ color: #323232;
29
+ }
30
+ }
31
+
32
+ &-text {
33
+ position: absolute;
34
+ top: 18px;
35
+ left: 16px;
36
+ z-index: 2;
37
+ height: 20px;
38
+ color: @color_9aa5b5;
39
+ font-size: @font-size-base;
40
+ line-height: 20px;
41
+ transform-origin: top left;
42
+ cursor: pointer;
43
+ transition: all 0.2s ease-out;
44
+ }
45
+
46
+ &-label-scale {
47
+ .label-date-picker-text {
48
+ transform: translateY(-10px) scale(0.86);
49
+ cursor: text;
50
+ pointer-events: none;
51
+ }
52
+ }
53
+ }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export declare type DescItemProps = {
2
+ export declare type LabelDescItemProps = {
3
3
  /** 自定义class */
4
4
  className?: string;
5
5
  /** label 标签的文本 */
@@ -9,5 +9,5 @@ export declare type DescItemProps = {
9
9
  /** 带有后缀的 item */
10
10
  suffix?: React.ReactNode;
11
11
  };
12
- declare const DescItem: React.FC<DescItemProps>;
13
- export default DescItem;
12
+ declare const LabelDescItem: React.FC<LabelDescItemProps>;
13
+ export default LabelDescItem;
@@ -14,7 +14,7 @@ var react_1 = __importDefault(require("react"));
14
14
 
15
15
  var classnames_1 = __importDefault(require("classnames"));
16
16
 
17
- var DescItem = function DescItem(props) {
17
+ var LabelDescItem = function LabelDescItem(props) {
18
18
  var className = props.className,
19
19
  label = props.label,
20
20
  value = props.value,
@@ -32,4 +32,4 @@ var DescItem = function DescItem(props) {
32
32
  }, suffix));
33
33
  };
34
34
 
35
- exports["default"] = DescItem;
35
+ exports["default"] = LabelDescItem;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { RangePickerProps } from 'antd/es/date-picker';
3
+ export interface LabelRangePickerProps extends Omit<RangePickerProps, 'label'> {
4
+ label: React.ReactNode;
5
+ }
6
+ declare const LabelDatePicker: React.FC<LabelRangePickerProps>;
7
+ export default LabelDatePicker;
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+
3
+ var __assign = this && this.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+
8
+ for (var p in s) {
9
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
10
+ }
11
+ }
12
+
13
+ return t;
14
+ };
15
+
16
+ return __assign.apply(this, arguments);
17
+ };
18
+
19
+ var __read = this && this.__read || function (o, n) {
20
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
21
+ if (!m) return o;
22
+ var i = m.call(o),
23
+ r,
24
+ ar = [],
25
+ e;
26
+
27
+ try {
28
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
29
+ ar.push(r.value);
30
+ }
31
+ } catch (error) {
32
+ e = {
33
+ error: error
34
+ };
35
+ } finally {
36
+ try {
37
+ if (r && !r.done && (m = i["return"])) m.call(i);
38
+ } finally {
39
+ if (e) throw e.error;
40
+ }
41
+ }
42
+
43
+ return ar;
44
+ };
45
+
46
+ var __importDefault = this && this.__importDefault || function (mod) {
47
+ return mod && mod.__esModule ? mod : {
48
+ "default": mod
49
+ };
50
+ };
51
+
52
+ Object.defineProperty(exports, "__esModule", {
53
+ value: true
54
+ });
55
+
56
+ var react_1 = __importDefault(require("react"));
57
+
58
+ var useControllableValue_1 = __importDefault(require("ahooks/lib/useControllableValue"));
59
+
60
+ var date_picker_1 = __importDefault(require("antd/es/date-picker"));
61
+
62
+ var classnames_1 = __importDefault(require("classnames"));
63
+
64
+ var CalendarOutlined_1 = __importDefault(require("a-icons/lib/CalendarOutlined"));
65
+
66
+ var RangePicker = date_picker_1["default"].RangePicker;
67
+
68
+ var LabelDatePicker = function LabelDatePicker(props) {
69
+ var className = props.className,
70
+ label = props.label;
71
+ var datePickerRef = react_1["default"].useRef(null);
72
+
73
+ var _a = __read(useControllableValue_1["default"](props, {
74
+ valuePropName: 'open',
75
+ trigger: 'setOpen'
76
+ }), 2),
77
+ open = _a[0],
78
+ setOpen = _a[1];
79
+
80
+ var _b = __read(useControllableValue_1["default"](props), 2),
81
+ value = _b[0],
82
+ setValue = _b[1];
83
+
84
+ var handleChange = function handleChange(nextValue) {
85
+ setValue(nextValue);
86
+ };
87
+
88
+ var handleLabelClick = function handleLabelClick() {
89
+ var _a;
90
+
91
+ if (!open) {
92
+ setOpen(!open);
93
+ }
94
+
95
+ (_a = datePickerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
96
+ };
97
+
98
+ var onBlur = function onBlur() {
99
+ setOpen(false);
100
+ };
101
+
102
+ var onOpenChange = function onOpenChange(nextOpen) {
103
+ setOpen(nextOpen);
104
+ };
105
+
106
+ return react_1["default"].createElement("div", {
107
+ className: classnames_1["default"]({
108
+ 'label-range-picker': true,
109
+ 'label-range-picker-label-scale': open || value
110
+ }, className)
111
+ }, react_1["default"].createElement(RangePicker, __assign({
112
+ format: "YYYY.MM.DD",
113
+ allowEmpty: [true, true]
114
+ }, props, {
115
+ separator: "\u2013",
116
+ open: open,
117
+ onChange: handleChange,
118
+ ref: datePickerRef,
119
+ onOpenChange: onOpenChange,
120
+ onBlur: onBlur,
121
+ suffixIcon: react_1["default"].createElement(CalendarOutlined_1["default"], null)
122
+ })), react_1["default"].createElement("label", {
123
+ className: "label-range-picker-text",
124
+ onClick: handleLabelClick
125
+ }, label));
126
+ };
127
+
128
+ exports["default"] = LabelDatePicker;