tntd 3.0.12 → 3.0.13-beta.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 (172) hide show
  1. package/es/button/button.js +1 -1
  2. package/es/button/button.js.map +1 -1
  3. package/es/card/card.js +1 -1
  4. package/es/card/card.js.map +1 -1
  5. package/es/descriptions/descriptions.js +1 -1
  6. package/es/descriptions/descriptions.js.map +1 -1
  7. package/es/drawer/drawer.js +1 -1
  8. package/es/drawer/drawer.js.map +1 -1
  9. package/es/empty/empty.js +1 -1
  10. package/es/empty/empty.js.map +1 -1
  11. package/es/exception/exception.js +1 -1
  12. package/es/exception/exception.js.map +1 -1
  13. package/es/form/form.js +1 -1
  14. package/es/form/form.js.map +1 -1
  15. package/es/input/input.js +6 -6
  16. package/es/input/input.js.map +1 -1
  17. package/es/input-number/inputNumber.js +3 -3
  18. package/es/input-number/inputNumber.js.map +1 -1
  19. package/es/label/index.js +1 -1
  20. package/es/label/index.js.map +1 -1
  21. package/es/modal/modal.js +1 -1
  22. package/es/modal/modal.js.map +1 -1
  23. package/es/query-form/Field/Checkbox.js +1 -1
  24. package/es/query-form/Field/Checkbox.js.map +1 -1
  25. package/es/query-form/Field/Composition/FieldPopover.js +347 -0
  26. package/es/query-form/Field/Composition/FieldPopover.js.map +1 -0
  27. package/es/query-form/Field/Composition/FieldPopover.less +35 -0
  28. package/es/query-form/Field/Composition/Select.js +107 -0
  29. package/es/query-form/Field/Composition/Select.js.map +1 -0
  30. package/es/query-form/Field/Composition/index.js +208 -0
  31. package/es/query-form/Field/Composition/index.js.map +1 -0
  32. package/es/query-form/Field/Composition/index.less +118 -0
  33. package/es/query-form/Field/Composition/utils.js +132 -0
  34. package/es/query-form/Field/Composition/utils.js.map +1 -0
  35. package/es/query-form/Field/SelectInput.js +22 -4
  36. package/es/query-form/Field/SelectInput.js.map +1 -1
  37. package/es/query-form/Field/fieldsMap.js +2 -2
  38. package/es/query-form/Field/fieldsMap.js.map +1 -1
  39. package/es/query-form/Field/index.js +1 -0
  40. package/es/query-form/Field/index.js.map +1 -1
  41. package/es/query-form/index.js +152 -332
  42. package/es/query-form/index.js.map +1 -1
  43. package/es/query-form/index.less +18 -60
  44. package/es/query-form-v2/index.less +133 -0
  45. package/es/query-form-v3/Field/Composition/FieldPopover.js +41 -24
  46. package/es/query-form-v3/Field/Composition/FieldPopover.js.map +1 -1
  47. package/es/query-list-scene/List.js +14 -1
  48. package/es/query-list-scene/List.js.map +1 -1
  49. package/es/query-list-scene/QueryForm.js +6 -3
  50. package/es/query-list-scene/QueryForm.js.map +1 -1
  51. package/es/render-empty/render-empty.js +1 -1
  52. package/es/render-empty/render-empty.js.map +1 -1
  53. package/es/select/select.js +3 -3
  54. package/es/select/select.js.map +1 -1
  55. package/es/steps/steps.js +1 -1
  56. package/es/steps/steps.js.map +1 -1
  57. package/es/table/table.js +1 -1
  58. package/es/table/table.js.map +1 -1
  59. package/es/tabs/tabs.js +1 -1
  60. package/es/tabs/tabs.js.map +1 -1
  61. package/es/tag/tag.js +1 -1
  62. package/es/tag/tag.js.map +1 -1
  63. package/es/tntd-cascader/rc-cascader/Cascader.js +2 -2
  64. package/es/tntd-cascader/rc-cascader/Cascader.js.map +1 -1
  65. package/es/tntd-rc-select/index.js +2 -2
  66. package/es/tntd-rc-select/index.js.map +1 -1
  67. package/es/tntd-select/index.js +24 -13
  68. package/es/tntd-select/index.js.map +1 -1
  69. package/es/tntd-virtual-tree/index.less +3 -1
  70. package/es/tntd-virtual-tree-select/index.js +12 -7
  71. package/es/tntd-virtual-tree-select/index.js.map +1 -1
  72. package/es/tntd-virtual-tree-select/utils.js +34 -0
  73. package/es/tntd-virtual-tree-select/utils.js.map +1 -1
  74. package/es/tooltip/tooltip.js +1 -1
  75. package/es/tooltip/tooltip.js.map +1 -1
  76. package/lib/button/button.js +1 -1
  77. package/lib/button/button.js.map +1 -1
  78. package/lib/card/card.js +1 -1
  79. package/lib/card/card.js.map +1 -1
  80. package/lib/descriptions/descriptions.js +1 -1
  81. package/lib/descriptions/descriptions.js.map +1 -1
  82. package/lib/drawer/drawer.js +1 -1
  83. package/lib/drawer/drawer.js.map +1 -1
  84. package/lib/empty/empty.js +1 -1
  85. package/lib/empty/empty.js.map +1 -1
  86. package/lib/exception/exception.js +1 -1
  87. package/lib/exception/exception.js.map +1 -1
  88. package/lib/form/form.js +1 -1
  89. package/lib/form/form.js.map +1 -1
  90. package/lib/input/input.js +6 -6
  91. package/lib/input/input.js.map +1 -1
  92. package/lib/input-number/inputNumber.js +3 -3
  93. package/lib/input-number/inputNumber.js.map +1 -1
  94. package/lib/label/index.js +1 -1
  95. package/lib/label/index.js.map +1 -1
  96. package/lib/modal/modal.js +1 -1
  97. package/lib/modal/modal.js.map +1 -1
  98. package/lib/query-form/Field/Checkbox.js +1 -1
  99. package/lib/query-form/Field/Checkbox.js.map +1 -1
  100. package/lib/query-form/Field/Composition/FieldPopover.d.ts +19 -0
  101. package/lib/query-form/Field/Composition/FieldPopover.d.ts.map +1 -0
  102. package/lib/query-form/Field/Composition/FieldPopover.js +381 -0
  103. package/lib/query-form/Field/Composition/FieldPopover.js.map +1 -0
  104. package/lib/query-form/Field/Composition/FieldPopover.less +35 -0
  105. package/lib/query-form/Field/Composition/Select.d.ts +4 -0
  106. package/lib/query-form/Field/Composition/Select.d.ts.map +1 -0
  107. package/lib/query-form/Field/Composition/Select.js +131 -0
  108. package/lib/query-form/Field/Composition/Select.js.map +1 -0
  109. package/lib/query-form/Field/Composition/index.d.ts +10 -0
  110. package/lib/query-form/Field/Composition/index.d.ts.map +1 -0
  111. package/lib/query-form/Field/Composition/index.js +255 -0
  112. package/lib/query-form/Field/Composition/index.js.map +1 -0
  113. package/lib/query-form/Field/Composition/index.less +118 -0
  114. package/lib/query-form/Field/Composition/utils.d.ts +22 -0
  115. package/lib/query-form/Field/Composition/utils.d.ts.map +1 -0
  116. package/lib/query-form/Field/Composition/utils.js +147 -0
  117. package/lib/query-form/Field/Composition/utils.js.map +1 -0
  118. package/lib/query-form/Field/SelectInput.d.ts.map +1 -1
  119. package/lib/query-form/Field/SelectInput.js +15 -3
  120. package/lib/query-form/Field/SelectInput.js.map +1 -1
  121. package/lib/query-form/Field/fieldsMap.d.ts +6 -3
  122. package/lib/query-form/Field/fieldsMap.js +2 -2
  123. package/lib/query-form/Field/fieldsMap.js.map +1 -1
  124. package/lib/query-form/Field/index.d.ts.map +1 -1
  125. package/lib/query-form/Field/index.js +1 -0
  126. package/lib/query-form/Field/index.js.map +1 -1
  127. package/lib/query-form/index.d.ts +15 -27
  128. package/lib/query-form/index.d.ts.map +1 -1
  129. package/lib/query-form/index.js +172 -357
  130. package/lib/query-form/index.js.map +1 -1
  131. package/lib/query-form/index.less +18 -60
  132. package/lib/query-form-v2/index.less +133 -0
  133. package/lib/query-form-v3/Field/Composition/FieldPopover.js +53 -42
  134. package/lib/query-form-v3/Field/Composition/FieldPopover.js.map +1 -1
  135. package/lib/query-list-scene/List.d.ts.map +1 -1
  136. package/lib/query-list-scene/List.js +15 -1
  137. package/lib/query-list-scene/List.js.map +1 -1
  138. package/lib/query-list-scene/QueryForm.d.ts +1 -1
  139. package/lib/query-list-scene/QueryForm.d.ts.map +1 -1
  140. package/lib/query-list-scene/QueryForm.js +9 -7
  141. package/lib/query-list-scene/QueryForm.js.map +1 -1
  142. package/lib/render-empty/render-empty.js +1 -1
  143. package/lib/render-empty/render-empty.js.map +1 -1
  144. package/lib/select/select.js +3 -3
  145. package/lib/select/select.js.map +1 -1
  146. package/lib/steps/steps.js +1 -1
  147. package/lib/steps/steps.js.map +1 -1
  148. package/lib/table/table.js +1 -1
  149. package/lib/table/table.js.map +1 -1
  150. package/lib/tabs/tabs.js +1 -1
  151. package/lib/tabs/tabs.js.map +1 -1
  152. package/lib/tag/tag.js +1 -1
  153. package/lib/tag/tag.js.map +1 -1
  154. package/lib/tntd-cascader/rc-cascader/Cascader.js +2 -2
  155. package/lib/tntd-cascader/rc-cascader/Cascader.js.map +1 -1
  156. package/lib/tntd-rc-select/index.js +2 -2
  157. package/lib/tntd-rc-select/index.js.map +1 -1
  158. package/lib/tntd-select/index.d.ts +3 -62
  159. package/lib/tntd-select/index.d.ts.map +1 -1
  160. package/lib/tntd-select/index.js +22 -12
  161. package/lib/tntd-select/index.js.map +1 -1
  162. package/lib/tntd-virtual-tree/index.less +3 -1
  163. package/lib/tntd-virtual-tree-select/index.d.ts.map +1 -1
  164. package/lib/tntd-virtual-tree-select/index.js +17 -6
  165. package/lib/tntd-virtual-tree-select/index.js.map +1 -1
  166. package/lib/tntd-virtual-tree-select/utils.d.ts +2 -0
  167. package/lib/tntd-virtual-tree-select/utils.d.ts.map +1 -1
  168. package/lib/tntd-virtual-tree-select/utils.js +38 -1
  169. package/lib/tntd-virtual-tree-select/utils.js.map +1 -1
  170. package/lib/tooltip/tooltip.js +1 -1
  171. package/lib/tooltip/tooltip.js.map +1 -1
  172. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-rc-select/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// TODO: 4.0 - codemod should help to change `filterOption` to support node props.\n\nimport classNames from 'classnames'\nimport type { SelectProps as RcSelectProps } from 'rc-select'\nimport RcSelect, { BaseSelectRef, OptGroup, Option } from 'rc-select'\nimport type { OptionProps } from 'rc-select/lib/Option'\nimport type { BaseOptionType, DefaultOptionType } from 'rc-select/lib/Select'\nimport omit from 'rc-util/lib/omit'\nimport * as React from 'react'\nimport { useContext } from 'react'\nimport { ConfigContext } from './_util/context'\nimport defaultRenderEmpty from './_util/defaultRenderEmpty'\nimport DisabledContext from '../config-provider/DisabledContext'\nimport type { SizeType } from '../config-provider/SizeContext'\nimport SizeContext from '../config-provider/SizeContext'\nimport { FormItemInputContext } from './_util/FormItemInputContext'\nimport type { SelectCommonPlacement } from './_util/motion'\nimport { getTransitionDirection, getTransitionName } from './_util/motion'\nimport getIcons from './_util/getIcons'\nimport warning from './_util/warning'\nimport { useCompactItemContext } from './_util/useCompactItemContext'\nimport { getLanguage, getText } from '../prev-locale'\n\nimport './style/index.less'\n\nconst defaultPlacehlder = getText('select', getLanguage())\ntype RawValue = string | number\n\nexport { OptionProps, BaseSelectRef as RefSelectProps, BaseOptionType, DefaultOptionType }\n\nexport interface LabeledValue {\n key?: string\n value: RawValue\n label: React.ReactNode\n}\n\nexport type SelectValue = RawValue | RawValue[] | LabeledValue | LabeledValue[] | undefined\n\nexport interface InternalSelectProps<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n> extends Omit<RcSelectProps<ValueType, OptionType>, 'mode'> {\n suffixIcon?: React.ReactNode\n size?: SizeType\n disabled?: boolean\n mode?: 'multiple' | 'tags' | 'SECRET_COMBOBOX_MODE_DO_NOT_USE'\n bordered?: boolean\n}\n\nexport interface SelectProps<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n> extends Omit<\n InternalSelectProps<ValueType, OptionType>,\n 'inputIcon' | 'mode' | 'getInputElement' | 'getRawInputElement' | 'backfill' | 'placement'\n > {\n placement?: SelectCommonPlacement\n mode?: 'multiple' | 'tags'\n // status?: InputStatus;\n /**\n * @deprecated `dropdownClassName` is deprecated which will be removed in next major\n * version.Please use `popupClassName` instead.\n */\n dropdownClassName?: string\n popupClassName?: string\n}\n\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE'\n\nconst InternalSelect = <OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(\n {\n prefixCls: customizePrefixCls,\n bordered = true,\n className,\n getPopupContainer,\n dropdownClassName,\n popupClassName,\n listHeight = 256,\n placement,\n listItemHeight = 24,\n size: customizeSize,\n disabled: customDisabled,\n notFoundContent,\n // status: customStatus,\n showArrow,\n ...props\n }: SelectProps<OptionType>,\n ref: React.Ref<BaseSelectRef>\n) => {\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction,\n virtual,\n dropdownMatchSelectWidth,\n } = React.useContext(ConfigContext)\n const size = React.useContext(SizeContext)\n\n const prefixCls = getPrefixCls('select', customizePrefixCls)\n\n const rootPrefixCls = getPrefixCls()\n\n const { compactSize, compactItemClassnames } = useCompactItemContext(prefixCls, direction)\n\n const mode = React.useMemo(() => {\n const { mode: m } = props as InternalSelectProps<OptionType>\n\n if ((m as any) === 'combobox') {\n return undefined\n }\n\n if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {\n return 'combobox'\n }\n\n return m\n }, [props.mode])\n\n const isMultiple = mode === 'multiple' || mode === 'tags'\n const mergedShowArrow =\n showArrow !== undefined ? showArrow : props.loading || !(isMultiple || mode === 'combobox')\n\n // =================== Warning =====================\n warning(\n !dropdownClassName,\n 'Select',\n '`dropdownClassName` is deprecated which will be removed in next major version. Please use `popupClassName` instead.'\n )\n\n // ===================== Form Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n isFormItemInput,\n feedbackIcon,\n } = useContext(FormItemInputContext)\n // const mergedStatus = getMergedStatus(contextStatus, customStatus);\n\n // ===================== Empty =====================\n let mergedNotFound: React.ReactNode\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent\n } else if (mode === 'combobox') {\n mergedNotFound = null\n } else {\n mergedNotFound = (renderEmpty || defaultRenderEmpty)('Select')\n }\n\n // ===================== Icons =====================\n const { suffixIcon, itemIcon, removeIcon, clearIcon } = getIcons({\n ...props,\n multiple: isMultiple,\n hasFeedback,\n feedbackIcon,\n showArrow: mergedShowArrow,\n prefixCls,\n })\n\n const selectProps = omit(props as typeof props & { itemIcon: any }, ['suffixIcon', 'itemIcon'])\n\n const rcSelectRtlDropdownClassName = classNames(popupClassName || dropdownClassName, {\n [`${prefixCls}-dropdown-${direction}`]: direction === 'rtl',\n })\n\n const mergedSize = compactSize || customizeSize || size\n\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext)\n const mergedDisabled = customDisabled ?? disabled\n\n const mergedClassName = classNames(\n {\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-in-form-item`]: isFormItemInput,\n },\n // prefixCls||hasFeedback,\n // getStatusClassNames(prefixCls, mergedStatus, hasFeedback),\n compactItemClassnames,\n className\n )\n\n // ===================== Placement =====================\n const getPlacement = () => {\n if (placement !== undefined) {\n return placement\n }\n return direction === 'rtl'\n ? ('bottomRight' as SelectCommonPlacement)\n : ('bottomLeft' as SelectCommonPlacement)\n }\n\n return (\n <RcSelect<any, any>\n ref={ref as any}\n virtual={virtual}\n dropdownMatchSelectWidth={dropdownMatchSelectWidth}\n placeholder={defaultPlacehlder}\n {...selectProps}\n transitionName={getTransitionName(\n rootPrefixCls,\n getTransitionDirection(placement),\n props.transitionName\n )}\n listHeight={listHeight}\n listItemHeight={listItemHeight}\n mode={mode as any}\n prefixCls={prefixCls}\n placement={getPlacement()}\n direction={direction}\n inputIcon={suffixIcon}\n menuItemSelectedIcon={itemIcon}\n removeIcon={removeIcon}\n clearIcon={clearIcon}\n notFoundContent={mergedNotFound}\n className={mergedClassName}\n getPopupContainer={getPopupContainer || getContextPopupContainer}\n dropdownClassName={rcSelectRtlDropdownClassName}\n showArrow={hasFeedback || showArrow}\n disabled={mergedDisabled}\n />\n )\n}\n\nconst TntdRcSelect = React.forwardRef(InternalSelect) as unknown as (<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n>(\n props: React.PropsWithChildren<SelectProps<ValueType, OptionType>> & {\n ref?: React.Ref<BaseSelectRef>\n }\n) => React.ReactElement) & {\n SECRET_COMBOBOX_MODE_DO_NOT_USE: string\n Option: typeof Option\n OptGroup: typeof OptGroup\n}\n\nTntdRcSelect.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE\nTntdRcSelect.Option = Option\nTntdRcSelect.OptGroup = OptGroup\n\nexport default TntdRcSelect\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-rc-select/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// TODO: 4.0 - codemod should help to change `filterOption` to support node props.\n\nimport classNames from 'classnames'\nimport type { SelectProps as RcSelectProps } from 'rc-select'\nimport RcSelect, { BaseSelectRef, OptGroup, Option } from 'rc-select'\nimport type { OptionProps } from 'rc-select/lib/Option'\nimport type { BaseOptionType, DefaultOptionType } from 'rc-select/lib/Select'\nimport omit from 'rc-util/lib/omit'\nimport * as React from 'react'\nimport { useContext } from 'react'\nimport { ConfigContext } from './_util/context'\nimport defaultRenderEmpty from './_util/defaultRenderEmpty'\nimport DisabledContext from '../config-provider/DisabledContext'\nimport type { SizeType } from '../config-provider/SizeContext'\nimport SizeContext from '../config-provider/SizeContext'\nimport { FormItemInputContext } from './_util/FormItemInputContext'\nimport type { SelectCommonPlacement } from './_util/motion'\nimport { getTransitionDirection, getTransitionName } from './_util/motion'\nimport getIcons from './_util/getIcons'\nimport warning from './_util/warning'\nimport { useCompactItemContext } from './_util/useCompactItemContext'\nimport { getLanguage, getText } from '../prev-locale'\n\nimport './style/index.less'\n\nconst defaultPlaceholder = getText('select', getLanguage())\ntype RawValue = string | number\n\nexport { OptionProps, BaseSelectRef as RefSelectProps, BaseOptionType, DefaultOptionType }\n\nexport interface LabeledValue {\n key?: string\n value: RawValue\n label: React.ReactNode\n}\n\nexport type SelectValue = RawValue | RawValue[] | LabeledValue | LabeledValue[] | undefined\n\nexport interface InternalSelectProps<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n> extends Omit<RcSelectProps<ValueType, OptionType>, 'mode'> {\n suffixIcon?: React.ReactNode\n size?: SizeType\n disabled?: boolean\n mode?: 'multiple' | 'tags' | 'SECRET_COMBOBOX_MODE_DO_NOT_USE'\n bordered?: boolean\n}\n\nexport interface SelectProps<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n> extends Omit<\n InternalSelectProps<ValueType, OptionType>,\n 'inputIcon' | 'mode' | 'getInputElement' | 'getRawInputElement' | 'backfill' | 'placement'\n > {\n placement?: SelectCommonPlacement\n mode?: 'multiple' | 'tags'\n // status?: InputStatus;\n /**\n * @deprecated `dropdownClassName` is deprecated which will be removed in next major\n * version.Please use `popupClassName` instead.\n */\n dropdownClassName?: string\n popupClassName?: string\n}\n\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE'\n\nconst InternalSelect = <OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(\n {\n prefixCls: customizePrefixCls,\n bordered = true,\n className,\n getPopupContainer,\n dropdownClassName,\n popupClassName,\n listHeight = 256,\n placement,\n listItemHeight = 24,\n size: customizeSize,\n disabled: customDisabled,\n notFoundContent,\n // status: customStatus,\n showArrow,\n ...props\n }: SelectProps<OptionType>,\n ref: React.Ref<BaseSelectRef>\n) => {\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction,\n virtual,\n dropdownMatchSelectWidth,\n } = React.useContext(ConfigContext)\n const size = React.useContext(SizeContext)\n\n const prefixCls = getPrefixCls('select', customizePrefixCls)\n\n const rootPrefixCls = getPrefixCls()\n\n const { compactSize, compactItemClassnames } = useCompactItemContext(prefixCls, direction)\n\n const mode = React.useMemo(() => {\n const { mode: m } = props as InternalSelectProps<OptionType>\n\n if ((m as any) === 'combobox') {\n return undefined\n }\n\n if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {\n return 'combobox'\n }\n\n return m\n }, [props.mode])\n\n const isMultiple = mode === 'multiple' || mode === 'tags'\n const mergedShowArrow =\n showArrow !== undefined ? showArrow : props.loading || !(isMultiple || mode === 'combobox')\n\n // =================== Warning =====================\n warning(\n !dropdownClassName,\n 'Select',\n '`dropdownClassName` is deprecated which will be removed in next major version. Please use `popupClassName` instead.'\n )\n\n // ===================== Form Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n isFormItemInput,\n feedbackIcon,\n } = useContext(FormItemInputContext)\n // const mergedStatus = getMergedStatus(contextStatus, customStatus);\n\n // ===================== Empty =====================\n let mergedNotFound: React.ReactNode\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent\n } else if (mode === 'combobox') {\n mergedNotFound = null\n } else {\n mergedNotFound = (renderEmpty || defaultRenderEmpty)('Select')\n }\n\n // ===================== Icons =====================\n const { suffixIcon, itemIcon, removeIcon, clearIcon } = getIcons({\n ...props,\n multiple: isMultiple,\n hasFeedback,\n feedbackIcon,\n showArrow: mergedShowArrow,\n prefixCls,\n })\n\n const selectProps = omit(props as typeof props & { itemIcon: any }, ['suffixIcon', 'itemIcon'])\n\n const rcSelectRtlDropdownClassName = classNames(popupClassName || dropdownClassName, {\n [`${prefixCls}-dropdown-${direction}`]: direction === 'rtl',\n })\n\n const mergedSize = compactSize || customizeSize || size\n\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext)\n const mergedDisabled = customDisabled ?? disabled\n\n const mergedClassName = classNames(\n {\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-in-form-item`]: isFormItemInput,\n },\n // prefixCls||hasFeedback,\n // getStatusClassNames(prefixCls, mergedStatus, hasFeedback),\n compactItemClassnames,\n className\n )\n\n // ===================== Placement =====================\n const getPlacement = () => {\n if (placement !== undefined) {\n return placement\n }\n return direction === 'rtl'\n ? ('bottomRight' as SelectCommonPlacement)\n : ('bottomLeft' as SelectCommonPlacement)\n }\n\n return (\n <RcSelect<any, any>\n ref={ref as any}\n virtual={virtual}\n dropdownMatchSelectWidth={dropdownMatchSelectWidth}\n placeholder={defaultPlaceholder}\n {...selectProps}\n transitionName={getTransitionName(\n rootPrefixCls,\n getTransitionDirection(placement),\n props.transitionName\n )}\n listHeight={listHeight}\n listItemHeight={listItemHeight}\n mode={mode as any}\n prefixCls={prefixCls}\n placement={getPlacement()}\n direction={direction}\n inputIcon={suffixIcon}\n menuItemSelectedIcon={itemIcon}\n removeIcon={removeIcon}\n clearIcon={clearIcon}\n notFoundContent={mergedNotFound}\n className={mergedClassName}\n getPopupContainer={getPopupContainer || getContextPopupContainer}\n dropdownClassName={rcSelectRtlDropdownClassName}\n showArrow={hasFeedback || showArrow}\n disabled={mergedDisabled}\n />\n )\n}\n\nconst TntdRcSelect = React.forwardRef(InternalSelect) as unknown as (<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n>(\n props: React.PropsWithChildren<SelectProps<ValueType, OptionType>> & {\n ref?: React.Ref<BaseSelectRef>\n }\n) => React.ReactElement) & {\n SECRET_COMBOBOX_MODE_DO_NOT_USE: string\n Option: typeof Option\n OptGroup: typeof OptGroup\n}\n\nTntdRcSelect.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE\nTntdRcSelect.Option = Option\nTntdRcSelect.OptGroup = OptGroup\n\nexport default TntdRcSelect\n"]}
@@ -7,14 +7,15 @@ var __rest = this && this.__rest || function (s, e) {
7
7
  return t;
8
8
  };
9
9
  import React, { PureComponent } from 'react';
10
- import Empty from '../empty';
10
+ import { ConfigConsumer } from '../config-provider';
11
11
  import Select from '../select';
12
+ import Empty from '../empty';
12
13
  import Spin from '../spin';
13
14
  import { capitalizeFirstLetter } from '../utils';
14
15
  import DropDownWrap from './DropDownWrap';
15
16
  import { getLanguage, getText } from '../prev-locale';
16
17
  import './index.less';
17
- const defaultPlacehlder = getText('select', getLanguage());
18
+ const defaultPlaceholder = getText('select', getLanguage());
18
19
  // 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER
19
20
  const ITEM_ELEMENT_NUMBER = 30;
20
21
  // Select size 配置
@@ -239,7 +240,7 @@ class SuperSelect extends PureComponent {
239
240
  }
240
241
  });
241
242
  // 须使用 setTimeout 确保在 dom 加载完成之后添加事件
242
- Object.defineProperty(this, "setSuperDrowDownMenu", {
243
+ Object.defineProperty(this, "setSuperDropDownMenu", {
243
244
  enumerable: true,
244
245
  configurable: true,
245
246
  writable: true,
@@ -290,7 +291,7 @@ class SuperSelect extends PureComponent {
290
291
  // 如果已有 value, 设置默认滚动位置
291
292
  this.setDefaultScrollTop();
292
293
  // 设置下拉列表显示数据
293
- this.setSuperDrowDownMenu(visible);
294
+ this.setSuperDropDownMenu(visible);
294
295
  } else if (!value && value !== 0 && children && children.length > 0) {
295
296
  // 无数据时,下拉回归至第一个
296
297
  const val = children[0].props.value;
@@ -330,7 +331,7 @@ class SuperSelect extends PureComponent {
330
331
  filterChildren: null
331
332
  }, () => {
332
333
  // 搜索成功后重新设置列表的总高度
333
- this.setSuperDrowDownMenu(true);
334
+ this.setSuperDropDownMenu(true);
334
335
  });
335
336
  }
336
337
  }
@@ -390,7 +391,7 @@ class SuperSelect extends PureComponent {
390
391
  this.scrollEle.scrollTo(0, 0);
391
392
  }
392
393
  // 搜索成功后需要重新设置列表的总高度
393
- this.setSuperDrowDownMenu(true);
394
+ this.setSuperDropDownMenu(true);
394
395
  }, 0);
395
396
  });
396
397
  }
@@ -516,7 +517,7 @@ class SuperSelect extends PureComponent {
516
517
  if (!value) {
517
518
  this.scrollTop = 0;
518
519
  this.scrollEle && this.scrollEle.scrollTo(0, 0);
519
- this.setSuperDrowDownMenu(true);
520
+ this.setSuperDropDownMenu(true);
520
521
  }
521
522
  this.formulaWidth();
522
523
  if (!this.inputEle) {
@@ -548,10 +549,11 @@ class SuperSelect extends PureComponent {
548
549
  dropdownStyle,
549
550
  optionLabelProp,
550
551
  dropdownClassName,
551
- placeholder = defaultPlacehlder,
552
- capitalize
552
+ placeholder = defaultPlaceholder,
553
+ capitalize,
554
+ renderEmpty
553
555
  } = _a,
554
- props = __rest(_a, ["dropdownStyle", "optionLabelProp", "dropdownClassName", "placeholder", "capitalize"]);
556
+ props = __rest(_a, ["dropdownStyle", "optionLabelProp", "dropdownClassName", "placeholder", "capitalize", "renderEmpty"]);
555
557
  this.allList = this.getUseChildrenList();
556
558
  this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
557
559
  const {
@@ -606,7 +608,7 @@ class SuperSelect extends PureComponent {
606
608
  if (this.allList.length === 0) {
607
609
  return React.createElement("div", {
608
610
  className: "tntd-select-empty-container"
609
- }, React.createElement(Empty, {
611
+ }, renderEmpty ? renderEmpty('Select') : React.createElement(Empty, {
610
612
  image: Empty.PRESENTED_IMAGE_SIMPLE
611
613
  }));
612
614
  }
@@ -625,5 +627,14 @@ class SuperSelect extends PureComponent {
625
627
  }), this.allList);
626
628
  }
627
629
  }
628
- SuperSelect.Option = Option;
629
- export default SuperSelect;
630
+ function TntdSelect(props) {
631
+ return React.createElement(ConfigConsumer, null, ({
632
+ renderEmpty
633
+ }) => {
634
+ return React.createElement(SuperSelect, Object.assign({}, props, {
635
+ renderEmpty: renderEmpty
636
+ }));
637
+ });
638
+ }
639
+ TntdSelect.Option = Option;
640
+ export default TntdSelect;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react'\nimport Empty from '../empty'\nimport Select from '../select'\nimport Spin from '../spin'\nimport { capitalizeFirstLetter } from '../utils'\nimport DropDownWrap from './DropDownWrap'\nimport { getLanguage, getText } from '../prev-locale'\nimport './index.less'\n\nconst defaultPlacehlder = getText('select', getLanguage())\n\n// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER\nconst ITEM_ELEMENT_NUMBER = 30\n// Select size 配置\nconst ITEM_HEIGHT_CFG = {\n small: 24,\n large: 40,\n default: 32,\n}\n\nconst ARROW_CODE = {\n 40: 'down',\n 38: 'up',\n}\n\nconst DROPDOWN_HEIGHT = 224\n\nconst Option = Select.Option\n\nclass SuperSelect extends PureComponent {\n constructor(props) {\n super(props)\n\n const { mode, defaultValue, value, optionHeight, children: arr } = props\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n const children = this.turnChildren(arr)\n\n // 设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n\n this.state = {\n children: children || [],\n filterChildren: null, // 筛选后的 options,优先显示,所以清除筛选后手动设为 null\n value: defaultV,\n maxWidth: null,\n selectWidth: null,\n }\n // 下拉菜单项行高\n this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']\n // 可视区 dom 高度\n this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER\n // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表\n this.reactDelta = this.visibleDomHeight / 3\n // 是否拖动滚动条快速滚动状态\n this.isStopReact = false\n // 上一次滚动的 scrollTop 值\n this.prevScrollTop = 0\n // 上一次按下方向键时 scrollTop 值\n this.prevTop = 0\n\n this.scrollTop = 0\n\n // className\n this.dropdownClassName = `dc${+new Date()}`\n\n this.id = `sid${+new Date()}`\n }\n\n componentDidMount() {\n // defaultOpens=true 时添加滚动事件\n setTimeout(() => {\n this.addEvent()\n }, 500)\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n // if (children && children.length > 0) {\n this.formulaWidth()\n // }\n }\n\n turnChildren = (children) => {\n if (!children) return []\n let arr = []\n if (children && children.props) {\n arr.push(children)\n } else {\n children.forEach((item) => {\n if (item) {\n if (item instanceof Array) {\n arr = arr.concat(item)\n } else {\n arr.push(item)\n }\n }\n })\n }\n return arr\n }\n\n formulaWidth = () => {\n // 获取dom设置宽度\n const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props\n const selectDom = document.getElementById(this.id)\n let selectWidth\n if(selectDom){\n selectWidth = selectDom.clientWidth || selectDom.offsetWidth\n }\n let arr = []\n let formulaMaxWidth = 10\n if (!dropdownMatchSelectWidth) {\n formulaMaxWidth = maxWidth || 10\n }\n if (!dropdownMatchSelectWidth && !maxWidth) {\n const children = this.turnChildren(arr2)\n for (let i = 0; i < children.length; i++) {\n const val = children[i].props.children\n const textWidth = this.getTextPixelWith(val)\n arr.push(textWidth.toFixed(2))\n }\n if (arr.length > 0) {\n formulaMaxWidth = Math.max(...arr)\n }\n }\n\n this.setState({\n selectWidth,\n maxWidth: formulaMaxWidth,\n })\n }\n\n // 获取单行文本的像素宽度\n getTextPixelWith = (text, fontStyle = '14px') => {\n let canvas = document.createElement('canvas') // 创建 canvas 画布\n let context = canvas.getContext('2d') // 获取 canvas 绘图上下文环境\n context.font = fontStyle // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度\n let dimension = context.measureText(text) // 测量文字\n return dimension.width\n }\n\n componentDidUpdate(prevProps) {\n const { mode, defaultValue, value, children } = this.props\n let arr = this.turnChildren(children)\n if (prevProps.children !== children) {\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n\n this.setState(\n {\n children: arr || [],\n filterChildren: null,\n },\n () => {\n if (arr && arr.length > 0) {\n // 设置下拉列表显示数据\n if (!value) {\n this.scrollTop = 0\n this.scrollEle && this.scrollEle.scrollTo(0, 0)\n this.setSuperDrowDownMenu(true)\n }\n this.formulaWidth()\n if (!this.inputEle) {\n this.removeEvent()\n this.addEvent()\n }\n }\n }\n )\n }\n if (prevProps.value !== value) {\n // 更新时设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n this.setState({ value: defaultV })\n }\n }\n\n componentWillUnmount() {\n this.removeEvent()\n }\n\n getItemStyle = (i) => ({\n position: 'absolute',\n top: this.ITEM_HEIGHT * i,\n width: '100%',\n height: this.ITEM_HEIGHT,\n })\n\n preventEvent = (e) => {\n e.preventDefault()\n }\n\n addEvent = () => {\n this.scrollEle = document.querySelector(`.${this.dropdownClassName}`)\n // 下拉菜单未展开时元素不存在\n if (!this.scrollEle) return\n\n this.scrollEle.addEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.addEventListener('scroll', this.onScroll, false)\n this.inputEle = document.querySelector(`#${this.id}`)\n\n if (!this.inputEle) return\n this.inputEle.addEventListener('keydown', this.onKeyDown, false)\n }\n\n // 模拟 antd select 按下 上下箭头 键时滚动列表\n onKeyDown = (e) => {\n const { keyCode } = e || {}\n\n setTimeout(() => {\n const activeItem = document.querySelector(\n `.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`\n )\n if (!activeItem) return\n\n const { offsetTop } = activeItem\n const isUp = ARROW_CODE[keyCode] === 'up'\n const isDown = ARROW_CODE[keyCode] === 'down'\n\n // 在所有列表第一行按上键\n if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {\n this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT)\n this.prevTop = this.allHeight\n\n return\n }\n\n // 在所有列表中最后一行按下键\n if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {\n this.scrollEle.scrollTo(0, 0)\n this.prevTop = 0\n\n return\n }\n\n this.prevTop = offsetTop\n // 向下滚动到下拉框最后一行时,向下滚动一行的高度\n if (\n offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&\n isDown\n ) {\n this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT)\n return\n }\n // 向上滚动到下拉框第一一行时,向上滚动一行的高度\n if (offsetTop < this.scrollEle.scrollTop && isUp) {\n this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT)\n }\n }, 100)\n }\n\n onScroll = () => this.throttleByHeight(this.onScrollReal)\n\n onScrollReal = () => {\n this.allList = this.getUseChildrenList()\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n this.prevScrollTop = this.scrollTop\n // 重新渲染列表组件 Wrap\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n this.wrap.reactList(allHeight, startIndex, endIndex)\n }\n\n throttleByHeight = () => {\n this.scrollTop = this.scrollEle.scrollTop\n // 滚动的高度\n let delta = this.prevScrollTop - this.scrollTop\n delta = delta < 0 ? 0 - delta : delta\n\n delta > this.reactDelta && this.onScrollReal()\n }\n\n // 列表可展示所有 children\n getUseChildrenList = () => this.state.filterChildren || this.state.children\n\n getStartAndEndIndex = () => {\n // 滚动后显示在列表可视区中的第一个 item 的 index\n const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0))\n\n const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2\n const endIndex = showIndex + ITEM_ELEMENT_NUMBER\n return { startIndex, endIndex }\n }\n\n // 须使用 setTimeout 确保在 dom 加载完成之后添加事件\n setSuperDrowDownMenu = (visible) => {\n if (!visible) return\n\n this.allList = this.getUseChildrenList()\n\n if (!this.eventTimer || !this.scrollEle) {\n this.eventTimer = setTimeout(() => this.addEvent(), 0)\n } else {\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n // 下拉列表单独重新渲染\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n setTimeout(() => {\n this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex)\n }, 0)\n }\n }\n\n onDropdownVisibleChange = (visible) => {\n const { onDropdownVisibleChange } = this.props\n onDropdownVisibleChange && onDropdownVisibleChange(visible)\n\n const { value, children } = this.state\n // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options\n if (!visible) {\n // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁\n setTimeout(() => {\n this.setState({ filterChildren: null })\n this.setDefaultScrollTop(value)\n }, 100)\n // this.removeEvent();\n } else {\n // this.addEvent();\n if (value) {\n // 如果已有 value, 设置默认滚动位置\n this.setDefaultScrollTop()\n // 设置下拉列表显示数据\n this.setSuperDrowDownMenu(visible)\n } else if (!value && value !== 0 && children && children.length > 0) {\n // 无数据时,下拉回归至第一个\n const val = children[0].props.value\n this.setDefaultScrollTop(val)\n }\n }\n }\n\n onDeselect = (value) => {\n const { onDeselect } = this.props\n onDeselect && onDeselect(value)\n }\n\n // 在搜索重新计算下拉滚动条高度\n onChange = (value, opt) => {\n const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props\n if (showSearch || this.isMultiple) {\n // 搜索模式下选择后是否需要重置搜索状态\n if (autoClearSearchValue !== false) {\n this.setState({ filterChildren: null }, () => {\n // 搜索成功后重新设置列表的总高度\n this.setSuperDrowDownMenu(true)\n })\n }\n }\n\n if (mode === 'multiple') {\n if (value.length <= maxCount) {\n this.setState({ value })\n }\n } else {\n this.setState({ value })\n }\n onChange && onChange(value, opt)\n\n if (mode !== 'multiple') {\n this.select && this.select.blur()\n }\n }\n\n onSearch = (v) => {\n const { showSearch, onSearch, filterOption, children: arr } = this.props\n let children = this.turnChildren(arr)\n if (showSearch && filterOption !== false) {\n // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表\n let filterChildren = null\n if (typeof filterOption === 'function') {\n filterChildren = children.filter((item) => filterOption(v, item))\n } else if (filterOption === undefined) {\n filterChildren = children.filter((item) => this.filterOption(v, item))\n }\n\n // 搜索框有值,去除disabled=true的children\n let newFilterChild = []\n filterChildren &&\n filterChildren.forEach((item, index) => {\n if (!item.props.disabled) {\n newFilterChild.push(item)\n }\n })\n filterChildren = newFilterChild\n\n // 设置下拉列表显示数据\n this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {\n setTimeout(() => {\n // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据\n if (filterChildren && this.scrollEle) {\n this.scrollTop = 0\n this.scrollEle.scrollTo(0, 0)\n }\n // 搜索成功后需要重新设置列表的总高度\n this.setSuperDrowDownMenu(true)\n }, 0)\n })\n }\n onSearch && onSearch(v)\n }\n\n filterOption = (v, option) => {\n // 自定义过滤对应的 option 属性配置\n const filterProps = this.props.optionFilterProp || 'value'\n return `${option.props[filterProps]}`.indexOf(v) >= 0\n }\n\n setDefaultScrollTop = (data) => {\n const { value } = this.state\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n\n let val = data || data === 0 ? data : value\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i]\n const itemValue = item.props.value\n if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {\n const targetScrollTop = i * this.ITEM_HEIGHT\n\n setTimeout(() => {\n if (!this.scrollEle) {\n this.addEvent()\n }\n this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop)\n }, 100)\n return\n }\n }\n }\n\n removeEvent = () => {\n if (!this.scrollEle) return\n this.scrollEle.removeEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.removeEventListener('scroll', this.onScroll, false)\n if (!this.inputEle) return\n this.inputEle.removeEventListener('keydown', this.onKeyDown, false)\n }\n\n render() {\n const { maxWidth, selectWidth } = this.state\n let { dropdownStyle, optionLabelProp, dropdownClassName, placeholder = defaultPlacehlder, capitalize, ...props } =\n this.props\n\n this.allList = this.getUseChildrenList()\n\n this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n let dynamicWidth = maxWidth\n if (this.allList.length === 0 || maxWidth < selectWidth) {\n dynamicWidth = selectWidth\n }\n\n dropdownStyle = {\n maxHeight: `${DROPDOWN_HEIGHT}px`,\n ...dropdownStyle,\n overflow: 'auto',\n position: 'relative',\n maxWidth: dynamicWidth,\n }\n\n const { value } = this.state\n // 判断处于 antd Form 中时不自动设置 value\n const _props = { ...props }\n // 先删除 value,再手动赋值,防止空 value 影响 placeholder\n delete _props.value\n\n // value 为空字符会隐藏 placeholder,改为 undefined\n if (typeof value === 'string' && !value) {\n _props.value = undefined\n } else {\n _props.value = value\n }\n\n optionLabelProp = optionLabelProp || 'children'\n return (\n <Select\n {..._props}\n id={this.id}\n placeholder={capitalizeFirstLetter(placeholder, capitalize)}\n onSearch={this.onSearch}\n onChange={this.onChange}\n dropdownClassName={`${this.dropdownClassName} ${dropdownClassName || ''}`}\n optionLabelProp={optionLabelProp}\n dropdownStyle={dropdownStyle}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDeselect={this.onDeselect}\n ref={(ele) => (this.select = ele)}\n dropdownRender={(menu, props) => {\n if (_props.loading) {\n return <Spin size=\"small\" style={{ marginLeft: 8 }} />\n }\n if (this.allList.length === 0) {\n return (\n <div className=\"tntd-select-empty-container\">\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n )\n }\n\n return (\n <DropDownWrap\n {...{\n startIndex,\n endIndex,\n allHeight: this.allHeight,\n menu,\n itemHeight: this.ITEM_HEIGHT,\n }}\n ref={(ele) => {\n this.wrap = ele\n }}\n />\n )\n }}\n >\n {this.allList}\n </Select>\n )\n }\n}\n\nSuperSelect.Option = Option\n\nexport default SuperSelect\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react'\nimport { ConfigConsumer } from '../config-provider'\nimport Select from '../select'\nimport Empty from '../empty'\nimport Spin from '../spin'\nimport { capitalizeFirstLetter } from '../utils'\nimport DropDownWrap from './DropDownWrap'\nimport { getLanguage, getText } from '../prev-locale'\nimport './index.less'\n\nconst defaultPlaceholder = getText('select', getLanguage())\n// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER\nconst ITEM_ELEMENT_NUMBER = 30\n// Select size 配置\nconst ITEM_HEIGHT_CFG = {\n small: 24,\n large: 40,\n default: 32,\n}\n\nconst ARROW_CODE = {\n 40: 'down',\n 38: 'up',\n}\n\nconst DROPDOWN_HEIGHT = 224\n\nconst Option = Select.Option\n\nclass SuperSelect extends PureComponent {\n constructor(props) {\n super(props)\n\n const { mode, defaultValue, value, optionHeight, children: arr } = props\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n const children = this.turnChildren(arr)\n\n // 设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n\n this.state = {\n children: children || [],\n filterChildren: null, // 筛选后的 options,优先显示,所以清除筛选后手动设为 null\n value: defaultV,\n maxWidth: null,\n selectWidth: null,\n }\n // 下拉菜单项行高\n this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']\n // 可视区 dom 高度\n this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER\n // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表\n this.reactDelta = this.visibleDomHeight / 3\n // 是否拖动滚动条快速滚动状态\n this.isStopReact = false\n // 上一次滚动的 scrollTop 值\n this.prevScrollTop = 0\n // 上一次按下方向键时 scrollTop 值\n this.prevTop = 0\n\n this.scrollTop = 0\n\n // className\n this.dropdownClassName = `dc${+new Date()}`\n\n this.id = `sid${+new Date()}`\n }\n\n componentDidMount() {\n // defaultOpens=true 时添加滚动事件\n setTimeout(() => {\n this.addEvent()\n }, 500)\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n // if (children && children.length > 0) {\n this.formulaWidth()\n // }\n }\n\n turnChildren = (children) => {\n if (!children) return []\n let arr = []\n if (children && children.props) {\n arr.push(children)\n } else {\n children.forEach((item) => {\n if (item) {\n if (item instanceof Array) {\n arr = arr.concat(item)\n } else {\n arr.push(item)\n }\n }\n })\n }\n return arr\n }\n\n formulaWidth = () => {\n // 获取dom设置宽度\n const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props\n const selectDom = document.getElementById(this.id)\n let selectWidth\n if (selectDom) {\n selectWidth = selectDom.clientWidth || selectDom.offsetWidth\n }\n let arr = []\n let formulaMaxWidth = 10\n if (!dropdownMatchSelectWidth) {\n formulaMaxWidth = maxWidth || 10\n }\n if (!dropdownMatchSelectWidth && !maxWidth) {\n const children = this.turnChildren(arr2)\n for (let i = 0; i < children.length; i++) {\n const val = children[i].props.children\n const textWidth = this.getTextPixelWith(val)\n arr.push(textWidth.toFixed(2))\n }\n if (arr.length > 0) {\n formulaMaxWidth = Math.max(...arr)\n }\n }\n\n this.setState({\n selectWidth,\n maxWidth: formulaMaxWidth,\n })\n }\n\n // 获取单行文本的像素宽度\n getTextPixelWith = (text, fontStyle = '14px') => {\n let canvas = document.createElement('canvas') // 创建 canvas 画布\n let context = canvas.getContext('2d') // 获取 canvas 绘图上下文环境\n context.font = fontStyle // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度\n let dimension = context.measureText(text) // 测量文字\n return dimension.width\n }\n\n componentDidUpdate(prevProps) {\n const { mode, defaultValue, value, children } = this.props\n let arr = this.turnChildren(children)\n if (prevProps.children !== children) {\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n\n this.setState(\n {\n children: arr || [],\n filterChildren: null,\n },\n () => {\n if (arr && arr.length > 0) {\n // 设置下拉列表显示数据\n if (!value) {\n this.scrollTop = 0\n this.scrollEle && this.scrollEle.scrollTo(0, 0)\n this.setSuperDropDownMenu(true)\n }\n this.formulaWidth()\n if (!this.inputEle) {\n this.removeEvent()\n this.addEvent()\n }\n }\n }\n )\n }\n if (prevProps.value !== value) {\n // 更新时设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n this.setState({ value: defaultV })\n }\n }\n\n componentWillUnmount() {\n this.removeEvent()\n }\n\n getItemStyle = (i) => ({\n position: 'absolute',\n top: this.ITEM_HEIGHT * i,\n width: '100%',\n height: this.ITEM_HEIGHT,\n })\n\n preventEvent = (e) => {\n e.preventDefault()\n }\n\n addEvent = () => {\n this.scrollEle = document.querySelector(`.${this.dropdownClassName}`)\n // 下拉菜单未展开时元素不存在\n if (!this.scrollEle) return\n\n this.scrollEle.addEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.addEventListener('scroll', this.onScroll, false)\n this.inputEle = document.querySelector(`#${this.id}`)\n\n if (!this.inputEle) return\n this.inputEle.addEventListener('keydown', this.onKeyDown, false)\n }\n\n // 模拟 antd select 按下 上下箭头 键时滚动列表\n onKeyDown = (e) => {\n const { keyCode } = e || {}\n\n setTimeout(() => {\n const activeItem = document.querySelector(\n `.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`\n )\n if (!activeItem) return\n\n const { offsetTop } = activeItem\n const isUp = ARROW_CODE[keyCode] === 'up'\n const isDown = ARROW_CODE[keyCode] === 'down'\n\n // 在所有列表第一行按上键\n if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {\n this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT)\n this.prevTop = this.allHeight\n\n return\n }\n\n // 在所有列表中最后一行按下键\n if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {\n this.scrollEle.scrollTo(0, 0)\n this.prevTop = 0\n\n return\n }\n\n this.prevTop = offsetTop\n // 向下滚动到下拉框最后一行时,向下滚动一行的高度\n if (\n offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&\n isDown\n ) {\n this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT)\n return\n }\n // 向上滚动到下拉框第一一行时,向上滚动一行的高度\n if (offsetTop < this.scrollEle.scrollTop && isUp) {\n this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT)\n }\n }, 100)\n }\n\n onScroll = () => this.throttleByHeight(this.onScrollReal)\n\n onScrollReal = () => {\n this.allList = this.getUseChildrenList()\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n this.prevScrollTop = this.scrollTop\n // 重新渲染列表组件 Wrap\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n this.wrap.reactList(allHeight, startIndex, endIndex)\n }\n\n throttleByHeight = () => {\n this.scrollTop = this.scrollEle.scrollTop\n // 滚动的高度\n let delta = this.prevScrollTop - this.scrollTop\n delta = delta < 0 ? 0 - delta : delta\n\n delta > this.reactDelta && this.onScrollReal()\n }\n\n // 列表可展示所有 children\n getUseChildrenList = () => this.state.filterChildren || this.state.children\n\n getStartAndEndIndex = () => {\n // 滚动后显示在列表可视区中的第一个 item 的 index\n const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0))\n\n const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2\n const endIndex = showIndex + ITEM_ELEMENT_NUMBER\n return { startIndex, endIndex }\n }\n\n // 须使用 setTimeout 确保在 dom 加载完成之后添加事件\n setSuperDropDownMenu = (visible) => {\n if (!visible) return\n\n this.allList = this.getUseChildrenList()\n\n if (!this.eventTimer || !this.scrollEle) {\n this.eventTimer = setTimeout(() => this.addEvent(), 0)\n } else {\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n // 下拉列表单独重新渲染\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n setTimeout(() => {\n this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex)\n }, 0)\n }\n }\n\n onDropdownVisibleChange = (visible) => {\n const { onDropdownVisibleChange } = this.props\n onDropdownVisibleChange && onDropdownVisibleChange(visible)\n\n const { value, children } = this.state\n // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options\n if (!visible) {\n // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁\n setTimeout(() => {\n this.setState({ filterChildren: null })\n this.setDefaultScrollTop(value)\n }, 100)\n // this.removeEvent();\n } else {\n // this.addEvent();\n if (value) {\n // 如果已有 value, 设置默认滚动位置\n this.setDefaultScrollTop()\n // 设置下拉列表显示数据\n this.setSuperDropDownMenu(visible)\n } else if (!value && value !== 0 && children && children.length > 0) {\n // 无数据时,下拉回归至第一个\n const val = children[0].props.value\n this.setDefaultScrollTop(val)\n }\n }\n }\n\n onDeselect = (value) => {\n const { onDeselect } = this.props\n onDeselect && onDeselect(value)\n }\n\n // 在搜索重新计算下拉滚动条高度\n onChange = (value, opt) => {\n const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props\n if (showSearch || this.isMultiple) {\n // 搜索模式下选择后是否需要重置搜索状态\n if (autoClearSearchValue !== false) {\n this.setState({ filterChildren: null }, () => {\n // 搜索成功后重新设置列表的总高度\n this.setSuperDropDownMenu(true)\n })\n }\n }\n\n if (mode === 'multiple') {\n if (value.length <= maxCount) {\n this.setState({ value })\n }\n } else {\n this.setState({ value })\n }\n onChange && onChange(value, opt)\n\n if (mode !== 'multiple') {\n this.select && this.select.blur()\n }\n }\n\n onSearch = (v) => {\n const { showSearch, onSearch, filterOption, children: arr } = this.props\n let children = this.turnChildren(arr)\n if (showSearch && filterOption !== false) {\n // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表\n let filterChildren = null\n if (typeof filterOption === 'function') {\n filterChildren = children.filter((item) => filterOption(v, item))\n } else if (filterOption === undefined) {\n filterChildren = children.filter((item) => this.filterOption(v, item))\n }\n\n // 搜索框有值,去除disabled=true的children\n let newFilterChild = []\n filterChildren &&\n filterChildren.forEach((item, index) => {\n if (!item.props.disabled) {\n newFilterChild.push(item)\n }\n })\n filterChildren = newFilterChild\n\n // 设置下拉列表显示数据\n this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {\n setTimeout(() => {\n // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据\n if (filterChildren && this.scrollEle) {\n this.scrollTop = 0\n this.scrollEle.scrollTo(0, 0)\n }\n // 搜索成功后需要重新设置列表的总高度\n this.setSuperDropDownMenu(true)\n }, 0)\n })\n }\n onSearch && onSearch(v)\n }\n\n filterOption = (v, option) => {\n // 自定义过滤对应的 option 属性配置\n const filterProps = this.props.optionFilterProp || 'value'\n return `${option.props[filterProps]}`.indexOf(v) >= 0\n }\n\n setDefaultScrollTop = (data) => {\n const { value } = this.state\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n\n let val = data || data === 0 ? data : value\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i]\n const itemValue = item.props.value\n if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {\n const targetScrollTop = i * this.ITEM_HEIGHT\n\n setTimeout(() => {\n if (!this.scrollEle) {\n this.addEvent()\n }\n this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop)\n }, 100)\n return\n }\n }\n }\n\n removeEvent = () => {\n if (!this.scrollEle) return\n this.scrollEle.removeEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.removeEventListener('scroll', this.onScroll, false)\n if (!this.inputEle) return\n this.inputEle.removeEventListener('keydown', this.onKeyDown, false)\n }\n\n render() {\n const { maxWidth, selectWidth } = this.state\n let { dropdownStyle, optionLabelProp, dropdownClassName, placeholder = defaultPlaceholder, capitalize, renderEmpty, ...props } =\n this.props\n\n this.allList = this.getUseChildrenList()\n\n this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n let dynamicWidth = maxWidth\n if (this.allList.length === 0 || maxWidth < selectWidth) {\n dynamicWidth = selectWidth\n }\n\n dropdownStyle = {\n maxHeight: `${DROPDOWN_HEIGHT}px`,\n ...dropdownStyle,\n overflow: 'auto',\n position: 'relative',\n maxWidth: dynamicWidth,\n }\n\n const { value } = this.state\n // 判断处于 antd Form 中时不自动设置 value\n const _props = { ...props }\n // 先删除 value,再手动赋值,防止空 value 影响 placeholder\n delete _props.value\n\n // value 为空字符会隐藏 placeholder,改为 undefined\n if (typeof value === 'string' && !value) {\n _props.value = undefined\n } else {\n _props.value = value\n }\n\n optionLabelProp = optionLabelProp || 'children'\n return (\n <Select\n {..._props}\n id={this.id}\n placeholder={capitalizeFirstLetter(placeholder, capitalize)}\n onSearch={this.onSearch}\n onChange={this.onChange}\n dropdownClassName={`${this.dropdownClassName} ${dropdownClassName || ''}`}\n optionLabelProp={optionLabelProp}\n dropdownStyle={dropdownStyle}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDeselect={this.onDeselect}\n ref={(ele) => (this.select = ele)}\n dropdownRender={(menu, props) => {\n if (_props.loading) {\n return <Spin size=\"small\" style={{ marginLeft: 8 }} />\n }\n if (this.allList.length === 0) {\n return (\n <div className=\"tntd-select-empty-container\">\n {renderEmpty ? renderEmpty('Select') : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />}\n </div>\n )\n }\n\n return (\n <DropDownWrap\n {...{\n startIndex,\n endIndex,\n allHeight: this.allHeight,\n menu,\n itemHeight: this.ITEM_HEIGHT,\n }}\n ref={(ele) => {\n this.wrap = ele\n }}\n />\n )\n }}\n >\n {this.allList}\n </Select>\n )\n }\n}\n\nfunction TntdSelect(props) {\n return (<ConfigConsumer>\n {({ renderEmpty }) => {\n return <SuperSelect {...props} renderEmpty={renderEmpty} />\n }}\n </ConfigConsumer>)\n}\n\nTntdSelect.Option = Option\n\nexport default TntdSelect\n"]}
@@ -10,6 +10,7 @@
10
10
  padding: 4px 0;
11
11
  font-size: 14px;
12
12
  box-sizing: border-box;
13
+ display: inline-flex;
13
14
 
14
15
  .tntd-virtual-tree-item-expand-icon{
15
16
  display: inline-block;
@@ -31,11 +32,12 @@
31
32
  }
32
33
 
33
34
  .tntd-virtual-tree-title{
34
- padding: 0 2px;
35
+ padding: 3px 5px;
35
36
  flex: 1;
36
37
  overflow: hidden;
37
38
  display: inline-block;
38
39
  vertical-align: middle;
40
+ flex: 1;
39
41
 
40
42
  &:hover{
41
43
  background-color: var(--blue-1);
@@ -11,12 +11,12 @@ var __rest = this && this.__rest || function (s, e) {
11
11
  * @Author: 郑泳健
12
12
  * @Date: 2024-08-05 10:50:17
13
13
  * @LastEditors: 郑泳健
14
- * @LastEditTime: 2024-08-20 15:03:16
14
+ * @LastEditTime: 2024-09-02 19:37:37
15
15
  */
16
16
  import React, { useState, useRef, useMemo } from 'react';
17
17
  import RcSelect from '../tntd-rc-select';
18
18
  import TntdVirtualTree from '../tntd-virtual-tree';
19
- import { filterLastestNode, flatWithParents } from './utils.js';
19
+ import { filterLastestNode, flatWithParents, getLableByValue, flatTreeData } from './utils.js';
20
20
  import './index.less';
21
21
  const TntdVirtualTreeSelect = _a => {
22
22
  var {
@@ -48,21 +48,25 @@ const TntdVirtualTreeSelect = _a => {
48
48
  const treeNodeWithParents = useMemo(() => {
49
49
  return flatWithParents(treeData, fieldNames);
50
50
  }, [treeData, fieldNames]);
51
+ const treeList = useMemo(() => {
52
+ return flatTreeData(treeData, fieldNames);
53
+ }, [treeData, fieldNames]);
51
54
  const selectValue = useMemo(() => {
52
55
  if (!treeCheckable) {
53
- return value;
56
+ return getLableByValue(treeList, value);
54
57
  }
55
58
  if (Array.isArray(value)) {
56
59
  if (showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {
57
- return value;
60
+ return value.map(i => getLableByValue(treeList, i));
58
61
  }
59
62
  // 过滤掉有子节点,
60
- return value.filter(i => {
63
+ const filterList = value.filter(i => {
61
64
  return filterLastestNode(treeNodeWithParents, i, value);
62
65
  });
66
+ return filterList.map(i => getLableByValue(treeList, i));
63
67
  }
64
68
  return undefined;
65
- }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy]);
69
+ }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy, treeList]);
66
70
  const mergeMode = useMemo(() => {
67
71
  if (treeCheckable) {
68
72
  return {
@@ -89,7 +93,8 @@ const TntdVirtualTreeSelect = _a => {
89
93
  };
90
94
  const handleSelect = val => {
91
95
  var _a;
92
- onChange === null || onChange === void 0 ? void 0 : onChange(val);
96
+ const item = Array.isArray(treeList) ? treeList.find(i => i.value === val) : {};
97
+ onChange === null || onChange === void 0 ? void 0 : onChange(val, item);
93
98
  if (selectRef.current) {
94
99
  // 主动触发下拉框消失
95
100
  (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.blur();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 用select包裹虚拟树\n * @Author: 郑泳健\n * @Date: 2024-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-08-20 15:03:16\n */\nimport React, { useState, useRef, useMemo } from 'react';\nimport RcSelect from '../tntd-rc-select';\nimport TntdVirtualTree from '../tntd-virtual-tree';\nimport { filterLastestNode, flatWithParents } from './utils.js'\nimport './index.less';\n\nconst TntdVirtualTreeSelect = ({\n value,\n onChange,\n treeData,\n showSearch,\n fieldNames,\n dropdownMatchSelectWidth,\n dropdownStyle,\n showCheckedStrategy,\n treeCheckable,\n treeCheckStrictly,\n treeDefaultExpandAll,\n treeExpandedKeys,\n onTreeCheck,\n onTreeExpand,\n treeTitleRender,\n ...restProps\n}) => {\n const selectRef = useRef(null);\n const [filterKey, setFilterKey] = useState(undefined);\n\n const mergeDropdownStyle = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownStyle : {};\n }, [dropdownStyle, treeData]);\n\n const mergeDropdownMatchSelectWidth = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownMatchSelectWidth : true;\n }, [dropdownMatchSelectWidth, treeData]);\n\n const treeNodeWithParents = useMemo(() => {\n return flatWithParents(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n const selectValue = useMemo(() => {\n if(!treeCheckable) {\n return value\n }\n\n if(Array.isArray(value)) {\n if(showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {\n return value;\n }\n // 过滤掉有子节点,\n return value.filter(i => {\n return filterLastestNode(treeNodeWithParents, i, value)\n })\n }\n return undefined\n\n }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy])\n\n const mergeMode = useMemo(() => {\n if(treeCheckable) {\n return {\n multiple: true,\n mode: 'tags'\n }\n }\n return {}\n }, [treeCheckable])\n\n const handleRender = ({ showSearch, ...rest }) => {\n return (\n <div className=\"virtual-tree-options\">\n <TntdVirtualTree {...rest} />\n </div>\n );\n };\n\n const handleChange = (val) => {\n onChange(val);\n };\n\n const handleSearch = (val) => {\n setFilterKey(val);\n };\n\n const handleSelect = (val) => {\n onChange?.(val);\n if (selectRef.current) {\n // 主动触发下拉框消失\n selectRef.current?.blur();\n }\n };\n\n return (\n <RcSelect\n ref={selectRef}\n value={selectValue}\n onChange={handleChange}\n showSearch={showSearch}\n onSearch={handleSearch}\n {...mergeMode}\n {...restProps}\n dropdownMatchSelectWidth={mergeDropdownMatchSelectWidth}\n dropdownStyle={{ maxHeight: '100vh', overflow: 'auto', ...mergeDropdownStyle }}\n dropdownRender={() => {\n let obj = {\n treeData,\n filterKey,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys: treeExpandedKeys,\n fieldNames,\n onExpand: onTreeExpand,\n titleRender: treeTitleRender,\n onSelect: handleSelect\n };\n if (treeCheckable) {\n obj = { ...obj, checkedKeys: value, checkStrictly: treeCheckStrictly, checkable: treeCheckable, onCheck: onTreeCheck };\n } else {\n obj = { ...obj, value };\n }\n return handleRender(obj);\n }}\n />\n );\n};\n\nTntdVirtualTreeSelect.SHOW_CHILD = 'SHOW_CHILD'\nTntdVirtualTreeSelect.SHOW_ALL = 'SHOW_ALL'\n\nexport default TntdVirtualTreeSelect;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 用select包裹虚拟树\n * @Author: 郑泳健\n * @Date: 2024-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-09-02 19:37:37\n */\nimport React, { useState, useRef, useMemo } from 'react';\nimport RcSelect from '../tntd-rc-select';\nimport TntdVirtualTree from '../tntd-virtual-tree';\nimport { filterLastestNode, flatWithParents, getLableByValue, flatTreeData } from './utils.js'\nimport './index.less';\n\nconst TntdVirtualTreeSelect = ({\n value,\n onChange,\n treeData,\n showSearch,\n fieldNames,\n dropdownMatchSelectWidth,\n dropdownStyle,\n showCheckedStrategy,\n treeCheckable,\n treeCheckStrictly,\n treeDefaultExpandAll,\n treeExpandedKeys,\n onTreeCheck,\n onTreeExpand,\n treeTitleRender,\n ...restProps\n}) => {\n const selectRef = useRef(null);\n const [filterKey, setFilterKey] = useState(undefined);\n\n const mergeDropdownStyle = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownStyle : {};\n }, [dropdownStyle, treeData]);\n\n const mergeDropdownMatchSelectWidth = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownMatchSelectWidth : true;\n }, [dropdownMatchSelectWidth, treeData]);\n\n const treeNodeWithParents = useMemo(() => {\n return flatWithParents(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n const treeList = useMemo(() => {\n return flatTreeData(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n\n const selectValue = useMemo(() => {\n if(!treeCheckable) {\n return getLableByValue(treeList, value)\n }\n\n if(Array.isArray(value)) {\n if(showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {\n return value.map(i => getLableByValue(treeList, i))\n }\n // 过滤掉有子节点,\n const filterList = value.filter(i => {\n return filterLastestNode(treeNodeWithParents, i, value)\n })\n return filterList.map(i => getLableByValue(treeList, i))\n }\n return undefined\n\n }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy, treeList])\n\n const mergeMode = useMemo(() => {\n if(treeCheckable) {\n return {\n multiple: true,\n mode: 'tags'\n }\n }\n return {}\n }, [treeCheckable])\n\n const handleRender = ({ showSearch, ...rest }) => {\n return (\n <div className=\"virtual-tree-options\">\n <TntdVirtualTree {...rest} />\n </div>\n );\n };\n\n const handleChange = (val) => {\n onChange(val);\n };\n\n const handleSearch = (val) => {\n setFilterKey(val);\n };\n\n const handleSelect = (val) => {\n const item = Array.isArray(treeList) ? treeList.find(i => i.value === val) : {}\n onChange?.(val, item);\n if (selectRef.current) {\n // 主动触发下拉框消失\n selectRef.current?.blur();\n }\n };\n\n return (\n <RcSelect\n ref={selectRef}\n value={selectValue}\n onChange={handleChange}\n showSearch={showSearch}\n onSearch={handleSearch}\n {...mergeMode}\n {...restProps}\n dropdownMatchSelectWidth={mergeDropdownMatchSelectWidth}\n dropdownStyle={{ maxHeight: '100vh', overflow: 'auto', ...mergeDropdownStyle }}\n dropdownRender={() => {\n let obj = {\n treeData,\n filterKey,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys: treeExpandedKeys,\n fieldNames,\n onExpand: onTreeExpand,\n titleRender: treeTitleRender,\n onSelect: handleSelect\n };\n if (treeCheckable) {\n obj = { ...obj, checkedKeys: value, checkStrictly: treeCheckStrictly, checkable: treeCheckable, onCheck: onTreeCheck };\n } else {\n obj = { ...obj, value };\n }\n return handleRender(obj);\n }}\n />\n );\n};\n\nTntdVirtualTreeSelect.SHOW_CHILD = 'SHOW_CHILD'\nTntdVirtualTreeSelect.SHOW_ALL = 'SHOW_ALL'\n\nexport default TntdVirtualTreeSelect;\n"]}
@@ -28,4 +28,38 @@ export const filterLastestNode = (treeNodeWithParents, item, list) => {
28
28
  return parents.every(el => !list.includes(el));
29
29
  }
30
30
  return false;
31
+ };
32
+ /**
33
+ * 扁平树
34
+ * @param {*} treeData
35
+ * @param {*} fieldNames 展开的节点
36
+ * @returns
37
+ */
38
+ export const flatTreeData = (treeData, fieldNames = {
39
+ title: 'title',
40
+ value: 'value',
41
+ children: 'children',
42
+ disabled: 'disabled'
43
+ }, result = []) => {
44
+ if (Array.isArray(treeData)) {
45
+ treeData.forEach(i => {
46
+ i['title'] = i[fieldNames['title']];
47
+ i['value'] = i[fieldNames['value']];
48
+ i['children'] = i[fieldNames['children']];
49
+ result.push(i);
50
+ if (Array.isArray(i.children) && !!i.children.length) {
51
+ result = [...result, ...flatTreeData(i.children, fieldNames)];
52
+ }
53
+ });
54
+ }
55
+ return result;
56
+ };
57
+ export const getLableByValue = (treeList, value) => {
58
+ if (Array.isArray(treeList)) {
59
+ const {
60
+ title
61
+ } = treeList.find(i => i.value === value) || {};
62
+ return title;
63
+ }
64
+ return undefined;
31
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/utils.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,UAAU,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE;IAClK,IAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC1B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACnB,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACzC,IAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC;gBAC1C,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;gBACzG,MAAM,mCAAO,MAAM,GAAK,IAAI,CAAC,CAAA;aAC9B;iBAAI;aAEJ;QACH,CAAC,CAAC,CAAA;KACH;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IACnE,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAE/C,IAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;QACrF,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;KAC/C;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA","sourcesContent":["/**\n * 给每个节点增加一个parent字段,记录其父节点用于showCheckedStrategy\n * @param {*} treeData \n * @param {*} fieldNames \n * @param {*} parents \n * @returns \n */\nexport const flatWithParents = (treeData, fieldNames = { title: 'title', value: 'value', children: 'children', disabled: 'disabled' }, parents = [], result = {}) => {\n if(Array.isArray(treeData)) {\n treeData.forEach(i => {\n result[i[fieldNames['value']]] = parents;\n if(Array.isArray(i[fieldNames['children']])){\n const list = flatWithParents(i[fieldNames['children']], fieldNames, [...parents, i[fieldNames['value']]])\n result = {...result, ...list}\n }else{\n \n }\n })\n }\n return result\n}\n\nexport const filterLastestNode = (treeNodeWithParents, item, list) => {\n const parents = treeNodeWithParents[item] || {}\n \n if(Array.isArray(parents) && !!parents.length && Array.isArray(list) && !!list.length) {\n return parents.every(el => !list.includes(el))\n }\n\n return false\n}\n\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/utils.js"],"names":[],"mappings":"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","sourcesContent":["/**\n * 给每个节点增加一个parent字段,记录其父节点用于showCheckedStrategy\n * @param {*} treeData \n * @param {*} fieldNames \n * @param {*} parents \n * @returns \n */\nexport const flatWithParents = (treeData, fieldNames = { title: 'title', value: 'value', children: 'children', disabled: 'disabled' }, parents = [], result = {}) => {\n if(Array.isArray(treeData)) {\n treeData.forEach(i => {\n result[i[fieldNames['value']]] = parents;\n if(Array.isArray(i[fieldNames['children']])){\n const list = flatWithParents(i[fieldNames['children']], fieldNames, [...parents, i[fieldNames['value']]])\n result = {...result, ...list}\n }else{\n \n }\n })\n }\n return result\n}\n\nexport const filterLastestNode = (treeNodeWithParents, item, list) => {\n const parents = treeNodeWithParents[item] || {}\n \n if(Array.isArray(parents) && !!parents.length && Array.isArray(list) && !!list.length) {\n return parents.every(el => !list.includes(el))\n }\n\n return false\n}\n\n/**\n * 扁平树\n * @param {*} treeData\n * @param {*} fieldNames 展开的节点\n * @returns\n */\nexport const flatTreeData = (treeData, fieldNames = { title: 'title', value: 'value', children: 'children', disabled: 'disabled' }, result = []) => {\n if(Array.isArray(treeData)) {\n treeData.forEach(i => {\n i['title'] = i[fieldNames['title']];\n i['value'] = i[fieldNames['value']]\n i['children'] = i[fieldNames['children']]\n result.push(i);\n\n if(Array.isArray(i.children) && !!i.children.length) {\n result = [...result, ...flatTreeData(i.children, fieldNames)]\n }\n })\n }\n return result\n};\n\nexport const getLableByValue = (treeList, value) => {\n if(Array.isArray(treeList)) {\n const { title } = treeList.find(i => i.value === value) || {}\n return title;\n }\n return undefined\n}\n"]}
@@ -7,7 +7,7 @@ var __rest = this && this.__rest || function (s, e) {
7
7
  return t;
8
8
  };
9
9
  import React from 'react';
10
- import { ConfigConsumer } from 'antd/es/config-provider';
10
+ import { ConfigConsumer } from '../config-provider';
11
11
  import AntdTooltip from 'antd/es/tooltip';
12
12
  import classNames from 'classnames';
13
13
  export * from 'antd/es/tooltip';
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../src/tooltip/tooltip.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,WAAW,MAAM,iBAAiB,CAAA;AACzC,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,cAAc,iBAAiB,CAAA;AAC/B,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAE,UAAkB,EAAE,EAAE;IACzD,OAAO,GAAG,SAAS,IAAI,UAAU,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,OAAO,GAAuE,CAAC,KAAK,EAAE,EAAE;IAC5F,MAAM,EAAE,gBAAgB,EAAE,KAAK,GAAG,EAAE,EAAE,WAAW,GAAG,KAAK,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAA3E,4CAAmE,CAAQ,CAAA;IAEjF,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QAEzC,OAAO,CACL,oBAAC,WAAW,kBACV,gBAAgB,EAAE,UAAU,CAC1B,SAAS,EACT,aAAa,EACb,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,EAC1B,WAAW,CAAC,CAAC,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAC9C,gBAAgB,CACjB,IACG,SAAS,EACb,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,OAAO,CAAA","sourcesContent":["import React from 'react'\nimport type { TooltipProps } from 'antd/es/tooltip'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport AntdTooltip from 'antd/es/tooltip'\nimport classNames from 'classnames'\n\nexport * from 'antd/es/tooltip'\nconst themeMap = (prefixCls: string, themeColor: string) => {\n return `${prefixCls}-${themeColor}`\n}\n\nconst Tooltip: React.FC<TooltipProps & { theme?: string; hiddenArrow?: boolean }> = (props) => {\n const { overlayClassName, theme = '', hiddenArrow = false, ...restProps } = props\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('tooltip')\n\n return (\n <AntdTooltip\n overlayClassName={classNames(\n prefixCls,\n 'tnt-tooltip',\n themeMap(prefixCls, theme),\n hiddenArrow ? prefixCls + '-arrow-hidden' : '',\n overlayClassName\n )}\n {...restProps}\n />\n )\n }}\n </ConfigConsumer>\n )\n}\n\nexport default Tooltip\n"]}
1
+ {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../src/tooltip/tooltip.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,WAAW,MAAM,iBAAiB,CAAA;AACzC,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,cAAc,iBAAiB,CAAA;AAC/B,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAE,UAAkB,EAAE,EAAE;IACzD,OAAO,GAAG,SAAS,IAAI,UAAU,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,OAAO,GAAuE,CAAC,KAAK,EAAE,EAAE;IAC5F,MAAM,EAAE,gBAAgB,EAAE,KAAK,GAAG,EAAE,EAAE,WAAW,GAAG,KAAK,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAA3E,4CAAmE,CAAQ,CAAA;IAEjF,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QAEzC,OAAO,CACL,oBAAC,WAAW,kBACV,gBAAgB,EAAE,UAAU,CAC1B,SAAS,EACT,aAAa,EACb,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,EAC1B,WAAW,CAAC,CAAC,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAC9C,gBAAgB,CACjB,IACG,SAAS,EACb,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,OAAO,CAAA","sourcesContent":["import React from 'react'\nimport type { TooltipProps } from 'antd/es/tooltip'\nimport { ConfigConsumer } from '../config-provider'\nimport AntdTooltip from 'antd/es/tooltip'\nimport classNames from 'classnames'\n\nexport * from 'antd/es/tooltip'\nconst themeMap = (prefixCls: string, themeColor: string) => {\n return `${prefixCls}-${themeColor}`\n}\n\nconst Tooltip: React.FC<TooltipProps & { theme?: string; hiddenArrow?: boolean }> = (props) => {\n const { overlayClassName, theme = '', hiddenArrow = false, ...restProps } = props\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('tooltip')\n\n return (\n <AntdTooltip\n overlayClassName={classNames(\n prefixCls,\n 'tnt-tooltip',\n themeMap(prefixCls, theme),\n hiddenArrow ? prefixCls + '-arrow-hidden' : '',\n overlayClassName\n )}\n {...restProps}\n />\n )\n }}\n </ConfigConsumer>\n )\n}\n\nexport default Tooltip\n"]}
@@ -8,7 +8,7 @@ var _exportNames = {
8
8
  };
9
9
  exports.Button = void 0;
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _configProvider = require("antd/lib/config-provider");
11
+ var _configProvider = require("../config-provider");
12
12
  var _button = _interopRequireWildcard(require("antd/lib/button"));
13
13
  Object.keys(_button).forEach(function (key) {
14
14
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/button/button.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,+CAAyC;AAMzC,6DAAwD;AACxD,4DAAsD;AACtD,wCAA4C;AAC5C,4DAAmC;AAEnC,iDAA8B;AAkB9B,MAAM,YAAY,GAAG,SAAS,CAAA;AAEjB,QAAA,MAAM,GAAG,IAAA,kBAAU,EAC9B,CAAC,EAA+E,EAAE,GAAG,EAAE,EAAE;QAAxF,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,OAAW,EAAN,IAAI,cAA7E,gFAA+E,CAAF;IAC5E,IAAI,WAAW,GAAG,QAAQ,CAAA;IAC1B,IAAI,CAAC,gBAAgB,EAAE;QACrB,WAAW,GAAG,IAAA,mBAAY,EAAC,WAAW,EAAE,eAAe,CAAC,CAAA;KACzD;IACD,OAAO,CACL,8BAAC,gCAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,CACL,8BAAC,gBAAU,oBACL,IAAI,IACR,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAC5C,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACxC,SAAS,EAAE,IAAA,oBAAU,EAAC,SAAS,EAAE,YAAY,EAAE;gBAC7C,CAAC,GAAG,YAAY,OAAO,CAAC,EAAE,IAAI,KAAK,MAAM;gBACzC,CAAC,GAAG,YAAY,WAAW,CAAC,EAAE,IAAI,KAAK,UAAU;aAClD,CAAC,EACF,QAAQ,EAAE,WAAW,EACrB,GAAG,EAAE,GAAG,IACR,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CACiB,CAAA;AAEpB,MAAM,WAAW,GAA+B,CAAC,EAA4B,EAAE,EAAE;QAAhC,EAAE,SAAS,EAAE,IAAI,OAAW,EAAN,IAAI,cAA1B,qBAA4B,CAAF;IACzE,OAAO,CACL,8BAAC,gCAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,CACL,8BAAC,gBAAU,CAAC,KAAK,oBACX,IAAI,IACR,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACxC,SAAS,EAAE,IAAA,oBAAU,EAAC,SAAS,EAAE;gBAC/B,CAAC,GAAG,YAAY,aAAa,CAAC,EAAE,IAAI,KAAK,MAAM;aAChD,CAAC,IACF,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAA;AAED,cAAM,CAAC,KAAK,GAAG,WAAW,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-10-26 09:46:28\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2023-10-31 09:59:35\n * @FilePath: /tntd/packages/tntd/src/button/button.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport React, { forwardRef } from 'react'\nimport type {\n ButtonProps as AntdButtonProps,\n ButtonGroupProps as AntdButtonGroupProps,\n ButtonType,\n} from 'antd/lib/button'\nimport { ConfigConsumer } from 'antd/lib/config-provider'\nimport { default as AntdButton } from 'antd/lib/button'\nimport { doUpperTitle } from '../utils/lang'\nimport classNames from 'classnames'\n\nexport * from 'antd/lib/button'\n\nexport type TntButtonType = ButtonType | 'tertiary'\nexport interface ButtonProps extends Omit<AntdButtonProps, 'size' | 'type'> {\n upperCaseIgnore?: []\n unUpperConverted?: boolean\n size?: 'large' | 'default' | 'small' | 'mini'\n type?: 'default' | 'primary' | 'tertiary' | 'ghost' | 'dashed' | 'danger' | 'link'\n}\nexport interface ButtonGroupProps extends Omit<AntdButtonGroupProps, 'size'> {\n size?: 'large' | 'default' | 'small' | 'mini'\n}\n\ninterface ButtonComponent\n extends React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<AntdButton>> {\n Group: React.FC<ButtonGroupProps>\n}\n\nconst tntPrefixCls = 'tnt-btn'\n\nexport const Button = forwardRef<AntdButton, ButtonProps>(\n ({ className, size, type, children, unUpperConverted, upperCaseIgnore, ...rest }, ref) => {\n let newChildren = children\n if (!unUpperConverted) {\n newChildren = doUpperTitle(newChildren, upperCaseIgnore)\n }\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return (\n <AntdButton\n {...rest}\n type={type === 'tertiary' ? undefined : type}\n size={size === 'mini' ? undefined : size}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-mini`]: size === 'mini',\n [`${tntPrefixCls}-tertiary`]: type === 'tertiary',\n })}\n children={newChildren}\n ref={ref}\n />\n )\n }}\n </ConfigConsumer>\n )\n }\n) as ButtonComponent\n\nconst ButtonGroup: React.FC<ButtonGroupProps> = ({ className, size, ...rest }) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return (\n <AntdButton.Group\n {...rest}\n size={size === 'mini' ? undefined : size}\n className={classNames(className, {\n [`${tntPrefixCls}-group-mini`]: size === 'mini',\n })}\n />\n )\n }}\n </ConfigConsumer>\n )\n}\n\nButton.Group = ButtonGroup\n"]}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/button/button.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,+CAAyC;AAMzC,wDAAmD;AACnD,4DAAsD;AACtD,wCAA4C;AAC5C,4DAAmC;AAEnC,iDAA8B;AAkB9B,MAAM,YAAY,GAAG,SAAS,CAAA;AAEjB,QAAA,MAAM,GAAG,IAAA,kBAAU,EAC9B,CAAC,EAA+E,EAAE,GAAG,EAAE,EAAE;QAAxF,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,OAAW,EAAN,IAAI,cAA7E,gFAA+E,CAAF;IAC5E,IAAI,WAAW,GAAG,QAAQ,CAAA;IAC1B,IAAI,CAAC,gBAAgB,EAAE;QACrB,WAAW,GAAG,IAAA,mBAAY,EAAC,WAAW,EAAE,eAAe,CAAC,CAAA;KACzD;IACD,OAAO,CACL,8BAAC,gCAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,CACL,8BAAC,gBAAU,oBACL,IAAI,IACR,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAC5C,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACxC,SAAS,EAAE,IAAA,oBAAU,EAAC,SAAS,EAAE,YAAY,EAAE;gBAC7C,CAAC,GAAG,YAAY,OAAO,CAAC,EAAE,IAAI,KAAK,MAAM;gBACzC,CAAC,GAAG,YAAY,WAAW,CAAC,EAAE,IAAI,KAAK,UAAU;aAClD,CAAC,EACF,QAAQ,EAAE,WAAW,EACrB,GAAG,EAAE,GAAG,IACR,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CACiB,CAAA;AAEpB,MAAM,WAAW,GAA+B,CAAC,EAA4B,EAAE,EAAE;QAAhC,EAAE,SAAS,EAAE,IAAI,OAAW,EAAN,IAAI,cAA1B,qBAA4B,CAAF;IACzE,OAAO,CACL,8BAAC,gCAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,CACL,8BAAC,gBAAU,CAAC,KAAK,oBACX,IAAI,IACR,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACxC,SAAS,EAAE,IAAA,oBAAU,EAAC,SAAS,EAAE;gBAC/B,CAAC,GAAG,YAAY,aAAa,CAAC,EAAE,IAAI,KAAK,MAAM;aAChD,CAAC,IACF,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAA;AAED,cAAM,CAAC,KAAK,GAAG,WAAW,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-10-26 09:46:28\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2023-10-31 09:59:35\n * @FilePath: /tntd/packages/tntd/src/button/button.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport React, { forwardRef } from 'react'\nimport type {\n ButtonProps as AntdButtonProps,\n ButtonGroupProps as AntdButtonGroupProps,\n ButtonType,\n} from 'antd/lib/button'\nimport { ConfigConsumer } from '../config-provider'\nimport { default as AntdButton } from 'antd/lib/button'\nimport { doUpperTitle } from '../utils/lang'\nimport classNames from 'classnames'\n\nexport * from 'antd/lib/button'\n\nexport type TntButtonType = ButtonType | 'tertiary'\nexport interface ButtonProps extends Omit<AntdButtonProps, 'size' | 'type'> {\n upperCaseIgnore?: []\n unUpperConverted?: boolean\n size?: 'large' | 'default' | 'small' | 'mini'\n type?: 'default' | 'primary' | 'tertiary' | 'ghost' | 'dashed' | 'danger' | 'link'\n}\nexport interface ButtonGroupProps extends Omit<AntdButtonGroupProps, 'size'> {\n size?: 'large' | 'default' | 'small' | 'mini'\n}\n\ninterface ButtonComponent\n extends React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<AntdButton>> {\n Group: React.FC<ButtonGroupProps>\n}\n\nconst tntPrefixCls = 'tnt-btn'\n\nexport const Button = forwardRef<AntdButton, ButtonProps>(\n ({ className, size, type, children, unUpperConverted, upperCaseIgnore, ...rest }, ref) => {\n let newChildren = children\n if (!unUpperConverted) {\n newChildren = doUpperTitle(newChildren, upperCaseIgnore)\n }\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return (\n <AntdButton\n {...rest}\n type={type === 'tertiary' ? undefined : type}\n size={size === 'mini' ? undefined : size}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-mini`]: size === 'mini',\n [`${tntPrefixCls}-tertiary`]: type === 'tertiary',\n })}\n children={newChildren}\n ref={ref}\n />\n )\n }}\n </ConfigConsumer>\n )\n }\n) as ButtonComponent\n\nconst ButtonGroup: React.FC<ButtonGroupProps> = ({ className, size, ...rest }) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return (\n <AntdButton.Group\n {...rest}\n size={size === 'mini' ? undefined : size}\n className={classNames(className, {\n [`${tntPrefixCls}-group-mini`]: size === 'mini',\n })}\n />\n )\n }}\n </ConfigConsumer>\n )\n}\n\nButton.Group = ButtonGroup\n"]}
package/lib/card/card.js CHANGED
@@ -9,7 +9,7 @@ var _exportNames = {
9
9
  };
10
10
  exports.Card = void 0;
11
11
  var _react = _interopRequireWildcard(require("react"));
12
- var _configProvider = require("antd/lib/config-provider");
12
+ var _configProvider = require("../config-provider");
13
13
  var _card = _interopRequireWildcard(require("antd/lib/card"));
14
14
  Object.keys(_card).forEach(function (key) {
15
15
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/card/card.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyC;AAEzC,6DAAwD;AACxD,wDAAkD;AAClD,oCAAuC;AAEvC,+CAA4B;AAQf,QAAA,IAAI,GAAG,IAAA,kBAAU,EAA0B,CAAC,EAAkB,EAAE,GAAG,EAAE,EAAE;QAA3B,EAAE,KAAK,OAAW,EAAN,IAAI,cAAhB,SAAkB,CAAF;IACvE,OAAO,CACL,8BAAC,gCAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,8BAAC,cAAQ,oBAAK,IAAI,IAAE,KAAK,EAAE,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IACrE,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAkB,CAAA;AAEnB,YAAI,CAAC,IAAI,GAAG,cAAQ,CAAC,IAAI,CAAA;AACzB,YAAI,CAAC,IAAI,GAAG,cAAQ,CAAC,IAAI,CAAA","sourcesContent":["import React, { forwardRef } from 'react'\nimport type { CardProps as AntdCardProps } from 'antd/lib/card'\nimport { ConfigConsumer } from 'antd/lib/config-provider'\nimport { default as AntdCard } from 'antd/lib/card'\nimport { doUpperTitle } from '../utils'\n\nexport * from 'antd/lib/card'\n\ninterface CardComponent\n extends React.ForwardRefExoticComponent<AntdCardProps & React.RefAttributes<AntdCard>> {\n Grid: typeof AntdCard.Grid\n Meta: typeof AntdCard.Meta\n}\n\nexport const Card = forwardRef<AntdCard, AntdCardProps>(({ title, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdCard {...rest} title={doUpperTitle(title)} ref={ref} />\n }}\n </ConfigConsumer>\n )\n}) as CardComponent\n\nCard.Grid = AntdCard.Grid\nCard.Meta = AntdCard.Meta\n"]}
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/card/card.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyC;AAEzC,wDAAmD;AACnD,wDAAkD;AAClD,oCAAuC;AAEvC,+CAA4B;AAQf,QAAA,IAAI,GAAG,IAAA,kBAAU,EAA0B,CAAC,EAAkB,EAAE,GAAG,EAAE,EAAE;QAA3B,EAAE,KAAK,OAAW,EAAN,IAAI,cAAhB,SAAkB,CAAF;IACvE,OAAO,CACL,8BAAC,gCAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,8BAAC,cAAQ,oBAAK,IAAI,IAAE,KAAK,EAAE,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IACrE,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAkB,CAAA;AAEnB,YAAI,CAAC,IAAI,GAAG,cAAQ,CAAC,IAAI,CAAA;AACzB,YAAI,CAAC,IAAI,GAAG,cAAQ,CAAC,IAAI,CAAA","sourcesContent":["import React, { forwardRef } from 'react'\nimport type { CardProps as AntdCardProps } from 'antd/lib/card'\nimport { ConfigConsumer } from '../config-provider'\nimport { default as AntdCard } from 'antd/lib/card'\nimport { doUpperTitle } from '../utils'\n\nexport * from 'antd/lib/card'\n\ninterface CardComponent\n extends React.ForwardRefExoticComponent<AntdCardProps & React.RefAttributes<AntdCard>> {\n Grid: typeof AntdCard.Grid\n Meta: typeof AntdCard.Meta\n}\n\nexport const Card = forwardRef<AntdCard, AntdCardProps>(({ title, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdCard {...rest} title={doUpperTitle(title)} ref={ref} />\n }}\n </ConfigConsumer>\n )\n}) as CardComponent\n\nCard.Grid = AntdCard.Grid\nCard.Meta = AntdCard.Meta\n"]}
@@ -10,7 +10,7 @@ exports.Descriptions = void 0;
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _classnames = _interopRequireDefault(require("classnames"));
12
12
  var _toArray = _interopRequireDefault(require("rc-util/es/Children/toArray"));
13
- var _configProvider = require("antd/lib/config-provider");
13
+ var _configProvider = require("../config-provider");
14
14
  var _descriptions = _interopRequireWildcard(require("antd/lib/descriptions"));
15
15
  Object.keys(_descriptions).forEach(function (key) {
16
16
  if (key === "default" || key === "__esModule") return;