@douyinfe/semi-foundation 2.63.0 → 2.64.0-beta.0
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/calendar/foundation.ts +20 -0
- package/chat/foundation.ts +18 -23
- package/colorPicker/AlphaSliderFoundation.ts +62 -0
- package/colorPicker/ColorChooseAreaFoundation.ts +86 -0
- package/colorPicker/ColorSliderFoundation.ts +61 -0
- package/colorPicker/DataPartFoundation.ts +113 -0
- package/colorPicker/colorPicker.scss +113 -0
- package/colorPicker/constants.ts +11 -0
- package/colorPicker/foundation.ts +206 -0
- package/colorPicker/interface.ts +51 -0
- package/colorPicker/utils/convert.ts +228 -0
- package/colorPicker/utils/round.ts +3 -0
- package/colorPicker/utils/split.ts +40 -0
- package/colorPicker/variables.scss +28 -0
- package/datePicker/foundation.ts +1 -1
- package/image/image.scss +6 -1
- package/image/previewImageFoundation.ts +233 -150
- package/image/previewInnerFoundation.ts +11 -6
- package/lib/cjs/calendar/foundation.js +18 -0
- package/lib/cjs/chat/foundation.d.ts +1 -2
- package/lib/cjs/chat/foundation.js +2 -7
- package/lib/cjs/colorPicker/AlphaSliderFoundation.d.ts +27 -0
- package/lib/cjs/colorPicker/AlphaSliderFoundation.js +40 -0
- package/lib/cjs/colorPicker/ColorChooseAreaFoundation.d.ts +42 -0
- package/lib/cjs/colorPicker/ColorChooseAreaFoundation.js +62 -0
- package/lib/cjs/colorPicker/ColorSliderFoundation.d.ts +26 -0
- package/lib/cjs/colorPicker/ColorSliderFoundation.js +40 -0
- package/lib/cjs/colorPicker/DataPartFoundation.d.ts +28 -0
- package/lib/cjs/colorPicker/DataPartFoundation.js +115 -0
- package/lib/cjs/colorPicker/colorPicker.css +84 -0
- package/lib/cjs/colorPicker/colorPicker.scss +113 -0
- package/lib/cjs/colorPicker/constants.d.ts +4 -0
- package/lib/cjs/colorPicker/constants.js +11 -0
- package/lib/cjs/colorPicker/foundation.d.ts +66 -0
- package/lib/cjs/colorPicker/foundation.js +150 -0
- package/lib/cjs/colorPicker/interface.d.ts +40 -0
- package/lib/cjs/colorPicker/interface.js +5 -0
- package/lib/cjs/colorPicker/utils/convert.d.ts +28 -0
- package/lib/cjs/colorPicker/utils/convert.js +306 -0
- package/lib/cjs/colorPicker/utils/round.d.ts +1 -0
- package/lib/cjs/colorPicker/utils/round.js +12 -0
- package/lib/cjs/colorPicker/utils/split.d.ts +18 -0
- package/lib/cjs/colorPicker/utils/split.js +40 -0
- package/lib/cjs/colorPicker/variables.scss +28 -0
- package/lib/cjs/datePicker/foundation.js +1 -1
- package/lib/cjs/image/image.css +5 -1
- package/lib/cjs/image/image.scss +6 -1
- package/lib/cjs/image/previewImageFoundation.d.ts +46 -13
- package/lib/cjs/image/previewImageFoundation.js +207 -181
- package/lib/cjs/image/previewInnerFoundation.d.ts +4 -3
- package/lib/cjs/image/previewInnerFoundation.js +5 -2
- package/lib/cjs/upload/foundation.d.ts +1 -0
- package/lib/cjs/upload/foundation.js +30 -14
- package/lib/es/calendar/foundation.js +18 -0
- package/lib/es/chat/foundation.d.ts +1 -2
- package/lib/es/chat/foundation.js +2 -7
- package/lib/es/colorPicker/AlphaSliderFoundation.d.ts +27 -0
- package/lib/es/colorPicker/AlphaSliderFoundation.js +33 -0
- package/lib/es/colorPicker/ColorChooseAreaFoundation.d.ts +42 -0
- package/lib/es/colorPicker/ColorChooseAreaFoundation.js +55 -0
- package/lib/es/colorPicker/ColorSliderFoundation.d.ts +26 -0
- package/lib/es/colorPicker/ColorSliderFoundation.js +33 -0
- package/lib/es/colorPicker/DataPartFoundation.d.ts +28 -0
- package/lib/es/colorPicker/DataPartFoundation.js +108 -0
- package/lib/es/colorPicker/colorPicker.css +84 -0
- package/lib/es/colorPicker/colorPicker.scss +113 -0
- package/lib/es/colorPicker/constants.d.ts +4 -0
- package/lib/es/colorPicker/constants.js +6 -0
- package/lib/es/colorPicker/foundation.d.ts +66 -0
- package/lib/es/colorPicker/foundation.js +143 -0
- package/lib/es/colorPicker/interface.d.ts +40 -0
- package/lib/es/colorPicker/interface.js +1 -0
- package/lib/es/colorPicker/utils/convert.d.ts +28 -0
- package/lib/es/colorPicker/utils/convert.js +277 -0
- package/lib/es/colorPicker/utils/round.d.ts +1 -0
- package/lib/es/colorPicker/utils/round.js +5 -0
- package/lib/es/colorPicker/utils/split.d.ts +18 -0
- package/lib/es/colorPicker/utils/split.js +34 -0
- package/lib/es/colorPicker/variables.scss +28 -0
- package/lib/es/datePicker/foundation.js +1 -1
- package/lib/es/image/image.css +5 -1
- package/lib/es/image/image.scss +6 -1
- package/lib/es/image/previewImageFoundation.d.ts +46 -13
- package/lib/es/image/previewImageFoundation.js +207 -181
- package/lib/es/image/previewInnerFoundation.d.ts +4 -3
- package/lib/es/image/previewInnerFoundation.js +5 -2
- package/lib/es/upload/foundation.d.ts +1 -0
- package/lib/es/upload/foundation.js +30 -14
- package/package.json +3 -3
- package/upload/foundation.ts +19 -3
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _foundation = _interopRequireDefault(require("../base/foundation"));
|
|
8
|
+
var _convert = require("./utils/convert");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
class ColorPickerFoundation extends _foundation.default {
|
|
11
|
+
constructor(adapter) {
|
|
12
|
+
super(Object.assign({}, adapter));
|
|
13
|
+
this.handleChangeH = (currentColor, newH) => {
|
|
14
|
+
const hsva = Object.assign(Object.assign({}, currentColor.hsva), {
|
|
15
|
+
h: newH
|
|
16
|
+
});
|
|
17
|
+
const rgba = (0, _convert.hsvaToRgba)(hsva);
|
|
18
|
+
const hex = (0, _convert.hsvaToHex)(hsva);
|
|
19
|
+
const newCurrentColor = {
|
|
20
|
+
rgba,
|
|
21
|
+
hsva,
|
|
22
|
+
hex
|
|
23
|
+
};
|
|
24
|
+
this._adapter.notifyChange(newCurrentColor);
|
|
25
|
+
if (!this.getProp("value")) {
|
|
26
|
+
this._adapter.setState({
|
|
27
|
+
currentColor: newCurrentColor
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
this.handleChangeA = (currentColor, newAlpha) => {
|
|
32
|
+
let alpha = this._adapter.getProp('alpha');
|
|
33
|
+
if (!alpha) {
|
|
34
|
+
newAlpha = 1;
|
|
35
|
+
}
|
|
36
|
+
const rgba = Object.assign(Object.assign({}, currentColor.rgba), {
|
|
37
|
+
a: newAlpha
|
|
38
|
+
});
|
|
39
|
+
const hex = (0, _convert.rgbaToHex)(rgba);
|
|
40
|
+
currentColor = {
|
|
41
|
+
rgba,
|
|
42
|
+
hex: alpha ? hex : hex.slice(0, 7),
|
|
43
|
+
hsva: Object.assign(Object.assign({}, currentColor.hsva), {
|
|
44
|
+
a: newAlpha
|
|
45
|
+
})
|
|
46
|
+
};
|
|
47
|
+
this._adapter.notifyChange(currentColor);
|
|
48
|
+
if (!this.getProp("value")) {
|
|
49
|
+
this._adapter.setState({
|
|
50
|
+
currentColor: currentColor
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
this.getCurrentColor = () => {
|
|
55
|
+
const value = this.getProp("value");
|
|
56
|
+
const currentColor = this.getState("currentColor");
|
|
57
|
+
return value || currentColor;
|
|
58
|
+
};
|
|
59
|
+
this.handleChange = (color, format) => {
|
|
60
|
+
let currentColor;
|
|
61
|
+
if (format === 'hsva') {
|
|
62
|
+
currentColor = {
|
|
63
|
+
hsva: color,
|
|
64
|
+
rgba: ColorPickerFoundation.hsvaToRgba(color),
|
|
65
|
+
hex: ColorPickerFoundation.hsvaToHex(color)
|
|
66
|
+
};
|
|
67
|
+
} else if (format === 'rgba') {
|
|
68
|
+
currentColor = {
|
|
69
|
+
rgba: color,
|
|
70
|
+
hsva: ColorPickerFoundation.rgbaToHsva(color),
|
|
71
|
+
hex: ColorPickerFoundation.rgbaToHex(color)
|
|
72
|
+
};
|
|
73
|
+
} else if (format === 'hex') {
|
|
74
|
+
currentColor = {
|
|
75
|
+
hex: color,
|
|
76
|
+
hsva: ColorPickerFoundation.hexToHsva(color),
|
|
77
|
+
rgba: ColorPickerFoundation.hexToRgba(color)
|
|
78
|
+
};
|
|
79
|
+
} else {
|
|
80
|
+
throw new Error('format error');
|
|
81
|
+
}
|
|
82
|
+
this._adapter.notifyChange(currentColor);
|
|
83
|
+
if (!this.getProp("value")) {
|
|
84
|
+
this._adapter.setState({
|
|
85
|
+
currentColor: currentColor
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
this.handleAlphaChangeByHandle = newAlpha => {
|
|
90
|
+
this.handleChangeA(this.getCurrentColor(), newAlpha.a);
|
|
91
|
+
};
|
|
92
|
+
this.handleColorChangeByHandle = newHue => {
|
|
93
|
+
this.handleChangeH(this.getCurrentColor(), newHue.h);
|
|
94
|
+
};
|
|
95
|
+
this.getHandlePositionByHSVA = (hsva, _ref, handleSize) => {
|
|
96
|
+
let {
|
|
97
|
+
width,
|
|
98
|
+
height
|
|
99
|
+
} = _ref;
|
|
100
|
+
const defaultColorPosition = {
|
|
101
|
+
x: hsva.s / 100 * width,
|
|
102
|
+
y: (1 - hsva.v / 100) * height
|
|
103
|
+
};
|
|
104
|
+
return {
|
|
105
|
+
x: defaultColorPosition.x - handleSize / 2,
|
|
106
|
+
y: defaultColorPosition.y - handleSize / 2
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
this.getHandlePositionByMousePosition = (mousePosition, _ref2, handleSize) => {
|
|
110
|
+
let {
|
|
111
|
+
width,
|
|
112
|
+
height
|
|
113
|
+
} = _ref2;
|
|
114
|
+
if (mousePosition.x > width || mousePosition.x < 0) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
if (mousePosition.y > height || mousePosition.y < 0) {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
const handlePosition = {
|
|
121
|
+
x: mousePosition.x - handleSize / 2,
|
|
122
|
+
y: mousePosition.y - handleSize / 2
|
|
123
|
+
};
|
|
124
|
+
return handlePosition;
|
|
125
|
+
};
|
|
126
|
+
this.getAlphaHandlePositionByMousePosition = (mousePosition, width, handleSize) => {
|
|
127
|
+
if (mousePosition < 0 || mousePosition > width) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
return mousePosition - handleSize / 2;
|
|
131
|
+
};
|
|
132
|
+
this.getColorHandlePositionByMousePosition = (mousePosition, width, handleSize) => {
|
|
133
|
+
if (mousePosition < 0 || mousePosition > width) {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
return mousePosition - handleSize / 2;
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
ColorPickerFoundation.hsvaToRgba = _convert.hsvaToRgba;
|
|
141
|
+
ColorPickerFoundation.rgbaToHsva = _convert.rgbaToHsva;
|
|
142
|
+
ColorPickerFoundation.rgbaToHex = _convert.rgbaToHex;
|
|
143
|
+
ColorPickerFoundation.hsvaToHex = _convert.hsvaToHex;
|
|
144
|
+
ColorPickerFoundation.hexToRgba = _convert.hexToRgba;
|
|
145
|
+
ColorPickerFoundation.hexToHsva = _convert.hexToHsva;
|
|
146
|
+
ColorPickerFoundation.hsvaToHslaString = _convert.hsvaToHslaString;
|
|
147
|
+
ColorPickerFoundation.hsvaToHslString = _convert.hsvaToHslString;
|
|
148
|
+
ColorPickerFoundation.rgbaStringToHsva = _convert.rgbaStringToHsva;
|
|
149
|
+
ColorPickerFoundation.rgbaStringToRgba = _convert.rgbaStringToRgba;
|
|
150
|
+
var _default = exports.default = ColorPickerFoundation;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface HsvColor {
|
|
2
|
+
h: number;
|
|
3
|
+
s: number;
|
|
4
|
+
v: number;
|
|
5
|
+
}
|
|
6
|
+
export interface HsvaColor extends HsvColor {
|
|
7
|
+
a: number;
|
|
8
|
+
}
|
|
9
|
+
export interface RgbColor {
|
|
10
|
+
r: number;
|
|
11
|
+
g: number;
|
|
12
|
+
b: number;
|
|
13
|
+
}
|
|
14
|
+
export interface RgbaColor extends RgbColor {
|
|
15
|
+
a: number;
|
|
16
|
+
}
|
|
17
|
+
export interface HslColor {
|
|
18
|
+
h: number;
|
|
19
|
+
s: number;
|
|
20
|
+
l: number;
|
|
21
|
+
}
|
|
22
|
+
export interface HslaColor extends HslColor {
|
|
23
|
+
a: number;
|
|
24
|
+
}
|
|
25
|
+
export interface HsvColor {
|
|
26
|
+
h: number;
|
|
27
|
+
s: number;
|
|
28
|
+
v: number;
|
|
29
|
+
}
|
|
30
|
+
export interface HsvaColor extends HsvColor {
|
|
31
|
+
a: number;
|
|
32
|
+
}
|
|
33
|
+
export type ObjectColor = RgbColor | HslColor | HsvColor | RgbaColor | HslaColor | HsvaColor;
|
|
34
|
+
export type AnyColor = string | ObjectColor;
|
|
35
|
+
export interface ColorModel<T extends AnyColor> {
|
|
36
|
+
defaultColor: T;
|
|
37
|
+
toHsva: (defaultColor: T) => HsvaColor;
|
|
38
|
+
fromHsva: (hsva: HsvaColor) => T;
|
|
39
|
+
equal: (first: T, second: T) => boolean;
|
|
40
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { RgbaColor, RgbColor, HslaColor, HslColor, HsvaColor, HsvColor } from "../interface";
|
|
2
|
+
export declare const hexToHsva: (hex: string) => HsvaColor;
|
|
3
|
+
export declare const hexToRgba: (hex: string) => RgbaColor;
|
|
4
|
+
export declare const parseHue: (value: string, unit?: string) => number;
|
|
5
|
+
export declare const hslaStringToHsva: (hslString: string) => HsvaColor;
|
|
6
|
+
export declare const hslStringToHsva: (hslString: string) => HsvaColor;
|
|
7
|
+
export declare const hslaToHsva: ({ h, s, l, a }: HslaColor) => HsvaColor;
|
|
8
|
+
export declare const hsvaToHex: (hsva: HsvaColor) => string;
|
|
9
|
+
export declare const hsvaToHsla: ({ h, s, v, a }: HsvaColor) => HslaColor;
|
|
10
|
+
export declare const hsvaToHslString: (hsva: HsvaColor) => string;
|
|
11
|
+
export declare const hsvaToHsvString: (hsva: HsvaColor) => string;
|
|
12
|
+
export declare const hsvaToHsvaString: (hsva: HsvaColor) => string;
|
|
13
|
+
export declare const hsvaToHslaString: (hsva: HsvaColor) => string;
|
|
14
|
+
export declare const hsvaToRgba: ({ h, s, v, a }: HsvaColor) => RgbaColor;
|
|
15
|
+
export declare const hsvaToRgbString: (hsva: HsvaColor) => string;
|
|
16
|
+
export declare const hsvaToRgbaString: (hsva: HsvaColor) => string;
|
|
17
|
+
export declare const hsvaStringToHsva: (hsvString: string) => HsvaColor;
|
|
18
|
+
export declare const hsvStringToHsva: (hsvString: string) => HsvaColor;
|
|
19
|
+
export declare const rgbaStringToHsva: (rgbaString: string) => HsvaColor;
|
|
20
|
+
export declare const rgbaStringToRgba: (rgbaString: string) => RgbaColor;
|
|
21
|
+
export declare const rgbStringToRgba: (rgbaString: string) => RgbaColor;
|
|
22
|
+
export declare const rgbStringToHsva: (rgbaString: string) => HsvaColor;
|
|
23
|
+
export declare const rgbaToHex: ({ r, g, b, a }: RgbaColor) => string;
|
|
24
|
+
export declare const rgbaToHsva: ({ r, g, b, a }: RgbaColor) => HsvaColor;
|
|
25
|
+
export declare const roundHsva: (hsva: HsvaColor) => HsvaColor;
|
|
26
|
+
export declare const rgbaToRgb: ({ r, g, b }: RgbaColor) => RgbColor;
|
|
27
|
+
export declare const hslaToHsl: ({ h, s, l }: HslaColor) => HslColor;
|
|
28
|
+
export declare const hsvaToHsv: (hsva: HsvaColor) => HsvColor;
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.roundHsva = exports.rgbaToRgb = exports.rgbaToHsva = exports.rgbaToHex = exports.rgbaStringToRgba = exports.rgbaStringToHsva = exports.rgbStringToRgba = exports.rgbStringToHsva = exports.parseHue = exports.hsvaToRgbaString = exports.hsvaToRgba = exports.hsvaToRgbString = exports.hsvaToHsvaString = exports.hsvaToHsvString = exports.hsvaToHsv = exports.hsvaToHslaString = exports.hsvaToHsla = exports.hsvaToHslString = exports.hsvaToHex = exports.hsvaStringToHsva = exports.hsvStringToHsva = exports.hslaToHsva = exports.hslaToHsl = exports.hslaStringToHsva = exports.hslStringToHsva = exports.hexToRgba = exports.hexToHsva = void 0;
|
|
7
|
+
var _round = require("./round");
|
|
8
|
+
/**
|
|
9
|
+
* Valid CSS <angle> units.
|
|
10
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/angle
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Referrer from https://github.com/web-padawan/vanilla-colorful/blob/master/src/lib/utils/convert.ts
|
|
14
|
+
*/
|
|
15
|
+
const angleUnits = {
|
|
16
|
+
grad: 360 / 400,
|
|
17
|
+
turn: 360,
|
|
18
|
+
rad: 360 / (Math.PI * 2)
|
|
19
|
+
};
|
|
20
|
+
const hexToHsva = hex => rgbaToHsva(hexToRgba(hex));
|
|
21
|
+
exports.hexToHsva = hexToHsva;
|
|
22
|
+
const hexToRgba = hex => {
|
|
23
|
+
if (hex[0] === "#") hex = hex.substring(1);
|
|
24
|
+
const hexToPercent = str => {
|
|
25
|
+
const decimal = parseInt(str, 16);
|
|
26
|
+
if (!isNaN(decimal)) {
|
|
27
|
+
const percent = decimal / 255;
|
|
28
|
+
return percent;
|
|
29
|
+
}
|
|
30
|
+
return 1;
|
|
31
|
+
};
|
|
32
|
+
return {
|
|
33
|
+
r: parseInt(hex.substring(0, 2), 16),
|
|
34
|
+
g: parseInt(hex.substring(2, 4), 16),
|
|
35
|
+
b: parseInt(hex.substring(4, 6), 16),
|
|
36
|
+
a: hexToPercent(hex.substring(6, 8))
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
exports.hexToRgba = hexToRgba;
|
|
40
|
+
const parseHue = function (value) {
|
|
41
|
+
let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "deg";
|
|
42
|
+
return Number(value) * (angleUnits[unit] || 1);
|
|
43
|
+
};
|
|
44
|
+
exports.parseHue = parseHue;
|
|
45
|
+
const hslaStringToHsva = hslString => {
|
|
46
|
+
const matcher = /hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i;
|
|
47
|
+
const match = matcher.exec(hslString);
|
|
48
|
+
if (!match) return {
|
|
49
|
+
h: 0,
|
|
50
|
+
s: 0,
|
|
51
|
+
v: 0,
|
|
52
|
+
a: 1
|
|
53
|
+
};
|
|
54
|
+
return hslaToHsva({
|
|
55
|
+
h: parseHue(match[1], match[2]),
|
|
56
|
+
s: Number(match[3]),
|
|
57
|
+
l: Number(match[4]),
|
|
58
|
+
a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1)
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
exports.hslaStringToHsva = hslaStringToHsva;
|
|
62
|
+
const hslStringToHsva = exports.hslStringToHsva = hslaStringToHsva;
|
|
63
|
+
const hslaToHsva = _ref => {
|
|
64
|
+
let {
|
|
65
|
+
h,
|
|
66
|
+
s,
|
|
67
|
+
l,
|
|
68
|
+
a
|
|
69
|
+
} = _ref;
|
|
70
|
+
s *= (l < 50 ? l : 100 - l) / 100;
|
|
71
|
+
return {
|
|
72
|
+
h: h,
|
|
73
|
+
s: s > 0 ? 2 * s / (l + s) * 100 : 0,
|
|
74
|
+
v: l + s,
|
|
75
|
+
a
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
exports.hslaToHsva = hslaToHsva;
|
|
79
|
+
const hsvaToHex = hsva => rgbaToHex(hsvaToRgba(hsva));
|
|
80
|
+
exports.hsvaToHex = hsvaToHex;
|
|
81
|
+
const hsvaToHsla = _ref2 => {
|
|
82
|
+
let {
|
|
83
|
+
h,
|
|
84
|
+
s,
|
|
85
|
+
v,
|
|
86
|
+
a
|
|
87
|
+
} = _ref2;
|
|
88
|
+
const hh = (200 - s) * v / 100;
|
|
89
|
+
return {
|
|
90
|
+
h: (0, _round.round)(h),
|
|
91
|
+
s: (0, _round.round)(hh > 0 && hh < 200 ? s * v / 100 / (hh <= 100 ? hh : 200 - hh) * 100 : 0),
|
|
92
|
+
l: (0, _round.round)(hh / 2),
|
|
93
|
+
a: (0, _round.round)(a, 2)
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
exports.hsvaToHsla = hsvaToHsla;
|
|
97
|
+
const hsvaToHslString = hsva => {
|
|
98
|
+
const {
|
|
99
|
+
h,
|
|
100
|
+
s,
|
|
101
|
+
l
|
|
102
|
+
} = hsvaToHsla(hsva);
|
|
103
|
+
return `hsl(${h}, ${s}%, ${l}%)`;
|
|
104
|
+
};
|
|
105
|
+
exports.hsvaToHslString = hsvaToHslString;
|
|
106
|
+
const hsvaToHsvString = hsva => {
|
|
107
|
+
const {
|
|
108
|
+
h,
|
|
109
|
+
s,
|
|
110
|
+
v
|
|
111
|
+
} = roundHsva(hsva);
|
|
112
|
+
return `hsv(${h}, ${s}%, ${v}%)`;
|
|
113
|
+
};
|
|
114
|
+
exports.hsvaToHsvString = hsvaToHsvString;
|
|
115
|
+
const hsvaToHsvaString = hsva => {
|
|
116
|
+
const {
|
|
117
|
+
h,
|
|
118
|
+
s,
|
|
119
|
+
v,
|
|
120
|
+
a
|
|
121
|
+
} = roundHsva(hsva);
|
|
122
|
+
return `hsva(${h}, ${s}%, ${v}%, ${a})`;
|
|
123
|
+
};
|
|
124
|
+
exports.hsvaToHsvaString = hsvaToHsvaString;
|
|
125
|
+
const hsvaToHslaString = hsva => {
|
|
126
|
+
const {
|
|
127
|
+
h,
|
|
128
|
+
s,
|
|
129
|
+
l,
|
|
130
|
+
a
|
|
131
|
+
} = hsvaToHsla(hsva);
|
|
132
|
+
return `hsla(${h}, ${s}%, ${l}%, ${a})`;
|
|
133
|
+
};
|
|
134
|
+
exports.hsvaToHslaString = hsvaToHslaString;
|
|
135
|
+
const hsvaToRgba = _ref3 => {
|
|
136
|
+
let {
|
|
137
|
+
h,
|
|
138
|
+
s,
|
|
139
|
+
v,
|
|
140
|
+
a
|
|
141
|
+
} = _ref3;
|
|
142
|
+
h = h / 360 * 6;
|
|
143
|
+
s = s / 100;
|
|
144
|
+
v = v / 100;
|
|
145
|
+
const hh = Math.floor(h),
|
|
146
|
+
b = v * (1 - s),
|
|
147
|
+
c = v * (1 - (h - hh) * s),
|
|
148
|
+
d = v * (1 - (1 - h + hh) * s),
|
|
149
|
+
module = hh % 6;
|
|
150
|
+
return {
|
|
151
|
+
r: (0, _round.round)([v, c, b, b, d, v][module] * 255),
|
|
152
|
+
g: (0, _round.round)([d, v, v, c, b, b][module] * 255),
|
|
153
|
+
b: (0, _round.round)([b, b, d, v, v, c][module] * 255),
|
|
154
|
+
a: (0, _round.round)(a, 2)
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
exports.hsvaToRgba = hsvaToRgba;
|
|
158
|
+
const hsvaToRgbString = hsva => {
|
|
159
|
+
const {
|
|
160
|
+
r,
|
|
161
|
+
g,
|
|
162
|
+
b
|
|
163
|
+
} = hsvaToRgba(hsva);
|
|
164
|
+
return `rgb(${r}, ${g}, ${b})`;
|
|
165
|
+
};
|
|
166
|
+
exports.hsvaToRgbString = hsvaToRgbString;
|
|
167
|
+
const hsvaToRgbaString = hsva => {
|
|
168
|
+
const {
|
|
169
|
+
r,
|
|
170
|
+
g,
|
|
171
|
+
b,
|
|
172
|
+
a
|
|
173
|
+
} = hsvaToRgba(hsva);
|
|
174
|
+
return `rgba(${r}, ${g}, ${b}, ${a})`;
|
|
175
|
+
};
|
|
176
|
+
exports.hsvaToRgbaString = hsvaToRgbaString;
|
|
177
|
+
const hsvaStringToHsva = hsvString => {
|
|
178
|
+
const matcher = /hsva?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i;
|
|
179
|
+
const match = matcher.exec(hsvString);
|
|
180
|
+
if (!match) return {
|
|
181
|
+
h: 0,
|
|
182
|
+
s: 0,
|
|
183
|
+
v: 0,
|
|
184
|
+
a: 1
|
|
185
|
+
};
|
|
186
|
+
return roundHsva({
|
|
187
|
+
h: parseHue(match[1], match[2]),
|
|
188
|
+
s: Number(match[3]),
|
|
189
|
+
v: Number(match[4]),
|
|
190
|
+
a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1)
|
|
191
|
+
});
|
|
192
|
+
};
|
|
193
|
+
exports.hsvaStringToHsva = hsvaStringToHsva;
|
|
194
|
+
const hsvStringToHsva = exports.hsvStringToHsva = hsvaStringToHsva;
|
|
195
|
+
const rgbaStringToHsva = rgbaString => {
|
|
196
|
+
return rgbaToHsva(rgbaStringToRgba(rgbaString));
|
|
197
|
+
};
|
|
198
|
+
exports.rgbaStringToHsva = rgbaStringToHsva;
|
|
199
|
+
const rgbaStringToRgba = rgbaString => {
|
|
200
|
+
const matcher = /rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i;
|
|
201
|
+
const match = matcher.exec(rgbaString);
|
|
202
|
+
if (!match) return {
|
|
203
|
+
r: 0,
|
|
204
|
+
g: 0,
|
|
205
|
+
b: 0,
|
|
206
|
+
a: 1
|
|
207
|
+
};
|
|
208
|
+
return {
|
|
209
|
+
r: Number(match[1]) / (match[2] ? 100 / 255 : 1),
|
|
210
|
+
g: Number(match[3]) / (match[4] ? 100 / 255 : 1),
|
|
211
|
+
b: Number(match[5]) / (match[6] ? 100 / 255 : 1),
|
|
212
|
+
a: match[7] === undefined ? 1 : Number(match[7]) / (match[8] ? 100 : 1)
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
exports.rgbaStringToRgba = rgbaStringToRgba;
|
|
216
|
+
const rgbStringToRgba = exports.rgbStringToRgba = rgbaStringToRgba;
|
|
217
|
+
const rgbStringToHsva = exports.rgbStringToHsva = rgbaStringToHsva;
|
|
218
|
+
const format = number => {
|
|
219
|
+
const hex = number.toString(16);
|
|
220
|
+
return hex.length < 2 ? "0" + hex : hex;
|
|
221
|
+
};
|
|
222
|
+
const rgbaToHex = _ref4 => {
|
|
223
|
+
let {
|
|
224
|
+
r,
|
|
225
|
+
g,
|
|
226
|
+
b,
|
|
227
|
+
a
|
|
228
|
+
} = _ref4;
|
|
229
|
+
const percentToHex = p => {
|
|
230
|
+
//const percent = Math.max(0, Math.min(100, p)); // bound percent from 0 to 100
|
|
231
|
+
const intValue = Math.round(p / 100 * 255); // map percent to nearest integer (0 - 255)
|
|
232
|
+
const hexValue = intValue.toString(16); // get hexadecimal representation
|
|
233
|
+
return hexValue.padStart(2, '0').toLowerCase(); // format with leading 0 and upper case characters
|
|
234
|
+
};
|
|
235
|
+
if (a === undefined || a === 1) {
|
|
236
|
+
return "#" + format(r) + format(g) + format(b);
|
|
237
|
+
} else {
|
|
238
|
+
return "#" + format(r) + format(g) + format(b) + percentToHex(a * 100);
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
exports.rgbaToHex = rgbaToHex;
|
|
242
|
+
const rgbaToHsva = _ref5 => {
|
|
243
|
+
let {
|
|
244
|
+
r,
|
|
245
|
+
g,
|
|
246
|
+
b,
|
|
247
|
+
a
|
|
248
|
+
} = _ref5;
|
|
249
|
+
const max = Math.max(r, g, b);
|
|
250
|
+
const delta = max - Math.min(r, g, b);
|
|
251
|
+
// prettier-ignore
|
|
252
|
+
const hh = delta ? max === r ? (g - b) / delta : max === g ? 2 + (b - r) / delta : 4 + (r - g) / delta : 0;
|
|
253
|
+
return {
|
|
254
|
+
h: (0, _round.round)(60 * (hh < 0 ? hh + 6 : hh)),
|
|
255
|
+
s: (0, _round.round)(max ? delta / max * 100 : 0),
|
|
256
|
+
v: (0, _round.round)(max / 255 * 100),
|
|
257
|
+
a
|
|
258
|
+
};
|
|
259
|
+
};
|
|
260
|
+
exports.rgbaToHsva = rgbaToHsva;
|
|
261
|
+
const roundHsva = hsva => ({
|
|
262
|
+
h: (0, _round.round)(hsva.h),
|
|
263
|
+
s: (0, _round.round)(hsva.s),
|
|
264
|
+
v: (0, _round.round)(hsva.v),
|
|
265
|
+
a: (0, _round.round)(hsva.a, 2)
|
|
266
|
+
});
|
|
267
|
+
exports.roundHsva = roundHsva;
|
|
268
|
+
const rgbaToRgb = _ref6 => {
|
|
269
|
+
let {
|
|
270
|
+
r,
|
|
271
|
+
g,
|
|
272
|
+
b
|
|
273
|
+
} = _ref6;
|
|
274
|
+
return {
|
|
275
|
+
r,
|
|
276
|
+
g,
|
|
277
|
+
b
|
|
278
|
+
};
|
|
279
|
+
};
|
|
280
|
+
exports.rgbaToRgb = rgbaToRgb;
|
|
281
|
+
const hslaToHsl = _ref7 => {
|
|
282
|
+
let {
|
|
283
|
+
h,
|
|
284
|
+
s,
|
|
285
|
+
l
|
|
286
|
+
} = _ref7;
|
|
287
|
+
return {
|
|
288
|
+
h,
|
|
289
|
+
s,
|
|
290
|
+
l
|
|
291
|
+
};
|
|
292
|
+
};
|
|
293
|
+
exports.hslaToHsl = hslaToHsl;
|
|
294
|
+
const hsvaToHsv = hsva => {
|
|
295
|
+
const {
|
|
296
|
+
h,
|
|
297
|
+
s,
|
|
298
|
+
v
|
|
299
|
+
} = roundHsva(hsva);
|
|
300
|
+
return {
|
|
301
|
+
h,
|
|
302
|
+
s,
|
|
303
|
+
v
|
|
304
|
+
};
|
|
305
|
+
};
|
|
306
|
+
exports.hsvaToHsv = hsvaToHsv;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const round: (number: number, digits?: number, base?: number) => number;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.round = void 0;
|
|
7
|
+
const round = function (number) {
|
|
8
|
+
let digits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
9
|
+
let base = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Math.pow(10, digits);
|
|
10
|
+
return Math.round(base * number) / base;
|
|
11
|
+
};
|
|
12
|
+
exports.round = round;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
declare const split: (str: string, mode: 'rgba' | 'hsva') => false | {
|
|
2
|
+
r: number;
|
|
3
|
+
g: number;
|
|
4
|
+
b: number;
|
|
5
|
+
a: number;
|
|
6
|
+
h?: undefined;
|
|
7
|
+
s?: undefined;
|
|
8
|
+
v?: undefined;
|
|
9
|
+
} | {
|
|
10
|
+
h: number;
|
|
11
|
+
s: number;
|
|
12
|
+
v: number;
|
|
13
|
+
a: number;
|
|
14
|
+
r?: undefined;
|
|
15
|
+
g?: undefined;
|
|
16
|
+
b?: undefined;
|
|
17
|
+
};
|
|
18
|
+
export default split;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const split = (str, mode) => {
|
|
8
|
+
// 12,32,43 => [12,32,43]
|
|
9
|
+
const reg = /^\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*,?\s*([\d.]*)\s*$/;
|
|
10
|
+
const res = str.match(reg);
|
|
11
|
+
const result = [];
|
|
12
|
+
result[0] = Number(res === null || res === void 0 ? void 0 : res[1]);
|
|
13
|
+
result[1] = Number(res === null || res === void 0 ? void 0 : res[2]);
|
|
14
|
+
result[2] = Number(res === null || res === void 0 ? void 0 : res[3]);
|
|
15
|
+
result[3] = Number((res === null || res === void 0 ? void 0 : res[4]) === undefined || (res === null || res === void 0 ? void 0 : res[4]) === '' ? 1 : res === null || res === void 0 ? void 0 : res[4]);
|
|
16
|
+
const check = (a, max) => {
|
|
17
|
+
return !(isNaN(a) || a < 0 || a > max);
|
|
18
|
+
};
|
|
19
|
+
const ok = check(result[0], mode === 'rgba' ? 255 : 360) && check(result[1], mode === 'rgba' ? 255 : 100) && check(result[2], mode === 'rgba' ? 255 : 100) && check(result[3], 1);
|
|
20
|
+
if (ok) {
|
|
21
|
+
if (mode === 'rgba') {
|
|
22
|
+
return {
|
|
23
|
+
r: result[0],
|
|
24
|
+
g: result[1],
|
|
25
|
+
b: result[2],
|
|
26
|
+
a: result[3]
|
|
27
|
+
};
|
|
28
|
+
} else {
|
|
29
|
+
return {
|
|
30
|
+
h: result[0],
|
|
31
|
+
s: result[1],
|
|
32
|
+
v: result[2],
|
|
33
|
+
a: result[3]
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
} else {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var _default = exports.default = split;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
$radius-colorPicker-topLeft:8px; // 圆角 - 左上
|
|
2
|
+
$radius-colorPicker-topRight:8px; // 圆角 - 右上
|
|
3
|
+
$radius-colorPicker-bottomLeft:0px; // 圆角 - 左下
|
|
4
|
+
$radius-colorPicker-bottomRight:0px; // 圆角 - 右下
|
|
5
|
+
$radius-colorPicker-handle:var(--semi-border-radius-full); // 圆角 - 拖拽把手
|
|
6
|
+
$radius-colorPicker-alphaSliderInner:4px; // 圆角 - 透明度 Slider
|
|
7
|
+
$radius-colorPicker-demoBlock: 4px; // 圆角 - 颜色手动输入区域左侧当前选中颜色色块
|
|
8
|
+
$radius-colorPicker-defaultTrigger:4px; // 默认 trigger 圆角
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
$width-colorPicker_handle-border: 2px; // 把手宽度
|
|
12
|
+
$width-colorPicker-colorPickerInputNumber:58px; // 数组输入器宽度
|
|
13
|
+
$width-colorPicker-formatSelect:80px; // 格式选择下拉 Select 宽度
|
|
14
|
+
$width-colorPicker-defaultTrigger: 24px; // 默认 trigger 大小
|
|
15
|
+
|
|
16
|
+
$color-colorPicker_handle-border:var(--semi-color-white); // 把手边框颜色
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
$spacing-colorPicker_inputNumberSuffix-horizontal:4px; // 数字输入框后百分比水平距离
|
|
20
|
+
$spacing-colorPicker_inputGroup-marginLeft:4px; // 颜色手动输入区域 左侧距离色块距离
|
|
21
|
+
$spacing-colorPicker_popover-padding:8px; // 弹层模式时整体内边距
|
|
22
|
+
$spacing-colorPicker_inputNumberSuffix-vertical:4px; // 数字输入框后百分比垂直距离
|
|
23
|
+
$spacing-colorPicker_slider-marginTop:6px; // 滑动选择器上边距
|
|
24
|
+
$spacing-colorPicker_dataPart-marginTop:8px; // 颜色手动输入区域 上边距
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
$font-colorPicker_inputNumberSuffix-fontSize:14px; // 颜色手动输入区域百分比字体大小
|
|
28
|
+
|
|
@@ -265,7 +265,7 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
265
265
|
const {
|
|
266
266
|
value
|
|
267
267
|
} = this._adapter.getStates();
|
|
268
|
-
const needResetCachedSelectedValue = !this.isCachedSelectedValueValid(willUpdateDates) || this._adapter.needConfirm() && !this.clickConfirmButton;
|
|
268
|
+
const needResetCachedSelectedValue = (0, _isNullOrUndefined.default)(willUpdateDates) || !this.isCachedSelectedValueValid(willUpdateDates) || this._adapter.needConfirm() && !this.clickConfirmButton;
|
|
269
269
|
if (needResetCachedSelectedValue) {
|
|
270
270
|
this.resetCachedSelectedValue(value);
|
|
271
271
|
}
|
package/lib/cjs/image/image.css
CHANGED
|
@@ -90,6 +90,7 @@
|
|
|
90
90
|
align-items: center;
|
|
91
91
|
padding: 0 24px;
|
|
92
92
|
z-index: 1;
|
|
93
|
+
pointer-events: none;
|
|
93
94
|
}
|
|
94
95
|
.semi-image-preview-header-title {
|
|
95
96
|
flex: 1;
|
|
@@ -102,6 +103,7 @@
|
|
|
102
103
|
width: 30px;
|
|
103
104
|
height: 30px;
|
|
104
105
|
border-radius: 50%;
|
|
106
|
+
pointer-events: auto;
|
|
105
107
|
}
|
|
106
108
|
.semi-image-preview-header-close:hover {
|
|
107
109
|
background-color: rgba(0, 0, 0, 0.75);
|
|
@@ -166,11 +168,13 @@
|
|
|
166
168
|
.semi-image-preview-image {
|
|
167
169
|
position: relative;
|
|
168
170
|
height: 100%;
|
|
171
|
+
display: flex;
|
|
172
|
+
justify-content: center;
|
|
173
|
+
align-items: center;
|
|
169
174
|
}
|
|
170
175
|
.semi-image-preview-image-img {
|
|
171
176
|
position: absolute;
|
|
172
177
|
transform: scale3d(1, 1, 1) var(--semi-transform-rotate-none);
|
|
173
|
-
transition: transform 300ms 0s;
|
|
174
178
|
z-index: 0;
|
|
175
179
|
user-select: none;
|
|
176
180
|
}
|