@tendaui/react 1.1.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.
- package/LICENSE +21 -0
- package/README.md +2 -0
- package/es/_chunks/dep-0QH2Ee4R.js +34 -0
- package/es/_chunks/dep-0QH2Ee4R.js.map +1 -0
- package/es/_chunks/dep-B7HmDtze.js +199 -0
- package/es/_chunks/dep-B7HmDtze.js.map +1 -0
- package/es/_chunks/dep-BH5n5r1M.js +55 -0
- package/es/_chunks/dep-BH5n5r1M.js.map +1 -0
- package/es/_chunks/dep-BP0-apUT.js +9 -0
- package/es/_chunks/dep-BP0-apUT.js.map +1 -0
- package/es/_chunks/dep-C1XcmShP.js +18 -0
- package/es/_chunks/dep-C1XcmShP.js.map +1 -0
- package/es/_chunks/dep-C36au4Ip.js +104 -0
- package/es/_chunks/dep-C36au4Ip.js.map +1 -0
- package/es/_chunks/dep-CgyDw_YI.js +20 -0
- package/es/_chunks/dep-CgyDw_YI.js.map +1 -0
- package/es/_chunks/dep-CoIiHOgo.js +162 -0
- package/es/_chunks/dep-CoIiHOgo.js.map +1 -0
- package/es/_chunks/dep-Cwish4GD.js +29 -0
- package/es/_chunks/dep-Cwish4GD.js.map +1 -0
- package/es/_chunks/dep-CzLhKWCf.js +56 -0
- package/es/_chunks/dep-CzLhKWCf.js.map +1 -0
- package/es/_chunks/dep-D-UKOauR.js +12 -0
- package/es/_chunks/dep-D-UKOauR.js.map +1 -0
- package/es/_chunks/dep-D6YxJv-F.js +31 -0
- package/es/_chunks/dep-D6YxJv-F.js.map +1 -0
- package/es/_chunks/dep-D7LanWes.js +171 -0
- package/es/_chunks/dep-D7LanWes.js.map +1 -0
- package/es/_chunks/dep-D8jki30S.js +31 -0
- package/es/_chunks/dep-D8jki30S.js.map +1 -0
- package/es/_chunks/dep-DB5wmwh1.js +48 -0
- package/es/_chunks/dep-DB5wmwh1.js.map +1 -0
- package/es/_chunks/dep-DGvfel3I.js +16 -0
- package/es/_chunks/dep-DGvfel3I.js.map +1 -0
- package/es/_chunks/dep-DHWwZ2Nj.js +139 -0
- package/es/_chunks/dep-DHWwZ2Nj.js.map +1 -0
- package/es/_chunks/dep-DN7d1SzH.js +24 -0
- package/es/_chunks/dep-DN7d1SzH.js.map +1 -0
- package/es/_chunks/dep-DZ_0EvBk.js +440 -0
- package/es/_chunks/dep-DZ_0EvBk.js.map +1 -0
- package/es/_chunks/dep-Dk2xX8lh.js +691 -0
- package/es/_chunks/dep-Dk2xX8lh.js.map +1 -0
- package/es/_chunks/dep-DwWrhxkd.js +26 -0
- package/es/_chunks/dep-DwWrhxkd.js.map +1 -0
- package/es/_chunks/dep-EcrDKDlu.js +1677 -0
- package/es/_chunks/dep-EcrDKDlu.js.map +1 -0
- package/es/_chunks/dep-PPA-yoAy.js +16 -0
- package/es/_chunks/dep-PPA-yoAy.js.map +1 -0
- package/es/_chunks/dep-U1T8CQY9.js +4 -0
- package/es/_chunks/dep-U1T8CQY9.js.map +1 -0
- package/es/_chunks/dep-bWaVq_y3.js +14 -0
- package/es/_chunks/dep-bWaVq_y3.js.map +1 -0
- package/es/_chunks/dep-u1x3x6MJ.js +9 -0
- package/es/_chunks/dep-u1x3x6MJ.js.map +1 -0
- package/es/alert/Alert.js +153 -0
- package/es/alert/Alert.js.map +1 -0
- package/es/alert/index.js +23 -0
- package/es/alert/index.js.map +1 -0
- package/es/alert/style/css.js +1 -0
- package/es/alert/style/index.css +172 -0
- package/es/alert/style/index.js +2 -0
- package/es/alert/style/index.js.map +1 -0
- package/es/badge/Badge.js +81 -0
- package/es/badge/Badge.js.map +1 -0
- package/es/badge/index.js +15 -0
- package/es/badge/index.js.map +1 -0
- package/es/badge/style/css.js +1 -0
- package/es/badge/style/index.css +60 -0
- package/es/badge/style/index.js +2 -0
- package/es/badge/style/index.js.map +1 -0
- package/es/button/Button.js +94 -0
- package/es/button/Button.js.map +1 -0
- package/es/button/index.js +28 -0
- package/es/button/index.js.map +1 -0
- package/es/button/style/css.js +1 -0
- package/es/button/style/index.css +1206 -0
- package/es/button/style/index.js +2 -0
- package/es/button/style/index.js.map +1 -0
- package/es/checkbox/Checkbox.js +17 -0
- package/es/checkbox/Checkbox.js.map +1 -0
- package/es/checkbox/CheckboxGroup.js +17 -0
- package/es/checkbox/CheckboxGroup.js.map +1 -0
- package/es/checkbox/index.js +22 -0
- package/es/checkbox/index.js.map +1 -0
- package/es/checkbox/style/css.js +1 -0
- package/es/checkbox/style/index.css +151 -0
- package/es/checkbox/style/index.js +2 -0
- package/es/checkbox/style/index.js.map +1 -0
- package/es/common/Check.js +101 -0
- package/es/common/Check.js.map +1 -0
- package/es/common/FakeArrow.js +28 -0
- package/es/common/FakeArrow.js.map +1 -0
- package/es/common/PluginContainer.js +19 -0
- package/es/common/PluginContainer.js.map +1 -0
- package/es/common/Portal.js +53 -0
- package/es/common/Portal.js.map +1 -0
- package/es/config-provider/ConfigContext.js +17 -0
- package/es/config-provider/ConfigContext.js.map +1 -0
- package/es/config-provider/ConfigProvider.js +45 -0
- package/es/config-provider/ConfigProvider.js.map +1 -0
- package/es/config-provider/index.js +12 -0
- package/es/config-provider/index.js.map +1 -0
- package/es/dialog/Dialog.js +575 -0
- package/es/dialog/Dialog.js.map +1 -0
- package/es/dialog/DialogCard.js +28 -0
- package/es/dialog/DialogCard.js.map +1 -0
- package/es/dialog/index.js +44 -0
- package/es/dialog/index.js.map +1 -0
- package/es/dialog/plugin.js +199 -0
- package/es/dialog/plugin.js.map +1 -0
- package/es/dialog/style/css.js +1 -0
- package/es/dialog/style/index.css +510 -0
- package/es/dialog/style/index.js +2 -0
- package/es/dialog/style/index.js.map +1 -0
- package/es/form/Form.js +190 -0
- package/es/form/Form.js.map +1 -0
- package/es/form/FormContext.js +38 -0
- package/es/form/FormContext.js.map +1 -0
- package/es/form/FormItem.js +39 -0
- package/es/form/FormItem.js.map +1 -0
- package/es/form/FormList.js +306 -0
- package/es/form/FormList.js.map +1 -0
- package/es/form/hooks/useFormItemStyle.js +10 -0
- package/es/form/hooks/useFormItemStyle.js.map +1 -0
- package/es/form/hooks/useInstance.js +326 -0
- package/es/form/hooks/useInstance.js.map +1 -0
- package/es/form/index.js +47 -0
- package/es/form/index.js.map +1 -0
- package/es/form/style/css.js +1 -0
- package/es/form/style/index.css +296 -0
- package/es/form/style/index.js +2 -0
- package/es/form/style/index.js.map +1 -0
- package/es/form/utils/index.js +75 -0
- package/es/form/utils/index.js.map +1 -0
- package/es/hooks/useDragSorter.js +137 -0
- package/es/hooks/useDragSorter.js.map +1 -0
- package/es/index.js +103 -0
- package/es/index.js.map +1 -0
- package/es/input/Input.js +375 -0
- package/es/input/Input.js.map +1 -0
- package/es/input/InputGroup.js +23 -0
- package/es/input/InputGroup.js.map +1 -0
- package/es/input/index.js +23 -0
- package/es/input/index.js.map +1 -0
- package/es/input/style/css.js +1 -0
- package/es/input/style/index.css +450 -0
- package/es/input/style/index.js +2 -0
- package/es/input/style/index.js.map +1 -0
- package/es/loading/Gradient.js +86 -0
- package/es/loading/Gradient.js.map +1 -0
- package/es/loading/Loading.js +147 -0
- package/es/loading/Loading.js.map +1 -0
- package/es/loading/index.js +24 -0
- package/es/loading/index.js.map +1 -0
- package/es/loading/style/css.js +1 -0
- package/es/loading/style/index.css +191 -0
- package/es/loading/style/index.js +2 -0
- package/es/loading/style/index.js.map +1 -0
- package/es/myform/index.js +2 -0
- package/es/myform/index.js.map +1 -0
- package/es/notification/NotifyContainer.js +78 -0
- package/es/notification/NotifyContainer.js.map +1 -0
- package/es/notification/NotifyContext.js +149 -0
- package/es/notification/NotifyContext.js.map +1 -0
- package/es/notification/NotifyItem.js +150 -0
- package/es/notification/NotifyItem.js.map +1 -0
- package/es/notification/index.js +32 -0
- package/es/notification/index.js.map +1 -0
- package/es/notification/style/css.js +1 -0
- package/es/notification/style/index.css +142 -0
- package/es/notification/style/index.js +2 -0
- package/es/notification/style/index.js.map +1 -0
- package/es/popup/Popup.js +790 -0
- package/es/popup/Popup.js.map +1 -0
- package/es/popup/index.js +28 -0
- package/es/popup/index.js.map +1 -0
- package/es/popup/style/css.js +1 -0
- package/es/popup/style/index.css +186 -0
- package/es/popup/style/index.js +2 -0
- package/es/popup/style/index.js.map +1 -0
- package/es/portal/Portal.js +48 -0
- package/es/portal/Portal.js.map +1 -0
- package/es/portal/index.js +7 -0
- package/es/portal/index.js.map +1 -0
- package/es/select/Option.js +118 -0
- package/es/select/Option.js.map +1 -0
- package/es/select/OptionGroup.js +9 -0
- package/es/select/OptionGroup.js.map +1 -0
- package/es/select/PopupContent.js +16 -0
- package/es/select/PopupContent.js.map +1 -0
- package/es/select/Select.js +709 -0
- package/es/select/Select.js.map +1 -0
- package/es/select/index.js +66 -0
- package/es/select/index.js.map +1 -0
- package/es/select/style/css.js +1 -0
- package/es/select/style/index.css +437 -0
- package/es/select/style/index.js +2 -0
- package/es/select/style/index.js.map +1 -0
- package/es/select-input/SelectInput.js +202 -0
- package/es/select-input/SelectInput.js.map +1 -0
- package/es/select-input/hook/useMultiple.js +118 -0
- package/es/select-input/hook/useMultiple.js.map +1 -0
- package/es/select-input/hook/useSingle.js +105 -0
- package/es/select-input/hook/useSingle.js.map +1 -0
- package/es/select-input/index.js +51 -0
- package/es/select-input/index.js.map +1 -0
- package/es/select-input/style/css.js +1 -0
- package/es/select-input/style/index.css +0 -0
- package/es/select-input/style/index.js +2 -0
- package/es/select-input/style/index.js.map +1 -0
- package/es/space/index.js +2 -0
- package/es/space/index.js.map +1 -0
- package/es/style/index.css +490 -0
- package/es/style/index.js +2 -0
- package/es/style/index.js.map +1 -0
- package/es/switch/Switch.js +174 -0
- package/es/switch/Switch.js.map +1 -0
- package/es/switch/index.js +28 -0
- package/es/switch/index.js.map +1 -0
- package/es/switch/style/css.js +1 -0
- package/es/switch/style/index.css +239 -0
- package/es/switch/style/index.js +2 -0
- package/es/switch/style/index.js.map +1 -0
- package/es/tag/Tag.js +1312 -0
- package/es/tag/Tag.js.map +1 -0
- package/es/tag/index.js +21 -0
- package/es/tag/index.js.map +1 -0
- package/es/tag/style/css.js +1 -0
- package/es/tag/style/index.css +236 -0
- package/es/tag/style/index.js +2 -0
- package/es/tag/style/index.js.map +1 -0
- package/es/tag-input/TagInput.js +360 -0
- package/es/tag-input/TagInput.js.map +1 -0
- package/es/tag-input/hooks/useTagList.js +167 -0
- package/es/tag-input/hooks/useTagList.js.map +1 -0
- package/es/tag-input/index.js +35 -0
- package/es/tag-input/index.js.map +1 -0
- package/es/tag-input/style/css.js +1 -0
- package/es/tag-input/style/index.css +223 -0
- package/es/tag-input/style/index.js +2 -0
- package/es/tag-input/style/index.js.map +1 -0
- package/es/tag-input/useTagList.js +167 -0
- package/es/tag-input/useTagList.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popup.js","sources":["../../../components/utils/ref.ts","../../../components/hooks/useLastest.ts","../../../components/hooks/useMutationObserver.ts","../../../components/hooks/useWindowSize.ts","../../../components/utils/isFragment.ts","../../../components/utils/refs.ts","../../../components/utils/listener.ts","../../../components/popup/hooks/useTrigger.ts","../../../components/hooks/usePopper.ts","../../../components/popup/defaultProps.ts","../../../components/popup/Popup.tsx"],"sourcesContent":["export function getRefDom<T = HTMLElement>(domRef: React.RefObject<T>) {\n if (domRef.current && typeof domRef.current === \"object\" && \"currentElement\" in domRef.current) {\n return domRef.current.currentElement;\n }\n return domRef.current;\n}\n","import { useRef, useEffect } from \"react\";\n\nconst useLatest = <T>(value: T) => {\n const ref = useRef(value);\n\n useEffect(() => {\n ref.current = value;\n });\n\n return ref;\n};\n\nexport default useLatest;\n","import { useRef, useEffect } from \"react\";\nimport { debounce, isEqual } from \"lodash-es\";\nimport useLatest from \"./useLastest\";\n\nconst DEFAULT_OPTIONS = {\n debounceTime: 0,\n config: {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n } as MutationObserverInit\n};\n\ntype Options = typeof DEFAULT_OPTIONS;\n\nexport default function useMutationObservable(\n targetEl: HTMLElement | null,\n cb: MutationCallback,\n options = DEFAULT_OPTIONS\n) {\n const optionsRef = useRef<Options>(null);\n const signalRef = useRef(0);\n const callbackRef = useLatest(cb);\n\n if (!isEqual(options, optionsRef.current)) {\n signalRef.current += 1;\n }\n\n optionsRef.current = options;\n\n useEffect(() => {\n if (!targetEl || !targetEl?.nodeType) return;\n let observer: MutationObserver | null = null;\n try {\n if (optionsRef.current !== null) {\n const { debounceTime, config } = optionsRef.current;\n const mutationCallback: MutationCallback = (...args) => {\n callbackRef.current(...args);\n };\n observer = new MutationObserver(debounceTime > 0 ? debounce(mutationCallback, debounceTime) : mutationCallback);\n observer.observe(targetEl, config);\n }\n } catch (e) {\n console.error(e);\n }\n\n return () => {\n if (observer) {\n observer.disconnect();\n observer = null;\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [targetEl, signalRef.current]);\n}\n","import { useEffect, useState } from \"react\";\nimport { debounce } from \"lodash-es\";\nimport { getWindowSize } from \"../utils/dom\";\n\nexport interface WindowSize {\n width: number;\n height: number;\n}\n\nfunction useWindowSize(): WindowSize {\n const [size, setSize] = useState(getWindowSize);\n\n useEffect(() => {\n function handleResize() {\n setSize(getWindowSize());\n }\n\n const debounceResize = debounce(handleResize, 400);\n\n window.addEventListener(\"resize\", debounceResize);\n\n return () => {\n window.removeEventListener(\"resize\", debounceResize);\n debounceResize.cancel();\n };\n }, []);\n\n return size;\n}\n\nexport default useWindowSize;\n","// Source from:\n// https://github.com/react-component/util/blob/master/src/React/isFragment.ts\n\nconst REACT_ELEMENT_TYPE_18 = Symbol.for(\"react.element\");\nconst REACT_ELEMENT_TYPE_19 = Symbol.for(\"react.transitional.element\");\nconst REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\n\n/**\n * Compatible with React 18 or 19 to check if node is a Fragment.\n */\nexport default function isFragment(object: React.ReactElement | null | undefined): boolean {\n return (\n // Base object type\n object &&\n typeof object === \"object\" &&\n // React Element type\n ((object as { $$typeof: symbol }).$$typeof === REACT_ELEMENT_TYPE_18 ||\n (object as { $$typeof: symbol }).$$typeof === REACT_ELEMENT_TYPE_19) &&\n // React Fragment type\n (object as { type: symbol }).type === REACT_FRAGMENT_TYPE\n );\n}\n","// Source from:\n// https://github.com/react-component/util/blob/master/src/ref.ts\n\nimport { isValidElement } from \"react\";\nimport { ForwardRef, isMemo } from \"react-is\";\nimport isFragment from \"./isFragment\";\n\n// 判断是否支持 ref 透传\nexport const supportRef = (nodeOrComponent: unknown): boolean => {\n if (!nodeOrComponent) {\n return false;\n }\n\n // React 19 no need `forwardRef` anymore. So just pass if is a React element.\n\n if (\n isReactElement(nodeOrComponent as React.ReactNode) &&\n Object.prototype.propertyIsEnumerable.call((nodeOrComponent as React.ReactElement).props, \"ref\")\n ) {\n return true;\n }\n\n const type = isMemo(nodeOrComponent)\n ? (nodeOrComponent as { type: { type: unknown } }).type.type\n : (nodeOrComponent as { type: unknown }).type;\n\n // Function component node\n if (\n typeof type === \"function\" &&\n !(type as { prototype?: { render?: unknown } }).prototype?.render &&\n (type as { $$typeof?: symbol }).$$typeof !== ForwardRef\n ) {\n return false;\n }\n\n // Class component\n if (\n typeof nodeOrComponent === \"function\" &&\n !(nodeOrComponent as { prototype?: { render?: unknown } }).prototype?.render &&\n (nodeOrComponent as { $$typeof?: symbol }).$$typeof !== ForwardRef\n ) {\n return false;\n }\n return true;\n};\n\n// 获取 ref 中的 dom 元素\nexport function getRefDom<T = HTMLElement>(domRef: React.RefObject<T>) {\n if (domRef.current && typeof domRef.current === \"object\" && \"currentElement\" in domRef.current) {\n return (domRef.current as { currentElement: HTMLElement }).currentElement;\n }\n return domRef.current;\n}\n\ninterface RefAttributes<T> extends React.Attributes {\n ref: React.Ref<T>;\n}\n\nfunction isReactElement(node: React.ReactNode) {\n return isValidElement(node) && !isFragment(node);\n}\n\nexport const supportNodeRef = <T = HTMLElement>(node: React.ReactNode): node is React.ReactElement & RefAttributes<T> =>\n isReactElement(node) && supportRef(node);\n\n/**\n * In React 19. `ref` is not a property from node.\n * But a property from `props.ref`.\n * To check if `props.ref` exist or fallback to `ref`.\n */\nexport const getNodeRef = <T = HTMLElement>(node: React.ReactNode): React.Ref<T> | null => {\n if (node && isReactElement(node)) {\n const ele = node as React.ReactElement & { ref?: React.Ref<T> };\n\n // Source from:\n // https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/getReactNodeRef/getReactNodeRef.ts\n\n return Object.prototype.propertyIsEnumerable.call(ele.props, \"ref\") ? ele.props.ref : ele.ref;\n }\n return null;\n};\n","import { canUseDocument } from \"./dom\";\n\ntype EventHandler = (element: Node, event: string, handler: EventListenerOrEventListenerObject) => void;\n\nexport const on = ((): EventHandler => {\n if (canUseDocument && document.addEventListener) {\n return (element: Node, event: string, handler: EventListenerOrEventListenerObject): void => {\n if (element && event && handler) {\n element.addEventListener(event, handler, false);\n }\n };\n }\n return (element: Node, event: string, handler: EventListenerOrEventListenerObject): void => {\n if (element && event && handler) {\n (\n element as unknown as { attachEvent: (event: string, handler: EventListenerOrEventListenerObject) => void }\n ).attachEvent(`on${event}`, handler);\n }\n };\n})();\n\nexport const off = ((): EventHandler => {\n if (canUseDocument && document.removeEventListener) {\n return (element: Node, event: string, handler: EventListenerOrEventListenerObject): void => {\n if (element && event) {\n element.removeEventListener(event, handler, false);\n }\n };\n }\n return (element: Node, event: string, handler: EventListenerOrEventListenerObject): void => {\n if (element && event) {\n (\n element as unknown as { detachEvent: (event: string, handler: EventListenerOrEventListenerObject) => void }\n ).detachEvent(`on${event}`, handler);\n }\n };\n})();\n","import React, { useRef, useEffect, isValidElement, useCallback, useMemo } from \"react\";\nimport { isFragment } from \"react-is\";\nimport { supportRef, getRefDom, getNodeRef } from \"../../utils/refs\";\nimport composeRefs from \"../../utils/composeRefs\";\nimport { off, on } from \"../../utils/listener\";\nimport classNames from \"classnames\";\nimport { TNode } from \"../../common\";\nconst ESC_KEY = \"Escape\";\n\ninterface UseTriggerProps {\n content: TNode;\n disabled?: boolean;\n trigger: \"hover\" | \"click\" | \"mousedown\" | \"focus\" | \"context-menu\" | undefined;\n visible: boolean | undefined;\n onVisibleChange: (\n visible: boolean,\n context: {\n e?:\n | React.MouseEvent<HTMLElement>\n | React.TouchEvent<HTMLElement>\n | React.FocusEvent<HTMLElement>\n | React.KeyboardEvent<HTMLElement>;\n trigger: string;\n }\n ) => void;\n triggerRef: React.RefObject<HTMLElement>;\n delay?: number | [number, number] | number[];\n}\n\nexport default function useTrigger({\n content,\n disabled,\n trigger,\n visible,\n onVisibleChange,\n triggerRef,\n delay\n}: UseTriggerProps) {\n const hasPopupMouseDown = useRef(false);\n const mouseDownTimer = useRef(0);\n const visibleTimer = useRef(null);\n const triggerDataKey = useRef<string>(\"\");\n const leaveFlag = useRef(false); // 防止多次触发显隐\n\n // 在 effect 中初始化 triggerDataKey,避免在渲染期间调用不纯函数\n useEffect(() => {\n if (!triggerDataKey.current) {\n triggerDataKey.current = `t-popup--${Math.random().toFixed(10)}`;\n }\n }, []);\n\n // 禁用和无内容时不展示\n const shouldToggle = useMemo(() => {\n if (disabled) return false; // 禁用\n return !disabled && content === 0 ? true : content; // 无内容时\n }, [disabled, content]);\n\n // 解析 delay 数据类型\n const [appearDelay = 0, exitDelay = 0] = useMemo(() => {\n if (Array.isArray(delay)) return delay;\n return [delay, delay];\n }, [delay]);\n\n function callFuncWithDelay({ delay, callback }: { delay?: number; callback: () => void }) {\n if (delay) {\n clearTimeout(visibleTimer.current);\n visibleTimer.current = setTimeout(callback, delay);\n } else {\n callback();\n }\n }\n\n // 点击 trigger overlay 以外的元素关闭\n useEffect(() => {\n if (!shouldToggle) return;\n\n const handleDocumentClick = (e: MouseEvent | TouchEvent) => {\n if (getRefDom(triggerRef)?.contains?.(e.target as Node) || hasPopupMouseDown.current) {\n return;\n }\n if (visible) {\n onVisibleChange(false, { trigger: \"document\" });\n }\n };\n on(document, \"mousedown\", handleDocumentClick);\n on(document, \"touchend\", handleDocumentClick);\n\n // 清理事件监听\n return () => {\n off(document, \"mousedown\", handleDocumentClick);\n off(document, \"touchend\", handleDocumentClick);\n };\n }, [shouldToggle, visible, onVisibleChange, triggerRef]);\n\n // 弹出内容交互处理\n function getPopupProps(): React.HTMLAttributes<HTMLElement> {\n if (!shouldToggle) return {};\n\n return {\n onMouseEnter: (e: React.MouseEvent<HTMLElement>) => {\n console.log(\"popup mouse enter\");\n // leaveFlag表示是从 trigger 元素 hover 过来的,避免频繁显示隐藏\n if (trigger === \"hover\" && !leaveFlag.current) {\n // 清除延迟显示定时器\n clearTimeout(visibleTimer.current);\n // 立即显示\n onVisibleChange(true, { e, trigger: \"trigger-element-hover\" });\n }\n },\n onMouseLeave: (e: React.MouseEvent<HTMLElement>) => {\n console.log(\"popup mouse leave\");\n if (trigger === \"hover\") {\n // 防止 鼠标移出后,马上移入 popup 元素,导致 popup 重新显示 特别是有延迟显示时 是一个防抖标志\n leaveFlag.current = true;\n\n // 清除延迟显示定时器\n clearTimeout(visibleTimer.current);\n // 立即隐藏\n onVisibleChange(false, { e, trigger: \"trigger-element-hover\" });\n }\n },\n onMouseDown: () => {\n // 清除鼠标按下定时器\n clearTimeout(mouseDownTimer.current);\n // 鼠标按下时,触发 useEffect 中的 document click 事件,点击trigger和popup元素 不需要隐藏\n hasPopupMouseDown.current = true;\n mouseDownTimer.current = window.setTimeout(() => {\n // 事件处理完毕后,重置标志\n hasPopupMouseDown.current = false;\n });\n },\n // 触摸结束时,和mouseDown 类似\n\n onTouchEnd: () => {\n clearTimeout(mouseDownTimer.current);\n hasPopupMouseDown.current = true;\n mouseDownTimer.current = window.setTimeout(() => {\n hasPopupMouseDown.current = false;\n });\n }\n };\n }\n\n // 整理 trigger props\n function getTriggerProps(triggerNode: React.ReactElement<React.HTMLAttributes<HTMLElement>>) {\n if (!shouldToggle) return {};\n\n const triggerProps: React.HTMLAttributes<HTMLElement> & { ref?: React.Ref<HTMLElement> } = {\n className: visible ? classNames(triggerNode.props.className, `t-popup-open`) : triggerNode.props.className,\n onMouseDown: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"mousedown\") {\n callFuncWithDelay({\n delay: visible ? appearDelay : exitDelay,\n callback: () =>\n onVisibleChange(!visible, {\n e,\n trigger: \"trigger-element-mousedown\"\n })\n });\n }\n triggerNode.props.onMouseDown?.(e);\n },\n onClick: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"click\") {\n callFuncWithDelay({\n // appearDelay 和 exitDelay 分别表示点击时的延迟显示和隐藏\n delay: visible ? appearDelay : exitDelay,\n callback: () =>\n onVisibleChange(!visible, {\n e,\n trigger: \"trigger-element-click\"\n })\n });\n }\n triggerNode.props.onClick?.(e);\n },\n onTouchStart: (e: React.TouchEvent<HTMLElement>) => {\n if (trigger === \"hover\" || trigger === \"mousedown\") {\n // leaveFlag 表示是从 trigger 元素 hover 过来的,避免频繁显示隐藏\n leaveFlag.current = false;\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(true, { e, trigger: \"trigger-element-hover\" })\n });\n }\n triggerNode.props.onTouchStart?.(e);\n },\n onMouseEnter: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"hover\") {\n leaveFlag.current = false;\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(true, { e, trigger: \"trigger-element-hover\" })\n });\n }\n triggerNode.props.onMouseEnter?.(e);\n },\n onMouseLeave: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"hover\") {\n leaveFlag.current = false;\n callFuncWithDelay({\n delay: exitDelay,\n callback: () => onVisibleChange(false, { e, trigger: \"trigger-element-hover\" })\n });\n }\n triggerNode.props.onMouseLeave?.(e);\n },\n onFocus: (e: React.FocusEvent<HTMLElement>) => {\n if (trigger === \"focus\") {\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(true, { e, trigger: \"trigger-element-focus\" })\n });\n }\n triggerNode.props.onFocus?.(e);\n },\n onBlur: (e: React.FocusEvent<HTMLElement>) => {\n if (trigger === \"focus\") {\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(false, { e, trigger: \"trigger-element-blur\" })\n });\n }\n triggerNode.props.onBlur?.(e);\n },\n onContextMenu: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"context-menu\") {\n e.preventDefault();\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(true, { e, trigger: \"context-menu\" })\n });\n }\n triggerNode.props.onContextMenu?.(e);\n },\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => {\n if (e?.key === ESC_KEY) {\n callFuncWithDelay({\n delay: exitDelay,\n callback: () => onVisibleChange(false, { e, trigger: \"keydown-esc\" })\n });\n }\n triggerNode.props.onKeyDown?.(e);\n }\n };\n // 如果支持 ref 透传,composeRefs 返回一个函数,当组件挂载时,执行函数,triggerRef 和 tiggerNode 指向触发元素的dom\n if (supportRef(triggerNode)) {\n triggerProps.ref = composeRefs(triggerRef, getNodeRef(triggerNode));\n } else {\n // 标记 trigger 元素\n triggerProps[\"data-popup\"] = triggerDataKey.current;\n }\n\n return triggerProps;\n }\n\n // 整理 trigger 元素\n function getTriggerNode(children: React.ReactNode) {\n const triggerNode =\n isValidElement(children) && !isFragment(children) ? children : React.createElement(\"span\", {}, children);\n\n return React.cloneElement(triggerNode, getTriggerProps(triggerNode));\n }\n\n // ref 透传失败时使用 dom 查找\n const getTriggerDom = useCallback(() => {\n if (typeof document === \"undefined\") return {};\n return document.querySelector(`[data-popup=\"${triggerDataKey.current}\"]`);\n }, []);\n\n return {\n getTriggerNode,\n getPopupProps,\n getTriggerDom\n };\n}\n","// https://github.com/floating-ui/react-popper/blob/master/src/usePopper.js\n// React popper was archived by the owner on Dec 6, 2024.\n// to maintain this hook in the repo since upgrading to support React 19.0\nimport { useMemo, useRef, useState } from \"react\";\nimport { flushSync } from \"react-dom\";\nimport {\n createPopper as defaultCreatePopper,\n type Options as PopperOptions,\n type VirtualElement,\n type State as PopperState,\n type Instance as PopperInstance\n} from \"@popperjs/core\";\n\nimport isEqual from \"react-fast-compare\";\nimport useIsomorphicLayoutEffect from \"./useLayoutEffect\";\nimport type { Styles } from \"../common\";\n\ntype Options = Partial<\n PopperOptions & {\n createPopper: typeof defaultCreatePopper;\n }\n>;\n\ntype Attributes = {\n [key: string]: { [key: string]: string };\n};\n\ntype State = {\n styles: Record<string, Styles>;\n attributes: Attributes;\n};\n\nimport type { ModifierPhases } from \"@popperjs/core\";\n\ninterface Modifier {\n name: string;\n enabled?: boolean;\n phase?: ModifierPhases;\n fn?: (data: { state: PopperState }) => void;\n requires?: string[];\n}\n\nconst EMPTY_MODIFIERS: Modifier[] = [];\n\ntype UsePopperResult = {\n state?: PopperState;\n styles: Record<string, Styles>;\n attributes: Attributes;\n update: PopperInstance[\"update\"] | null;\n forceUpdate: PopperInstance[\"forceUpdate\"] | null;\n};\n\nconst fromEntries = <T>(entries: Array<[string, T]>): Record<string, T> =>\n entries.reduce(\n (acc, [key, value]) => {\n acc[key] = value;\n return acc;\n },\n {} as Record<string, T>\n );\n\nconst usePopper = (\n referenceElement?: Element | VirtualElement,\n popperElement?: HTMLElement,\n options: Options = {}\n): UsePopperResult => {\n const prevOptions = useRef<PopperOptions>(null);\n\n const optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || \"bottom\",\n strategy: options.strategy || \"absolute\",\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n const [state, setState] = useState<State>({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: \"0\",\n top: \"0\"\n },\n arrow: {\n position: \"absolute\"\n }\n },\n attributes: {}\n });\n\n const updateStateModifier = useMemo(\n () => ({\n name: \"updateState\",\n enabled: true,\n phase: \"write\" as ModifierPhases,\n fn: ({ state }: { state: PopperState }) => {\n const elements = Object.keys(state.elements);\n\n flushSync(() => {\n setState({\n styles: fromEntries(elements.map((element) => [element, state.styles[element] || {}])) as Record<\n string,\n Styles\n >,\n attributes: fromEntries(elements.map((element) => [element, state.attributes[element]])) as Attributes\n });\n });\n },\n requires: [\"computeStyles\"]\n }),\n []\n );\n\n const popperOptions = useMemo(() => {\n const newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [\n ...optionsWithDefaults.modifiers,\n updateStateModifier,\n {\n name: \"applyStyles\",\n enabled: false,\n phase: \"write\" as ModifierPhases\n }\n ]\n };\n\n // 使用 setTimeout 避免在渲染期间访问 ref\n setTimeout(() => {\n if (!isEqual(prevOptions.current, newOptions)) {\n prevOptions.current = newOptions;\n }\n }, 0);\n\n return newOptions;\n }, [\n optionsWithDefaults.onFirstUpdate,\n optionsWithDefaults.placement,\n optionsWithDefaults.strategy,\n optionsWithDefaults.modifiers,\n updateStateModifier\n ]);\n\n const popperInstanceRef = useRef<PopperInstance | null>(null);\n\n useIsomorphicLayoutEffect(() => {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n\n useIsomorphicLayoutEffect(() => {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n const createPopper = options.createPopper || defaultCreatePopper;\n const popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n\n popperInstanceRef.current = popperInstance;\n\n return () => {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n\n const getPopperInstance = () => popperInstanceRef.current;\n\n return {\n get state() {\n const instance = getPopperInstance();\n return instance ? instance.state : undefined;\n },\n styles: state.styles,\n attributes: state.attributes,\n get update() {\n const instance = getPopperInstance();\n return instance ? instance.update : null;\n },\n get forceUpdate() {\n const instance = getPopperInstance();\n return instance ? instance.forceUpdate : null;\n }\n };\n};\n\nexport default usePopper;\n","/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport { TdPopupProps } from \"./type\";\n\nexport const popupDefaultProps: TdPopupProps = {\n destroyOnClose: false,\n hideEmptyPopup: false,\n placement: \"top\",\n showArrow: false,\n trigger: \"hover\"\n};\n","import { Placement, type Options } from \"@popperjs/core\";\nimport { debounce, isFunction } from \"lodash-es\";\nimport React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from \"react\";\nimport { getRefDom } from \"../utils/ref\";\nimport Portal from \"../portal/Portal\";\nimport useControlled from \"../hooks/useControlled\";\nimport useDefaultProps from \"../hooks/useDefaultProps\";\nimport useMutationObserver from \"../hooks/useMutationObserver\";\nimport useWindowSize from \"../hooks/useWindowSize\";\nimport useTrigger from \"./hooks/useTrigger\";\nimport type { TdPopupProps } from \"./type\";\nimport usePopper from \"../hooks/usePopper\";\nimport { popupDefaultProps } from \"./defaultProps\";\nimport classNames from \"classnames\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { getCssVarsValue } from \"../utils/style\";\nimport useConfig from \"../hooks/useConfig\";\n\nexport interface PopupProps extends TdPopupProps {\n // 是否触发展开收起动画,内部下拉式组件使用\n expandAnimation?: boolean;\n // 更新内容区域滚动条\n updateScrollTop?: (content: HTMLDivElement) => void;\n}\n\nexport interface PopupRef {\n /** 获取 popper 实例 */\n getPopper: () => ReturnType<typeof usePopper>;\n /** 获取 Popup dom 元素 */\n getPopupElement: () => HTMLDivElement;\n /** 获取 portal dom 元素 */\n getPortalElement: () => HTMLDivElement;\n /** 获取内容区域 dom 元素 */\n getPopupContentElement: () => HTMLDivElement;\n /** 设置 popup 显示隐藏 */\n setVisible: (visible: boolean) => void;\n}\n\nconst Popup = forwardRef<PopupRef, PopupProps>((originalProps, ref) => {\n const props = useDefaultProps<PopupProps>(originalProps, popupDefaultProps);\n const { classPrefix } = useConfig();\n const {\n trigger,\n content,\n placement,\n showArrow,\n destroyOnClose,\n overlayClassName,\n overlayInnerClassName,\n overlayStyle,\n overlayInnerStyle,\n triggerElement,\n children = triggerElement,\n disabled,\n zIndex,\n onScroll,\n onScrollToBottom,\n delay,\n hideEmptyPopup,\n updateScrollTop\n } = props;\n\n // 全局配置\n const { height: windowHeight, width: windowWidth } = useWindowSize();\n const [visible, onVisibleChange] = useControlled(props, \"visible\", props.onVisibleChange);\n // 记录 popup 元素\n // 如果内容为 null 或 undefined,且 hideEmptyPopup 为 true,则不展示 popup\n const [popupElement, setPopupElement] = useState(null);\n const triggerRef = useRef(null); // 记录 trigger 元素\n const popupRef = useRef(null); // popup dom 元素,css transition 需要用\n const portalRef = useRef(null); // portal dom 元素\n const contentRef = useRef(null); // 内容部分\n const popperRef = useRef<ReturnType<typeof usePopper> | null>(null); // 保存 popper 实例\n\n // 默认动画时长\n const DEFAULT_TRANSITION_TIMEOUT = 180;\n\n // 处理切换 panel 为 null 和正常内容动态切换的情况\n useEffect(() => {\n if (!content && hideEmptyPopup) {\n requestAnimationFrame(() => setPopupElement(null));\n }\n }, [content, hideEmptyPopup]);\n\n // 判断展示浮层\n const showOverlay = useMemo(() => {\n if (hideEmptyPopup && !content) return false;\n return visible || popupElement;\n }, [hideEmptyPopup, content, visible, popupElement]);\n\n // 转化 placement\n const popperPlacement = useMemo(\n () => placement && (placement.replace(/-(left|top)$/, \"-start\").replace(/-(right|bottom)$/, \"-end\") as Placement),\n [placement]\n );\n // 获取 triggerNode\n const { getTriggerNode, getPopupProps, getTriggerDom } = useTrigger({\n triggerRef,\n content,\n disabled,\n trigger,\n visible,\n delay,\n onVisibleChange\n });\n // 传入popperjs 配置选项\n const popperOptions = props.popperOptions as Options;\n const { placement: _ignored, ...restPopperOptions } = popperOptions || {};\n // Suppress unused variable warning\n void _ignored;\n\n // popperRef 表示 popper 实例\n popperRef.current = usePopper(getRefDom(triggerRef), popupElement, {\n placement: popperPlacement as Placement,\n ...restPopperOptions\n });\n\n // arrow modifier 用于显示箭头\n const hasArrowModifier = popperOptions?.modifiers?.some((modifier) => modifier.name === \"arrow\");\n const { styles, attributes } = popperRef.current;\n // 获取 triggerNode\n // 如果 children 是函数,则调用函数获取 triggerNode\n // getTriggerNode 设置触发元素的事件\n const triggerNode = isFunction(children) ? getTriggerNode(children({ visible })) : getTriggerNode(children);\n\n const updateTimeRef = useRef(null);\n // 监听 trigger 节点或内容变化动态更新 popup 定位\n useMutationObserver(getRefDom(triggerRef), () => {\n const isDisplayNone = getCssVarsValue(\"display\", getRefDom(triggerRef)) === \"none\";\n if (visible && !isDisplayNone) {\n clearTimeout(updateTimeRef.current);\n updateTimeRef.current = setTimeout(() => popperRef.current?.update?.(), 0);\n }\n });\n // 清理定时器\n useEffect(() => () => clearTimeout(updateTimeRef.current), []);\n\n // 窗口尺寸变化时调整位置\n useEffect(() => {\n if (visible) {\n requestAnimationFrame(() => popperRef.current?.update?.());\n }\n }, [visible, content, windowHeight, windowWidth]);\n\n // 下拉展开时更新内部滚动条\n useEffect(() => {\n if (!triggerRef.current) triggerRef.current = getTriggerDom();\n if (visible) {\n updateScrollTop?.(contentRef.current);\n }\n }, [visible, updateScrollTop, getTriggerDom]);\n\n function handleExited() {\n if (!destroyOnClose && popupElement) {\n (popupElement as HTMLElement).style.display = \"none\";\n }\n }\n function handleEnter() {\n if (!destroyOnClose && popupElement) {\n popupElement.style.display = \"block\";\n }\n }\n\n function handleScroll(e: React.WheelEvent<HTMLDivElement>) {\n onScroll?.({ e });\n\n // 防止多次触发添加截流\n const debounceOnScrollBottom = debounce((e) => onScrollToBottom?.({ e }), 100);\n\n const { scrollTop, clientHeight, scrollHeight } = e.target as HTMLDivElement;\n // windows 下滚动会出现小数,所以这里取整\n if (clientHeight + Math.floor(scrollTop) === scrollHeight) {\n // touch bottom\n debounceOnScrollBottom(e);\n }\n }\n\n // 整理浮层样式\n function getOverlayStyle(overlayStyle: TdPopupProps[\"overlayStyle\"]) {\n if (getRefDom(triggerRef) && popupRef.current && typeof overlayStyle === \"function\") {\n return { ...overlayStyle(getRefDom(triggerRef), popupRef.current) };\n }\n return { ...overlayStyle };\n }\n\n const overlay = showOverlay && (\n <CSSTransition\n appear\n in={visible}\n timeout={DEFAULT_TRANSITION_TIMEOUT}\n nodeRef={portalRef}\n unmountOnExit={destroyOnClose}\n onEnter={handleEnter}\n onExited={handleExited}\n classNames={`${classPrefix}-portal`}\n >\n <Portal triggerNode={getRefDom(triggerRef)} attach=\"body\" ref={portalRef}>\n <CSSTransition appear timeout={0} in={visible} nodeRef={popupRef} classNames={`${classPrefix}-popup`}>\n <div\n ref={(node) => {\n if (node) {\n popupRef.current = node;\n setPopupElement(node);\n }\n }}\n style={{\n ...styles.popper,\n zIndex,\n ...getOverlayStyle(overlayStyle)\n }}\n className={classNames(`${classPrefix}-popup`, overlayClassName, \"\")}\n {...attributes.popper}\n {...getPopupProps()}\n >\n <div\n ref={contentRef}\n className={classNames(\n `${classPrefix}-popup__content`,\n {\n [`${classPrefix}-popup__content--arrow`]: showArrow\n },\n overlayInnerClassName\n )}\n style={getOverlayStyle(overlayInnerStyle)}\n onScroll={handleScroll}\n >\n {content}\n {showArrow && (\n <div\n style={styles.arrow}\n className={`${classPrefix}-popup__arrow`}\n {...(hasArrowModifier && { \"data-popper-arrow\": \"\" })}\n />\n )}\n </div>\n </div>\n </CSSTransition>\n </Portal>\n </CSSTransition>\n );\n // 使用 useImperativeHandle 暴露给父组件\n // 这样父组件可以通过 ref 获取 popper 实例、popup 元素\n // portal 元素和内容区域元素\n // 以及设置 popup 的显示隐藏状态\n useImperativeHandle(ref, () => ({\n getPopper: () => popperRef.current,\n getPopupElement: () => popupRef.current,\n getPortalElement: () => portalRef.current,\n getPopupContentElement: () => contentRef.current,\n setVisible: (visible: boolean) => onVisibleChange(visible, { trigger: \"document\" })\n }));\n // 这里使用 React.Fragment 包裹 triggerNode 和 overlay,确保返回一个单一的父节点\n // 这样可以避免在渲染时出现多个根节点的错误\n return (\n <React.Fragment>\n {triggerNode}\n {overlay}\n </React.Fragment>\n );\n});\n\nPopup.displayName = \"Popup\";\n\nexport default Popup;\n"],"names":["getRefDom","domRef","current","_typeof","currentElement","useLatest","value","ref","useRef","useEffect","DEFAULT_OPTIONS","debounceTime","config","attributes","childList","characterData","subtree","useMutationObservable","targetEl","cb","options","arguments","length","undefined","optionsRef","signalRef","callbackRef","isEqual","nodeType","observer","_optionsRef$current","mutationCallback","apply","MutationObserver","debounce","observe","e","console","error","disconnect","useWindowSize","_useState","useState","getWindowSize","_useState2","_slicedToArray","size","setSize","handleResize","debounceResize","window","addEventListener","removeEventListener","cancel","REACT_ELEMENT_TYPE_18","Symbol","REACT_ELEMENT_TYPE_19","REACT_FRAGMENT_TYPE","isFragment","object","$$typeof","type","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isReactElement","Object","prototype","propertyIsEnumerable","call","props","isMemo","render","ForwardRef","node","isValidElement","supportNodeRef","getNodeRef","ele","on","canUseDocument","document","element","event","handler","attachEvent","concat","off","detachEvent","ESC_KEY","useTrigger","_ref","content","disabled","trigger","visible","onVisibleChange","triggerRef","delay","hasPopupMouseDown","mouseDownTimer","visibleTimer","triggerDataKey","leaveFlag","Math","random","toFixed","shouldToggle","useMemo","_useMemo","Array","isArray","_useMemo2","_useMemo2$","appearDelay","_useMemo2$2","exitDelay","callFuncWithDelay","_ref2","callback","clearTimeout","setTimeout","handleDocumentClick","_getRefDom","_getRefDom$contains","contains","target","getPopupProps","onMouseEnter","log","onMouseLeave","onMouseDown","onTouchEnd","getTriggerProps","triggerNode","triggerProps","className","classNames","_triggerNode$props$on","_triggerNode$props","onClick","_triggerNode$props$on2","_triggerNode$props2","onTouchStart","_triggerNode$props$on3","_triggerNode$props3","_triggerNode$props$on4","_triggerNode$props4","_triggerNode$props$on5","_triggerNode$props5","onFocus","_triggerNode$props$on6","_triggerNode$props6","onBlur","_triggerNode$props$on7","_triggerNode$props7","onContextMenu","_triggerNode$props$on8","_triggerNode$props8","preventDefault","onKeyDown","_triggerNode$props$on9","_triggerNode$props9","key","composeRefs","getTriggerNode","children","React","createElement","cloneElement","getTriggerDom","useCallback","querySelector","EMPTY_MODIFIERS","fromEntries","entries","reduce","acc","usePopper","referenceElement","popperElement","prevOptions","optionsWithDefaults","onFirstUpdate","placement","strategy","modifiers","styles","popper","position","left","top","arrow","state","setState","updateStateModifier","name","enabled","phase","fn","_ref3","elements","keys","flushSync","map","requires","popperOptions","newOptions","_toConsumableArray","popperInstanceRef","useIsomorphicLayoutEffect","setOptions","createPopper","defaultCreatePopper","popperInstance","destroy","getPopperInstance","instance","update","forceUpdate","popupDefaultProps","destroyOnClose","hideEmptyPopup","showArrow","Popup","forwardRef","originalProps","_popperOptions$modifi","useDefaultProps","_useConfig","useConfig","classPrefix","overlayClassName","overlayInnerClassName","overlayStyle","overlayInnerStyle","triggerElement","_props$children","zIndex","onScroll","onScrollToBottom","updateScrollTop","_useWindowSize","windowHeight","height","windowWidth","width","_useControlled","useControlled","_useControlled2","popupElement","setPopupElement","popupRef","portalRef","contentRef","popperRef","DEFAULT_TRANSITION_TIMEOUT","requestAnimationFrame","showOverlay","popperPlacement","replace","_useTrigger","_ignored","restPopperOptions","_objectWithoutProperties","_excluded","_objectSpread","hasArrowModifier","some","modifier","_popperRef$current","isFunction","updateTimeRef","useMutationObserver","isDisplayNone","getCssVarsValue","_popperRef$current2","_popperRef$current2$u","_popperRef$current3","_popperRef$current3$u","handleExited","style","display","handleEnter","handleScroll","debounceOnScrollBottom","_e$target","scrollTop","clientHeight","scrollHeight","floor","getOverlayStyle","overlay","CSSTransition","appear","timeout","nodeRef","unmountOnExit","onEnter","onExited","Portal","attach","_defineProperty","useImperativeHandle","getPopper","getPopupElement","getPortalElement","getPopupContentElement","setVisible","Fragment","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import Popup$1 from './Popup.js';
|
|
2
|
+
import './style/css.js';
|
|
3
|
+
import '../_chunks/dep-Cwish4GD.js';
|
|
4
|
+
import '../_chunks/dep-D-UKOauR.js';
|
|
5
|
+
import '../_chunks/dep-DN7d1SzH.js';
|
|
6
|
+
import '../_chunks/dep-CzLhKWCf.js';
|
|
7
|
+
import 'lodash-es';
|
|
8
|
+
import 'react';
|
|
9
|
+
import '../portal/Portal.js';
|
|
10
|
+
import 'react-dom';
|
|
11
|
+
import '../_chunks/dep-0QH2Ee4R.js';
|
|
12
|
+
import '../_chunks/dep-DwWrhxkd.js';
|
|
13
|
+
import '../_chunks/dep-DGvfel3I.js';
|
|
14
|
+
import 'react-is';
|
|
15
|
+
import '../_chunks/dep-C1XcmShP.js';
|
|
16
|
+
import 'classnames';
|
|
17
|
+
import '../_chunks/dep-CgyDw_YI.js';
|
|
18
|
+
import '@popperjs/core';
|
|
19
|
+
import 'react-fast-compare';
|
|
20
|
+
import 'react-transition-group';
|
|
21
|
+
import '../_chunks/dep-BH5n5r1M.js';
|
|
22
|
+
import '../_chunks/dep-u1x3x6MJ.js';
|
|
23
|
+
import '../config-provider/ConfigContext.js';
|
|
24
|
+
|
|
25
|
+
var Popup = Popup$1;
|
|
26
|
+
|
|
27
|
+
export { Popup, Popup as default };
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../components/popup/index.ts"],"sourcesContent":["import _Popup from \"./Popup\";\nimport \"./style/index\";\nexport type { PopupProps, PopupRef } from \"./Popup\";\nexport * from \"./type\";\nexport const Popup = _Popup;\nexport default Popup;\n"],"names":["Popup","_Popup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAMA,KAAA,GAAQC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./index.css";
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
.t-popup {
|
|
2
|
+
font: var(--td-font-body-medium);
|
|
3
|
+
color: var(--td-text-color-primary);
|
|
4
|
+
-webkit-box-sizing: border-box;
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
margin: 0;
|
|
7
|
+
padding: 0;
|
|
8
|
+
list-style: none;
|
|
9
|
+
color: var(--td-text-color-primary);
|
|
10
|
+
display: inline-block;
|
|
11
|
+
z-index: 5500;
|
|
12
|
+
}
|
|
13
|
+
.t-popup__content {
|
|
14
|
+
position: relative;
|
|
15
|
+
background: var(--td-bg-color-container);
|
|
16
|
+
-webkit-box-shadow: var(--td-shadow-2), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left);
|
|
17
|
+
box-shadow: var(--td-shadow-2), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left);
|
|
18
|
+
border-radius: var(--td-radius-medium);
|
|
19
|
+
padding: var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-s);
|
|
20
|
+
font-size: var(--td-font-size-body-medium);
|
|
21
|
+
line-height: var(--td-line-height-body-medium);
|
|
22
|
+
-webkit-box-sizing: border-box;
|
|
23
|
+
box-sizing: border-box;
|
|
24
|
+
word-break: break-all;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.t-popup__arrow {
|
|
28
|
+
position: absolute;
|
|
29
|
+
z-index: 1;
|
|
30
|
+
width: 8px;
|
|
31
|
+
height: 8px;
|
|
32
|
+
}
|
|
33
|
+
.t-popup__arrow::before {
|
|
34
|
+
position: absolute;
|
|
35
|
+
content: "";
|
|
36
|
+
width: 8px;
|
|
37
|
+
height: 8px;
|
|
38
|
+
-webkit-transform: rotate(45deg);
|
|
39
|
+
transform: rotate(45deg);
|
|
40
|
+
background: var(--td-bg-color-container);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.t-popup[data-popper-placement^=top] .t-popup__content {
|
|
44
|
+
margin-bottom: var(--td-comp-margin-s);
|
|
45
|
+
}
|
|
46
|
+
.t-popup[data-popper-placement^=top] .t-popup__content--arrow {
|
|
47
|
+
margin-bottom: var(--td-comp-margin-l);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.t-popup[data-popper-placement^=bottom] .t-popup__content {
|
|
51
|
+
margin-top: var(--td-comp-margin-s);
|
|
52
|
+
}
|
|
53
|
+
.t-popup[data-popper-placement^=bottom] .t-popup__content--arrow {
|
|
54
|
+
margin-top: var(--td-comp-margin-l);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.t-popup[data-popper-placement^=left] .t-popup__content {
|
|
58
|
+
margin-right: var(--td-comp-margin-s);
|
|
59
|
+
}
|
|
60
|
+
.t-popup[data-popper-placement^=left] .t-popup__content--arrow {
|
|
61
|
+
margin-right: var(--td-comp-margin-l);
|
|
62
|
+
}
|
|
63
|
+
.t-popup[data-popper-placement^=left] .t-popup__content--text {
|
|
64
|
+
max-width: 480px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.t-popup[data-popper-placement^=right] .t-popup__content {
|
|
68
|
+
margin-left: var(--td-comp-margin-s);
|
|
69
|
+
}
|
|
70
|
+
.t-popup[data-popper-placement^=right] .t-popup__content--arrow {
|
|
71
|
+
margin-left: var(--td-comp-margin-l);
|
|
72
|
+
}
|
|
73
|
+
.t-popup[data-popper-placement^=right] .t-popup__content--text {
|
|
74
|
+
max-width: 480px;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.t-popup[data-popper-placement^=top] .t-popup__arrow::before {
|
|
78
|
+
border-top-left-radius: 100%;
|
|
79
|
+
-webkit-box-shadow: var(--td-shadow-inset-left), var(--td-shadow-inset-bottom);
|
|
80
|
+
box-shadow: var(--td-shadow-inset-left), var(--td-shadow-inset-bottom);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.t-popup[data-popper-placement=top-start] .t-popup__arrow {
|
|
84
|
+
left: 8px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.t-popup[data-popper-placement=top] .t-popup__arrow {
|
|
88
|
+
left: 50%;
|
|
89
|
+
margin-left: calc(-8px / 2);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.t-popup[data-popper-placement=top-end] .t-popup__arrow {
|
|
93
|
+
left: calc(100% - 16px);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.t-popup[data-popper-placement^=bottom] .t-popup__arrow {
|
|
97
|
+
top: calc(-8px / 2);
|
|
98
|
+
}
|
|
99
|
+
.t-popup[data-popper-placement^=bottom] .t-popup__arrow::before {
|
|
100
|
+
border-bottom-right-radius: 100%;
|
|
101
|
+
-webkit-box-shadow: var(--td-shadow-inset-top), var(--td-shadow-inset-right);
|
|
102
|
+
box-shadow: var(--td-shadow-inset-top), var(--td-shadow-inset-right);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.t-popup[data-popper-placement=bottom-start] .t-popup__arrow {
|
|
106
|
+
left: 8px;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.t-popup[data-popper-placement=bottom] .t-popup__arrow {
|
|
110
|
+
left: 50%;
|
|
111
|
+
margin-left: calc(-8px / 2);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.t-popup[data-popper-placement=bottom-end] .t-popup__arrow {
|
|
115
|
+
left: calc(100% - 16px);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.t-popup[data-popper-placement^=left] .t-popup__arrow {
|
|
119
|
+
right: calc(-8px / 2);
|
|
120
|
+
}
|
|
121
|
+
.t-popup[data-popper-placement^=left] .t-popup__arrow::before {
|
|
122
|
+
-webkit-box-shadow: var(--td-shadow-inset-left), var(--td-shadow-inset-top);
|
|
123
|
+
box-shadow: var(--td-shadow-inset-left), var(--td-shadow-inset-top);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.t-popup[data-popper-placement=left-start] .t-popup__arrow {
|
|
127
|
+
top: 8px;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.t-popup[data-popper-placement=left] .t-popup__arrow {
|
|
131
|
+
top: 50%;
|
|
132
|
+
margin-top: calc(-8px / 2);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.t-popup[data-popper-placement=left-end] .t-popup__arrow {
|
|
136
|
+
top: calc(100% - 16px);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.t-popup[data-popper-placement^=right] .t-popup__arrow {
|
|
140
|
+
left: calc(-8px / 2);
|
|
141
|
+
}
|
|
142
|
+
.t-popup[data-popper-placement^=right] .t-popup__arrow::before {
|
|
143
|
+
-webkit-box-shadow: var(--td-shadow-inset-right), var(--td-shadow-inset-bottom);
|
|
144
|
+
box-shadow: var(--td-shadow-inset-right), var(--td-shadow-inset-bottom);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.t-popup[data-popper-placement=right-start] .t-popup__arrow {
|
|
148
|
+
top: 8px;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.t-popup[data-popper-placement=right] .t-popup__arrow {
|
|
152
|
+
top: 50%;
|
|
153
|
+
margin-top: calc(-8px / 2);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.t-popup[data-popper-placement=right-end] .t-popup__arrow {
|
|
157
|
+
top: calc(100% - 16px);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.prefix-popup--animation-enter,
|
|
161
|
+
.prefix-popup--animation-enter-from,
|
|
162
|
+
.prefix-popup--animation-exiting,
|
|
163
|
+
.prefix-popup--animation-leave-to {
|
|
164
|
+
opacity: 0;
|
|
165
|
+
visibility: hidden;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.prefix-popup--animation-enter-to,
|
|
169
|
+
.prefix-popup--animation-entering,
|
|
170
|
+
.prefix-popup--animation-leave-from,
|
|
171
|
+
.prefix-popup--animation-leave {
|
|
172
|
+
opacity: 1;
|
|
173
|
+
visibility: visible;
|
|
174
|
+
-webkit-transform: none;
|
|
175
|
+
transform: none;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.prefix-popup--animation-enter-active {
|
|
179
|
+
-webkit-transition: opacity 0.2s linear;
|
|
180
|
+
transition: opacity 0.2s linear;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.prefix-popup--animation-leave-active {
|
|
184
|
+
-webkit-transition: opacity 0.2s cubic-bezier(0, 0, 0.15, 1), visibility 0.2s cubic-bezier(0.82, 0, 1, 0.9);
|
|
185
|
+
transition: opacity 0.2s cubic-bezier(0, 0, 0.15, 1), visibility 0.2s cubic-bezier(0.82, 0, 1, 0.9);
|
|
186
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { _ as _typeof } from '../_chunks/dep-D-UKOauR.js';
|
|
2
|
+
import { forwardRef, useMemo, useImperativeHandle } from 'react';
|
|
3
|
+
import { createPortal } from 'react-dom';
|
|
4
|
+
import { c as canUseDocument, u as useIsomorphicLayoutEffect } from '../_chunks/dep-0QH2Ee4R.js';
|
|
5
|
+
import 'lodash-es';
|
|
6
|
+
|
|
7
|
+
function getAttach(attach, triggerNode) {
|
|
8
|
+
if (!canUseDocument) return null;
|
|
9
|
+
var el = null;
|
|
10
|
+
if (typeof attach === "string") {
|
|
11
|
+
el = document.querySelector(attach);
|
|
12
|
+
}
|
|
13
|
+
if (typeof attach === "function") {
|
|
14
|
+
el = attach(triggerNode);
|
|
15
|
+
}
|
|
16
|
+
if (_typeof(attach) === "object" && attach instanceof window.HTMLElement) {
|
|
17
|
+
el = attach;
|
|
18
|
+
}
|
|
19
|
+
if (el && el.nodeType === 1) return el;
|
|
20
|
+
return document.body;
|
|
21
|
+
}
|
|
22
|
+
var Portal = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
23
|
+
var attach = props.attach,
|
|
24
|
+
children = props.children,
|
|
25
|
+
triggerNode = props.triggerNode;
|
|
26
|
+
var container = useMemo(function () {
|
|
27
|
+
var div = document.createElement("div");
|
|
28
|
+
div.className = "portal-container bg-primary";
|
|
29
|
+
return div;
|
|
30
|
+
}, []);
|
|
31
|
+
useIsomorphicLayoutEffect(function () {
|
|
32
|
+
var _parentElement$append;
|
|
33
|
+
var parentElement = getAttach(attach, triggerNode);
|
|
34
|
+
parentElement === null || parentElement === void 0 || (_parentElement$append = parentElement.appendChild) === null || _parentElement$append === void 0 || _parentElement$append.call(parentElement, container);
|
|
35
|
+
return function () {
|
|
36
|
+
var _parentElement$remove;
|
|
37
|
+
parentElement === null || parentElement === void 0 || (_parentElement$remove = parentElement.removeChild) === null || _parentElement$remove === void 0 || _parentElement$remove.call(parentElement, container);
|
|
38
|
+
};
|
|
39
|
+
}, [container, attach, triggerNode]);
|
|
40
|
+
useImperativeHandle(ref, function () {
|
|
41
|
+
return container;
|
|
42
|
+
});
|
|
43
|
+
return canUseDocument ? /*#__PURE__*/createPortal(children, container) : null;
|
|
44
|
+
});
|
|
45
|
+
Portal.displayName = "Portal";
|
|
46
|
+
|
|
47
|
+
export { Portal as default, getAttach };
|
|
48
|
+
//# sourceMappingURL=Portal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Portal.js","sources":["../../../components/portal/Portal.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useImperativeHandle } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { canUseDocument } from \"../utils/dom\";\nimport { AttachNode, AttachNodeReturnValue } from \"../common\";\nimport useIsomorphicLayoutEffect from \"../hooks/useLayoutEffect\";\n\nexport interface PortalProps {\n /**\n * 指定挂载的 HTML 节点, false 为挂载在 body\n */\n attach?: React.ReactElement | AttachNode | boolean;\n /**\n * 触发元素\n */\n triggerNode?: HTMLElement;\n children: React.ReactNode;\n}\n// 获取挂载的 HTML 节点\n\nexport function getAttach(attach: PortalProps[\"attach\"], triggerNode?: HTMLElement): AttachNodeReturnValue {\n if (!canUseDocument) return null;\n\n let el: AttachNodeReturnValue = null;\n if (typeof attach === \"string\") {\n el = document.querySelector(attach);\n }\n if (typeof attach === \"function\") {\n el = attach(triggerNode);\n }\n if (typeof attach === \"object\" && attach instanceof window.HTMLElement) {\n el = attach;\n }\n\n // fix el in iframe\n if (el && el.nodeType === 1) return el;\n\n return document.body;\n}\n\nconst Portal = forwardRef((props: PortalProps, ref) => {\n const { attach, children, triggerNode } = props;\n const container = useMemo(() => {\n const div = document.createElement(\"div\");\n div.className = \"portal-container bg-primary\";\n return div;\n }, []);\n // 兼容 SSR 环境\n useIsomorphicLayoutEffect(() => {\n const parentElement = getAttach(attach, triggerNode);\n parentElement?.appendChild?.(container);\n // Clean up the container when the component unmounts\n return () => {\n parentElement?.removeChild?.(container);\n };\n }, [container, attach, triggerNode]);\n // 自定义暴露给父组件的ref是container\n useImperativeHandle(ref, () => container);\n\n return canUseDocument ? createPortal(children, container) : null;\n});\n\nPortal.displayName = \"Portal\";\nexport default Portal;\n"],"names":["getAttach","attach","triggerNode","canUseDocument","el","document","querySelector","_typeof","window","HTMLElement","nodeType","body","Portal","forwardRef","props","ref","children","container","useMemo","div","createElement","className","useIsomorphicLayoutEffect","_parentElement$append","parentElement","appendChild","call","_parentElement$remove","removeChild","useImperativeHandle","createPortal","displayName"],"mappings":";;;;;;AAmBO,SAASA,SAAAA,CAAUC,QAA+BC,WAAA,EAAkD;AACzG,EAAA,IAAI,CAACC,gBAAgB,OAAO,IAAA;EAE5B,IAAIC,EAAA,GAA4B,IAAA;AAChC,EAAA,IAAI,OAAOH,WAAW,QAAA,EAAU;AAC9BG,IAAAA,EAAA,GAAKC,QAAA,CAASC,cAAcL,MAAM,CAAA;AACpC,EAAA;AACA,EAAA,IAAI,OAAOA,WAAW,UAAA,EAAY;AAChCG,IAAAA,EAAA,GAAKH,OAAOC,WAAW,CAAA;AACzB,EAAA;EACA,IAAIK,OAAA,CAAON,MAAA,CAAA,KAAW,QAAA,IAAYA,MAAA,YAAkBO,OAAOC,WAAA,EAAa;AACtEL,IAAAA,EAAA,GAAKH,MAAA;AACP,EAAA;EAGA,IAAIG,EAAA,IAAMA,EAAA,CAAGM,QAAA,KAAa,CAAA,EAAG,OAAON,EAAA;EAEpC,OAAOC,QAAA,CAASM,IAAA;AAClB;AAEA,IAAMC,MAAA,gBAASC,UAAA,CAAW,UAACC,KAAA,EAAoBC,GAAA,EAAQ;AACrD,EAAA,IAAQd,MAAA,GAAkCa,KAAA,CAAlCb,MAAA;IAAQe,QAAA,GAA0BF,KAAA,CAA1BE,QAAA;IAAUd,WAAA,GAAgBY,KAAA,CAAhBZ,WAAA;AAC1B,EAAA,IAAMe,SAAA,GAAYC,QAAQ,YAAM;AAC9B,IAAA,IAAMC,GAAA,GAAMd,QAAA,CAASe,aAAA,CAAc,KAAK,CAAA;IACxCD,GAAA,CAAIE,SAAA,GAAY,6BAAA;AAChB,IAAA,OAAOF,GAAA;EACT,CAAA,EAAG,EAAE,CAAA;AAELG,EAAAA,yBAAA,CAA0B,YAAM;AAAA,IAAA,IAAAC,qBAAA;AAC9B,IAAA,IAAMC,aAAA,GAAgBxB,SAAA,CAAUC,MAAA,EAAQC,WAAW,CAAA;AACnDsB,IAAAA,aAAA,aAAAA,aAAA,KAAA,KAAA,CAAA,IAAA,CAAAD,qBAAA,GAAAC,aAAA,CAAeC,6DAAfF,qBAAA,CAAAG,IAAA,CAAAF,aAAA,EAA6BP,SAAS,CAAA;AAEtC,IAAA,OAAO,YAAM;AAAA,MAAA,IAAAU,qBAAA;AACXH,MAAAA,aAAA,aAAAA,aAAA,KAAA,KAAA,CAAA,IAAA,CAAAG,qBAAA,GAAAH,aAAA,CAAeI,6DAAfD,qBAAA,CAAAD,IAAA,CAAAF,aAAA,EAA6BP,SAAS,CAAA;IACxC,CAAA;EACF,CAAA,EAAG,CAACA,SAAA,EAAWhB,MAAA,EAAQC,WAAW,CAAC,CAAA;EAEnC2B,mBAAA,CAAoBd,GAAA,EAAK,YAAA;AAAA,IAAA,OAAME,SAAS;EAAA,CAAA,CAAA;EAExC,OAAOd,cAAA,gBAAiB2B,YAAA,CAAad,QAAA,EAAUC,SAAS,CAAA,GAAI,IAAA;AAC9D,CAAC;AAEDL,MAAA,CAAOmB,WAAA,GAAc,QAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { _ as _defineProperty } from '../_chunks/dep-Cwish4GD.js';
|
|
2
|
+
import { _ as _slicedToArray } from '../_chunks/dep-CzLhKWCf.js';
|
|
3
|
+
import React, { useMemo, useEffect } from 'react';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import { isNumber, isString, get } from 'lodash-es';
|
|
6
|
+
import { u as useConfig } from '../_chunks/dep-u1x3x6MJ.js';
|
|
7
|
+
import { u as useDomRefCallback } from '../_chunks/dep-PPA-yoAy.js';
|
|
8
|
+
import '../_chunks/dep-D-UKOauR.js';
|
|
9
|
+
import '../config-provider/ConfigContext.js';
|
|
10
|
+
|
|
11
|
+
var componentType = "select";
|
|
12
|
+
var Option = function Option(props) {
|
|
13
|
+
var propDisabled = props.disabled,
|
|
14
|
+
propLabel = props.label,
|
|
15
|
+
propTitle = props.title,
|
|
16
|
+
selectedValue = props.selectedValue,
|
|
17
|
+
checkAll = props.checkAll,
|
|
18
|
+
multiple = props.multiple,
|
|
19
|
+
size = props.size,
|
|
20
|
+
max = props.max,
|
|
21
|
+
keys = props.keys,
|
|
22
|
+
value = props.value,
|
|
23
|
+
onSelect = props.onSelect,
|
|
24
|
+
children = props.children,
|
|
25
|
+
content = props.content,
|
|
26
|
+
restData = props.restData,
|
|
27
|
+
style = props.style,
|
|
28
|
+
className = props.className,
|
|
29
|
+
isVirtual = props.isVirtual;
|
|
30
|
+
var selected;
|
|
31
|
+
var indeterminate;
|
|
32
|
+
var label = propLabel || value;
|
|
33
|
+
var disabled = propDisabled || multiple && Array.isArray(selectedValue) && max && selectedValue.length >= max;
|
|
34
|
+
var titleContent = useMemo(function () {
|
|
35
|
+
var controlledTitle = Reflect.has(props, "title");
|
|
36
|
+
if (controlledTitle) return propTitle;
|
|
37
|
+
if (typeof label === "string") return label;
|
|
38
|
+
return null;
|
|
39
|
+
}, [propTitle, label]);
|
|
40
|
+
var _useConfig = useConfig(),
|
|
41
|
+
classPrefix = _useConfig.classPrefix;
|
|
42
|
+
var _useDomRefCallback = useDomRefCallback(),
|
|
43
|
+
_useDomRefCallback2 = _slicedToArray(_useDomRefCallback, 2),
|
|
44
|
+
optionRef = _useDomRefCallback2[0],
|
|
45
|
+
setRefCurrent = _useDomRefCallback2[1];
|
|
46
|
+
useEffect(function () {
|
|
47
|
+
if (isVirtual && optionRef) {
|
|
48
|
+
var _props$onRowMounted;
|
|
49
|
+
(_props$onRowMounted = props.onRowMounted) === null || _props$onRowMounted === void 0 || _props$onRowMounted.call(props, {
|
|
50
|
+
ref: optionRef,
|
|
51
|
+
data: props
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}, [isVirtual, optionRef]);
|
|
55
|
+
if (!multiple) {
|
|
56
|
+
selected = isNumber(selectedValue) || isString(selectedValue) ? value === selectedValue : value === get(selectedValue, (keys === null || keys === void 0 ? void 0 : keys.value) || "value");
|
|
57
|
+
}
|
|
58
|
+
if (multiple && Array.isArray(selectedValue)) {
|
|
59
|
+
selected = selectedValue.some(function (item) {
|
|
60
|
+
if (isNumber(item) || isString(item)) {
|
|
61
|
+
return item === value;
|
|
62
|
+
}
|
|
63
|
+
return get(item, (keys === null || keys === void 0 ? void 0 : keys.value) || "value") === value;
|
|
64
|
+
});
|
|
65
|
+
if (props.checkAll) {
|
|
66
|
+
selected = selectedValue.length === props.optionLength;
|
|
67
|
+
indeterminate = selectedValue.length > 0 && !selected;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
var handleSelect = function handleSelect(event) {
|
|
71
|
+
if (!disabled && !checkAll) {
|
|
72
|
+
if (value) onSelect === null || onSelect === void 0 || onSelect(value, {
|
|
73
|
+
label: String(label),
|
|
74
|
+
selected: selected,
|
|
75
|
+
event: event,
|
|
76
|
+
restData: restData
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
if (checkAll) {
|
|
80
|
+
var _props$onCheckAllChan;
|
|
81
|
+
(_props$onCheckAllChan = props.onCheckAllChange) === null || _props$onCheckAllChan === void 0 || _props$onCheckAllChan.call(props, selected, event);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
var renderItem = function renderItem(children2) {
|
|
85
|
+
if (multiple) {
|
|
86
|
+
return /* @__PURE__ */React.createElement("label", {
|
|
87
|
+
className: classNames("".concat(classPrefix, "-checkbox"), _defineProperty(_defineProperty(_defineProperty({}, "".concat(classPrefix, "-is-indeterminate"), indeterminate), "".concat(classPrefix, "-is-disabled"), disabled), "".concat(classPrefix, "-is-checked"), selected)),
|
|
88
|
+
title: titleContent
|
|
89
|
+
}, /* @__PURE__ */React.createElement("input", {
|
|
90
|
+
type: "checkbox",
|
|
91
|
+
className: classNames("".concat(classPrefix, "-checkbox__former")),
|
|
92
|
+
value: "",
|
|
93
|
+
disabled: disabled && !selected,
|
|
94
|
+
onClick: function onClick(e) {
|
|
95
|
+
e.stopPropagation();
|
|
96
|
+
e.nativeEvent.stopImmediatePropagation();
|
|
97
|
+
}
|
|
98
|
+
}), /* @__PURE__ */React.createElement("span", {
|
|
99
|
+
className: classNames("".concat(classPrefix, "-checkbox__input"))
|
|
100
|
+
}), /* @__PURE__ */React.createElement("span", {
|
|
101
|
+
className: classNames("".concat(classPrefix, "-checkbox__label"))
|
|
102
|
+
}, children2 || content || label));
|
|
103
|
+
}
|
|
104
|
+
return /* @__PURE__ */React.createElement("span", {
|
|
105
|
+
title: titleContent
|
|
106
|
+
}, children2 || content || label);
|
|
107
|
+
};
|
|
108
|
+
return /* @__PURE__ */React.createElement("li", {
|
|
109
|
+
className: classNames(className, "".concat(classPrefix, "-").concat(componentType, "-option"), _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(classPrefix, "-is-disabled"), disabled), "".concat(classPrefix, "-is-selected"), selected), "".concat(classPrefix, "-size-s"), size === "small"), "".concat(classPrefix, "-size-l"), size === "large")),
|
|
110
|
+
key: value,
|
|
111
|
+
onClick: handleSelect,
|
|
112
|
+
ref: setRefCurrent,
|
|
113
|
+
style: style
|
|
114
|
+
}, renderItem(children));
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
export { Option as default };
|
|
118
|
+
//# sourceMappingURL=Option.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Option.js","sources":["../../../components/select/Option.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport classNames from \"classnames\";\nimport { isNumber, isString, get } from \"lodash-es\";\n\nimport useConfig from \"../hooks/useConfig\";\nimport useDomRefCallback from \"../hooks/useDomRefCallback\";\n\nimport { StyledProps } from \"../common\";\nimport { SelectValue, TdOptionProps, TdSelectProps, SelectKeysType, SelectOption } from \"./type\";\n\nexport interface SelectOptionProps\n extends StyledProps,\n TdOptionProps,\n Pick<TdSelectProps, \"size\" | \"multiple\" | \"max\"> {\n selectedValue?: SelectValue;\n children?: React.ReactNode;\n onSelect?: (\n value: string | number,\n context: {\n label?: string;\n selected?: boolean;\n event: React.MouseEvent<HTMLLIElement>;\n restData?: Record<string, unknown>;\n }\n ) => void;\n onCheckAllChange?: (checkAll: boolean, e: React.MouseEvent<HTMLLIElement>) => void;\n restData?: Record<string, unknown>;\n keys?: SelectKeysType;\n optionLength?: number;\n isVirtual?: boolean;\n onRowMounted?: (rowData: { ref: HTMLElement; data: SelectOption }) => void;\n}\n\nconst componentType = \"select\";\n\nconst Option: React.FC<SelectOptionProps> = (props) => {\n const {\n disabled: propDisabled,\n label: propLabel,\n title: propTitle,\n selectedValue,\n checkAll,\n multiple,\n size,\n max,\n keys,\n value,\n onSelect,\n children,\n content,\n restData,\n style,\n className,\n isVirtual\n } = props;\n let selected: boolean;\n let indeterminate: boolean;\n const label = propLabel || value;\n const disabled = propDisabled || (multiple && Array.isArray(selectedValue) && max && selectedValue.length >= max);\n\n const titleContent = useMemo(() => {\n // 外部设置 props,说明希望受控\n const controlledTitle = Reflect.has(props, \"title\");\n if (controlledTitle) return propTitle;\n if (typeof label === \"string\") return label;\n return null;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propTitle, label]);\n const { classPrefix } = useConfig();\n // 使用斜八角动画\n const [optionRef, setRefCurrent] = useDomRefCallback();\n\n useEffect(() => {\n if (isVirtual && optionRef) {\n props.onRowMounted?.({\n ref: optionRef,\n data: props\n });\n }\n // eslint-disable-next-line\n }, [isVirtual, optionRef]);\n\n // 处理单选场景\n if (!multiple) {\n selected =\n isNumber(selectedValue) || isString(selectedValue)\n ? value === selectedValue\n : value === get(selectedValue, keys?.value || \"value\");\n }\n\n // 处理多选场景\n if (multiple && Array.isArray(selectedValue)) {\n selected = selectedValue.some((item) => {\n if (isNumber(item) || isString(item)) {\n // 如果非 object 类型\n return item === value;\n }\n return get(item, keys?.value || \"value\") === value;\n });\n if (props.checkAll) {\n selected = selectedValue.length === props.optionLength;\n indeterminate = selectedValue.length > 0 && !selected;\n }\n }\n\n const handleSelect = (event: React.MouseEvent<HTMLLIElement>) => {\n if (!disabled && !checkAll) {\n if (value) onSelect?.(value, { label: String(label), selected, event, restData });\n }\n if (checkAll) {\n props.onCheckAllChange?.(selected, event);\n }\n };\n\n const renderItem = (children: React.ReactNode) => {\n if (multiple) {\n return (\n <label\n className={classNames(`${classPrefix}-checkbox`, {\n [`${classPrefix}-is-indeterminate`]: indeterminate,\n [`${classPrefix}-is-disabled`]: disabled,\n [`${classPrefix}-is-checked`]: selected\n })}\n title={titleContent}\n >\n <input\n type=\"checkbox\"\n className={classNames(`${classPrefix}-checkbox__former`)}\n value=\"\"\n disabled={disabled && !selected}\n onClick={(e) => {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n }}\n />\n <span className={classNames(`${classPrefix}-checkbox__input`)}></span>\n <span className={classNames(`${classPrefix}-checkbox__label`)}>{children || content || label}</span>\n </label>\n );\n }\n return <span title={titleContent}>{children || content || label}</span>;\n };\n\n return (\n <li\n className={classNames(className, `${classPrefix}-${componentType}-option`, {\n [`${classPrefix}-is-disabled`]: disabled,\n [`${classPrefix}-is-selected`]: selected,\n [`${classPrefix}-size-s`]: size === \"small\",\n [`${classPrefix}-size-l`]: size === \"large\"\n })}\n key={value}\n onClick={handleSelect}\n ref={setRefCurrent}\n style={style}\n >\n {renderItem(children)}\n </li>\n );\n};\n\nexport default Option;\n"],"names":["componentType","Option","props","propDisabled","disabled","propLabel","label","propTitle","title","selectedValue","checkAll","multiple","size","max","keys","value","onSelect","children","content","restData","style","className","isVirtual","selected","indeterminate","Array","isArray","length","titleContent","useMemo","controlledTitle","Reflect","has","_useConfig","useConfig","classPrefix","_useDomRefCallback","useDomRefCallback","_useDomRefCallback2","_slicedToArray","optionRef","setRefCurrent","useEffect","_props$onRowMounted","onRowMounted","call","ref","data","isNumber","isString","get","some","item","optionLength","handleSelect","event","String","_props$onCheckAllChan","onCheckAllChange","renderItem","React","createElement","classNames","concat","_defineProperty","type","onClick","e","stopPropagation","nativeEvent","stopImmediatePropagation","key"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import '../_chunks/dep-Cwish4GD.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
import 'classnames';
|
|
4
|
+
import '../_chunks/dep-u1x3x6MJ.js';
|
|
5
|
+
export { O as default } from '../_chunks/dep-DB5wmwh1.js';
|
|
6
|
+
import '../_chunks/dep-DGvfel3I.js';
|
|
7
|
+
import '../_chunks/dep-D-UKOauR.js';
|
|
8
|
+
import '../config-provider/ConfigContext.js';
|
|
9
|
+
//# sourceMappingURL=OptionGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionGroup.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|