@pointcloud/pcloud-components 0.1.20 → 0.1.23

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 (111) hide show
  1. package/README.md +17 -3
  2. package/dist/esm/AdvancedFilter/FormFilter.d.ts +1 -2
  3. package/dist/esm/AdvancedFilter/FormFilter.js +3 -3
  4. package/dist/esm/AdvancedFilter/index.js +3 -3
  5. package/dist/esm/AdvancedFilter/interface.d.ts +3 -3
  6. package/dist/esm/AuthComponent/index.d.ts +1 -2
  7. package/dist/esm/ColorPicker/index.d.ts +10 -11
  8. package/dist/esm/ColorPicker/index.js +5 -5
  9. package/dist/esm/ColorPicker/interface.d.ts +3 -3
  10. package/dist/esm/ConfigProvider/index.d.ts +1 -1
  11. package/dist/esm/ConfigProvider/interface.d.ts +1 -1
  12. package/dist/esm/DCascader/index.js +8 -9
  13. package/dist/esm/DCascader/index.less +24 -24
  14. package/dist/esm/DForm/DItem/itemsRender.d.ts +29 -29
  15. package/dist/esm/DForm/DItem/itemsRender.js +2 -0
  16. package/dist/esm/DForm/helper.js +6 -6
  17. package/dist/esm/DForm/index.d.ts +2 -1
  18. package/dist/esm/DForm/index.js +2 -3
  19. package/dist/esm/DForm/index.less +5 -4
  20. package/dist/esm/DInput/index.js +18 -18
  21. package/dist/esm/DModal/index.d.ts +1 -2
  22. package/dist/esm/DModal/interface.d.ts +2 -2
  23. package/dist/esm/DSelect/index.d.ts +1 -2
  24. package/dist/esm/DSelect/index.js +40 -46
  25. package/dist/esm/DTable/index.js +2 -2
  26. package/dist/esm/DTable/index.less +71 -71
  27. package/dist/esm/DTreeSelect/index.d.ts +1 -11
  28. package/dist/esm/DTreeSelect/index.js +1 -9
  29. package/dist/esm/DTreeSelect/index.less +11 -11
  30. package/dist/esm/DUpload/helper.d.ts +1 -1
  31. package/dist/esm/DUpload/helper.js +1 -1
  32. package/dist/esm/DUpload/index.d.ts +2 -2
  33. package/dist/esm/DUpload/index.js +14 -14
  34. package/dist/esm/DUpload/index.less +19 -19
  35. package/dist/esm/ErrorBoundary/index.d.ts +1 -2
  36. package/dist/esm/ErrorBoundary/index.less +44 -44
  37. package/dist/esm/IPAddress/index.d.ts +23 -0
  38. package/dist/esm/IPAddress/index.js +243 -0
  39. package/dist/esm/IPAddress/index.less +63 -0
  40. package/dist/esm/IconFont/index.d.ts +17 -0
  41. package/dist/esm/IconFont/index.js +27 -0
  42. package/dist/esm/InfiniteScrollList/index.d.ts +1 -1
  43. package/dist/esm/InfiniteScrollList/index.js +50 -44
  44. package/dist/esm/InfiniteScrollList/styles/index.less +22 -22
  45. package/dist/esm/LabelValue/index.d.ts +1 -1
  46. package/dist/esm/LabelValue/index.js +7 -3
  47. package/dist/esm/LabelValue/interface.d.ts +12 -3
  48. package/dist/esm/LabelValue/styles/index.less +23 -23
  49. package/dist/esm/Loading/hooks/useLoading.d.ts +6 -0
  50. package/dist/esm/Loading/hooks/useLoading.js +35 -0
  51. package/dist/esm/Loading/index.d.ts +5 -4
  52. package/dist/esm/Loading/index.js +9 -9
  53. package/dist/esm/Loading/interface.d.ts +12 -4
  54. package/dist/esm/Loading/loading.d.ts +3 -6
  55. package/dist/esm/Loading/loading.js +34 -11
  56. package/dist/esm/Loading/styles/index.less +25 -25
  57. package/dist/esm/ModalForm/index.d.ts +1 -1
  58. package/dist/esm/ModalForm/index.js +1 -1
  59. package/dist/esm/NoData/index.d.ts +1 -2
  60. package/dist/esm/NoData/styles/index.less +24 -24
  61. package/dist/esm/PictureCard/index.d.ts +2 -2
  62. package/dist/esm/PictureCard/index.js +1 -2
  63. package/dist/esm/PictureCard/index.less +28 -28
  64. package/dist/esm/RCropper/handler.d.ts +16 -0
  65. package/dist/esm/RCropper/handler.js +146 -0
  66. package/dist/esm/RCropper/index.d.ts +4 -0
  67. package/dist/esm/RCropper/index.js +183 -0
  68. package/dist/esm/RCropper/interface.d.ts +70 -0
  69. package/dist/esm/RCropper/interface.js +1 -0
  70. package/dist/esm/RCropper/styles/toolbar.less +25 -0
  71. package/dist/esm/RCropper/toolbar.d.ts +5 -0
  72. package/dist/esm/RCropper/toolbar.js +74 -0
  73. package/dist/esm/RndDrag/index.d.ts +5 -0
  74. package/dist/esm/RndDrag/index.js +26 -0
  75. package/dist/esm/ScrollNumber/index.d.ts +1 -2
  76. package/dist/esm/WordCloud/index.d.ts +1 -2
  77. package/dist/esm/commonStyle/index.less +1 -1
  78. package/dist/esm/index.d.ts +9 -1
  79. package/dist/esm/index.js +6 -2
  80. package/dist/umd/pcloud-components.min.css +1 -1
  81. package/dist/umd/pcloud-components.min.js +1 -1
  82. package/package.json +13 -10
  83. package/dist/cjs/AdvancedFilter/FormFilter.d.ts +0 -5
  84. package/dist/cjs/AdvancedFilter/FormFilter.js +0 -158
  85. package/dist/cjs/AdvancedFilter/demos/demo1.d.ts +0 -3
  86. package/dist/cjs/AdvancedFilter/demos/demo1.js +0 -56
  87. package/dist/cjs/AdvancedFilter/demos/demo2.d.ts +0 -3
  88. package/dist/cjs/AdvancedFilter/demos/demo2.js +0 -63
  89. package/dist/cjs/AdvancedFilter/demos/demo3.d.ts +0 -3
  90. package/dist/cjs/AdvancedFilter/demos/demo3.js +0 -113
  91. package/dist/cjs/AdvancedFilter/index.d.ts +0 -5
  92. package/dist/cjs/AdvancedFilter/index.js +0 -114
  93. package/dist/cjs/AdvancedFilter/interface.d.ts +0 -97
  94. package/dist/cjs/AdvancedFilter/interface.js +0 -17
  95. package/dist/cjs/AdvancedFilter/styles/index.less +0 -115
  96. package/dist/cjs/ErrorBoundary/index.d.ts +0 -6
  97. package/dist/cjs/ErrorBoundary/index.js +0 -45
  98. package/dist/cjs/ErrorBoundary/index.less +0 -42
  99. package/dist/cjs/LabelValue/demos/demo1.d.ts +0 -3
  100. package/dist/cjs/LabelValue/demos/demo1.js +0 -35
  101. package/dist/cjs/LabelValue/demos/demo2.d.ts +0 -3
  102. package/dist/cjs/LabelValue/demos/demo2.js +0 -36
  103. package/dist/cjs/LabelValue/demos/demo3.d.ts +0 -3
  104. package/dist/cjs/LabelValue/demos/demo3.js +0 -36
  105. package/dist/cjs/LabelValue/index.d.ts +0 -16
  106. package/dist/cjs/LabelValue/index.js +0 -50
  107. package/dist/cjs/LabelValue/interface.d.ts +0 -29
  108. package/dist/cjs/LabelValue/interface.js +0 -17
  109. package/dist/cjs/LabelValue/styles/index.less +0 -18
  110. package/dist/cjs/index.d.ts +0 -4
  111. package/dist/cjs/index.js +0 -38
@@ -0,0 +1,183 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
3
+ import React, { forwardRef, useContext, useEffect, useImperativeHandle, useRef, useCallback, useMemo } from 'react';
4
+ import Cropper, { toKebabCase } from 'cropperjs';
5
+ import classNames from 'classnames';
6
+ import { ConfigContext } from "../ConfigProvider";
7
+ import { createCropperHandlers } from "./handler";
8
+ import Toolbar from "./toolbar";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ import { Fragment as _Fragment } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ var isNonEmptyObject = function isNonEmptyObject(obj) {
13
+ return _typeof(obj) === 'object' && obj !== null && !Array.isArray(obj) && Object.keys(obj).length > 0;
14
+ };
15
+
16
+ /**
17
+ * 属性设置方法
18
+ * @param element DOM元素
19
+ * @param attrName 属性名(kebab-case)
20
+ * @param value 属性值
21
+ */
22
+ var setElementAttribute = function setElementAttribute(element, attrName, value) {
23
+ if (!element) return;
24
+ // 处理布尔值
25
+ if (typeof value === 'boolean') {
26
+ // eslint-disable-next-line no-unused-expressions, @typescript-eslint/no-unused-expressions
27
+ value ? element.setAttribute(attrName, '') : element.removeAttribute(attrName);
28
+ } else if (value === null || value === undefined) {
29
+ element.removeAttribute(attrName);
30
+ } else {
31
+ element.setAttribute(attrName, String(value));
32
+ }
33
+ };
34
+ var RCropper = /*#__PURE__*/forwardRef(function (props, ref) {
35
+ var src = props.src,
36
+ _props$alt = props.alt,
37
+ alt = _props$alt === void 0 ? 'image' : _props$alt,
38
+ className = props.className,
39
+ style = props.style,
40
+ grid = props.grid,
41
+ canvas = props.canvas,
42
+ selection = props.selection,
43
+ dragMode = props.dragMode,
44
+ onCrop = props.onCrop,
45
+ onZoom = props.onZoom,
46
+ onRotate = props.onRotate,
47
+ onFlip = props.onFlip,
48
+ onReset = props.onReset,
49
+ onCancelCrop = props.onCancelCrop;
50
+ var _useContext = useContext(ConfigContext),
51
+ prefixCls = _useContext.prefixCls,
52
+ getPrefixCls = _useContext.getPrefixCls;
53
+ var classname = getPrefixCls('rcropper');
54
+ var wrapperClass = classNames(_defineProperty({}, "".concat(prefixCls, "-rcropper"), !!prefixCls), classname, className);
55
+ var cropperRef = useRef(null);
56
+ var cropperInstanceRef = useRef(null);
57
+ var imgTransformRef = useRef();
58
+ var setCropperElementAttributes = useCallback(function (elementGetter, props) {
59
+ var nextTick = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
60
+ if (cropperInstanceRef.current && isNonEmptyObject(props)) {
61
+ var element = elementGetter(cropperInstanceRef.current);
62
+ Object.keys(props).forEach(function (key) {
63
+ var kebabKey = toKebabCase(key);
64
+ if (props[key] !== undefined) {
65
+ var setAttr = function setAttr() {
66
+ return setElementAttribute(element, kebabKey, props[key]);
67
+ };
68
+ if (nextTick) {
69
+ var _element$$nextTick;
70
+ element === null || element === void 0 || (_element$$nextTick = element.$nextTick) === null || _element$$nextTick === void 0 || _element$$nextTick.call(element, setAttr);
71
+ } else {
72
+ setAttr();
73
+ }
74
+ }
75
+ });
76
+ }
77
+ }, []);
78
+ var setGrid = useCallback(function (_grid) {
79
+ setCropperElementAttributes(function (cropper) {
80
+ var _cropper$getCropperSe;
81
+ return (_cropper$getCropperSe = cropper.getCropperSelection()) === null || _cropper$getCropperSe === void 0 ? void 0 : _cropper$getCropperSe.querySelector('cropper-grid');
82
+ }, _grid);
83
+ }, []);
84
+ var setSelection = useCallback(function (_selection) {
85
+ setCropperElementAttributes(function (cropper) {
86
+ return cropper.getCropperSelection();
87
+ }, _selection, true);
88
+ }, []);
89
+ var setCanvas = useCallback(function (_canvas) {
90
+ setCropperElementAttributes(function (cropper) {
91
+ return cropper.getCropperCanvas();
92
+ }, _canvas, true);
93
+ }, []);
94
+ var setDragMode = function setDragMode(_dragMode) {
95
+ if (cropperInstanceRef.current) {
96
+ var selectionDom = cropperInstanceRef.current.getCropperSelection();
97
+ var handleDom = selectionDom === null || selectionDom === void 0 ? void 0 : selectionDom.querySelector('cropper-handle');
98
+ handleDom === null || handleDom === void 0 || handleDom.setAttribute('action', _dragMode || 'crop');
99
+ }
100
+ };
101
+ // initialize cropper options
102
+ var initializeOptions = useCallback(function () {
103
+ if (isNonEmptyObject(grid)) setGrid(grid);
104
+ if (isNonEmptyObject(canvas)) setCanvas(canvas);
105
+ if (isNonEmptyObject(selection)) setSelection(selection);
106
+ if (dragMode) setDragMode(dragMode);
107
+ }, [dragMode, grid, canvas, selection]);
108
+ var handleAction = useMemo(function () {
109
+ return createCropperHandlers(cropperInstanceRef, imgTransformRef, {
110
+ onCrop: onCrop,
111
+ onZoom: onZoom,
112
+ onRotate: onRotate,
113
+ onFlip: onFlip,
114
+ onReset: onReset,
115
+ onCancelCrop: onCancelCrop
116
+ });
117
+ }, [onCrop, onZoom, onRotate, onFlip, onReset, onCancelCrop]);
118
+ useImperativeHandle(ref, function () {
119
+ var _cropperInstanceRef$c, _cropperInstanceRef$c2, _cropperInstanceRef$c3, _cropperInstanceRef$c4, _cropperInstanceRef$c5, _cropperInstanceRef$c6;
120
+ return {
121
+ cropper: cropperInstanceRef.current,
122
+ image: (_cropperInstanceRef$c = (_cropperInstanceRef$c2 = cropperInstanceRef.current) === null || _cropperInstanceRef$c2 === void 0 ? void 0 : _cropperInstanceRef$c2.getCropperImage()) !== null && _cropperInstanceRef$c !== void 0 ? _cropperInstanceRef$c : null,
123
+ canvas: (_cropperInstanceRef$c3 = (_cropperInstanceRef$c4 = cropperInstanceRef.current) === null || _cropperInstanceRef$c4 === void 0 ? void 0 : _cropperInstanceRef$c4.getCropperCanvas()) !== null && _cropperInstanceRef$c3 !== void 0 ? _cropperInstanceRef$c3 : null,
124
+ selection: (_cropperInstanceRef$c5 = (_cropperInstanceRef$c6 = cropperInstanceRef.current) === null || _cropperInstanceRef$c6 === void 0 ? void 0 : _cropperInstanceRef$c6.getCropperSelection()) !== null && _cropperInstanceRef$c5 !== void 0 ? _cropperInstanceRef$c5 : null
125
+ };
126
+ });
127
+ // handle dragMode
128
+ useEffect(function () {
129
+ if (dragMode) {
130
+ setDragMode(dragMode);
131
+ }
132
+ }, [dragMode]);
133
+ useEffect(function () {
134
+ if (canvas) {
135
+ setCanvas(canvas);
136
+ }
137
+ }, [canvas]);
138
+ useEffect(function () {
139
+ if (selection) {
140
+ setSelection(selection);
141
+ }
142
+ }, [selection]);
143
+ useEffect(function () {
144
+ if (cropperInstanceRef.current) {
145
+ var imgDom = cropperInstanceRef.current.getCropperImage();
146
+ var selectionDom = cropperInstanceRef.current.getCropperSelection();
147
+ if (!src) {
148
+ imgDom === null || imgDom === void 0 || imgDom.setAttribute('src', src);
149
+ } else {
150
+ selectionDom === null || selectionDom === void 0 || selectionDom.$reset();
151
+ selectionDom === null || selectionDom === void 0 || selectionDom.setAttribute('hidden', 'true');
152
+ }
153
+ }
154
+ }, [src]);
155
+ useEffect(function () {
156
+ if (cropperRef.current && !cropperInstanceRef.current) {
157
+ cropperInstanceRef.current = new Cropper(cropperRef.current);
158
+ var img = cropperInstanceRef.current.getCropperImage();
159
+ var cropperCanvas = cropperInstanceRef.current.getCropperCanvas();
160
+ cropperCanvas === null || cropperCanvas === void 0 || cropperCanvas.$addStyles(":host { height: 100%; }");
161
+ img === null || img === void 0 || img.$ready(function () {
162
+ img.setAttribute('crossOrigin', 'Anonymous');
163
+ // 缓存图片初始transform
164
+ imgTransformRef.current = img.$getTransform();
165
+ initializeOptions();
166
+ });
167
+ }
168
+ }, []);
169
+ return /*#__PURE__*/_jsxs(_Fragment, {
170
+ children: [/*#__PURE__*/_jsx("div", {
171
+ className: wrapperClass,
172
+ style: style,
173
+ children: /*#__PURE__*/_jsx("img", {
174
+ ref: cropperRef,
175
+ src: src,
176
+ alt: alt
177
+ })
178
+ }), /*#__PURE__*/_jsx(Toolbar, {
179
+ onAction: handleAction
180
+ })]
181
+ });
182
+ });
183
+ export default RCropper;
@@ -0,0 +1,70 @@
1
+ /// <reference types="react" />
2
+ import type Cropper from 'cropperjs';
3
+ import type { CropperGrid, CropperSelection, CropperImage, CropperCanvas, CropperHandle } from 'cropperjs';
4
+ export declare type RCropperGrid = Partial<Pick<CropperGrid, 'rows' | 'columns'>>;
5
+ export declare type RCropperSelection = Partial<Pick<CropperSelection, 'x' | 'y' | 'width' | 'height' | 'aspectRatio' | 'initialAspectRatio' | 'zoomable' | 'resizable'>>;
6
+ export declare type RCropperImage = Partial<Pick<CropperImage, 'rotatable' | 'scalable' | 'skewable' | 'translatable'>>;
7
+ export declare type RCropperCanvas = Partial<Pick<CropperCanvas, 'scaleStep' | 'disabled'>>;
8
+ export interface RCropperEvents {
9
+ onCrop?(_src: string | undefined, _file?: File): void;
10
+ onZoom?(imgData: number[] | undefined): void;
11
+ onRotate?(imgData: number[] | undefined): void;
12
+ onFlip?(imgData: number[] | undefined): void;
13
+ onReset?(imgData: number[] | undefined): void;
14
+ onCancelCrop?(selectionData: {
15
+ x: number;
16
+ y: number;
17
+ width: number;
18
+ height: number;
19
+ }): void;
20
+ }
21
+ export interface RCropperActionHandlers {
22
+ handleCrop: () => Promise<void>;
23
+ handleZoomIn: () => void;
24
+ handleZoomOut: () => void;
25
+ handleRotateLeft: () => void;
26
+ handleRotateRight: () => void;
27
+ handleFlipX: () => void;
28
+ handleFlipY: () => void;
29
+ handleReset: () => void;
30
+ handleCancelCrop: () => void;
31
+ }
32
+ export interface RCropperRef {
33
+ cropper: Cropper | null;
34
+ image: CropperImage | null;
35
+ canvas: CropperCanvas | null;
36
+ selection: CropperSelection | null;
37
+ }
38
+ export interface RCropperProps extends RCropperEvents {
39
+ /**
40
+ * 图片的源地址
41
+ * @description 可以是本地图片路径或网络图片URL
42
+ */
43
+ src: string;
44
+ alt?: string;
45
+ className?: string;
46
+ style?: React.CSSProperties;
47
+ /**
48
+ * 拖拽模式
49
+ * @default 'crop'
50
+ * @description 'crop' - 裁剪模式, 'move' - 移动模式, 'none' - 禁用拖拽
51
+ */
52
+ dragMode?: 'crop' | 'move' | 'none';
53
+ grid?: RCropperGrid;
54
+ /**
55
+ * 裁剪区域的配置
56
+ * @description 可以设置裁剪区域的宽度、高度、纵横比等属性
57
+ */
58
+ selection?: RCropperSelection;
59
+ /**
60
+ * 图片的配置
61
+ * @description 可以设置图片的旋转、缩放、倾斜、平移等属性
62
+ */
63
+ image?: RCropperImage;
64
+ /**
65
+ * 画布的配置
66
+ * @description 可以设置画布的缩放步长、禁用状态等属性
67
+ */
68
+ canvas?: RCropperCanvas;
69
+ }
70
+ export declare type RCropperElement = CropperCanvas | CropperGrid | CropperSelection | CropperImage | CropperHandle | null;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ .toolbar {
2
+ display: flex;
3
+ background-color: rgba(0, 0, 0, 50%);
4
+ justify-content: center;
5
+ align-items: center;
6
+ color: #fff;
7
+
8
+ button {
9
+ background-color: transparent;
10
+ border-width: 0;
11
+ cursor: pointer;
12
+ display: flex;
13
+ align-items: center;
14
+ // width: 32px;
15
+ // height: 32px;
16
+
17
+ &:hover {
18
+ background-color: #0074d9;
19
+ }
20
+ }
21
+
22
+ .icon > path {
23
+ fill: #fff;
24
+ }
25
+ }
@@ -0,0 +1,5 @@
1
+ import './styles/toolbar.less';
2
+ declare const Toolbar: ({ onAction }: {
3
+ onAction: any;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export default Toolbar;
@@ -0,0 +1,74 @@
1
+ // import { ReactComponent as CropIcon } from './svgIcons/crop.svg';
2
+ // import { ReactComponent as FlipHIcon } from './svgIcons/flip_h.svg';
3
+ // import { ReactComponent as FlipVIcon } from './svgIcons/flip_v.svg';
4
+ // import { ReactComponent as OkIcon } from './svgIcons/ok.svg';
5
+ // import { ReactComponent as ResetIcon } from './svgIcons/reset.svg';
6
+ // import { ReactComponent as RotateLeftIcon } from './svgIcons/rotate_l.svg';
7
+ // import { ReactComponent as RotateRightIcon } from './svgIcons/rotate_r.svg';
8
+ // import { ReactComponent as ZoomInIcon } from './svgIcons/zoom_in.svg';
9
+ // import { ReactComponent as ZoomOutIcon } from './svgIcons/zoom_out.svg';
10
+ import "./styles/toolbar.less";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ import { jsxs as _jsxs } from "react/jsx-runtime";
13
+ var Toolbar = function Toolbar(_ref) {
14
+ var onAction = _ref.onAction;
15
+ var handleCancelCrop = onAction.handleCancelCrop,
16
+ handleCrop = onAction.handleCrop,
17
+ handleZoomIn = onAction.handleZoomIn,
18
+ handleZoomOut = onAction.handleZoomOut,
19
+ handleRotateLeft = onAction.handleRotateLeft,
20
+ handleRotateRight = onAction.handleRotateRight,
21
+ handleReset = onAction.handleReset,
22
+ handleFlipX = onAction.handleFlipX,
23
+ handleFlipY = onAction.handleFlipY;
24
+ return /*#__PURE__*/_jsxs("div", {
25
+ className: "toolbar",
26
+ children: [/*#__PURE__*/_jsx("button", {
27
+ type: "button",
28
+ onClick: handleCancelCrop,
29
+ title: "\u9690\u85CF\u9009\u533A",
30
+ children: "\u9690\u85CF\u9009\u533A"
31
+ }), /*#__PURE__*/_jsx("button", {
32
+ type: "button",
33
+ onClick: handleZoomIn,
34
+ title: "\u653E\u5927",
35
+ children: "\u653E\u5927"
36
+ }), /*#__PURE__*/_jsx("button", {
37
+ type: "button",
38
+ onClick: handleZoomOut,
39
+ title: "\u7F29\u5C0F",
40
+ children: "\u7F29\u5C0F"
41
+ }), /*#__PURE__*/_jsx("button", {
42
+ type: "button",
43
+ onClick: handleFlipX,
44
+ title: "\u6C34\u5E73\u7FFB\u8F6C",
45
+ children: "\u6C34\u5E73\u7FFB\u8F6C"
46
+ }), /*#__PURE__*/_jsx("button", {
47
+ type: "button",
48
+ onClick: handleFlipY,
49
+ title: "\u5782\u76F4\u7FFB\u8F6C",
50
+ children: "\u5782\u76F4\u7FFB\u8F6C"
51
+ }), /*#__PURE__*/_jsx("button", {
52
+ type: "button",
53
+ onClick: handleRotateLeft,
54
+ title: "\u5411\u5DE6\u65CB\u8F6C",
55
+ children: "\u5411\u5DE6\u65CB\u8F6C"
56
+ }), /*#__PURE__*/_jsx("button", {
57
+ type: "button",
58
+ onClick: handleRotateRight,
59
+ title: "\u5411\u53F3\u65CB\u8F6C",
60
+ children: "\u5411\u53F3\u65CB\u8F6C"
61
+ }), /*#__PURE__*/_jsx("button", {
62
+ type: "button",
63
+ onClick: handleReset,
64
+ title: "\u91CD\u7F6E",
65
+ children: "\u91CD\u7F6E"
66
+ }), /*#__PURE__*/_jsx("button", {
67
+ type: "button",
68
+ onClick: handleCrop,
69
+ title: "\u88C1\u526A",
70
+ children: "\u88C1\u526A"
71
+ })]
72
+ });
73
+ };
74
+ export default Toolbar;
@@ -0,0 +1,5 @@
1
+ import { Props } from 'react-rnd';
2
+ declare const RndDrag: (props: Props) => import("react/jsx-runtime").JSX.Element;
3
+ export default RndDrag;
4
+ export type { Props as RndDragProps } from 'react-rnd';
5
+ export type { DraggableData, Position, Grid, RndDragCallback, RndDragEvent, RndResizeStartCallback, HandleStyles } from 'react-rnd';
@@ -0,0 +1,26 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
+ var _excluded = ["children", "className"];
5
+ import { Rnd } from 'react-rnd';
6
+ import { useContext } from 'react';
7
+ import classNames from 'classnames';
8
+ import { ConfigContext } from "../ConfigProvider";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ var RndDrag = function RndDrag(props) {
11
+ var children = props.children,
12
+ className = props.className,
13
+ rest = _objectWithoutProperties(props, _excluded);
14
+ var _useContext = useContext(ConfigContext),
15
+ prefixCls = _useContext.prefixCls,
16
+ getPrefixCls = _useContext.getPrefixCls;
17
+ var classname = getPrefixCls('rnd-drag');
18
+ var wrapperClass = classNames(_defineProperty({}, "".concat(prefixCls, "-rnd-drag"), !!prefixCls), classname, className);
19
+ return /*#__PURE__*/_jsx(Rnd, _objectSpread(_objectSpread({
20
+ className: wrapperClass,
21
+ bounds: "parent"
22
+ }, rest), {}, {
23
+ children: children
24
+ }));
25
+ };
26
+ export default RndDrag;
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { CountUpProps as ICountUpProps } from 'react-countup';
3
2
  declare const ScrollNumber: {
4
- (props: ICountUpProps): JSX.Element;
3
+ (props: ICountUpProps): import("react/jsx-runtime").JSX.Element;
5
4
  useCountUp: (props: import("react-countup/build/useCountUp").UseCountUpProps) => import("react-countup/build/types").CountUpApi;
6
5
  };
7
6
  export declare type ScrollNumberProps = ICountUpProps;
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { Props } from 'react-wordcloud';
3
2
  export declare type WordCloudProps = Props & {
4
3
  className?: string;
5
4
  };
6
- declare const WordCloud: (props: WordCloudProps) => JSX.Element;
5
+ declare const WordCloud: (props: WordCloudProps) => import("react/jsx-runtime").JSX.Element;
7
6
  export default WordCloud;
@@ -1 +1 @@
1
- @prefix: pui;
1
+ @prefix: pui;
@@ -8,7 +8,7 @@ export { default as ErrorBoundary } from './ErrorBoundary';
8
8
  export { default as ConfigProvider } from './ConfigProvider';
9
9
  export { default as PictureCard } from './PictureCard';
10
10
  export type { PictureCardProps } from './PictureCard';
11
- export { default as Loading } from './Loading';
11
+ export { default as Loading, useLoading } from './Loading';
12
12
  export type { LoadingProps } from './Loading/interface';
13
13
  export { default as NoData } from './NoData';
14
14
  export type { NoDataProps } from './NoData/interface';
@@ -38,3 +38,11 @@ export type { WordCloudProps } from './WordCloud';
38
38
  export { default as WordCloud } from './WordCloud';
39
39
  export type { InfiniteScrollListProps } from './InfiniteScrollList';
40
40
  export { default as InfiniteScrollList } from './InfiniteScrollList';
41
+ export { default as RndDrag } from './RndDrag';
42
+ export type { RndDragProps, DraggableData, Position, Grid, RndDragCallback, RndDragEvent, RndResizeStartCallback, HandleStyles } from './RndDrag';
43
+ export { default as RCropper } from './RCropper';
44
+ export type { RCropperProps, RCropperEvents, RCropperElement, RCropperRef, RCropperImage, RCropperCanvas, RCropperSelection, RCropperGrid, RCropperActionHandlers, } from './RCropper/interface';
45
+ export { default as IPAddress } from './IPAddress';
46
+ export type { IPAddressProps } from './IPAddress';
47
+ export { default as IconFont } from './IconFont';
48
+ export type { IconFontProps } from './IconFont';
package/dist/esm/index.js CHANGED
@@ -4,7 +4,7 @@ export { default as AuthComponent } from "./AuthComponent";
4
4
  export { default as ErrorBoundary } from "./ErrorBoundary";
5
5
  export { default as ConfigProvider } from "./ConfigProvider";
6
6
  export { default as PictureCard } from "./PictureCard";
7
- export { default as Loading } from "./Loading";
7
+ export { default as Loading, useLoading } from "./Loading";
8
8
  export { default as NoData } from "./NoData";
9
9
  export { default as DInput } from "./DInput";
10
10
  export { default as DSelect } from "./DSelect";
@@ -18,4 +18,8 @@ export { default as ModalForm } from "./ModalForm";
18
18
  export { default as ColorPicker } from "./ColorPicker";
19
19
  export { default as ScrollNumber } from "./ScrollNumber";
20
20
  export { default as WordCloud } from "./WordCloud";
21
- export { default as InfiniteScrollList } from "./InfiniteScrollList";
21
+ export { default as InfiniteScrollList } from "./InfiniteScrollList";
22
+ export { default as RndDrag } from "./RndDrag";
23
+ export { default as RCropper } from "./RCropper";
24
+ export { default as IPAddress } from "./IPAddress";
25
+ export { default as IconFont } from "./IconFont";
@@ -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-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 .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-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-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{position:relative}.scroll-container .backtop{right:50px}.scroll-container .up{background:#007aff;border-radius:3px;color:#fff;text-align:center}
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-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-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-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{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-ip-address{border:1px solid #d9d9d9;border-radius:2px;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}