@pointcloud/pcloud-components 0.1.30 → 0.1.32

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 (36) hide show
  1. package/README.md +107 -302
  2. package/dist/esm/AnimatedScrollList/index.d.ts +7 -0
  3. package/dist/esm/AnimatedScrollList/index.js +322 -0
  4. package/dist/esm/AnimatedScrollList/interface.d.ts +71 -0
  5. package/dist/esm/AnimatedScrollList/interface.js +1 -0
  6. package/dist/esm/AnimatedScrollList/styles/index.less +22 -0
  7. package/dist/esm/ColorPicker/index.d.ts +11 -10
  8. package/dist/esm/ColorPicker/index.js +1 -1
  9. package/dist/esm/ConfigProvider/index.d.ts +1 -1
  10. package/dist/esm/ConfigProvider/index.js +21 -4
  11. package/dist/esm/ConfigProvider/interface.d.ts +2 -4
  12. package/dist/esm/ErrorBoundary/index.d.ts +2 -1
  13. package/dist/esm/InfiniteScrollList/index.d.ts +1 -1
  14. package/dist/esm/LabelValue/index.d.ts +1 -1
  15. package/dist/esm/Loading/loading.d.ts +2 -1
  16. package/dist/esm/LoginForm/index.js +1 -1
  17. package/dist/esm/NoData/index.d.ts +2 -1
  18. package/dist/esm/OrgTree/index.d.ts +5 -0
  19. package/dist/esm/OrgTree/index.js +58 -0
  20. package/dist/esm/OrgTree/index.less +15 -0
  21. package/dist/esm/OrgTree/interface.d.ts +41 -0
  22. package/dist/esm/OrgTree/interface.js +1 -0
  23. package/dist/esm/RndDrag/index.d.ts +2 -1
  24. package/dist/esm/ScrollNumber/index.d.ts +2 -1
  25. package/dist/esm/TypewriterText/index.d.ts +5 -0
  26. package/dist/esm/TypewriterText/index.js +282 -0
  27. package/dist/esm/TypewriterText/index.less +29 -0
  28. package/dist/esm/TypewriterText/interface.d.ts +42 -0
  29. package/dist/esm/TypewriterText/interface.js +1 -0
  30. package/dist/esm/WordCloud/index.d.ts +2 -1
  31. package/dist/esm/index.d.ts +6 -0
  32. package/dist/esm/index.js +4 -1
  33. package/dist/umd/pcloud-components.min.css +1 -1
  34. package/dist/umd/pcloud-components.min.js +1 -1
  35. package/package.json +3 -2
  36. package/README_USER.md +0 -133
@@ -0,0 +1,41 @@
1
+ /// <reference types="react" />
2
+ export interface OrgTreeNode {
3
+ /** 节点唯一标识 */
4
+ id: string | number;
5
+ /** 节点显示文本 */
6
+ label: string;
7
+ /** 节点标题 */
8
+ title?: string;
9
+ /** 子节点 */
10
+ children?: OrgTreeNode[];
11
+ /** 节点是否展开 */
12
+ expand?: boolean;
13
+ /** 节点是否可折叠 */
14
+ collapsable?: boolean;
15
+ /** 自定义节点类名 */
16
+ className?: string;
17
+ /** 节点数据 */
18
+ [key: string]: any;
19
+ }
20
+ export interface OrgTreeProps {
21
+ /** 组织树数据 */
22
+ data: OrgTreeNode;
23
+ /** 水平方向布局 */
24
+ horizontal?: boolean;
25
+ /** 是否可折叠 */
26
+ collapsable?: boolean;
27
+ /** 是否展开所有节点 */
28
+ expandAll?: boolean;
29
+ /** 自定义节点渲染 */
30
+ /** 自定义类名 */
31
+ className?: string;
32
+ /** 自定义样式 */
33
+ style?: React.CSSProperties;
34
+ /** 标签宽度 */
35
+ labelWidth?: string | number;
36
+ /** 标签自定义类名 */
37
+ labelClassName?: string;
38
+ onClick?: (event: React.MouseEvent, node: OrgTreeNode) => void;
39
+ /** 自定义渲染节点内容 */
40
+ renderContent?: (node: OrgTreeNode) => React.ReactNode;
41
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,6 @@
1
+ /// <reference types="react" />
1
2
  import { Props } from 'react-rnd';
2
- declare const RndDrag: (props: Props) => import("react/jsx-runtime").JSX.Element;
3
+ declare const RndDrag: (props: Props) => JSX.Element;
3
4
  export default RndDrag;
4
5
  export type { Props as RndDragProps } from 'react-rnd';
5
6
  export type { DraggableData, Position, Grid, RndDragCallback, RndDragEvent, RndResizeStartCallback, HandleStyles } from 'react-rnd';
@@ -1,6 +1,7 @@
1
+ /// <reference types="react" />
1
2
  import { CountUpProps as ICountUpProps } from 'react-countup';
2
3
  declare const ScrollNumber: {
3
- (props: ICountUpProps): import("react/jsx-runtime").JSX.Element;
4
+ (props: ICountUpProps): JSX.Element;
4
5
  useCountUp: (props: import("react-countup/build/useCountUp").UseCountUpProps) => import("react-countup/build/types").CountUpApi;
5
6
  };
6
7
  export declare type ScrollNumberProps = ICountUpProps;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { TypewriterTextHandle, TypewriterTextProps } from './interface';
3
+ import './index.less';
4
+ declare const TypewriterText: import("react").ForwardRefExoticComponent<TypewriterTextProps & import("react").RefAttributes<TypewriterTextHandle>>;
5
+ export default TypewriterText;
@@ -0,0 +1,282 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ var _excluded = ["text", "speed", "deleteSpeed", "backspace", "pauseBeforeDelete", "startDelay", "loop", "cursor", "cursorChar", "cursorBlinkSpeed", "onStep", "onComplete", "className", "style", "children"];
6
+ import { Fragment, forwardRef, useCallback, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
7
+ import { ConfigContext } from "../ConfigProvider";
8
+ import classNames from 'classnames';
9
+ import "./index.less";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ var TypewriterText = /*#__PURE__*/forwardRef(function (props, ref) {
13
+ var text = props.text,
14
+ _props$speed = props.speed,
15
+ speed = _props$speed === void 0 ? 50 : _props$speed,
16
+ _props$deleteSpeed = props.deleteSpeed,
17
+ deleteSpeed = _props$deleteSpeed === void 0 ? 30 : _props$deleteSpeed,
18
+ _props$backspace = props.backspace,
19
+ backspace = _props$backspace === void 0 ? false : _props$backspace,
20
+ _props$pauseBeforeDel = props.pauseBeforeDelete,
21
+ pauseBeforeDelete = _props$pauseBeforeDel === void 0 ? 600 : _props$pauseBeforeDel,
22
+ _props$startDelay = props.startDelay,
23
+ startDelay = _props$startDelay === void 0 ? 0 : _props$startDelay,
24
+ _props$loop = props.loop,
25
+ loop = _props$loop === void 0 ? false : _props$loop,
26
+ _props$cursor = props.cursor,
27
+ cursor = _props$cursor === void 0 ? true : _props$cursor,
28
+ _props$cursorChar = props.cursorChar,
29
+ cursorChar = _props$cursorChar === void 0 ? '|' : _props$cursorChar,
30
+ _props$cursorBlinkSpe = props.cursorBlinkSpeed,
31
+ cursorBlinkSpeed = _props$cursorBlinkSpe === void 0 ? 600 : _props$cursorBlinkSpe,
32
+ onStep = props.onStep,
33
+ onComplete = props.onComplete,
34
+ className = props.className,
35
+ style = props.style,
36
+ children = props.children,
37
+ rest = _objectWithoutProperties(props, _excluded);
38
+ var normalizedLoop = useMemo(function () {
39
+ if (loop === true) return true;
40
+ if (typeof loop === 'number' && loop > 0) return Math.floor(loop);
41
+ return false;
42
+ }, [loop]);
43
+ var texts = useMemo(function () {
44
+ var sources = Array.isArray(text) ? text : [text];
45
+ return sources.filter(function (item) {
46
+ return typeof item === 'string';
47
+ }).map(function (item) {
48
+ return item.replace(/\r\n|\r/g, '\n');
49
+ });
50
+ }, [text]);
51
+ var _useContext = useContext(ConfigContext),
52
+ prefixCls = _useContext.prefixCls,
53
+ getPrefixCls = _useContext.getPrefixCls;
54
+ var baseCls = getPrefixCls('typewriter-text');
55
+ var wrapperClass = classNames(_defineProperty({}, "".concat(prefixCls, "-typewriter-text"), !!prefixCls), baseCls, className);
56
+ var cursorClass = classNames(_defineProperty({}, "".concat(prefixCls, "-typewriter-text-cursor"), !!prefixCls), "".concat(baseCls, "-cursor"));
57
+ var _useState = useState(''),
58
+ _useState2 = _slicedToArray(_useState, 2),
59
+ output = _useState2[0],
60
+ setOutput = _useState2[1];
61
+ var textsRef = useRef(texts);
62
+ var timeoutRef = useRef();
63
+ var textIndexRef = useRef(0);
64
+ var charIndexRef = useRef(0);
65
+ var loopCountRef = useRef(0);
66
+ var isDeletingRef = useRef(false);
67
+ var pausedRef = useRef(false);
68
+ var stoppedRef = useRef(false);
69
+ var runStepRef = useRef();
70
+ var optionsRef = useRef({
71
+ speed: speed,
72
+ deleteSpeed: deleteSpeed,
73
+ backspace: backspace,
74
+ pauseBeforeDelete: pauseBeforeDelete,
75
+ startDelay: startDelay,
76
+ loop: normalizedLoop,
77
+ onStep: onStep,
78
+ onComplete: onComplete
79
+ });
80
+ useEffect(function () {
81
+ optionsRef.current = {
82
+ speed: speed,
83
+ deleteSpeed: deleteSpeed,
84
+ backspace: backspace,
85
+ pauseBeforeDelete: pauseBeforeDelete,
86
+ startDelay: startDelay,
87
+ loop: normalizedLoop,
88
+ onStep: onStep,
89
+ onComplete: onComplete
90
+ };
91
+ }, [speed, deleteSpeed, backspace, pauseBeforeDelete, startDelay, normalizedLoop, onStep, onComplete]);
92
+ useEffect(function () {
93
+ textsRef.current = texts;
94
+ }, [texts]);
95
+ var clearTimer = useCallback(function () {
96
+ if (typeof window === 'undefined') return;
97
+ if (timeoutRef.current) {
98
+ window.clearTimeout(timeoutRef.current);
99
+ timeoutRef.current = undefined;
100
+ }
101
+ }, []);
102
+ var getTypingDelay = useCallback(function () {
103
+ var currentSpeed = optionsRef.current.speed;
104
+ if (typeof currentSpeed === 'number') return Math.max(0, currentSpeed);
105
+ var min = Math.max(0, Math.min(currentSpeed.min, currentSpeed.max));
106
+ var max = Math.max(min, currentSpeed.max);
107
+ var gap = max - min;
108
+ if (gap === 0) return min;
109
+ return Math.floor(Math.random() * (gap + 1)) + min;
110
+ }, []);
111
+ var getDeleteDelay = useCallback(function () {
112
+ return Math.max(0, optionsRef.current.deleteSpeed);
113
+ }, []);
114
+ var scheduleNext = useCallback(function (delay) {
115
+ if (typeof window === 'undefined') return;
116
+ clearTimer();
117
+ if (pausedRef.current || stoppedRef.current) return;
118
+ var wait = typeof delay === 'number' ? Math.max(0, delay) : isDeletingRef.current ? getDeleteDelay() : getTypingDelay();
119
+ timeoutRef.current = window.setTimeout(function () {
120
+ var _runStepRef$current;
121
+ (_runStepRef$current = runStepRef.current) === null || _runStepRef$current === void 0 || _runStepRef$current.call(runStepRef);
122
+ }, wait);
123
+ }, [clearTimer, getDeleteDelay, getTypingDelay]);
124
+ var moveToNextText = useCallback(function () {
125
+ var content = textsRef.current;
126
+ if (!content.length) {
127
+ stoppedRef.current = true;
128
+ clearTimer();
129
+ return;
130
+ }
131
+ var isLast = textIndexRef.current >= content.length - 1;
132
+ if (!isLast) {
133
+ textIndexRef.current += 1;
134
+ } else {
135
+ var loopConfig = optionsRef.current.loop;
136
+ var canLoop = loopConfig === true || typeof loopConfig === 'number' && loopConfig > 0 && loopCountRef.current + 1 < loopConfig;
137
+ if (canLoop) {
138
+ loopCountRef.current += 1;
139
+ textIndexRef.current = 0;
140
+ } else {
141
+ stoppedRef.current = true;
142
+ clearTimer();
143
+ return;
144
+ }
145
+ }
146
+ charIndexRef.current = 0;
147
+ isDeletingRef.current = false;
148
+ setOutput('');
149
+ scheduleNext(optionsRef.current.startDelay);
150
+ }, [clearTimer, scheduleNext]);
151
+ var resetTyping = useCallback(function () {
152
+ clearTimer();
153
+ textsRef.current = texts;
154
+ textIndexRef.current = 0;
155
+ charIndexRef.current = 0;
156
+ loopCountRef.current = 0;
157
+ isDeletingRef.current = false;
158
+ pausedRef.current = false;
159
+ stoppedRef.current = false;
160
+ setOutput('');
161
+ if (!texts.length) {
162
+ stoppedRef.current = true;
163
+ return;
164
+ }
165
+ scheduleNext(optionsRef.current.startDelay);
166
+ }, [clearTimer, scheduleNext, texts]);
167
+ var pause = useCallback(function () {
168
+ if (pausedRef.current) return;
169
+ pausedRef.current = true;
170
+ clearTimer();
171
+ }, [clearTimer]);
172
+ var resume = useCallback(function () {
173
+ if (!pausedRef.current) return;
174
+ pausedRef.current = false;
175
+ scheduleNext();
176
+ }, [scheduleNext]);
177
+ var skipTyping = useCallback(function () {
178
+ var _content$textIndexRef, _optionsRef$current$o, _optionsRef$current;
179
+ if (stoppedRef.current) return;
180
+ var content = textsRef.current;
181
+ var currentText = (_content$textIndexRef = content[textIndexRef.current]) !== null && _content$textIndexRef !== void 0 ? _content$textIndexRef : '';
182
+ if (!currentText) {
183
+ moveToNextText();
184
+ return;
185
+ }
186
+ charIndexRef.current = currentText.length;
187
+ setOutput(currentText);
188
+ (_optionsRef$current$o = (_optionsRef$current = optionsRef.current).onStep) === null || _optionsRef$current$o === void 0 || _optionsRef$current$o.call(_optionsRef$current, charIndexRef.current, currentText);
189
+ if (optionsRef.current.backspace) {
190
+ isDeletingRef.current = true;
191
+ scheduleNext(optionsRef.current.pauseBeforeDelete);
192
+ return;
193
+ }
194
+ moveToNextText();
195
+ }, [moveToNextText, scheduleNext]);
196
+ runStepRef.current = function () {
197
+ var _content$textIndexRef2;
198
+ if (stoppedRef.current || pausedRef.current) return;
199
+ var content = textsRef.current;
200
+ if (!content.length) {
201
+ stoppedRef.current = true;
202
+ return;
203
+ }
204
+ var currentText = (_content$textIndexRef2 = content[textIndexRef.current]) !== null && _content$textIndexRef2 !== void 0 ? _content$textIndexRef2 : '';
205
+ if (!isDeletingRef.current) {
206
+ var _optionsRef$current$o3, _optionsRef$current3;
207
+ if (charIndexRef.current < currentText.length) {
208
+ var _optionsRef$current$o2, _optionsRef$current2;
209
+ var nextIndex = charIndexRef.current + 1;
210
+ var nextOutput = currentText.slice(0, nextIndex);
211
+ charIndexRef.current = nextIndex;
212
+ setOutput(nextOutput);
213
+ (_optionsRef$current$o2 = (_optionsRef$current2 = optionsRef.current).onStep) === null || _optionsRef$current$o2 === void 0 || _optionsRef$current$o2.call(_optionsRef$current2, nextIndex, nextOutput);
214
+ scheduleNext();
215
+ return;
216
+ }
217
+ (_optionsRef$current$o3 = (_optionsRef$current3 = optionsRef.current).onComplete) === null || _optionsRef$current$o3 === void 0 || _optionsRef$current$o3.call(_optionsRef$current3);
218
+ if (optionsRef.current.backspace && currentText.length) {
219
+ isDeletingRef.current = true;
220
+ scheduleNext(optionsRef.current.pauseBeforeDelete);
221
+ return;
222
+ }
223
+ moveToNextText();
224
+ return;
225
+ }
226
+ if (charIndexRef.current > 0) {
227
+ var _nextIndex = charIndexRef.current - 1;
228
+ var _nextOutput = currentText.slice(0, _nextIndex);
229
+ charIndexRef.current = _nextIndex;
230
+ setOutput(_nextOutput);
231
+ scheduleNext();
232
+ return;
233
+ }
234
+ isDeletingRef.current = false;
235
+ moveToNextText();
236
+ };
237
+ useEffect(function () {
238
+ resetTyping();
239
+ return function () {
240
+ clearTimer();
241
+ };
242
+ }, [clearTimer, resetTyping]);
243
+ useImperativeHandle(ref, function () {
244
+ return {
245
+ pause: pause,
246
+ resume: resume,
247
+ reset: resetTyping,
248
+ skip: skipTyping
249
+ };
250
+ }, [pause, resume, resetTyping, skipTyping]);
251
+ var shouldRenderCursor = cursor && !stoppedRef.current && !!cursorChar;
252
+ var resolvedCursorBlinkSpeed = Math.max(0, cursorBlinkSpeed);
253
+ var renderedOutput = useMemo(function () {
254
+ if (!output) return output;
255
+ if (!output.includes('\n')) return output;
256
+ var segments = output.split('\n');
257
+ var trailingBreak = output.endsWith('\n');
258
+ return segments.map(function (segment, index) {
259
+ var isLast = index === segments.length - 1;
260
+ var shouldInsertBreak = !isLast || trailingBreak;
261
+ return /*#__PURE__*/_jsxs(Fragment, {
262
+ children: [segment, shouldInsertBreak && /*#__PURE__*/_jsx("br", {})]
263
+ }, "typewriter-line-".concat(index));
264
+ });
265
+ }, [output]);
266
+ return /*#__PURE__*/_jsxs("span", _objectSpread(_objectSpread({
267
+ className: wrapperClass,
268
+ style: _objectSpread({
269
+ whiteSpace: 'pre-wrap'
270
+ }, style)
271
+ }, rest), {}, {
272
+ children: [renderedOutput, shouldRenderCursor && /*#__PURE__*/_jsx("span", {
273
+ className: cursorClass,
274
+ style: {
275
+ animationDuration: "".concat(resolvedCursorBlinkSpeed, "ms")
276
+ },
277
+ children: cursorChar
278
+ }), children]
279
+ }));
280
+ });
281
+ TypewriterText.displayName = 'TypewriterText';
282
+ export default TypewriterText;
@@ -0,0 +1,29 @@
1
+ @import '../commonStyle/index.less';
2
+
3
+ .@{prefix}-typewriter-text {
4
+ position: relative;
5
+ display: inline-block;
6
+ min-height: 1em;
7
+ font-variant-ligatures: none;
8
+
9
+ &-cursor {
10
+ display: inline-block;
11
+ margin-left: 4px;
12
+ animation-name: pc-typewriter-cursor-blink;
13
+ animation-timing-function: steps(1, end);
14
+ animation-iteration-count: infinite;
15
+ animation-fill-mode: both;
16
+ }
17
+ }
18
+
19
+ @keyframes pc-typewriter-cursor-blink {
20
+ 0%,
21
+ 49% {
22
+ opacity: 1;
23
+ }
24
+
25
+ 50%,
26
+ 100% {
27
+ opacity: 0;
28
+ }
29
+ }
@@ -0,0 +1,42 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export interface TypewriterTextHandle {
3
+ /** 暂停动画 */
4
+ pause: () => void;
5
+ /** 继续动画 */
6
+ resume: () => void;
7
+ /** 重置至第一段文字重新开始 */
8
+ reset: () => void;
9
+ /** 跳过当前段落直接进入下一段 */
10
+ skip: () => void;
11
+ }
12
+ export interface TypewriterTextProps extends HTMLAttributes<HTMLSpanElement> {
13
+ /** 展示文本,支持字符串数组 */
14
+ text: string | string[];
15
+ /** 打字速度,支持随机区间 */
16
+ speed?: number | {
17
+ min: number;
18
+ max: number;
19
+ };
20
+ /** 删除速度 */
21
+ deleteSpeed?: number;
22
+ /** 是否启用回删效果 */
23
+ backspace?: boolean;
24
+ /** 进入回删前的停顿时间,单位 ms */
25
+ pauseBeforeDelete?: number;
26
+ /** 每段文本开始前的停顿时间,单位 ms */
27
+ startDelay?: number;
28
+ /** 循环播放,true 表示无限循环,数字表示循环次数 */
29
+ loop?: boolean | number;
30
+ /** 是否展示光标 */
31
+ cursor?: boolean;
32
+ /** 光标字符 */
33
+ cursorChar?: string | React.ReactNode;
34
+ /** 光标闪烁速度 */
35
+ cursorBlinkSpeed?: number;
36
+ /** 每次新增字符时触发 */
37
+ onStep?: (_index: number, _output: string) => void;
38
+ /** 每段文本输入完成后触发(进入删除之前) */
39
+ onComplete?: () => void;
40
+ /** 控制屏幕阅读器播报行为 */
41
+ ariaLive?: 'off' | 'polite' | 'assertive';
42
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import WordCloud2 from 'wordcloud';
2
3
  export declare type WordCloudProps = {
3
4
  list: WordCloud2.Options['list'];
@@ -6,5 +7,5 @@ export declare type WordCloudProps = {
6
7
  onClick?: WordCloud2.EventCallback;
7
8
  options?: Partial<Omit<WordCloud2.Options, 'list' | 'hover' | 'click'>>;
8
9
  };
9
- declare const WordCloud: (props: WordCloudProps) => import("react/jsx-runtime").JSX.Element;
10
+ declare const WordCloud: (props: WordCloudProps) => JSX.Element;
10
11
  export default WordCloud;
@@ -36,6 +36,8 @@ export { default as ColorPicker } from './ColorPicker';
36
36
  export type { ColorPickerType, TwitterPickerType, HuePickerType, AlphaPickerType, BlockPickerType, ChromePickerType, CompactPickerType, CirclePickerType, SliderPickerType, } from './ColorPicker/interface';
37
37
  export { default as ScrollNumber } from './ScrollNumber';
38
38
  export type { ScrollNumberProps } from './ScrollNumber';
39
+ export { default as TypewriterText } from './TypewriterText';
40
+ export type { TypewriterTextProps, TypewriterTextHandle } from './TypewriterText';
39
41
  export type { WordCloudProps } from './WordCloud';
40
42
  export { default as WordCloud } from './WordCloud';
41
43
  export type { InfiniteScrollListProps } from './InfiniteScrollList';
@@ -54,3 +56,7 @@ export { default as SignaturePad } from './SignaturePad';
54
56
  export type { SignaturePadProps } from './SignaturePad';
55
57
  export { default as ContextMenu } from './ContextMenu';
56
58
  export type { ContextMenuProps } from './ContextMenu';
59
+ export { default as OrgTree } from './OrgTree';
60
+ export type { OrgTreeProps, OrgTreeNode } from './OrgTree/interface';
61
+ export { default as AnimatedScrollList } from './AnimatedScrollList';
62
+ export type { AnimatedScrollListProps } from './AnimatedScrollList/interface';
package/dist/esm/index.js CHANGED
@@ -18,6 +18,7 @@ export { default as ModalForm } from "./ModalForm";
18
18
  export { default as LoginForm } from "./LoginForm";
19
19
  export { default as ColorPicker } from "./ColorPicker";
20
20
  export { default as ScrollNumber } from "./ScrollNumber";
21
+ export { default as TypewriterText } from "./TypewriterText";
21
22
  export { default as WordCloud } from "./WordCloud";
22
23
  export { default as InfiniteScrollList } from "./InfiniteScrollList";
23
24
  export { default as RndDrag } from "./RndDrag";
@@ -26,4 +27,6 @@ export { default as IPAddress } from "./IPAddress";
26
27
  export { default as IconFont } from "./IconFont";
27
28
  export { default as AspectRatio } from "./AspectRatio";
28
29
  export { default as SignaturePad } from "./SignaturePad";
29
- export { default as ContextMenu } from "./ContextMenu";
30
+ export { default as ContextMenu } from "./ContextMenu";
31
+ export { default as OrgTree } from "./OrgTree";
32
+ export { default as AnimatedScrollList } from "./AnimatedScrollList";
@@ -1 +1 @@
1
- .pui-label-value{display:inline-flex}.pui-label-value span:first-child{max-width:120px;padding-right:4px;white-space:nowrap}.pui-label-value span:last-child{flex:1 1}.pui-label-value span:last-child.no-wrap{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pui-search-filter{align-items:center;background-color:#fff;margin-top:10px;width:100%}.pui-search-filter span.ant-collapse-header-text{cursor:auto!important;display:inline-block;width:100%}.pui-search-filter .ant-collapse-content-box{padding:0}.pui-search-filter .search-header{display:flex;width:100%}.pui-search-filter .search-header .left{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:no-wrap}.pui-search-filter .search-header .left :global .ant-radio-wrapper:first-child{border-left:1px solid #d9d9d9;border-radius:5px 0 0 5px}.pui-search-filter .search-header .left :global .ant-radio-wrapper:last-child{border-radius:0 5px 5px 0}.pui-search-filter .search-header .left :global .ant-radio-wrapper{border:1px solid #d9d9d9;border-left-color:#fff;margin-right:0;padding:4px 6px}.pui-search-filter .search-header .left :global .ant-radio-wrapper .ant-radio{display:none}.pui-search-filter .search-header .left :global .ant-radio-wrapper:hover{color:#1890ff}.pui-search-filter .search-header .left :global .ant-radio-wrapper-checked{background:#fff;border:1px solid #1890ff;border-left:1px solid #1890ff!important;color:#1890ff;z-index:1}.pui-search-filter .search-header .right{display:flex;justify-content:center}.pui-search-filter .search-header .right .input{border-radius:4px;width:200px}.pui-search-filter .search-header .right .button{background-color:#ff7e00;border-radius:4px;color:#fff;margin-left:10px}.pui-search-filter .search-header .right .button:active,.pui-search-filter .search-header .right .button:focus,.pui-search-filter .search-header .right .button:hover{border-color:transparent}.pui-search-filter .search-header .right .button .icon{margin-left:8px;transition:transform .4s}.pui-search-filter .search-header .right .button .icon.down{transform:rotate(180deg)}.pui-search-filter .search-header .right .button .icon.up{transform:rotate(0deg)}.pui-search-filter .title{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;font-weight:700;margin:0 10px;padding-bottom:10px}.pui-search-filter .title span.icon{background-color:#ff7e00;border-radius:2px;height:16px;margin-right:6px;width:4px}.pui-search-filter .search-content .filter-row{display:flex;flex-wrap:wrap;padding:10px;width:100%}.pui-search-filter .search-content .filter-col{height:30px;line-height:30px;margin-bottom:10px}.pui-search-filter .search-content .filter-col .ant-picker{width:100%}.pui-search-filter .search-content .search-btn{justify-content:center}.pui-search-filter .search-content .search-btn>button{margin:0 5px}.pui-error-boundary{align-items:center;background-color:#dd7f7f;border-radius:10px;display:flex;flex-direction:column;justify-content:center;margin:20px;padding:15px;width:auto}.pui-error-boundary .error-text{margin-top:20px}.pui-error-boundary .error-refresh{background-color:#4593ef;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;height:40px;line-height:40px;text-align:center;width:140px}.pui-error-boundary .errorDetiles .detilesLink{color:blue}.pui-error-boundary .errorDetiles .errordetails{background-color:#ccc6be;border:1px solid #777;border-radius:5px;color:#777;font-size:80%;padding:10px}.pui-picture-card{display:inline-block;padding:10px;transition:box-shadow .3s linear}.pui-picture-card .info{margin-top:10px}.pui-picture-card-bordered{border:1px solid rgba(0,0,0,.06)}.pui-picture-card-hoverable:hover{border-color:transparent;box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09);cursor:pointer}.pui-picture-card.horizontal{display:flex;justify-content:space-around}.pui-loading .mask{height:100%;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:100000}.pui-loading .loading{background:#fff;border-radius:10px;box-shadow:3px 3px 3px rgba(0,0,0,.2);padding:20px;z-index:100001}.pui-loading .loading,.pui-nodata{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.pui-nodata .not-data-image{display:block;height:100px}.pui-nodata .no-data-text{color:#000;display:inline-block;font-size:14px;font-weight:400;margin-top:5px;opacity:.65;text-align:center;width:100%}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar{height:8px;width:8px}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.5);border-radius:8px}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar-track{border-radius:2px}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar-corner{background-color:#f1f1f1}.pui-tree-select-dropdown .ant-select-tree-node-content-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pui-tree-select-dropdown .ant-select-tree-node-content-wrapper .ant-select-tree-title{overflow:hidden}.pui-upload .preview .ant-upload-list-item-actions a[target=_blank][rel="noopener noreferrer"]{opacity:1!important;pointer-events:auto!important}.pui-upload .ant-upload-list.ant-upload-list-picture-card .ant-upload-span .ant-upload-list-item-thumbnail{height:46px}.pui-upload .ant-upload-list.ant-upload-list-picture-card .ant-upload-span .ant-upload-list-item-name{display:inline;display:initial;position:absolute}.pui-table .ant-spin-container,.pui-table .ant-spin-nested-loading,.pui-table .ant-table,.pui-table .ant-table-container{height:100%;width:100%}.pui-table .ant-table-body{max-height:calc(100% - 56px);max-width:100%;min-height:calc(100% - 56px);min-width:100%;overflow-y:auto!important;position:absolute}.pui-table .ant-table-body .ant-table-tbody>tr>td.ant-table-cell.d-table-cell-wrap{white-space:normal}.pui-table .ant-table-body::-webkit-scrollbar{height:8px;width:4px}.pui-table .ant-table-body::-webkit-scrollbar-thumb{background-color:#0084ff}.pui-table .ant-table-body::-webkit-scrollbar-track{background-color:#f1f1f1;border-radius:2px}.pui-table .ant-table-body::-webkit-scrollbar-corner{background-color:#f1f1f1}.pui-table .ant-spin-nested-loading>div>.ant-spin{max-height:none}.pui-table .ant-pagination-total-text span{color:#40a9ff;font-weight:700}.pui-table.height-on-page .ant-table{height:calc(100% - 56px)}.pui-ip-address{border:1px solid #d9d9d9;border-radius:2px;display:inline-block;transition:all .3s}.pui-ip-address.small{height:24px}.pui-ip-address.large{padding:6.5px 10px}.pui-ip-address.middle{padding:4px 10px}.pui-ip-address.disabled{background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;color:rgba(0,0,0,.25);cursor:not-allowed;opacity:1}.pui-ip-address.disabled:hover{border-color:#d9d9d9}.pui-ip-address:hover{border-color:#4d90ff}.pui-ip-address:focus-within{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.pui-ip-address input{font-feature-settings:"tnum","tnum";background:none;border:none;box-sizing:border-box;color:#000000d9;display:inline-block;font-size:14px;font-variant:tabular-nums;line-height:1.5715;margin:0;outline:0;padding:0;position:relative;text-align:center}.pui-ip-address input[disabled]{color:inherit;cursor:not-allowed}.pui-ip-address input[type=number]{appearance:textfield}.pui-ip-address input[type=number]::-webkit-inner-spin-button,.pui-ip-address input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.pui-form .form-wrapper>.ant-form-item{margin-bottom:24px;margin-right:0;min-height:32px}.pui-form .ant-input-number,.pui-form .ant-picker{width:100%}.pui-form.ant-form-horizontal .form-wrapper>.ant-form-item:last-child,.pui-form.ant-form-vertical .form-wrapper>.ant-form-item:last-child{margin-bottom:0}.pui-form.ant-form-horizontal .ant-form-item-label{min-width:80px}.pui-form.ant-form-inline .form-wrapper,.pui-form.ant-form-inline.inlineVertical .form-wrapper{align-items:flex-end;display:flex;flex:1 1;flex-wrap:wrap;height:min-content}.pui-form.ant-form-inline .form-wrapper>.ant-form-item,.pui-form.ant-form-inline.inlineVertical .form-wrapper>.ant-form-item{padding-right:16px}.pui-form.ant-form-inline.inlineVertical .ant-form-item-row{flex-direction:column}.pui-form.ant-form-inline.inlineVertical .ant-form-item-row .ant-form-item-label{text-align:left}.pui-form.ant-form-inline.inlineVertical .grid-row{flex:1 1}.pui-modal-container .ant-modal-wrap .ant-modal{height:100%;max-width:none}.pui-modal-container .ant-modal-wrap .ant-modal .ant-modal-content{height:100%;width:100%}.pui-absolute-modal-container .ant-modal-wrap{position:fixed}.pui-relative-modal-container .ant-modal-wrap{position:absolute}.pui-color-picker .sketch-picker{box-shadow:none!important;padding:0!important}.trigger{border:5px solid #fff;border-radius:2px;box-shadow:0 0 2px #000;cursor:pointer;display:inline-block;height:26px;width:60px}.pui-infinite-scroll-wrapper .ant-list .ant-row{margin-right:0!important}.scroll-container{overflow-x:hidden;overflow-y:auto;position:relative}.scroll-container .backtop{right:50px}.scroll-container .up{background:#007aff;border-radius:3px;color:#fff;text-align:center}.toolbar{background-color:rgba(0,0,0,.5);color:#fff;justify-content:center}.toolbar,.toolbar button{align-items:center;display:flex}.toolbar button{background-color:transparent;border-width:0;cursor:pointer}.toolbar button:hover{background-color:#0074d9}.toolbar .icon>path{fill:#fff}.pui-signature-pad{align-items:center;display:flex;flex-direction:column;justify-content:center;position:relative}.pui-signature-pad-canvas{border:1px solid #d9d9d9;border-radius:4px}.pui-signature-pad-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;text-align:center}.pui-signature-pad-button{background-color:#fff;border:1px solid #1677ff;border-radius:4px;color:#1677ff;cursor:pointer;height:32px;min-width:64px;padding:4px 16px;transition:all .3s}.pui-signature-pad-button:hover{background-color:#f0f5ff}.pui-signature-pad-button:last-child{background-color:#1677ff;color:#fff}.pui-signature-pad-button:last-child:hover{background-color:#4096ff}.pui-context-menu{animation:contextmenu-show .2s ease-out forwards;background:#fff;border:1px solid #f0f0f0;border-radius:1px;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);min-width:120px;opacity:0;padding:4px 0;transform:scale(.8);transform-origin:top left}.pui-context-menu-item{align-items:center;color:rgba(0,0,0,.88);cursor:pointer;display:flex;gap:8px;padding:5px 12px;transition:all .3s;-ms-user-select:none;user-select:none}.pui-context-menu-item:hover{background:rgba(0,0,0,.04)}.pui-context-menu-item-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.pui-context-menu-item-disabled:hover{background:none}.pui-context-menu-item-divider{background:#f0f0f0;height:1px;margin:4px 0}@keyframes contextmenu-show{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
1
+ .pui-label-value{display:inline-flex}.pui-label-value span:first-child{max-width:120px;padding-right:4px;white-space:nowrap}.pui-label-value span:last-child{flex:1 1}.pui-label-value span:last-child.no-wrap{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pui-search-filter{align-items:center;background-color:#fff;margin-top:10px;width:100%}.pui-search-filter span.ant-collapse-header-text{cursor:auto!important;display:inline-block;width:100%}.pui-search-filter .ant-collapse-content-box{padding:0}.pui-search-filter .search-header{display:flex;width:100%}.pui-search-filter .search-header .left{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:no-wrap}.pui-search-filter .search-header .left :global .ant-radio-wrapper:first-child{border-left:1px solid #d9d9d9;border-radius:5px 0 0 5px}.pui-search-filter .search-header .left :global .ant-radio-wrapper:last-child{border-radius:0 5px 5px 0}.pui-search-filter .search-header .left :global .ant-radio-wrapper{border:1px solid #d9d9d9;border-left-color:#fff;margin-right:0;padding:4px 6px}.pui-search-filter .search-header .left :global .ant-radio-wrapper .ant-radio{display:none}.pui-search-filter .search-header .left :global .ant-radio-wrapper:hover{color:#1890ff}.pui-search-filter .search-header .left :global .ant-radio-wrapper-checked{background:#fff;border:1px solid #1890ff;border-left:1px solid #1890ff!important;color:#1890ff;z-index:1}.pui-search-filter .search-header .right{display:flex;justify-content:center}.pui-search-filter .search-header .right .input{border-radius:4px;width:200px}.pui-search-filter .search-header .right .button{background-color:#ff7e00;border-radius:4px;color:#fff;margin-left:10px}.pui-search-filter .search-header .right .button:active,.pui-search-filter .search-header .right .button:focus,.pui-search-filter .search-header .right .button:hover{border-color:transparent}.pui-search-filter .search-header .right .button .icon{margin-left:8px;transition:transform .4s}.pui-search-filter .search-header .right .button .icon.down{transform:rotate(180deg)}.pui-search-filter .search-header .right .button .icon.up{transform:rotate(0deg)}.pui-search-filter .title{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;font-weight:700;margin:0 10px;padding-bottom:10px}.pui-search-filter .title span.icon{background-color:#ff7e00;border-radius:2px;height:16px;margin-right:6px;width:4px}.pui-search-filter .search-content .filter-row{display:flex;flex-wrap:wrap;padding:10px;width:100%}.pui-search-filter .search-content .filter-col{height:30px;line-height:30px;margin-bottom:10px}.pui-search-filter .search-content .filter-col .ant-picker{width:100%}.pui-search-filter .search-content .search-btn{justify-content:center}.pui-search-filter .search-content .search-btn>button{margin:0 5px}.pui-error-boundary{align-items:center;background-color:#dd7f7f;border-radius:10px;display:flex;flex-direction:column;justify-content:center;margin:20px;padding:15px;width:auto}.pui-error-boundary .error-text{margin-top:20px}.pui-error-boundary .error-refresh{background-color:#4593ef;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;height:40px;line-height:40px;text-align:center;width:140px}.pui-error-boundary .errorDetiles .detilesLink{color:blue}.pui-error-boundary .errorDetiles .errordetails{background-color:#ccc6be;border:1px solid #777;border-radius:5px;color:#777;font-size:80%;padding:10px}.pui-picture-card{display:inline-block;padding:10px;transition:box-shadow .3s linear}.pui-picture-card .info{margin-top:10px}.pui-picture-card-bordered{border:1px solid rgba(0,0,0,.06)}.pui-picture-card-hoverable:hover{border-color:transparent;box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09);cursor:pointer}.pui-picture-card.horizontal{display:flex;justify-content:space-around}.pui-loading .mask{height:100%;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:100000}.pui-loading .loading{background:#fff;border-radius:10px;box-shadow:3px 3px 3px rgba(0,0,0,.2);padding:20px;z-index:100001}.pui-loading .loading,.pui-nodata{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.pui-nodata .not-data-image{display:block;height:100px}.pui-nodata .no-data-text{color:#000;display:inline-block;font-size:14px;font-weight:400;margin-top:5px;opacity:.65;text-align:center;width:100%}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar{height:8px;width:8px}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.5);border-radius:8px}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar-track{border-radius:2px}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar-corner{background-color:#f1f1f1}.pui-tree-select-dropdown .ant-select-tree-node-content-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pui-tree-select-dropdown .ant-select-tree-node-content-wrapper .ant-select-tree-title{overflow:hidden}.pui-upload .preview .ant-upload-list-item-actions a[target=_blank][rel="noopener noreferrer"]{opacity:1!important;pointer-events:auto!important}.pui-upload .ant-upload-list.ant-upload-list-picture-card .ant-upload-span .ant-upload-list-item-thumbnail{height:46px}.pui-upload .ant-upload-list.ant-upload-list-picture-card .ant-upload-span .ant-upload-list-item-name{display:inline;display:initial;position:absolute}.pui-table .ant-spin-container,.pui-table .ant-spin-nested-loading,.pui-table .ant-table,.pui-table .ant-table-container{height:100%;width:100%}.pui-table .ant-table-body{max-height:calc(100% - 56px);max-width:100%;min-height:calc(100% - 56px);min-width:100%;overflow-y:auto!important;position:absolute}.pui-table .ant-table-body .ant-table-tbody>tr>td.ant-table-cell.d-table-cell-wrap{white-space:normal}.pui-table .ant-table-body::-webkit-scrollbar{height:8px;width:4px}.pui-table .ant-table-body::-webkit-scrollbar-thumb{background-color:#0084ff}.pui-table .ant-table-body::-webkit-scrollbar-track{background-color:#f1f1f1;border-radius:2px}.pui-table .ant-table-body::-webkit-scrollbar-corner{background-color:#f1f1f1}.pui-table .ant-spin-nested-loading>div>.ant-spin{max-height:none}.pui-table .ant-pagination-total-text span{color:#40a9ff;font-weight:700}.pui-table.height-on-page .ant-table{height:calc(100% - 56px)}.pui-ip-address{border:1px solid #d9d9d9;border-radius:2px;display:inline-block;transition:all .3s}.pui-ip-address.small{height:24px}.pui-ip-address.large{padding:6.5px 10px}.pui-ip-address.middle{padding:4px 10px}.pui-ip-address.disabled{background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;color:rgba(0,0,0,.25);cursor:not-allowed;opacity:1}.pui-ip-address.disabled:hover{border-color:#d9d9d9}.pui-ip-address:hover{border-color:#4d90ff}.pui-ip-address:focus-within{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.pui-ip-address input{font-feature-settings:"tnum","tnum";background:none;border:none;box-sizing:border-box;color:#000000d9;display:inline-block;font-size:14px;font-variant:tabular-nums;line-height:1.5715;margin:0;outline:0;padding:0;position:relative;text-align:center}.pui-ip-address input[disabled]{color:inherit;cursor:not-allowed}.pui-ip-address input[type=number]{appearance:textfield}.pui-ip-address input[type=number]::-webkit-inner-spin-button,.pui-ip-address input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.pui-form .form-wrapper>.ant-form-item{margin-bottom:24px;margin-right:0;min-height:32px}.pui-form .ant-input-number,.pui-form .ant-picker{width:100%}.pui-form.ant-form-horizontal .form-wrapper>.ant-form-item:last-child,.pui-form.ant-form-vertical .form-wrapper>.ant-form-item:last-child{margin-bottom:0}.pui-form.ant-form-horizontal .ant-form-item-label{min-width:80px}.pui-form.ant-form-inline .form-wrapper,.pui-form.ant-form-inline.inlineVertical .form-wrapper{align-items:flex-end;display:flex;flex:1 1;flex-wrap:wrap;height:min-content}.pui-form.ant-form-inline .form-wrapper>.ant-form-item,.pui-form.ant-form-inline.inlineVertical .form-wrapper>.ant-form-item{padding-right:16px}.pui-form.ant-form-inline.inlineVertical .ant-form-item-row{flex-direction:column}.pui-form.ant-form-inline.inlineVertical .ant-form-item-row .ant-form-item-label{text-align:left}.pui-form.ant-form-inline.inlineVertical .grid-row{flex:1 1}.pui-modal-container .ant-modal-wrap .ant-modal{height:100%;max-width:none}.pui-modal-container .ant-modal-wrap .ant-modal .ant-modal-content{height:100%;width:100%}.pui-absolute-modal-container .ant-modal-wrap{position:fixed}.pui-relative-modal-container .ant-modal-wrap{position:absolute}.pui-color-picker .sketch-picker{box-shadow:none!important;padding:0!important}.trigger{border:5px solid #fff;border-radius:2px;box-shadow:0 0 2px #000;cursor:pointer;display:inline-block;height:26px;width:60px}.pui-typewriter-text{font-feature-settings:none;display:inline-block;font-variant-ligatures:none;min-height:1em;position:relative}.pui-typewriter-text-cursor{animation-fill-mode:both;animation-iteration-count:infinite;animation-name:pc-typewriter-cursor-blink;animation-timing-function:step-end;display:inline-block;margin-left:4px}@keyframes pc-typewriter-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.pui-infinite-scroll-wrapper .ant-list .ant-row{margin-right:0!important}.scroll-container{overflow-x:hidden;overflow-y:auto;position:relative}.scroll-container .backtop{right:50px}.scroll-container .up{background:#007aff;border-radius:3px;color:#fff;text-align:center}.toolbar{background-color:rgba(0,0,0,.5);color:#fff;justify-content:center}.toolbar,.toolbar button{align-items:center;display:flex}.toolbar button{background-color:transparent;border-width:0;cursor:pointer}.toolbar button:hover{background-color:#0074d9}.toolbar .icon>path{fill:#fff}.pui-signature-pad{align-items:center;display:flex;flex-direction:column;justify-content:center;position:relative}.pui-signature-pad-canvas{border:1px solid #d9d9d9;border-radius:4px}.pui-signature-pad-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;text-align:center}.pui-signature-pad-button{background-color:#fff;border:1px solid #1677ff;border-radius:4px;color:#1677ff;cursor:pointer;height:32px;min-width:64px;padding:4px 16px;transition:all .3s}.pui-signature-pad-button:hover{background-color:#f0f5ff}.pui-signature-pad-button:last-child{background-color:#1677ff;color:#fff}.pui-signature-pad-button:last-child:hover{background-color:#4096ff}.pui-context-menu{animation:contextmenu-show .2s ease-out forwards;background:#fff;border:1px solid #f0f0f0;border-radius:1px;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);min-width:120px;opacity:0;padding:4px 0;transform:scale(.8);transform-origin:top left}.pui-context-menu-item{align-items:center;color:rgba(0,0,0,.88);cursor:pointer;display:flex;gap:8px;padding:5px 12px;transition:all .3s;-ms-user-select:none;user-select:none}.pui-context-menu-item:hover{background:rgba(0,0,0,.04)}.pui-context-menu-item-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.pui-context-menu-item-disabled:hover{background:none}.pui-context-menu-item-divider{background:#f0f0f0;height:1px;margin:4px 0}@keyframes contextmenu-show{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.pui-org-tree{align-items:center;display:flex;height:100%;justify-content:center;overflow:auto;position:relative;width:100%}.pui-org-tree .org-tree-node-label{cursor:pointer}.pui-animated-scroll-list{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.pui-animated-scroll-list-header{flex-shrink:0}.pui-animated-scroll-list-body{overflow:hidden;position:relative}.pui-animated-scroll-list-content{position:relative}