@youcan/celeste 0.18.0 → 0.20.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/ai/README.md +1 -1
- package/ai/component-registry.json +229 -3
- package/ai/icons.json +2 -2
- package/ai/tokens.json +2 -2
- package/dist/celeste.css +573 -274
- package/dist/cjs/chunks/alpha-slider.cjs +1 -1
- package/dist/cjs/chunks/color-area.cjs +1 -1
- package/dist/cjs/chunks/color-picker.cjs +20 -25
- package/dist/cjs/chunks/color-swatch.cjs +4 -3
- package/dist/cjs/chunks/components.cjs +6 -4
- package/dist/cjs/chunks/gradient-picker.cjs +638 -0
- package/dist/cjs/chunks/textarea.cjs +1 -1
- package/dist/{es/chunks/use-color-model.js → cjs/chunks/tinycolor.cjs} +6 -23
- package/dist/cjs/gradient-picker.cjs +2 -0
- package/dist/cjs/gradient.cjs +71 -0
- package/dist/cjs/index.cjs +9 -4
- package/dist/cjs/use-color-model.cjs +27 -3
- package/dist/components/color-picker/gradient-picker.d.ts +56 -0
- package/dist/components/color-picker/index.d.ts +2 -0
- package/dist/es/chunks/alpha-slider.js +1 -1
- package/dist/es/chunks/color-area.js +1 -1
- package/dist/es/chunks/color-picker.js +12 -17
- package/dist/es/chunks/color-swatch.js +2 -1
- package/dist/es/chunks/components.js +6 -4
- package/dist/es/chunks/gradient-picker.js +632 -0
- package/dist/es/chunks/textarea.js +1 -1
- package/dist/{cjs/chunks/use-color-model.cjs → es/chunks/tinycolor.js} +1 -40
- package/dist/es/gradient-picker.js +2 -0
- package/dist/es/gradient.js +69 -0
- package/dist/es/index.js +7 -5
- package/dist/es/use-color-model.js +25 -1
- package/dist/utils/gradient.d.ts +13 -0
- package/dist/utils/index.d.ts +1 -0
- package/package.json +3 -3
- package/src/components/color-picker/color-picker.vue +8 -9
- package/src/components/color-picker/composable/use-color-model.ts +5 -0
- package/src/components/color-picker/gradient-picker.vue +950 -0
- package/src/components/color-picker/index.ts +3 -0
- package/src/components/color-picker/stories/gradient-picker.stories.ts +48 -0
- package/src/components/textarea/textarea.vue +1 -1
- package/src/utils/gradient.ts +90 -0
- package/src/utils/index.ts +1 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_use_user_select = require("../use-user-select.cjs");
|
|
2
2
|
const require_color = require("../color.cjs");
|
|
3
|
-
const require_use_color_model = require("
|
|
3
|
+
const require_use_color_model = require("../use-color-model.cjs");
|
|
4
4
|
let vue = require("vue");
|
|
5
5
|
//#region src/components/color-picker/alpha-slider.vue?vue&type=script&setup=true&lang.ts
|
|
6
6
|
var _hoisted_1 = { class: "celeste-color-slider" };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require__plugin_vue_export_helper = require("./_plugin-vue_export-helper.cjs");
|
|
2
2
|
const require_use_user_select = require("../use-user-select.cjs");
|
|
3
3
|
const require_color = require("../color.cjs");
|
|
4
|
-
const require_use_color_model = require("
|
|
4
|
+
const require_use_color_model = require("../use-color-model.cjs");
|
|
5
5
|
let vue = require("vue");
|
|
6
6
|
//#region src/components/color-picker/color-area.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
var color_area_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
@@ -9,21 +9,17 @@ require("./select-label.cjs");
|
|
|
9
9
|
require("./select-separator.cjs");
|
|
10
10
|
const require_select_value = require("./select-value.cjs");
|
|
11
11
|
const require_button = require("./button.cjs");
|
|
12
|
-
require("./
|
|
13
|
-
require("./fancy-button.cjs");
|
|
14
|
-
require("./link-button.cjs");
|
|
15
|
-
require("./social-button.cjs");
|
|
12
|
+
require("./gradient-picker.cjs");
|
|
16
13
|
const require_use_delegated_props = require("../use-delegated-props.cjs");
|
|
17
14
|
const require_color = require("../color.cjs");
|
|
18
|
-
const
|
|
15
|
+
const require_tinycolor = require("./tinycolor.cjs");
|
|
16
|
+
const require_use_color_model = require("../use-color-model.cjs");
|
|
19
17
|
const require_alpha_slider = require("./alpha-slider.cjs");
|
|
20
18
|
const require_color_area = require("./color-area.cjs");
|
|
21
19
|
const require_popover = require("./popover.cjs");
|
|
22
20
|
require("./select-group.cjs");
|
|
23
21
|
require("./select-icon.cjs");
|
|
24
22
|
const require_select = require("./select.cjs");
|
|
25
|
-
require("./text-input-affix.cjs");
|
|
26
|
-
require("./text-input-button.cjs");
|
|
27
23
|
const require_text_input = require("./text-input.cjs");
|
|
28
24
|
const require_color_swatch = require("./color-swatch.cjs");
|
|
29
25
|
const require_hue_slider = require("./hue-slider.cjs");
|
|
@@ -58,7 +54,7 @@ var color_picker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0,
|
|
|
58
54
|
},
|
|
59
55
|
emits: ["update:modelValue"],
|
|
60
56
|
setup(__props, { emit: __emit }) {
|
|
61
|
-
(0, vue.useCssVars)((_ctx) => ({ "
|
|
57
|
+
(0, vue.useCssVars)((_ctx) => ({ "v6500f742": _ctx.modelValue }));
|
|
62
58
|
const props = __props;
|
|
63
59
|
const emit = __emit;
|
|
64
60
|
const delegatedProps = require_use_delegated_props.useDelegatedProps(props, "class");
|
|
@@ -100,7 +96,7 @@ var color_picker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0,
|
|
|
100
96
|
function sipColor() {
|
|
101
97
|
if (!eyeDropper.value) return;
|
|
102
98
|
eyeDropper.value.open().then((result) => {
|
|
103
|
-
const newColor =
|
|
99
|
+
const newColor = require_tinycolor.tinycolor(result.sRGBHex);
|
|
104
100
|
tinyColorRef.value = newColor;
|
|
105
101
|
}).catch((_) => {});
|
|
106
102
|
}
|
|
@@ -119,22 +115,21 @@ var color_picker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0,
|
|
|
119
115
|
} else if (key === "a") currentValue = tinyColorRef.value.getAlpha() * 100;
|
|
120
116
|
return currentValue;
|
|
121
117
|
}
|
|
122
|
-
function
|
|
118
|
+
function nextInputValue(event) {
|
|
123
119
|
const input = event.target;
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
120
|
+
const { length } = input.value;
|
|
121
|
+
return input.value.slice(0, input.selectionStart ?? length) + (event.data ?? "") + input.value.slice(input.selectionEnd ?? length);
|
|
122
|
+
}
|
|
123
|
+
function validateInput(event) {
|
|
124
|
+
if (!require_color.COLOR_NUMBER_VALIDATION_PATTERN.test(nextInputValue(event).replace(/[%°]/g, "").trim())) event.preventDefault();
|
|
127
125
|
}
|
|
128
126
|
function validateHexInput(event) {
|
|
129
|
-
|
|
130
|
-
const inputEvent = event;
|
|
131
|
-
const newValue = input.value + (inputEvent.data ?? "");
|
|
132
|
-
if (!require_color.HEX_VALIDATION_PATTERN.test(newValue)) event.preventDefault();
|
|
127
|
+
if (!require_color.HEX_VALIDATION_PATTERN.test(nextInputValue(event))) event.preventDefault();
|
|
133
128
|
}
|
|
134
129
|
function inputChangeHex(event) {
|
|
135
130
|
const colorInput = event.target?.value;
|
|
136
131
|
if (!colorInput) return;
|
|
137
|
-
tinyColorRef.value =
|
|
132
|
+
tinyColorRef.value = require_tinycolor.tinycolor(colorInput);
|
|
138
133
|
}
|
|
139
134
|
function inputChangeRGB(event, key) {
|
|
140
135
|
const value = Number(event.target?.value);
|
|
@@ -142,7 +137,7 @@ var color_picker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0,
|
|
|
142
137
|
...rgb.value,
|
|
143
138
|
[key]: value
|
|
144
139
|
};
|
|
145
|
-
tinyColorRef.value =
|
|
140
|
+
tinyColorRef.value = require_tinycolor.tinycolor(newRgb);
|
|
146
141
|
}
|
|
147
142
|
function inputChangeHSL(event, key) {
|
|
148
143
|
const HSLInput = event.target?.value;
|
|
@@ -177,20 +172,20 @@ var color_picker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0,
|
|
|
177
172
|
const { min, max } = require_color.getColorConstraints(key);
|
|
178
173
|
const newValue = require_color.clamp(require_color.bumpColorValue(currentValue, direction), min, max);
|
|
179
174
|
if (key === "r" || key === "g" || key === "b") {
|
|
180
|
-
const newColor =
|
|
175
|
+
const newColor = require_tinycolor.tinycolor({
|
|
181
176
|
...rgb.value,
|
|
182
177
|
[key]: newValue
|
|
183
178
|
});
|
|
184
179
|
emit("update:modelValue", newColor.toString());
|
|
185
180
|
} else if (key === "h") {
|
|
186
181
|
if (currentColorFormat.value === "hsl") {
|
|
187
|
-
const newColor =
|
|
182
|
+
const newColor = require_tinycolor.tinycolor({
|
|
188
183
|
...tinyColorRef.value.toHsl(),
|
|
189
184
|
h: newValue
|
|
190
185
|
});
|
|
191
186
|
emit("update:modelValue", newColor.toString());
|
|
192
187
|
} else {
|
|
193
|
-
const newColor =
|
|
188
|
+
const newColor = require_tinycolor.tinycolor({
|
|
194
189
|
...tinyColorRef.value.toHsv(),
|
|
195
190
|
h: newValue
|
|
196
191
|
});
|
|
@@ -198,14 +193,14 @@ var color_picker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0,
|
|
|
198
193
|
}
|
|
199
194
|
} else if (key === "s" || key === "l" || key === "v") {
|
|
200
195
|
if (currentColorFormat.value === "hsl") {
|
|
201
|
-
const newColor =
|
|
196
|
+
const newColor = require_tinycolor.tinycolor({
|
|
202
197
|
...tinyColorRef.value.toHsl(),
|
|
203
198
|
[key]: newValue / 100
|
|
204
199
|
});
|
|
205
200
|
emit("update:modelValue", newColor.toString());
|
|
206
201
|
} else {
|
|
207
202
|
const currentHsv = tinyColorRef.value.toHsv();
|
|
208
|
-
const newColor =
|
|
203
|
+
const newColor = require_tinycolor.tinycolor({
|
|
209
204
|
...currentHsv,
|
|
210
205
|
[key]: newValue / 100
|
|
211
206
|
});
|
|
@@ -476,7 +471,7 @@ var color_picker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0,
|
|
|
476
471
|
});
|
|
477
472
|
//#endregion
|
|
478
473
|
//#region src/components/color-picker/color-picker.vue
|
|
479
|
-
var color_picker_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(color_picker_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
474
|
+
var color_picker_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(color_picker_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d9442cfd"]]);
|
|
480
475
|
//#endregion
|
|
481
476
|
Object.defineProperty(exports, "color_picker_default", {
|
|
482
477
|
enumerable: true,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const require__plugin_vue_export_helper = require("./_plugin-vue_export-helper.cjs");
|
|
2
2
|
const require_color = require("../color.cjs");
|
|
3
|
-
const
|
|
3
|
+
const require_tinycolor = require("./tinycolor.cjs");
|
|
4
|
+
const require_use_color_model = require("../use-color-model.cjs");
|
|
4
5
|
let vue = require("vue");
|
|
5
6
|
//#region src/components/color-picker/color-swatch.vue?vue&type=script&setup=true&lang.ts
|
|
6
7
|
var _hoisted_1 = { class: "celeste-color-swatch" };
|
|
@@ -29,10 +30,10 @@ var color_swatch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0,
|
|
|
29
30
|
return `0 0 0 2px var(--color-bg-white-0), 0 0 0 4px ${tinyColorRef.value.toRgbString()}`;
|
|
30
31
|
});
|
|
31
32
|
function handleSwatchColorClick(newColor) {
|
|
32
|
-
tinyColorRef.value =
|
|
33
|
+
tinyColorRef.value = require_tinycolor.tinycolor(newColor);
|
|
33
34
|
}
|
|
34
35
|
function isSwatchColorSelected(color) {
|
|
35
|
-
return tinyColorRef.value.toHex8String().toLocaleLowerCase() ===
|
|
36
|
+
return tinyColorRef.value.toHex8String().toLocaleLowerCase() === require_tinycolor.tinycolor(color).toHex8String().toLocaleLowerCase();
|
|
36
37
|
}
|
|
37
38
|
return (_ctx, _cache) => {
|
|
38
39
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1, [(0, vue.createElementVNode)("span", _hoisted_2, (0, vue.toDisplayString)(__props.label), 1), (0, vue.createElementVNode)("div", _hoisted_3, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.swatch, (swatchColor) => {
|
|
@@ -59,7 +59,7 @@ const require_compact_button = require("./compact-button.cjs");
|
|
|
59
59
|
const require_fancy_button = require("./fancy-button.cjs");
|
|
60
60
|
const require_link_button = require("./link-button.cjs");
|
|
61
61
|
const require_social_button = require("./social-button.cjs");
|
|
62
|
-
const
|
|
62
|
+
const require_gradient_picker = require("./gradient-picker.cjs");
|
|
63
63
|
const require_bar_chart = require("./bar-chart.cjs");
|
|
64
64
|
const require_chart_legend = require("./chart-legend.cjs");
|
|
65
65
|
const require_chart_plot = require("./chart-plot.cjs");
|
|
@@ -74,10 +74,14 @@ const require_popover = require("./popover.cjs");
|
|
|
74
74
|
const require_select_group = require("./select-group.cjs");
|
|
75
75
|
const require_select_icon = require("./select-icon.cjs");
|
|
76
76
|
const require_select = require("./select.cjs");
|
|
77
|
+
const require_color_picker = require("./color-picker.cjs");
|
|
77
78
|
const require_text_input_affix = require("./text-input-affix.cjs");
|
|
78
79
|
const require_text_input_button = require("./text-input-button.cjs");
|
|
79
80
|
const require_text_input = require("./text-input.cjs");
|
|
80
81
|
const require_color_swatch = require("./color-swatch.cjs");
|
|
82
|
+
const require_tooltip_provider = require("./tooltip-provider.cjs");
|
|
83
|
+
const require_tooltip_root = require("./tooltip-root.cjs");
|
|
84
|
+
const require_tooltip = require("./tooltip.cjs");
|
|
81
85
|
const require_hue_slider = require("./hue-slider.cjs");
|
|
82
86
|
const require_combobox_group = require("./combobox-group.cjs");
|
|
83
87
|
const require_combobox_input = require("./combobox-input.cjs");
|
|
@@ -112,9 +116,6 @@ const require_digit_input = require("./digit-input.cjs");
|
|
|
112
116
|
const require_dropdown_menu = require("./dropdown-menu.cjs");
|
|
113
117
|
const require_file_upload_area = require("./file-upload-area.cjs");
|
|
114
118
|
const require_hint_text = require("./hint-text.cjs");
|
|
115
|
-
const require_tooltip_provider = require("./tooltip-provider.cjs");
|
|
116
|
-
const require_tooltip_root = require("./tooltip-root.cjs");
|
|
117
|
-
const require_tooltip = require("./tooltip.cjs");
|
|
118
119
|
const require_label = require("./label2.cjs");
|
|
119
120
|
const require_mochi = require("./mochi.cjs");
|
|
120
121
|
const require_pagination = require("./pagination.cjs");
|
|
@@ -255,6 +256,7 @@ var components_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
|
|
|
255
256
|
DropdownMenuTrigger: () => require_dropdown_menu_trigger.dropdown_menu_trigger_default,
|
|
256
257
|
FancyButton: () => require_fancy_button.fancy_button_default,
|
|
257
258
|
FileUploadArea: () => require_file_upload_area.file_upload_area_default,
|
|
259
|
+
GradientPicker: () => require_gradient_picker.gradient_picker_default,
|
|
258
260
|
HintText: () => require_hint_text.hint_text_default,
|
|
259
261
|
HueSlider: () => require_hue_slider.hue_slider_default,
|
|
260
262
|
Label: () => require_label.label_default,
|