@hi-ui/schema-fields 4.0.0-experimental.1

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 (139) hide show
  1. package/README.md +11 -0
  2. package/lib/cjs/base.js +125 -0
  3. package/lib/cjs/components/image-preview/index.js +63 -0
  4. package/lib/cjs/components/span/index.js +33 -0
  5. package/lib/cjs/components/upload-bridge/index.js +227 -0
  6. package/lib/cjs/components/upload-bridge/utils.js +73 -0
  7. package/lib/cjs/ctx.js +70 -0
  8. package/lib/cjs/editable/ctx.js +45 -0
  9. package/lib/cjs/editable/editable.js +141 -0
  10. package/lib/cjs/editable/index.js +62 -0
  11. package/lib/cjs/editable/readonly.js +36 -0
  12. package/lib/cjs/editable/simple.js +61 -0
  13. package/lib/cjs/editable/use-readonly.js +200 -0
  14. package/lib/cjs/extensible/selectable/index.js +114 -0
  15. package/lib/cjs/extensible/selectable/match-cascader.js +184 -0
  16. package/lib/cjs/fields/basic/cascader/index.js +98 -0
  17. package/lib/cjs/fields/basic/check-cascader/index.js +58 -0
  18. package/lib/cjs/fields/basic/check-select/index.js +89 -0
  19. package/lib/cjs/fields/basic/check-tree-select/index.js +61 -0
  20. package/lib/cjs/fields/basic/checkbox/index.js +84 -0
  21. package/lib/cjs/fields/basic/counter/index.js +40 -0
  22. package/lib/cjs/fields/basic/radio/index.js +44 -0
  23. package/lib/cjs/fields/basic/rating/index.js +40 -0
  24. package/lib/cjs/fields/basic/select/index.js +98 -0
  25. package/lib/cjs/fields/basic/slider/index.js +40 -0
  26. package/lib/cjs/fields/basic/switch/index.js +47 -0
  27. package/lib/cjs/fields/basic/textarea/index.js +40 -0
  28. package/lib/cjs/fields/basic/time-picker/index.js +45 -0
  29. package/lib/cjs/fields/basic/time-picker/index.scss.js +18 -0
  30. package/lib/cjs/fields/basic/tree-select/index.js +61 -0
  31. package/lib/cjs/fields/basic/upload/custom.js +29 -0
  32. package/lib/cjs/fields/basic/upload/index.js +48 -0
  33. package/lib/cjs/fields/enhance/number-range/index.js +39 -0
  34. package/lib/cjs/fields/semantic/date/index.js +82 -0
  35. package/lib/cjs/fields/semantic/image/index.js +65 -0
  36. package/lib/cjs/fields/semantic/image/upload.js +32 -0
  37. package/lib/cjs/fields/semantic/link/index.js +96 -0
  38. package/lib/cjs/fields/semantic/number/index.js +106 -0
  39. package/lib/cjs/fields/semantic/tag/index.js +164 -0
  40. package/lib/cjs/fields/semantic/tag/index.scss.js +18 -0
  41. package/lib/cjs/fields/semantic/text/index.js +61 -0
  42. package/lib/cjs/index.js +145 -0
  43. package/lib/cjs/utils/batch-dep-update.js +40 -0
  44. package/lib/cjs/utils/form-binding.js +40 -0
  45. package/lib/cjs/utils/label.js +34 -0
  46. package/lib/cjs/utils.js +35 -0
  47. package/lib/esm/base.js +111 -0
  48. package/lib/esm/components/image-preview/index.js +49 -0
  49. package/lib/esm/components/span/index.js +20 -0
  50. package/lib/esm/components/upload-bridge/index.js +214 -0
  51. package/lib/esm/components/upload-bridge/utils.js +66 -0
  52. package/lib/esm/ctx.js +55 -0
  53. package/lib/esm/editable/ctx.js +32 -0
  54. package/lib/esm/editable/editable.js +129 -0
  55. package/lib/esm/editable/index.js +44 -0
  56. package/lib/esm/editable/readonly.js +24 -0
  57. package/lib/esm/editable/simple.js +49 -0
  58. package/lib/esm/editable/use-readonly.js +193 -0
  59. package/lib/esm/extensible/selectable/index.js +101 -0
  60. package/lib/esm/extensible/selectable/match-cascader.js +179 -0
  61. package/lib/esm/fields/basic/cascader/index.js +83 -0
  62. package/lib/esm/fields/basic/check-cascader/index.js +44 -0
  63. package/lib/esm/fields/basic/check-select/index.js +75 -0
  64. package/lib/esm/fields/basic/check-tree-select/index.js +47 -0
  65. package/lib/esm/fields/basic/checkbox/index.js +70 -0
  66. package/lib/esm/fields/basic/counter/index.js +26 -0
  67. package/lib/esm/fields/basic/radio/index.js +30 -0
  68. package/lib/esm/fields/basic/rating/index.js +26 -0
  69. package/lib/esm/fields/basic/select/index.js +83 -0
  70. package/lib/esm/fields/basic/slider/index.js +26 -0
  71. package/lib/esm/fields/basic/switch/index.js +33 -0
  72. package/lib/esm/fields/basic/textarea/index.js +26 -0
  73. package/lib/esm/fields/basic/time-picker/index.js +31 -0
  74. package/lib/esm/fields/basic/time-picker/index.scss.js +13 -0
  75. package/lib/esm/fields/basic/tree-select/index.js +47 -0
  76. package/lib/esm/fields/basic/upload/custom.js +16 -0
  77. package/lib/esm/fields/basic/upload/index.js +34 -0
  78. package/lib/esm/fields/enhance/number-range/index.js +26 -0
  79. package/lib/esm/fields/semantic/date/index.js +67 -0
  80. package/lib/esm/fields/semantic/image/index.js +51 -0
  81. package/lib/esm/fields/semantic/image/upload.js +20 -0
  82. package/lib/esm/fields/semantic/link/index.js +82 -0
  83. package/lib/esm/fields/semantic/number/index.js +91 -0
  84. package/lib/esm/fields/semantic/tag/index.js +149 -0
  85. package/lib/esm/fields/semantic/tag/index.scss.js +13 -0
  86. package/lib/esm/fields/semantic/text/index.js +47 -0
  87. package/lib/esm/index.js +85 -0
  88. package/lib/esm/utils/batch-dep-update.js +35 -0
  89. package/lib/esm/utils/form-binding.js +34 -0
  90. package/lib/esm/utils/label.js +21 -0
  91. package/lib/esm/utils.js +27 -0
  92. package/lib/types/base.d.ts +44 -0
  93. package/lib/types/components/async-refill-placeholder/index.d.ts +7 -0
  94. package/lib/types/components/image-preview/index.d.ts +5 -0
  95. package/lib/types/components/span/index.d.ts +8 -0
  96. package/lib/types/components/upload-bridge/index.d.ts +5 -0
  97. package/lib/types/components/upload-bridge/type.d.ts +26 -0
  98. package/lib/types/components/upload-bridge/utils.d.ts +11 -0
  99. package/lib/types/ctx.d.ts +21 -0
  100. package/lib/types/editable/ctx.d.ts +5 -0
  101. package/lib/types/editable/editable.d.ts +18 -0
  102. package/lib/types/editable/index.d.ts +14 -0
  103. package/lib/types/editable/readonly.d.ts +8 -0
  104. package/lib/types/editable/simple.d.ts +8 -0
  105. package/lib/types/editable/type.d.ts +9 -0
  106. package/lib/types/editable/use-readonly.d.ts +26 -0
  107. package/lib/types/extensible/selectable/index.d.ts +31 -0
  108. package/lib/types/extensible/selectable/match-cascader.d.ts +19 -0
  109. package/lib/types/extensible/selectable/type.d.ts +16 -0
  110. package/lib/types/fields/basic/cascader/index.d.ts +10 -0
  111. package/lib/types/fields/basic/check-cascader/index.d.ts +11 -0
  112. package/lib/types/fields/basic/check-select/index.d.ts +34 -0
  113. package/lib/types/fields/basic/check-tree-select/index.d.ts +10 -0
  114. package/lib/types/fields/basic/checkbox/index.d.ts +19 -0
  115. package/lib/types/fields/basic/counter/index.d.ts +7 -0
  116. package/lib/types/fields/basic/radio/index.d.ts +7 -0
  117. package/lib/types/fields/basic/rating/index.d.ts +7 -0
  118. package/lib/types/fields/basic/select/index.d.ts +12 -0
  119. package/lib/types/fields/basic/slider/index.d.ts +7 -0
  120. package/lib/types/fields/basic/switch/index.d.ts +7 -0
  121. package/lib/types/fields/basic/textarea/index.d.ts +7 -0
  122. package/lib/types/fields/basic/time-picker/index.d.ts +8 -0
  123. package/lib/types/fields/basic/tree-select/index.d.ts +11 -0
  124. package/lib/types/fields/basic/upload/custom.d.ts +3 -0
  125. package/lib/types/fields/basic/upload/index.d.ts +8 -0
  126. package/lib/types/fields/enhance/number-range/index.d.ts +7 -0
  127. package/lib/types/fields/semantic/date/index.d.ts +15 -0
  128. package/lib/types/fields/semantic/image/index.d.ts +11 -0
  129. package/lib/types/fields/semantic/image/upload.d.ts +3 -0
  130. package/lib/types/fields/semantic/link/index.d.ts +31 -0
  131. package/lib/types/fields/semantic/number/index.d.ts +21 -0
  132. package/lib/types/fields/semantic/tag/index.d.ts +78 -0
  133. package/lib/types/fields/semantic/text/index.d.ts +13 -0
  134. package/lib/types/index.d.ts +108 -0
  135. package/lib/types/utils/batch-dep-update.d.ts +13 -0
  136. package/lib/types/utils/form-binding.d.ts +11 -0
  137. package/lib/types/utils/label.d.ts +11 -0
  138. package/lib/types/utils.d.ts +15 -0
  139. package/package.json +98 -0
@@ -0,0 +1,40 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
17
+ var React = require('react');
18
+ var Rating = require('@hi-ui/rating');
19
+ var base = require('../../../base.js');
20
+ function _interopDefaultCompat(e) {
21
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
22
+ 'default': e
23
+ };
24
+ }
25
+ var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
26
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
27
+ var Rating__default = /*#__PURE__*/_interopDefaultCompat(Rating);
28
+ var ProRating = /*#__PURE__*/function (_ProField) {
29
+ _inheritsLoose__default["default"](ProRating, _ProField);
30
+ function ProRating() {
31
+ return _ProField.apply(this, arguments) || this;
32
+ }
33
+ var _proto = ProRating.prototype;
34
+ _proto.renderFormItem = function renderFormItem(_, ctx) {
35
+ var fieldProps = this.getFieldProps({}, ctx);
36
+ return /*#__PURE__*/React__default["default"].createElement(Rating__default["default"], Object.assign({}, fieldProps));
37
+ };
38
+ return ProRating;
39
+ }(base.ProField);
40
+ exports.ProRating = ProRating;
@@ -0,0 +1,98 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
17
+ var React = require('react');
18
+ var Select = require('@hi-ui/select');
19
+ var schemaOptionInjector = require('@hi-ui/schema-option-injector');
20
+ var schemaInterruptInjector = require('@hi-ui/schema-interrupt-injector');
21
+ var index = require('../../../extensible/selectable/index.js');
22
+ function _interopDefaultCompat(e) {
23
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
24
+ 'default': e
25
+ };
26
+ }
27
+ var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
28
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
29
+ var Select__default = /*#__PURE__*/_interopDefaultCompat(Select);
30
+ var ProSelect = /*#__PURE__*/function (_ProSelectableField) {
31
+ _inheritsLoose__default["default"](ProSelect, _ProSelectableField);
32
+ function ProSelect() {
33
+ return _ProSelectableField.apply(this, arguments) || this;
34
+ }
35
+ var _proto = ProSelect.prototype;
36
+ _proto.render = function render(data, ctx) {
37
+ var title = this.getOptionTitle(ctx) || data;
38
+ return _ProSelectableField.prototype.render.call(this, title, ctx);
39
+ };
40
+ _proto.renderFormItem = function renderFormItem(_, ctx) {
41
+ var _a, _b, _c;
42
+ var fieldProps = this.getFieldProps({
43
+ placeholder: this.getDftPlaceholder(ctx),
44
+ overlay: (_a = ctx.field.extra) === null || _a === void 0 ? void 0 : _a.popperProps
45
+ }, ctx);
46
+ return /*#__PURE__*/React__default["default"].createElement(schemaOptionInjector.AsyncOptsDataInjector, Object.assign({}, fieldProps, {
47
+ renderCtx: ctx,
48
+ setSelectedRawOption: (_b = ctx.field.payload) === null || _b === void 0 ? void 0 : _b.setSelectedRawOption
49
+ }), /*#__PURE__*/React__default["default"].createElement(schemaInterruptInjector.InterruptInjector, {
50
+ config: (_c = ctx.field.control) === null || _c === void 0 ? void 0 : _c.interrupt
51
+ }, /*#__PURE__*/React__default["default"].createElement(Select__default["default"], null)));
52
+ };
53
+ _proto.renderEditable = function renderEditable(data, ctx) {
54
+ // 首先尝试渲染已选中元素的标题
55
+ var selectedEl = this.renderEditableForStringSelected(data, ctx);
56
+ if (selectedEl) return selectedEl;
57
+ // 随后尝试渲染首次回显元素
58
+ var firstRefillEl = this.renderEditableForStringFirstRefill(data, ctx, {
59
+ dftRender: _ProSelectableField.prototype.renderEditable.bind(this),
60
+ RefillComponent: SelectRefillPlaceholder
61
+ });
62
+ if (firstRefillEl) return firstRefillEl;
63
+ return _ProSelectableField.prototype.renderEditable.call(this, data, ctx, {
64
+ suffix: this.suffixEl
65
+ });
66
+ };
67
+ return ProSelect;
68
+ }(index.ProSelectableField);
69
+ function SelectRefillPlaceholder(props) {
70
+ var _a, _b, _c;
71
+ var _props$data = props.data,
72
+ options = _props$data === void 0 ? [] : _props$data,
73
+ ctx = props.ctx,
74
+ fieldNames = props.fieldNames,
75
+ instance = props.instance;
76
+ var _ref = fieldNames || {},
77
+ _ref$id = _ref.id,
78
+ idFieldKey = _ref$id === void 0 ? 'id' : _ref$id,
79
+ _ref$title = _ref.title,
80
+ titleFieldKey = _ref$title === void 0 ? 'title' : _ref$title;
81
+ try {
82
+ var matchedOpts = options.filter(function (item) {
83
+ return item[idFieldKey] === props.value;
84
+ });
85
+ var displayTitle = (_a = matchedOpts[0]) === null || _a === void 0 ? void 0 : _a[titleFieldKey];
86
+ // 最终是显示字符串,所以直接使用 dftRender 渲染
87
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, (_b = props.dftRender) === null || _b === void 0 ? void 0 : _b.call(props, displayTitle, ctx, {
88
+ suffix: instance.suffixEl
89
+ }));
90
+ } catch (error) {
91
+ console.error('SelectRefillPlaceholder', error);
92
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, (_c = props.dftRender) === null || _c === void 0 ? void 0 : _c.call(props, props.value, ctx, {
93
+ suffix: instance.suffixEl
94
+ }));
95
+ }
96
+ }
97
+ exports.ProSelect = ProSelect;
98
+ exports.SelectRefillPlaceholder = SelectRefillPlaceholder;
@@ -0,0 +1,40 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
17
+ var React = require('react');
18
+ var Slider = require('@hi-ui/slider');
19
+ var base = require('../../../base.js');
20
+ function _interopDefaultCompat(e) {
21
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
22
+ 'default': e
23
+ };
24
+ }
25
+ var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
26
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
27
+ var Slider__default = /*#__PURE__*/_interopDefaultCompat(Slider);
28
+ var ProSlider = /*#__PURE__*/function (_ProField) {
29
+ _inheritsLoose__default["default"](ProSlider, _ProField);
30
+ function ProSlider() {
31
+ return _ProField.apply(this, arguments) || this;
32
+ }
33
+ var _proto = ProSlider.prototype;
34
+ _proto.renderFormItem = function renderFormItem(_, ctx) {
35
+ var fieldProps = this.getFieldProps({}, ctx);
36
+ return /*#__PURE__*/React__default["default"].createElement(Slider__default["default"], Object.assign({}, fieldProps));
37
+ };
38
+ return ProSlider;
39
+ }(base.ProField);
40
+ exports.ProSlider = ProSlider;
@@ -0,0 +1,47 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
17
+ var React = require('react');
18
+ var Switch = require('@hi-ui/switch');
19
+ var schemaInterruptInjector = require('@hi-ui/schema-interrupt-injector');
20
+ var base = require('../../../base.js');
21
+ function _interopDefaultCompat(e) {
22
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
23
+ 'default': e
24
+ };
25
+ }
26
+ var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
27
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
28
+ var Switch__default = /*#__PURE__*/_interopDefaultCompat(Switch);
29
+ var ProSwitch = /*#__PURE__*/function (_ProField) {
30
+ _inheritsLoose__default["default"](ProSwitch, _ProField);
31
+ function ProSwitch() {
32
+ return _ProField.apply(this, arguments) || this;
33
+ }
34
+ var _proto = ProSwitch.prototype;
35
+ _proto.renderFormItem = function renderFormItem(_, ctx) {
36
+ var _a;
37
+ var fieldProps = this.getFieldProps({}, ctx);
38
+ return /*#__PURE__*/React__default["default"].createElement(schemaInterruptInjector.InterruptInjector, {
39
+ config: (_a = ctx.field.control) === null || _a === void 0 ? void 0 : _a.interrupt
40
+ }, /*#__PURE__*/React__default["default"].createElement(Switch__default["default"], Object.assign({}, fieldProps, {
41
+ // Switch 组件的 checked 属性,需要手动绑定
42
+ checked: ctx.formBinding.value
43
+ })));
44
+ };
45
+ return ProSwitch;
46
+ }(base.ProField);
47
+ exports.ProSwitch = ProSwitch;
@@ -0,0 +1,40 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
17
+ var React = require('react');
18
+ var Textarea = require('@hi-ui/textarea');
19
+ var base = require('../../../base.js');
20
+ function _interopDefaultCompat(e) {
21
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
22
+ 'default': e
23
+ };
24
+ }
25
+ var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
26
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
27
+ var Textarea__default = /*#__PURE__*/_interopDefaultCompat(Textarea);
28
+ var ProTextArea = /*#__PURE__*/function (_ProField) {
29
+ _inheritsLoose__default["default"](ProTextArea, _ProField);
30
+ function ProTextArea() {
31
+ return _ProField.apply(this, arguments) || this;
32
+ }
33
+ var _proto = ProTextArea.prototype;
34
+ _proto.renderFormItem = function renderFormItem(_, ctx) {
35
+ var fieldProps = this.getFieldProps({}, ctx);
36
+ return /*#__PURE__*/React__default["default"].createElement(Textarea__default["default"], Object.assign({}, fieldProps));
37
+ };
38
+ return ProTextArea;
39
+ }(base.ProField);
40
+ exports.ProTextArea = ProTextArea;
@@ -0,0 +1,45 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
17
+ var React = require('react');
18
+ var classname = require('@hi-ui/classname');
19
+ var TimePicker = require('@hi-ui/time-picker');
20
+ var base = require('../../../base.js');
21
+ require('./index.scss.js');
22
+ function _interopDefaultCompat(e) {
23
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
24
+ 'default': e
25
+ };
26
+ }
27
+ var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
28
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
29
+ var TimePicker__default = /*#__PURE__*/_interopDefaultCompat(TimePicker);
30
+ var ProTimePicker = /*#__PURE__*/function (_ProField) {
31
+ _inheritsLoose__default["default"](ProTimePicker, _ProField);
32
+ function ProTimePicker() {
33
+ return _ProField.apply(this, arguments) || this;
34
+ }
35
+ var _proto = ProTimePicker.prototype;
36
+ _proto.renderFormItem = function renderFormItem(_, ctx) {
37
+ var fieldProps = this.getFieldProps({}, ctx);
38
+ var className = classname.cx('pro-time-picker', fieldProps.className);
39
+ return /*#__PURE__*/React__default["default"].createElement(TimePicker__default["default"], Object.assign({}, fieldProps, {
40
+ className: className
41
+ }));
42
+ };
43
+ return ProTimePicker;
44
+ }(base.ProField);
45
+ exports.ProTimePicker = ProTimePicker;
@@ -0,0 +1,18 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ Object.defineProperty(exports, '__esModule', {
13
+ value: true
14
+ });
15
+ var css_248z = ".pro-time-picker.hi-v5-time-picker,.pro-time-picker .hi-v5-time-picker__input-wrapper,.pro-time-picker .hi-v5-time-picker__input__wrapper {width: 100%;}.pro-time-picker .hi-v5-time-picker__input-wrapper {-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;}.pro-time-picker .hi-v5-time-picker__input {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;}";
16
+ var __styleInject__ = require('@hi-ui/style-inject')["default"];
17
+ __styleInject__(css_248z);
18
+ exports["default"] = css_248z;
@@ -0,0 +1,61 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
17
+ var React = require('react');
18
+ var TreeSelect = require('@hi-ui/tree-select');
19
+ var schemaOptionInjector = require('@hi-ui/schema-option-injector');
20
+ var index = require('../../../extensible/selectable/index.js');
21
+ function _interopDefaultCompat(e) {
22
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
23
+ 'default': e
24
+ };
25
+ }
26
+ var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
27
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
28
+ var TreeSelect__default = /*#__PURE__*/_interopDefaultCompat(TreeSelect);
29
+ var ProTreeSelect = /*#__PURE__*/function (_ProSelectableField) {
30
+ _inheritsLoose__default["default"](ProTreeSelect, _ProSelectableField);
31
+ function ProTreeSelect() {
32
+ return _ProSelectableField.apply(this, arguments) || this;
33
+ }
34
+ var _proto = ProTreeSelect.prototype;
35
+ _proto.render = function render(data, ctx) {
36
+ var title = this.getOptionTitle(ctx);
37
+ return _ProSelectableField.prototype.render.call(this, title, ctx);
38
+ };
39
+ _proto.renderFormItem = function renderFormItem(_, ctx) {
40
+ var _a, _b;
41
+ var fieldProps = this.getFieldProps({
42
+ overlay: (_a = ctx.field.extra) === null || _a === void 0 ? void 0 : _a.popperProps
43
+ }, ctx);
44
+ // NOTE 实测 searchMode 不传时,无法开启搜索
45
+ // 考虑到是有接口搜索时,会按照关键字过滤,因此默认采用 filter 模式
46
+ if (fieldProps.request) fieldProps.searchMode = 'filter';
47
+ return /*#__PURE__*/React__default["default"].createElement(schemaOptionInjector.AsyncOptsDataInjector, Object.assign({}, fieldProps, {
48
+ renderCtx: ctx,
49
+ setSelectedRawOption: (_b = ctx.field.payload) === null || _b === void 0 ? void 0 : _b.setSelectedRawOption
50
+ }), /*#__PURE__*/React__default["default"].createElement(TreeSelect__default["default"], null));
51
+ };
52
+ _proto.renderEditable = function renderEditable(data, ctx) {
53
+ var dataKey = ctx.dataKey;
54
+ var title = this.getOptionTitle(ctx, dataKey);
55
+ return _ProSelectableField.prototype.renderEditable.call(this, title, ctx, {
56
+ suffix: this.suffixEl
57
+ });
58
+ };
59
+ return ProTreeSelect;
60
+ }(index.ProSelectableField);
61
+ exports.ProTreeSelect = ProTreeSelect;
@@ -0,0 +1,29 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var React = require('react');
17
+ var Upload = require('@hi-ui/upload');
18
+ var index = require('../../../components/upload-bridge/index.js');
19
+ function _interopDefaultCompat(e) {
20
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
21
+ 'default': e
22
+ };
23
+ }
24
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
25
+ var Upload__default = /*#__PURE__*/_interopDefaultCompat(Upload);
26
+ function CommonUpload(props) {
27
+ return /*#__PURE__*/React__default["default"].createElement(index.UploadBridge, Object.assign({}, props), /*#__PURE__*/React__default["default"].createElement(Upload__default["default"], null));
28
+ }
29
+ exports.CommonUpload = CommonUpload;
@@ -0,0 +1,48 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
17
+ var React = require('react');
18
+ var classname = require('@hi-ui/classname');
19
+ var base = require('../../../base.js');
20
+ var custom = require('./custom.js');
21
+ function _interopDefaultCompat(e) {
22
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
23
+ 'default': e
24
+ };
25
+ }
26
+ var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
27
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
28
+ var ProUpload = /*#__PURE__*/function (_ProField) {
29
+ _inheritsLoose__default["default"](ProUpload, _ProField);
30
+ function ProUpload() {
31
+ return _ProField.apply(this, arguments) || this;
32
+ }
33
+ var _proto = ProUpload.prototype;
34
+ _proto.renderFormItem = function renderFormItem(_, ctx) {
35
+ var fieldProps = this.getFieldProps({
36
+ value: undefined
37
+ }, ctx);
38
+ var className = classname.cx('pro-upload', fieldProps.className);
39
+ return /*#__PURE__*/React__default["default"].createElement(custom.CommonUpload
40
+ // pro-upload
41
+ , Object.assign({}, fieldProps, {
42
+ className: className
43
+ }));
44
+ };
45
+ return ProUpload;
46
+ }(base.ProField);
47
+ exports.CommonUpload = custom.CommonUpload;
48
+ exports.ProUpload = ProUpload;
@@ -0,0 +1,39 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
17
+ var React = require('react');
18
+ var numberRange = require('@hi-ui/number-range');
19
+ var base = require('../../../base.js');
20
+ function _interopDefaultCompat(e) {
21
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
22
+ 'default': e
23
+ };
24
+ }
25
+ var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
26
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
27
+ var ProNumberRange = /*#__PURE__*/function (_ProField) {
28
+ _inheritsLoose__default["default"](ProNumberRange, _ProField);
29
+ function ProNumberRange() {
30
+ return _ProField.apply(this, arguments) || this;
31
+ }
32
+ var _proto = ProNumberRange.prototype;
33
+ _proto.renderFormItem = function renderFormItem(_, ctx) {
34
+ var fieldProps = this.getFieldProps({}, ctx);
35
+ return /*#__PURE__*/React__default["default"].createElement(numberRange.NumberRange, Object.assign({}, fieldProps));
36
+ };
37
+ return ProNumberRange;
38
+ }(base.ProField);
39
+ exports.ProNumberRange = ProNumberRange;
@@ -0,0 +1,82 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
17
+ var React = require('react');
18
+ var lodashEs = require('lodash-es');
19
+ var dayjs = require('dayjs');
20
+ var EllipsisTooltip = require('@hi-ui/ellipsis-tooltip');
21
+ var datePicker = require('@hi-ui/date-picker');
22
+ var icons = require('@hi-ui/icons');
23
+ var classname = require('@hi-ui/classname');
24
+ var base = require('../../../base.js');
25
+ var index = require('../../../components/span/index.js');
26
+ function _interopDefaultCompat(e) {
27
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
28
+ 'default': e
29
+ };
30
+ }
31
+ var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
32
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
33
+ var dayjs__default = /*#__PURE__*/_interopDefaultCompat(dayjs);
34
+ var EllipsisTooltip__default = /*#__PURE__*/_interopDefaultCompat(EllipsisTooltip);
35
+ var defaultFormat = 'YYYY-MM-DD HH:mm:ss';
36
+ var ProDate = /*#__PURE__*/function (_ProField) {
37
+ _inheritsLoose__default["default"](ProDate, _ProField);
38
+ function ProDate() {
39
+ var _this;
40
+ _this = _ProField.apply(this, arguments) || this;
41
+ _this.dftFieldProps = {
42
+ format: defaultFormat
43
+ };
44
+ return _this;
45
+ }
46
+ var _proto = ProDate.prototype;
47
+ _proto.render = function render(data, ctx) {
48
+ if (!data) return this.dftDom;
49
+ var date = dayjs__default["default"](data);
50
+ var fieldProps = this.getFieldProps(this.dftFieldProps, ctx);
51
+ var formatted = this.getFormattedText(date, fieldProps);
52
+ // 无效日期展示 -
53
+ if (formatted === 'Invalid Date') return this.dftDom;
54
+ return /*#__PURE__*/React__default["default"].createElement(index.ReadonlyWrapper, null, /*#__PURE__*/React__default["default"].createElement(EllipsisTooltip__default["default"], null, formatted));
55
+ };
56
+ _proto.renderFormItem = function renderFormItem(_, ctx) {
57
+ var _a;
58
+ var fieldProps = this.getFieldProps(Object.assign(Object.assign({}, this.dftFieldProps), {
59
+ overlay: (_a = ctx.field.extra) === null || _a === void 0 ? void 0 : _a.popperProps
60
+ }), ctx);
61
+ return /*#__PURE__*/React__default["default"].createElement(datePicker.DatePicker, Object.assign({}, fieldProps));
62
+ };
63
+ _proto.getFormattedText = function getFormattedText(date, fieldProps) {
64
+ var formatted = typeof fieldProps.format === 'function' ? fieldProps.format(date) : date.format(fieldProps.format || defaultFormat);
65
+ return formatted;
66
+ };
67
+ _proto.getEditablePlaceholder = function getEditablePlaceholder(data, ctx) {
68
+ if (lodashEs.isNil(data)) return '';
69
+ var fieldProps = this.getFieldProps(this.dftFieldProps, ctx);
70
+ return this.getFormattedText(dayjs__default["default"](data), fieldProps);
71
+ };
72
+ _proto.renderEditable = function renderEditable(data, ctx) {
73
+ return _ProField.prototype.renderEditable.call(this, data, ctx, {
74
+ suffix: ( /*#__PURE__*/React__default["default"].createElement(icons.CalendarOutlined, {
75
+ size: 16,
76
+ color: "var(" + classname.getPrefixStyleVar('color-gray-500') + ", #929aa6)"
77
+ }))
78
+ });
79
+ };
80
+ return ProDate;
81
+ }(base.ProField);
82
+ exports.ProDate = ProDate;
@@ -0,0 +1,65 @@
1
+ /** @LICENSE
2
+ * @hi-ui/schema-fields
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/schema/schema-fields#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var _inheritsLoose = require('@babel/runtime/helpers/inheritsLoose');
17
+ var React = require('react');
18
+ var classname = require('@hi-ui/classname');
19
+ var index$1 = require('../../../components/image-preview/index.js');
20
+ var base = require('../../../base.js');
21
+ var index = require('../../../components/span/index.js');
22
+ var upload = require('./upload.js');
23
+ function _interopDefaultCompat(e) {
24
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
25
+ 'default': e
26
+ };
27
+ }
28
+ var _inheritsLoose__default = /*#__PURE__*/_interopDefaultCompat(_inheritsLoose);
29
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
30
+ var ProImage = /*#__PURE__*/function (_ProField) {
31
+ _inheritsLoose__default["default"](ProImage, _ProField);
32
+ function ProImage() {
33
+ return _ProField.apply(this, arguments) || this;
34
+ }
35
+ var _proto = ProImage.prototype;
36
+ _proto.render = function render(data, ctx) {
37
+ var _a;
38
+ if (!data) return this.dftDom;
39
+ if (Array.isArray(data) && data.length === 0) return this.dftDom;
40
+ var dftImages = Array.isArray(data) ? data : [data];
41
+ var fieldProps = this.getFieldProps({}, ctx);
42
+ var images = ((_a = fieldProps.customImages) === null || _a === void 0 ? void 0 : _a.call(fieldProps, dftImages, ctx)) || dftImages;
43
+ return /*#__PURE__*/React__default["default"].createElement(index.ReadonlyWrapper, {
44
+ dataSet: {
45
+ fieldType: ctx.field.valueType
46
+ }
47
+ }, /*#__PURE__*/React__default["default"].createElement(index$1.ImagePreview, {
48
+ images: images
49
+ }));
50
+ };
51
+ _proto.renderFormItem = function renderFormItem(_, ctx) {
52
+ var fieldProps = this.getFieldProps({
53
+ value: undefined
54
+ }, ctx);
55
+ var className = classname.cx('pro-image-upload', fieldProps.className);
56
+ return /*#__PURE__*/React__default["default"].createElement(upload.ImageUpload
57
+ // pro-upload
58
+ , Object.assign({}, fieldProps, {
59
+ className: className
60
+ }));
61
+ };
62
+ return ProImage;
63
+ }(base.ProField);
64
+ exports.ImageUpload = upload.ImageUpload;
65
+ exports.ProImage = ProImage;