@nokecy/qc-ui 1.1.74 → 1.1.75

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 (46) hide show
  1. package/dist/cjs/dialogSelect/index.d.ts +2 -2
  2. package/dist/cjs/dialogSelect/index.js +65 -10
  3. package/dist/cjs/entitySelect/index.d.ts +57 -0
  4. package/dist/cjs/entitySelect/index.js +172 -0
  5. package/dist/cjs/index.d.ts +3 -0
  6. package/dist/cjs/index.js +20 -0
  7. package/dist/cjs/readPretty/arrayTable.d.ts +6 -0
  8. package/dist/cjs/readPretty/arrayTable.js +156 -0
  9. package/dist/cjs/readPretty/controls.d.ts +11 -0
  10. package/dist/cjs/readPretty/controls.js +68 -0
  11. package/dist/cjs/readPretty/decimal.d.ts +4 -0
  12. package/dist/cjs/readPretty/decimal.js +28 -0
  13. package/dist/cjs/readPretty/formily.d.ts +2 -0
  14. package/dist/cjs/readPretty/formily.js +71 -0
  15. package/dist/cjs/readPretty/hoistStatics.d.ts +1 -0
  16. package/dist/cjs/readPretty/hoistStatics.js +37 -0
  17. package/dist/cjs/readPretty/index.d.ts +11 -0
  18. package/dist/cjs/readPretty/index.js +70 -0
  19. package/dist/cjs/readPretty/selectValue.d.ts +7 -0
  20. package/dist/cjs/readPretty/selectValue.js +60 -0
  21. package/dist/cjs/readPretty/values.d.ts +4 -0
  22. package/dist/cjs/readPretty/values.js +49 -0
  23. package/dist/esm/dialogSelect/index.d.ts +2 -2
  24. package/dist/esm/dialogSelect/index.js +59 -4
  25. package/dist/esm/entitySelect/index.d.ts +57 -0
  26. package/dist/esm/entitySelect/index.js +164 -0
  27. package/dist/esm/index.d.ts +3 -0
  28. package/dist/esm/index.js +2 -0
  29. package/dist/esm/readPretty/arrayTable.d.ts +6 -0
  30. package/dist/esm/readPretty/arrayTable.js +147 -0
  31. package/dist/esm/readPretty/controls.d.ts +11 -0
  32. package/dist/esm/readPretty/controls.js +62 -0
  33. package/dist/esm/readPretty/decimal.d.ts +4 -0
  34. package/dist/esm/readPretty/decimal.js +22 -0
  35. package/dist/esm/readPretty/formily.d.ts +2 -0
  36. package/dist/esm/readPretty/formily.js +63 -0
  37. package/dist/esm/readPretty/hoistStatics.d.ts +1 -0
  38. package/dist/esm/readPretty/hoistStatics.js +31 -0
  39. package/dist/esm/readPretty/index.d.ts +11 -0
  40. package/dist/esm/readPretty/index.js +12 -0
  41. package/dist/esm/readPretty/selectValue.d.ts +7 -0
  42. package/dist/esm/readPretty/selectValue.js +53 -0
  43. package/dist/esm/readPretty/values.d.ts +4 -0
  44. package/dist/esm/readPretty/values.js +43 -0
  45. package/dist/umd/qc-ui.min.js +1 -1
  46. package/package.json +1 -1
@@ -0,0 +1,53 @@
1
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
5
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
7
+ import { isValidElement } from 'react';
8
+
9
+ /** 提取选择项的标量编码,兼容嵌套 labelInValue;保留编码 0 和显式空字符串选项。@author nokecy */
10
+ export function selectCode(value) {
11
+ var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
12
+ if (typeof value === 'string') return value;
13
+ if (typeof value === 'number') return Number.isFinite(value) ? value : undefined;
14
+ if (!value || _typeof(value) !== 'object' || depth >= 8 || /*#__PURE__*/isValidElement(value)) return undefined;
15
+ return selectCode(value.value, depth + 1);
16
+ }
17
+
18
+ /** 标签只输出可渲染内容;选择项对象取名称后再回落编码,避免 React 对象子节点异常。@author nokecy */
19
+ export function selectLabel(value) {
20
+ var _selectLabel;
21
+ var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
22
+ if (value == null || typeof value === 'boolean' || depth >= 8) return undefined;
23
+ if (typeof value === 'string' || typeof value === 'number' || /*#__PURE__*/isValidElement(value)) return value;
24
+ if (Array.isArray(value)) return value.map(function (item) {
25
+ return selectLabel(item, depth + 1);
26
+ });
27
+ if (_typeof(value) !== 'object') return undefined;
28
+ var item = value;
29
+ return (_selectLabel = selectLabel(item.label, depth + 1)) !== null && _selectLabel !== void 0 ? _selectLabel : selectLabel(item.value, depth + 1);
30
+ }
31
+
32
+ /** 单选、多选与阅读态共用同一值形状;名称缺省时保留组件按选项查名称的行为。@author nokecy */
33
+ export function normalizeSelectValue(value, labelInValue) {
34
+ var _selectLabel2;
35
+ if (Array.isArray(value)) return value.map(function (item) {
36
+ return normalizeSelectValue(item, labelInValue);
37
+ }).filter(function (item) {
38
+ return item !== undefined;
39
+ });
40
+ var code = selectCode(value);
41
+ if (code === undefined) return undefined;
42
+ if (!labelInValue) return code;
43
+ if (!value || _typeof(value) !== 'object') return {
44
+ value: code
45
+ };
46
+ var item = value;
47
+ var label = (_selectLabel2 = selectLabel(item.label)) !== null && _selectLabel2 !== void 0 ? _selectLabel2 : _typeof(item.value) === 'object' ? selectLabel(item.value) : undefined;
48
+ return _objectSpread({
49
+ value: code
50
+ }, label !== undefined ? {
51
+ label: label
52
+ } : {});
53
+ }
@@ -0,0 +1,4 @@
1
+ /** 阅读态选择项展开,保留分组内选项及自定义字段名。@author nokecy */
2
+ export declare function flattenOptions(options?: any[], fieldNames?: any): any[];
3
+ /** 保留0和空选项标签;有 labelInValue 时优先使用已加载的名称。@author nokecy */
4
+ export declare function selectedLabels(value: any, options: any[], labelInValue?: boolean): any;
@@ -0,0 +1,43 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ import { normalizeSelectValue, selectLabel } from "./selectValue";
3
+
4
+ /** 阅读态选择项展开,保留分组内选项及自定义字段名。@author nokecy */
5
+ export function flattenOptions() {
6
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
7
+ var fieldNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
8
+ var _ref = fieldNames || {},
9
+ _ref$label = _ref.label,
10
+ label = _ref$label === void 0 ? 'label' : _ref$label,
11
+ _ref$value = _ref.value,
12
+ value = _ref$value === void 0 ? 'value' : _ref$value,
13
+ _ref$options = _ref.options,
14
+ children = _ref$options === void 0 ? 'options' : _ref$options;
15
+ return options.flatMap(function (option) {
16
+ return _typeof(option) === 'object' && option !== null ? option[children] ? flattenOptions(option[children], fieldNames) : [{
17
+ value: option[value],
18
+ label: option[label]
19
+ }] : [{
20
+ value: option,
21
+ label: option
22
+ }];
23
+ });
24
+ }
25
+
26
+ /** 保留0和空选项标签;有 labelInValue 时优先使用已加载的名称。@author nokecy */
27
+ export function selectedLabels(value, options, labelInValue) {
28
+ if (value == null || value === '' || Array.isArray(value) && !value.length) return '—';
29
+ var normalized = labelInValue ? normalizeSelectValue(value, true) : value;
30
+ var values = Array.isArray(normalized) ? normalized : normalized == null ? [] : [normalized];
31
+ if (!values.length) return '—';
32
+ var labels = values.map(function (item) {
33
+ var _ref2, _selectLabel, _options$find, _item$label;
34
+ var raw = labelInValue ? item.value : item;
35
+ return (_ref2 = (_selectLabel = selectLabel((_options$find = options.find(function (option) {
36
+ return option.value === raw;
37
+ })) === null || _options$find === void 0 ? void 0 : _options$find.label)) !== null && _selectLabel !== void 0 ? _selectLabel : selectLabel(labelInValue ? (_item$label = item.label) !== null && _item$label !== void 0 ? _item$label : raw : raw)) !== null && _ref2 !== void 0 ? _ref2 : '—';
38
+ });
39
+ // 选项标签可以是React节点,交由调用组件按顺序渲染。
40
+ return labels.flatMap(function (label, index) {
41
+ return index ? ['、', label] : [label];
42
+ });
43
+ }