@sanity/color-input 2.29.3 → 2.29.4-purple-unicorn.509
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/lib/ColorInput.cjs +426 -0
- package/lib/ColorInput.cjs.map +1 -0
- package/lib/ColorInput.js +312 -58
- package/lib/ColorInput.js.map +1 -0
- package/lib/_reExport.js +19 -0
- package/lib/dts/src/ColorInput.d.ts +30 -0
- package/lib/dts/src/ColorInput.d.ts.map +1 -0
- package/lib/dts/src/ColorInput.js +73 -0
- package/lib/dts/src/ColorInput.js.map +1 -0
- package/lib/dts/src/ColorPicker.d.ts +3 -0
- package/lib/dts/src/ColorPicker.d.ts.map +1 -0
- package/lib/dts/src/ColorPicker.js +78 -0
- package/lib/dts/src/ColorPicker.js.map +1 -0
- package/lib/dts/src/ColorPickerFields.d.ts +9 -0
- package/lib/dts/src/ColorPickerFields.d.ts.map +1 -0
- package/lib/dts/src/ColorPickerFields.js +74 -0
- package/lib/dts/src/ColorPickerFields.js.map +1 -0
- package/lib/dts/src/index.d.ts +3 -0
- package/lib/dts/src/index.d.ts.map +1 -0
- package/lib/dts/src/index.js +12 -0
- package/lib/dts/src/index.js.map +1 -0
- package/lib/dts/src/schemas/color.d.ts +43 -0
- package/lib/dts/src/schemas/color.d.ts.map +1 -0
- package/lib/dts/src/schemas/color.js +65 -0
- package/lib/dts/src/schemas/color.js.map +1 -0
- package/lib/dts/src/schemas/hslaColor.d.ts +12 -0
- package/lib/dts/src/schemas/hslaColor.d.ts.map +1 -0
- package/lib/dts/src/schemas/hslaColor.js +12 -0
- package/lib/dts/src/schemas/hslaColor.js.map +1 -0
- package/lib/dts/src/schemas/hsvaColor.d.ts +12 -0
- package/lib/dts/src/schemas/hsvaColor.d.ts.map +1 -0
- package/lib/dts/src/schemas/hsvaColor.js +12 -0
- package/lib/dts/src/schemas/hsvaColor.js.map +1 -0
- package/lib/dts/src/schemas/rgbaColor.d.ts +12 -0
- package/lib/dts/src/schemas/rgbaColor.d.ts.map +1 -0
- package/lib/dts/src/schemas/rgbaColor.js +12 -0
- package/lib/dts/src/schemas/rgbaColor.js.map +1 -0
- package/lib/dts/tsconfig.tsbuildinfo +1 -0
- package/lib/schemas/color.cjs +91 -0
- package/lib/schemas/color.cjs.map +1 -0
- package/lib/schemas/color.js +26 -22
- package/lib/schemas/color.js.map +1 -0
- package/lib/schemas/hslaColor.cjs +27 -0
- package/lib/schemas/hslaColor.cjs.map +1 -0
- package/lib/schemas/hslaColor.js +4 -8
- package/lib/schemas/hslaColor.js.map +1 -0
- package/lib/schemas/hsvaColor.cjs +27 -0
- package/lib/schemas/hsvaColor.cjs.map +1 -0
- package/lib/schemas/hsvaColor.js +4 -8
- package/lib/schemas/hsvaColor.js.map +1 -0
- package/lib/schemas/rgbaColor.cjs +27 -0
- package/lib/schemas/rgbaColor.cjs.map +1 -0
- package/lib/schemas/rgbaColor.js +4 -8
- package/lib/schemas/rgbaColor.js.map +1 -0
- package/package.json +49 -11
- package/schemas/color.js +7 -0
- package/schemas/hslaColor.js +7 -0
- package/schemas/hsvaColor.js +7 -0
- package/schemas/rgbaColor.js +7 -0
- package/src/ColorInput.jsx +108 -0
- package/src/ColorPicker.js +144 -0
- package/src/ColorPickerFields.js +128 -0
- package/src/schemas/color.js +70 -0
- package/src/schemas/hslaColor.js +11 -0
- package/src/schemas/hsvaColor.js +11 -0
- package/src/schemas/rgbaColor.js +11 -0
- package/typings/react-color.d.ts +2 -0
- package/lib/ColorPicker.js +0 -159
- package/lib/ColorPickerFields.js +0 -138
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _debounce = require('lodash/debounce');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var PropTypes = require('prop-types');
|
|
6
|
+
var form = require('@sanity/base/form');
|
|
7
|
+
var ui = require('@sanity/ui');
|
|
8
|
+
var icons = require('@sanity/icons');
|
|
9
|
+
var _unstable = require('@sanity/base/_unstable');
|
|
10
|
+
var common = require('react-color/lib/components/common');
|
|
11
|
+
var styled = require('styled-components');
|
|
12
|
+
var color = require('react-color/lib/helpers/color');
|
|
13
|
+
|
|
14
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
|
+
|
|
16
|
+
function _interopNamespace(e) {
|
|
17
|
+
if (e && e.__esModule) return e;
|
|
18
|
+
var n = Object.create(null);
|
|
19
|
+
if (e) {
|
|
20
|
+
Object.keys(e).forEach(function (k) {
|
|
21
|
+
if (k !== 'default') {
|
|
22
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
23
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () { return e[k]; }
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
n["default"] = e;
|
|
31
|
+
return n;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
var _debounce__default = /*#__PURE__*/_interopDefaultLegacy(_debounce);
|
|
35
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
36
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
37
|
+
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
38
|
+
var color__namespace = /*#__PURE__*/_interopNamespace(color);
|
|
39
|
+
|
|
40
|
+
function _defineProperty(obj, key, value) {
|
|
41
|
+
if (key in obj) {
|
|
42
|
+
Object.defineProperty(obj, key, {
|
|
43
|
+
value: value,
|
|
44
|
+
enumerable: true,
|
|
45
|
+
configurable: true,
|
|
46
|
+
writable: true
|
|
47
|
+
});
|
|
48
|
+
} else {
|
|
49
|
+
obj[key] = value;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return obj;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function _taggedTemplateLiteral(strings, raw) {
|
|
56
|
+
if (!raw) {
|
|
57
|
+
raw = strings.slice(0);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return Object.freeze(Object.defineProperties(strings, {
|
|
61
|
+
raw: {
|
|
62
|
+
value: Object.freeze(raw)
|
|
63
|
+
}
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const ColorPickerFields = _ref => {
|
|
68
|
+
let {
|
|
69
|
+
onChange,
|
|
70
|
+
rgb,
|
|
71
|
+
hsl,
|
|
72
|
+
hex,
|
|
73
|
+
disableAlpha
|
|
74
|
+
} = _ref;
|
|
75
|
+
const {
|
|
76
|
+
sanity
|
|
77
|
+
} = ui.useTheme();
|
|
78
|
+
const inputStyles = {
|
|
79
|
+
input: {
|
|
80
|
+
width: '80%',
|
|
81
|
+
padding: '4px 10% 3px',
|
|
82
|
+
border: 'none',
|
|
83
|
+
boxShadow: "inset 0 0 0 1px ".concat(sanity.color.input.default.enabled.border),
|
|
84
|
+
color: sanity.color.input.default.enabled.fg,
|
|
85
|
+
backgroundColor: sanity.color.input.default.enabled.bg,
|
|
86
|
+
fontSize: sanity.fonts.text.sizes[0].fontSize,
|
|
87
|
+
textAlign: 'center'
|
|
88
|
+
},
|
|
89
|
+
label: {
|
|
90
|
+
display: 'block',
|
|
91
|
+
textAlign: 'center',
|
|
92
|
+
fontSize: sanity.fonts.label.sizes[0].fontSize,
|
|
93
|
+
color: sanity.color.base.fg,
|
|
94
|
+
paddingTop: '3px',
|
|
95
|
+
paddingBottom: '4px',
|
|
96
|
+
textTransform: 'capitalize'
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
const handleChange = (data, e) => {
|
|
101
|
+
if (data.hex && color__namespace.isValidHex(data.hex)) {
|
|
102
|
+
onChange({
|
|
103
|
+
hex: data.hex,
|
|
104
|
+
source: 'hex'
|
|
105
|
+
}, e);
|
|
106
|
+
} else if (data.r || data.g || data.b) {
|
|
107
|
+
onChange({
|
|
108
|
+
r: data.r || rgb.r,
|
|
109
|
+
g: data.g || rgb.g,
|
|
110
|
+
b: data.b || rgb.b,
|
|
111
|
+
a: rgb.a,
|
|
112
|
+
source: 'rgb'
|
|
113
|
+
}, e);
|
|
114
|
+
} else if (data.a) {
|
|
115
|
+
if (data.a < 0) {
|
|
116
|
+
data.a = 0;
|
|
117
|
+
} else if (data.a > 100) {
|
|
118
|
+
data.a = 100;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
data.a /= 100;
|
|
122
|
+
onChange({
|
|
123
|
+
h: hsl.h,
|
|
124
|
+
s: hsl.s,
|
|
125
|
+
l: hsl.l,
|
|
126
|
+
a: data.a,
|
|
127
|
+
source: 'rgb'
|
|
128
|
+
}, e);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
return /*#__PURE__*/React__default["default"].createElement(ui.Flex, null, /*#__PURE__*/React__default["default"].createElement(ui.Box, {
|
|
133
|
+
flex: 2,
|
|
134
|
+
marginRight: 1
|
|
135
|
+
}, /*#__PURE__*/React__default["default"].createElement(common.EditableInput, {
|
|
136
|
+
style: inputStyles,
|
|
137
|
+
label: "hex",
|
|
138
|
+
value: hex.replace('#', ''),
|
|
139
|
+
onChange: handleChange
|
|
140
|
+
})), /*#__PURE__*/React__default["default"].createElement(ui.Box, {
|
|
141
|
+
flex: 1,
|
|
142
|
+
marginRight: 1
|
|
143
|
+
}, /*#__PURE__*/React__default["default"].createElement(common.EditableInput, {
|
|
144
|
+
style: inputStyles,
|
|
145
|
+
label: "r",
|
|
146
|
+
value: rgb.r,
|
|
147
|
+
onChange: handleChange,
|
|
148
|
+
dragLabel: "true",
|
|
149
|
+
dragMax: "255"
|
|
150
|
+
})), /*#__PURE__*/React__default["default"].createElement(ui.Box, {
|
|
151
|
+
flex: 1,
|
|
152
|
+
marginRight: 1
|
|
153
|
+
}, /*#__PURE__*/React__default["default"].createElement(common.EditableInput, {
|
|
154
|
+
style: inputStyles,
|
|
155
|
+
label: "g",
|
|
156
|
+
value: rgb.g,
|
|
157
|
+
onChange: handleChange,
|
|
158
|
+
dragLabel: "true",
|
|
159
|
+
dragMax: "255"
|
|
160
|
+
})), /*#__PURE__*/React__default["default"].createElement(ui.Box, {
|
|
161
|
+
flex: 1,
|
|
162
|
+
marginRight: 1
|
|
163
|
+
}, /*#__PURE__*/React__default["default"].createElement(common.EditableInput, {
|
|
164
|
+
style: inputStyles,
|
|
165
|
+
label: "b",
|
|
166
|
+
value: rgb.b,
|
|
167
|
+
onChange: handleChange,
|
|
168
|
+
dragLabel: "true",
|
|
169
|
+
dragMax: "255"
|
|
170
|
+
})), !disableAlpha && /*#__PURE__*/React__default["default"].createElement(ui.Box, {
|
|
171
|
+
flex: 1
|
|
172
|
+
}, /*#__PURE__*/React__default["default"].createElement(common.EditableInput, {
|
|
173
|
+
style: inputStyles,
|
|
174
|
+
label: "a",
|
|
175
|
+
value: Math.round(rgb.a * 100),
|
|
176
|
+
onChange: handleChange,
|
|
177
|
+
dragLabel: "true",
|
|
178
|
+
dragMax: "100"
|
|
179
|
+
})));
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
var _templateObject, _templateObject2;
|
|
183
|
+
const ColorBox = styled__default["default"](ui.Box)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"])));
|
|
184
|
+
const ReadOnlyContainer = styled__default["default"](ui.Flex)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-top: 6rem;\n background-color: var(--card-bg-color);\n position: relative;\n width: 100%;\n"])));
|
|
185
|
+
|
|
186
|
+
const ColorPicker = _ref => {
|
|
187
|
+
let {
|
|
188
|
+
width,
|
|
189
|
+
rgb,
|
|
190
|
+
hex,
|
|
191
|
+
hsv,
|
|
192
|
+
hsl,
|
|
193
|
+
onChange,
|
|
194
|
+
onUnset,
|
|
195
|
+
disableAlpha,
|
|
196
|
+
renderers,
|
|
197
|
+
readOnly
|
|
198
|
+
} = _ref;
|
|
199
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
200
|
+
style: {
|
|
201
|
+
width
|
|
202
|
+
}
|
|
203
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui.Card, {
|
|
204
|
+
padding: 1,
|
|
205
|
+
border: true,
|
|
206
|
+
radius: 1
|
|
207
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui.Stack, {
|
|
208
|
+
space: 2
|
|
209
|
+
}, !readOnly && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(ui.Card, {
|
|
210
|
+
overflow: "hidden",
|
|
211
|
+
style: {
|
|
212
|
+
position: 'relative',
|
|
213
|
+
height: '5em'
|
|
214
|
+
}
|
|
215
|
+
}, /*#__PURE__*/React__default["default"].createElement(common.Saturation, {
|
|
216
|
+
is: "Saturation",
|
|
217
|
+
onChange: onChange,
|
|
218
|
+
hsl: hsl,
|
|
219
|
+
hsv: hsv
|
|
220
|
+
})), /*#__PURE__*/React__default["default"].createElement(ui.Card, {
|
|
221
|
+
shadow: 1,
|
|
222
|
+
radius: 3,
|
|
223
|
+
overflow: "hidden",
|
|
224
|
+
style: {
|
|
225
|
+
position: 'relative',
|
|
226
|
+
height: '10px'
|
|
227
|
+
}
|
|
228
|
+
}, /*#__PURE__*/React__default["default"].createElement(common.Hue, {
|
|
229
|
+
is: "Hue",
|
|
230
|
+
hsl: hsl,
|
|
231
|
+
onChange: !readOnly && onChange
|
|
232
|
+
})), !disableAlpha && /*#__PURE__*/React__default["default"].createElement(ui.Card, {
|
|
233
|
+
shadow: 1,
|
|
234
|
+
radius: 3,
|
|
235
|
+
overflow: "hidden",
|
|
236
|
+
style: {
|
|
237
|
+
position: 'relative',
|
|
238
|
+
height: '10px'
|
|
239
|
+
}
|
|
240
|
+
}, /*#__PURE__*/React__default["default"].createElement(common.Alpha, {
|
|
241
|
+
is: "Alpha",
|
|
242
|
+
rgb: rgb,
|
|
243
|
+
hsl: hsl,
|
|
244
|
+
renderers: renderers,
|
|
245
|
+
onChange: onChange
|
|
246
|
+
}))), /*#__PURE__*/React__default["default"].createElement(ui.Flex, null, /*#__PURE__*/React__default["default"].createElement(ui.Card, {
|
|
247
|
+
flex: 1,
|
|
248
|
+
radius: 2,
|
|
249
|
+
overflow: "hidden",
|
|
250
|
+
style: {
|
|
251
|
+
position: 'relative',
|
|
252
|
+
minWidth: '4em'
|
|
253
|
+
}
|
|
254
|
+
}, /*#__PURE__*/React__default["default"].createElement(common.Checkboard, null), /*#__PURE__*/React__default["default"].createElement(ColorBox, {
|
|
255
|
+
style: {
|
|
256
|
+
backgroundColor: "rgba(".concat(rgb.r, ",").concat(rgb.g, ",").concat(rgb.b, ",").concat(rgb.a, ")")
|
|
257
|
+
}
|
|
258
|
+
}), readOnly && /*#__PURE__*/React__default["default"].createElement(ReadOnlyContainer, {
|
|
259
|
+
padding: 2,
|
|
260
|
+
paddingBottom: 1,
|
|
261
|
+
sizing: "border",
|
|
262
|
+
justify: "space-between"
|
|
263
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui.Stack, {
|
|
264
|
+
space: 3,
|
|
265
|
+
marginTop: 1
|
|
266
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui.Text, {
|
|
267
|
+
size: 3,
|
|
268
|
+
weight: "bold"
|
|
269
|
+
}, hex), /*#__PURE__*/React__default["default"].createElement(ui.Inline, {
|
|
270
|
+
space: 3
|
|
271
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui.Text, {
|
|
272
|
+
size: 1
|
|
273
|
+
}, /*#__PURE__*/React__default["default"].createElement("strong", null, "RGB: "), rgb.r, " ", rgb.g, " ", rgb.b), /*#__PURE__*/React__default["default"].createElement(ui.Text, {
|
|
274
|
+
size: 1
|
|
275
|
+
}, /*#__PURE__*/React__default["default"].createElement("strong", null, "HSL: "), " ", Math.round(hsl.h), " ", Math.round(hsl.s), "%", ' ', Math.round(hsl.l)))))), !readOnly && /*#__PURE__*/React__default["default"].createElement(ui.Flex, {
|
|
276
|
+
align: "flex-start",
|
|
277
|
+
marginLeft: 2
|
|
278
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui.Box, {
|
|
279
|
+
style: {
|
|
280
|
+
width: 200
|
|
281
|
+
}
|
|
282
|
+
}, /*#__PURE__*/React__default["default"].createElement(ColorPickerFields, {
|
|
283
|
+
rgb: rgb,
|
|
284
|
+
hsl: hsl,
|
|
285
|
+
hex: hex,
|
|
286
|
+
onChange: onChange,
|
|
287
|
+
disableAlpha: disableAlpha
|
|
288
|
+
})), /*#__PURE__*/React__default["default"].createElement(ui.Box, {
|
|
289
|
+
marginLeft: 2
|
|
290
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui.Button, {
|
|
291
|
+
onClick: onUnset,
|
|
292
|
+
title: "Delete color",
|
|
293
|
+
icon: icons.TrashIcon,
|
|
294
|
+
tone: "critical"
|
|
295
|
+
})))))));
|
|
296
|
+
};
|
|
297
|
+
|
|
298
|
+
ColorPicker.propTypes = {
|
|
299
|
+
width: PropTypes__default["default"].string,
|
|
300
|
+
hex: PropTypes__default["default"].string,
|
|
301
|
+
hsl: PropTypes__default["default"].object,
|
|
302
|
+
hsv: PropTypes__default["default"].object,
|
|
303
|
+
rgb: PropTypes__default["default"].object,
|
|
304
|
+
onChange: PropTypes__default["default"].func,
|
|
305
|
+
disableAlpha: PropTypes__default["default"].bool,
|
|
306
|
+
readOnly: PropTypes__default["default"].bool,
|
|
307
|
+
renderers: PropTypes__default["default"].func,
|
|
308
|
+
onUnset: PropTypes__default["default"].func
|
|
309
|
+
};
|
|
310
|
+
ColorPicker.defaultProps = {
|
|
311
|
+
disableAlpha: false
|
|
312
|
+
};
|
|
313
|
+
var ColorPicker$1 = common.ColorWrap(ColorPicker);
|
|
314
|
+
|
|
315
|
+
const DEFAULT_COLOR = {
|
|
316
|
+
hex: '#24a3e3',
|
|
317
|
+
hsl: {
|
|
318
|
+
h: 200,
|
|
319
|
+
s: 0.7732,
|
|
320
|
+
l: 0.5156,
|
|
321
|
+
a: 1
|
|
322
|
+
},
|
|
323
|
+
hsv: {
|
|
324
|
+
h: 200,
|
|
325
|
+
s: 0.8414,
|
|
326
|
+
v: 0.8901,
|
|
327
|
+
a: 1
|
|
328
|
+
},
|
|
329
|
+
rgb: {
|
|
330
|
+
r: 46,
|
|
331
|
+
g: 163,
|
|
332
|
+
b: 227,
|
|
333
|
+
a: 1
|
|
334
|
+
},
|
|
335
|
+
source: 'hex'
|
|
336
|
+
};
|
|
337
|
+
class ColorInput extends React.PureComponent {
|
|
338
|
+
constructor() {
|
|
339
|
+
super(...arguments);
|
|
340
|
+
|
|
341
|
+
_defineProperty(this, "focusRef", /*#__PURE__*/React__default["default"].createRef());
|
|
342
|
+
|
|
343
|
+
_defineProperty(this, "emitSetColor", nextColor => {
|
|
344
|
+
const {
|
|
345
|
+
onChange,
|
|
346
|
+
type
|
|
347
|
+
} = this.props;
|
|
348
|
+
const fieldPatches = type.fields.filter(field => field.name in nextColor).map(field => {
|
|
349
|
+
const nextFieldValue = nextColor[field.name];
|
|
350
|
+
const isObject = field.type.jsonType === 'object';
|
|
351
|
+
return form.set(isObject ? Object.assign({
|
|
352
|
+
_type: field.type.name
|
|
353
|
+
}, nextFieldValue) : nextFieldValue, [field.name]);
|
|
354
|
+
});
|
|
355
|
+
onChange(form.PatchEvent.from([form.setIfMissing({
|
|
356
|
+
_type: type.name
|
|
357
|
+
}), form.set(type.name, ['_type']), form.set(nextColor.rgb.a, ['alpha']), ...fieldPatches]));
|
|
358
|
+
});
|
|
359
|
+
|
|
360
|
+
_defineProperty(this, "handleColorChange", _debounce__default["default"](this.emitSetColor, 100));
|
|
361
|
+
|
|
362
|
+
_defineProperty(this, "handleCreateColor", () => {
|
|
363
|
+
this.emitSetColor(DEFAULT_COLOR);
|
|
364
|
+
});
|
|
365
|
+
|
|
366
|
+
_defineProperty(this, "handleUnset", () => {
|
|
367
|
+
this.props.onChange(form.PatchEvent.from(form.unset()));
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
focus() {
|
|
372
|
+
// todo: make the ColorPicker component support .focus()
|
|
373
|
+
if (this.focusRef.current && this.focusRef.current.focus) {
|
|
374
|
+
this.focusRef.current.focus();
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
render() {
|
|
379
|
+
const {
|
|
380
|
+
type,
|
|
381
|
+
readOnly,
|
|
382
|
+
value,
|
|
383
|
+
level
|
|
384
|
+
} = this.props;
|
|
385
|
+
return /*#__PURE__*/React__default["default"].createElement(_unstable.FormField, {
|
|
386
|
+
title: type.title,
|
|
387
|
+
description: type.description,
|
|
388
|
+
level: level
|
|
389
|
+
}, value ? /*#__PURE__*/React__default["default"].createElement(ColorPicker$1, {
|
|
390
|
+
ref: this.focusRef,
|
|
391
|
+
color: value.hsl || value.hex,
|
|
392
|
+
readOnly: readOnly || type.readOnly,
|
|
393
|
+
onChange: this.handleColorChange,
|
|
394
|
+
disableAlpha: type.options && type.options.disableAlpha,
|
|
395
|
+
onUnset: this.handleUnset
|
|
396
|
+
}) : /*#__PURE__*/React__default["default"].createElement(ui.Button, {
|
|
397
|
+
icon: icons.AddIcon,
|
|
398
|
+
mode: "ghost",
|
|
399
|
+
text: "Create color",
|
|
400
|
+
ref: this.focusRef,
|
|
401
|
+
disabled: Boolean(readOnly),
|
|
402
|
+
onClick: this.handleCreateColor
|
|
403
|
+
}));
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
_defineProperty(ColorInput, "propTypes", {
|
|
409
|
+
type: PropTypes__default["default"].shape({
|
|
410
|
+
name: PropTypes__default["default"].string,
|
|
411
|
+
title: PropTypes__default["default"].string,
|
|
412
|
+
description: PropTypes__default["default"].string,
|
|
413
|
+
fields: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
|
|
414
|
+
name: PropTypes__default["default"].string.isRequired
|
|
415
|
+
}))
|
|
416
|
+
}).isRequired,
|
|
417
|
+
onChange: PropTypes__default["default"].func.isRequired,
|
|
418
|
+
readOnly: PropTypes__default["default"].bool,
|
|
419
|
+
value: PropTypes__default["default"].shape({
|
|
420
|
+
hex: PropTypes__default["default"].string,
|
|
421
|
+
alpha: PropTypes__default["default"].number
|
|
422
|
+
})
|
|
423
|
+
});
|
|
424
|
+
|
|
425
|
+
module.exports = ColorInput;
|
|
426
|
+
//# sourceMappingURL=ColorInput.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorInput.cjs","sources":["../src/ColorPickerFields.js","../src/ColorPicker.js","../src/ColorInput.jsx"],"sourcesContent":["import React from 'react'\nimport * as color from 'react-color/lib/helpers/color'\nimport {EditableInput} from 'react-color/lib/components/common'\nimport {Box, Flex, useTheme} from '@sanity/ui'\n\nexport const ColorPickerFields = ({onChange, rgb, hsl, hex, disableAlpha}) => {\n const {sanity} = useTheme()\n\n const inputStyles = {\n input: {\n width: '80%',\n padding: '4px 10% 3px',\n border: 'none',\n boxShadow: `inset 0 0 0 1px ${sanity.color.input.default.enabled.border}`,\n color: sanity.color.input.default.enabled.fg,\n backgroundColor: sanity.color.input.default.enabled.bg,\n fontSize: sanity.fonts.text.sizes[0].fontSize,\n textAlign: 'center',\n },\n label: {\n display: 'block',\n textAlign: 'center',\n fontSize: sanity.fonts.label.sizes[0].fontSize,\n color: sanity.color.base.fg,\n paddingTop: '3px',\n paddingBottom: '4px',\n textTransform: 'capitalize',\n },\n }\n\n const handleChange = (data, e) => {\n if (data.hex && color.isValidHex(data.hex)) {\n onChange(\n {\n hex: data.hex,\n source: 'hex',\n },\n e\n )\n } else if (data.r || data.g || data.b) {\n onChange(\n {\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n a: rgb.a,\n source: 'rgb',\n },\n e\n )\n } else if (data.a) {\n if (data.a < 0) {\n data.a = 0\n } else if (data.a > 100) {\n data.a = 100\n }\n\n data.a /= 100\n onChange(\n {\n h: hsl.h,\n s: hsl.s,\n l: hsl.l,\n a: data.a,\n source: 'rgb',\n },\n e\n )\n }\n }\n\n return (\n <Flex>\n <Box flex={2} marginRight={1}>\n <EditableInput\n style={inputStyles}\n label=\"hex\"\n value={hex.replace('#', '')}\n onChange={handleChange}\n />\n </Box>\n <Box flex={1} marginRight={1}>\n <EditableInput\n style={inputStyles}\n label=\"r\"\n value={rgb.r}\n onChange={handleChange}\n dragLabel=\"true\"\n dragMax=\"255\"\n />\n </Box>\n <Box flex={1} marginRight={1}>\n <EditableInput\n style={inputStyles}\n label=\"g\"\n value={rgb.g}\n onChange={handleChange}\n dragLabel=\"true\"\n dragMax=\"255\"\n />\n </Box>\n <Box flex={1} marginRight={1}>\n <EditableInput\n style={inputStyles}\n label=\"b\"\n value={rgb.b}\n onChange={handleChange}\n dragLabel=\"true\"\n dragMax=\"255\"\n />\n </Box>\n {!disableAlpha && (\n <Box flex={1}>\n <EditableInput\n style={inputStyles}\n label=\"a\"\n value={Math.round(rgb.a * 100)}\n onChange={handleChange}\n dragLabel=\"true\"\n dragMax=\"100\"\n />\n </Box>\n )}\n </Flex>\n )\n}\n\nexport default ColorPickerFields\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {ColorWrap, Checkboard, Saturation, Hue, Alpha} from 'react-color/lib/components/common'\nimport {Box, Card, Flex, Button, Inline, Stack, Text} from '@sanity/ui'\nimport {TrashIcon} from '@sanity/icons'\nimport styled from 'styled-components'\nimport {ColorPickerFields} from './ColorPickerFields'\n\nconst ColorBox = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n`\n\nconst ReadOnlyContainer = styled(Flex)`\n margin-top: 6rem;\n background-color: var(--card-bg-color);\n position: relative;\n width: 100%;\n`\n\nconst ColorPicker = ({\n width,\n rgb,\n hex,\n hsv,\n hsl,\n onChange,\n onUnset,\n disableAlpha,\n renderers,\n readOnly,\n}) => {\n return (\n <div style={{width}}>\n <Card padding={1} border radius={1}>\n <Stack space={2}>\n {!readOnly && (\n <>\n <Card overflow=\"hidden\" style={{position: 'relative', height: '5em'}}>\n <Saturation is=\"Saturation\" onChange={onChange} hsl={hsl} hsv={hsv} />\n </Card>\n\n <Card\n shadow={1}\n radius={3}\n overflow=\"hidden\"\n style={{position: 'relative', height: '10px'}}\n >\n <Hue is=\"Hue\" hsl={hsl} onChange={!readOnly && onChange} />\n </Card>\n\n {!disableAlpha && (\n <Card\n shadow={1}\n radius={3}\n overflow=\"hidden\"\n style={{position: 'relative', height: '10px'}}\n >\n <Alpha is=\"Alpha\" rgb={rgb} hsl={hsl} renderers={renderers} onChange={onChange} />\n </Card>\n )}\n </>\n )}\n <Flex>\n <Card\n flex={1}\n radius={2}\n overflow=\"hidden\"\n style={{position: 'relative', minWidth: '4em'}}\n >\n <Checkboard />\n <ColorBox style={{backgroundColor: `rgba(${rgb.r},${rgb.g},${rgb.b},${rgb.a})`}} />\n\n {readOnly && (\n <ReadOnlyContainer\n padding={2}\n paddingBottom={1}\n sizing=\"border\"\n justify=\"space-between\"\n >\n <Stack space={3} marginTop={1}>\n <Text size={3} weight=\"bold\">\n {hex}\n </Text>\n\n <Inline space={3}>\n <Text size={1}>\n <strong>RGB: </strong>\n {rgb.r} {rgb.g} {rgb.b}\n </Text>\n <Text size={1}>\n <strong>HSL: </strong> {Math.round(hsl.h)} {Math.round(hsl.s)}%{' '}\n {Math.round(hsl.l)}\n </Text>\n </Inline>\n </Stack>\n </ReadOnlyContainer>\n )}\n </Card>\n\n {!readOnly && (\n <Flex align=\"flex-start\" marginLeft={2}>\n <Box style={{width: 200}}>\n <ColorPickerFields\n rgb={rgb}\n hsl={hsl}\n hex={hex}\n onChange={onChange}\n disableAlpha={disableAlpha}\n />\n </Box>\n <Box marginLeft={2}>\n <Button onClick={onUnset} title=\"Delete color\" icon={TrashIcon} tone=\"critical\" />\n </Box>\n </Flex>\n )}\n </Flex>\n </Stack>\n </Card>\n </div>\n )\n}\n\nColorPicker.propTypes = {\n width: PropTypes.string,\n hex: PropTypes.string,\n hsl: PropTypes.object,\n hsv: PropTypes.object,\n rgb: PropTypes.object,\n onChange: PropTypes.func,\n disableAlpha: PropTypes.bool,\n readOnly: PropTypes.bool,\n renderers: PropTypes.func,\n onUnset: PropTypes.func,\n}\n\nColorPicker.defaultProps = {\n disableAlpha: false,\n}\n\nexport default ColorWrap(ColorPicker)\n","import React, {PureComponent} from 'react'\nimport PropTypes from 'prop-types'\nimport {PatchEvent, set, setIfMissing, unset} from '@sanity/base/form'\nimport {debounce} from 'lodash'\nimport {Button} from '@sanity/ui'\nimport {AddIcon} from '@sanity/icons'\nimport {FormField} from '@sanity/base/_unstable'\nimport ColorPicker from './ColorPicker'\n\nconst DEFAULT_COLOR = {\n hex: '#24a3e3',\n hsl: {h: 200, s: 0.7732, l: 0.5156, a: 1},\n hsv: {h: 200, s: 0.8414, v: 0.8901, a: 1},\n rgb: {r: 46, g: 163, b: 227, a: 1},\n source: 'hex',\n}\n\nexport default class ColorInput extends PureComponent {\n focusRef = React.createRef()\n static propTypes = {\n type: PropTypes.shape({\n name: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n fields: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n })\n ),\n }).isRequired,\n onChange: PropTypes.func.isRequired,\n readOnly: PropTypes.bool,\n value: PropTypes.shape({\n hex: PropTypes.string,\n alpha: PropTypes.number,\n }),\n }\n\n focus() {\n // todo: make the ColorPicker component support .focus()\n if (this.focusRef.current && this.focusRef.current.focus) {\n this.focusRef.current.focus()\n }\n }\n\n emitSetColor = (nextColor) => {\n const {onChange, type} = this.props\n\n const fieldPatches = type.fields\n .filter((field) => field.name in nextColor)\n .map((field) => {\n const nextFieldValue = nextColor[field.name]\n const isObject = field.type.jsonType === 'object'\n return set(\n isObject ? Object.assign({_type: field.type.name}, nextFieldValue) : nextFieldValue,\n [field.name]\n )\n })\n\n onChange(\n PatchEvent.from([\n setIfMissing({_type: type.name}),\n set(type.name, ['_type']),\n set(nextColor.rgb.a, ['alpha']),\n ...fieldPatches,\n ])\n )\n }\n\n // The color picker emits onChange events continuously while the user is sliding the\n // hue/saturation/alpha selectors. This debounces the event to avoid excessive patches\n handleColorChange = debounce(this.emitSetColor, 100)\n\n handleCreateColor = () => {\n this.emitSetColor(DEFAULT_COLOR)\n }\n\n handleUnset = () => {\n this.props.onChange(PatchEvent.from(unset()))\n }\n\n render() {\n const {type, readOnly, value, level} = this.props\n return (\n <FormField title={type.title} description={type.description} level={level}>\n {value ? (\n <ColorPicker\n ref={this.focusRef}\n color={value.hsl || value.hex}\n readOnly={readOnly || type.readOnly}\n onChange={this.handleColorChange}\n disableAlpha={type.options && type.options.disableAlpha}\n onUnset={this.handleUnset}\n />\n ) : (\n <Button\n icon={AddIcon}\n mode=\"ghost\"\n text=\"Create color\"\n ref={this.focusRef}\n disabled={Boolean(readOnly)}\n onClick={this.handleCreateColor}\n />\n )}\n </FormField>\n )\n }\n}\n"],"names":["ColorPickerFields","onChange","rgb","hsl","hex","disableAlpha","sanity","useTheme","inputStyles","input","width","padding","border","boxShadow","color","default","enabled","fg","backgroundColor","bg","fontSize","fonts","text","sizes","textAlign","label","display","base","paddingTop","paddingBottom","textTransform","handleChange","data","e","isValidHex","source","r","g","b","a","h","s","l","React","Flex","Box","EditableInput","replace","Math","round","ColorBox","styled","ReadOnlyContainer","ColorPicker","hsv","onUnset","renderers","readOnly","Card","Stack","position","height","Saturation","Hue","Alpha","minWidth","Checkboard","Text","Inline","Button","TrashIcon","propTypes","PropTypes","string","object","func","bool","defaultProps","ColorWrap","DEFAULT_COLOR","v","ColorInput","PureComponent","createRef","nextColor","type","props","fieldPatches","fields","filter","field","name","map","nextFieldValue","isObject","jsonType","set","Object","assign","_type","PatchEvent","from","setIfMissing","_debounce","emitSetColor","unset","focus","focusRef","current","render","value","level","FormField","title","description","handleColorChange","options","handleUnset","AddIcon","Boolean","handleCreateColor","shape","arrayOf","isRequired","alpha","number"],"mappings":"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"}
|