@youcan/celeste 0.17.2 → 0.19.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.
Files changed (66) hide show
  1. package/ai/README.md +1 -1
  2. package/ai/component-registry.json +206 -3
  3. package/ai/icons.json +2 -2
  4. package/ai/tokens.json +2 -2
  5. package/dist/celeste.css +740 -380
  6. package/dist/cjs/chunks/ComboboxItem.cjs +6 -0
  7. package/dist/cjs/chunks/alpha-slider.cjs +1 -1
  8. package/dist/cjs/chunks/color-area.cjs +1 -1
  9. package/dist/cjs/chunks/color-picker.cjs +20 -25
  10. package/dist/cjs/chunks/color-swatch.cjs +4 -3
  11. package/dist/cjs/chunks/combobox-item.cjs +63 -7
  12. package/dist/cjs/chunks/combobox-list.cjs +1 -1
  13. package/dist/cjs/chunks/combobox-trigger.cjs +1 -1
  14. package/dist/cjs/chunks/combobox.cjs +2 -2
  15. package/dist/cjs/chunks/components.cjs +7 -5
  16. package/dist/cjs/chunks/gradient-picker.cjs +635 -0
  17. package/dist/cjs/chunks/text-input-affix.cjs +1 -1
  18. package/dist/cjs/chunks/text-input-button.cjs +1 -1
  19. package/dist/cjs/chunks/text-input.cjs +2 -1
  20. package/dist/cjs/chunks/textarea.cjs +1 -1
  21. package/dist/{es/chunks/use-color-model.js → cjs/chunks/tinycolor.cjs} +6 -23
  22. package/dist/cjs/gradient-picker.cjs +2 -0
  23. package/dist/cjs/gradient.cjs +71 -0
  24. package/dist/cjs/index.cjs +10 -5
  25. package/dist/cjs/use-color-model.cjs +27 -3
  26. package/dist/components/color-picker/gradient-picker.d.ts +51 -0
  27. package/dist/components/color-picker/index.d.ts +2 -0
  28. package/dist/es/chunks/ComboboxItem.js +1 -1
  29. package/dist/es/chunks/alpha-slider.js +1 -1
  30. package/dist/es/chunks/color-area.js +1 -1
  31. package/dist/es/chunks/color-picker.js +12 -17
  32. package/dist/es/chunks/color-swatch.js +2 -1
  33. package/dist/es/chunks/combobox-item.js +65 -9
  34. package/dist/es/chunks/combobox-list.js +1 -1
  35. package/dist/es/chunks/combobox-trigger.js +1 -1
  36. package/dist/es/chunks/combobox.js +2 -2
  37. package/dist/es/chunks/components.js +7 -5
  38. package/dist/es/chunks/gradient-picker.js +629 -0
  39. package/dist/es/chunks/text-input-affix.js +1 -1
  40. package/dist/es/chunks/text-input-button.js +1 -1
  41. package/dist/es/chunks/text-input.js +2 -1
  42. package/dist/es/chunks/textarea.js +1 -1
  43. package/dist/{cjs/chunks/use-color-model.cjs → es/chunks/tinycolor.js} +1 -40
  44. package/dist/es/gradient-picker.js +2 -0
  45. package/dist/es/gradient.js +69 -0
  46. package/dist/es/index.js +8 -6
  47. package/dist/es/use-color-model.js +25 -1
  48. package/dist/utils/gradient.d.ts +13 -0
  49. package/dist/utils/index.d.ts +1 -0
  50. package/package.json +3 -3
  51. package/src/components/color-picker/color-picker.vue +8 -9
  52. package/src/components/color-picker/composable/use-color-model.ts +5 -0
  53. package/src/components/color-picker/gradient-picker.vue +944 -0
  54. package/src/components/color-picker/index.ts +3 -0
  55. package/src/components/color-picker/stories/gradient-picker.stories.ts +37 -0
  56. package/src/components/combobox/combobox-item.vue +15 -7
  57. package/src/components/combobox/combobox-list.vue +2 -2
  58. package/src/components/combobox/combobox-trigger.vue +38 -0
  59. package/src/components/combobox/combobox.vue +2 -0
  60. package/src/components/text-input/stories/text-input.stories.ts +53 -3
  61. package/src/components/text-input/text-input-affix.vue +7 -3
  62. package/src/components/text-input/text-input-button.vue +6 -2
  63. package/src/components/text-input/text-input.vue +45 -34
  64. package/src/components/textarea/textarea.vue +1 -1
  65. package/src/utils/gradient.ts +90 -0
  66. package/src/utils/index.ts +1 -0
@@ -1,4 +1,3 @@
1
- import { computed } from "vue";
2
1
  //#region ../../node_modules/.pnpm/tinycolor2@1.6.0/node_modules/tinycolor2/esm/tinycolor.js
3
2
  function _typeof(obj) {
4
3
  "@babel/helpers - typeof";
@@ -897,25 +896,9 @@ function validateWCAG2Parms(parms) {
897
896
  };
898
897
  }
899
898
  //#endregion
900
- //#region src/components/color-picker/composable/use-color-model.ts
901
- var ColorPickerEmits = ["update:modelValue"];
902
- function defineColorModel(props, emit) {
903
- let originalFormat;
904
- return computed({
905
- get: () => {
906
- const colorInput = props.modelValue;
907
- const value = tinycolor(colorInput);
908
- originalFormat = value.getFormat();
909
- return value;
910
- },
911
- set: (newValue) => {
912
- emit("update:modelValue", transformToOriginalInputFormat(tinycolor(newValue), originalFormat));
913
- }
914
- });
915
- }
916
- function transformToOriginalInputFormat(color, originalFormat) {
917
- if (originalFormat === "hex" && color.getAlpha() < 1) return color.toString("hex8");
918
- return color.toString(originalFormat);
919
- }
920
- //#endregion
921
- export { defineColorModel as n, tinycolor as r, ColorPickerEmits as t };
899
+ Object.defineProperty(exports, "tinycolor", {
900
+ enumerable: true,
901
+ get: function() {
902
+ return tinycolor;
903
+ }
904
+ });
@@ -0,0 +1,2 @@
1
+ const require_gradient_picker = require("./chunks/gradient-picker.cjs");
2
+ module.exports = require_gradient_picker.gradient_picker_default;
@@ -0,0 +1,71 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/utils/gradient.ts
3
+ var DIRECTIONS = {
4
+ "to top": 0,
5
+ "to top right": 45,
6
+ "to right top": 45,
7
+ "to right": 90,
8
+ "to bottom right": 135,
9
+ "to right bottom": 135,
10
+ "to bottom": 180,
11
+ "to bottom left": 225,
12
+ "to left bottom": 225,
13
+ "to left": 270,
14
+ "to top left": 315,
15
+ "to left top": 315
16
+ };
17
+ var UNITS = {
18
+ deg: 1,
19
+ grad: .9,
20
+ rad: 180 / Math.PI,
21
+ turn: 360
22
+ };
23
+ function splitTopLevel(value) {
24
+ const parts = [];
25
+ let depth = 0;
26
+ let current = "";
27
+ for (const char of value) {
28
+ depth += char === "(" ? 1 : char === ")" ? -1 : 0;
29
+ if (char === "," && depth === 0) {
30
+ parts.push(current.trim());
31
+ current = "";
32
+ continue;
33
+ }
34
+ current += char;
35
+ }
36
+ return [...parts, current.trim()].filter(Boolean);
37
+ }
38
+ function parseGradient(value) {
39
+ const match = /^\s*(linear|radial)-gradient\(([\s\S]*)\)\s*$/i.exec(value ?? "");
40
+ if (!match) return null;
41
+ const parts = splitTopLevel(match[2]);
42
+ const head = parts[0]?.toLowerCase() ?? "";
43
+ let angle = 180;
44
+ const unit = /^(-?(?:\d+(?:\.\d+)?|\.\d+))(deg|grad|rad|turn)$/.exec(head);
45
+ const shape = /circle|ellipse|closest|farthest|^at /.test(head) ? parts[0] : void 0;
46
+ if (unit || shape || head.startsWith("to ")) {
47
+ parts.shift();
48
+ angle = unit ? Math.round((Number(unit[1]) * UNITS[unit[2]] % 360 + 360) % 360) : DIRECTIONS[head] ?? angle;
49
+ }
50
+ const stops = parts.map((part, index) => {
51
+ const position = /\s(-?\d+(?:\.\d+)?)%$/.exec(part)?.[1];
52
+ return {
53
+ color: (position === void 0 ? part : part.slice(0, part.lastIndexOf(" "))).trim(),
54
+ position: position === void 0 ? Math.round(index / Math.max(parts.length - 1, 1) * 100) : Number(position)
55
+ };
56
+ });
57
+ const type = match[1].toLowerCase();
58
+ return stops.length > 1 ? {
59
+ type,
60
+ angle,
61
+ ...type === "radial" && shape && { shape },
62
+ stops
63
+ } : null;
64
+ }
65
+ function stringifyGradient({ type, angle, shape, stops }) {
66
+ const list = [...stops].sort((a, b) => a.position - b.position).map((stop) => `${stop.color} ${stop.position}%`).join(", ");
67
+ return type === "linear" ? `linear-gradient(${angle}deg, ${list})` : `radial-gradient(${shape ? `${shape}, ` : ""}${list})`;
68
+ }
69
+ //#endregion
70
+ exports.parseGradient = parseGradient;
71
+ exports.stringifyGradient = stringifyGradient;
@@ -8,6 +8,7 @@ const require_components = require("./chunks/components.cjs");
8
8
  const require_tooltip_content = require("./chunks/tooltip-content.cjs");
9
9
  const require_collapsible_content = require("./chunks/collapsible-content.cjs");
10
10
  const require_collapsible_trigger = require("./chunks/collapsible-trigger.cjs");
11
+ const require_combobox_item = require("./chunks/combobox-item.cjs");
11
12
  const require_combobox_anchor = require("./chunks/combobox-anchor.cjs");
12
13
  const require_combobox_empty = require("./chunks/combobox-empty.cjs");
13
14
  const require_combobox_list = require("./chunks/combobox-list.cjs");
@@ -60,7 +61,7 @@ const require_compact_button = require("./chunks/compact-button.cjs");
60
61
  const require_fancy_button = require("./chunks/fancy-button.cjs");
61
62
  const require_link_button = require("./chunks/link-button.cjs");
62
63
  const require_social_button = require("./chunks/social-button.cjs");
63
- const require_color_picker = require("./chunks/color-picker.cjs");
64
+ const require_gradient_picker = require("./chunks/gradient-picker.cjs");
64
65
  const require_use_delegated_props = require("./use-delegated-props.cjs");
65
66
  const require_use_direction = require("./use-direction.cjs");
66
67
  const require_bar_chart = require("./chunks/bar-chart.cjs");
@@ -81,14 +82,18 @@ const require_popover = require("./chunks/popover.cjs");
81
82
  const require_select_group = require("./chunks/select-group.cjs");
82
83
  const require_select_icon = require("./chunks/select-icon.cjs");
83
84
  const require_select = require("./chunks/select.cjs");
85
+ const require_color_picker = require("./chunks/color-picker.cjs");
84
86
  const require_text_input_affix = require("./chunks/text-input-affix.cjs");
85
87
  const require_text_input_button = require("./chunks/text-input-button.cjs");
86
88
  const require_text_input = require("./chunks/text-input.cjs");
87
89
  const require_color_swatch = require("./chunks/color-swatch.cjs");
90
+ const require_gradient = require("./gradient.cjs");
91
+ const require_tooltip_provider = require("./chunks/tooltip-provider.cjs");
92
+ const require_tooltip_root = require("./chunks/tooltip-root.cjs");
93
+ const require_tooltip = require("./chunks/tooltip.cjs");
88
94
  const require_hue_slider = require("./chunks/hue-slider.cjs");
89
95
  const require_combobox_group = require("./chunks/combobox-group.cjs");
90
96
  const require_combobox_input = require("./chunks/combobox-input.cjs");
91
- const require_combobox_item = require("./chunks/combobox-item.cjs");
92
97
  const require_combobox_root = require("./chunks/combobox-root.cjs");
93
98
  const require_combobox_separator = require("./chunks/combobox-separator.cjs");
94
99
  const require_combobox = require("./chunks/combobox.cjs");
@@ -120,9 +125,6 @@ const require_digit_input = require("./chunks/digit-input.cjs");
120
125
  const require_dropdown_menu = require("./chunks/dropdown-menu.cjs");
121
126
  const require_file_upload_area = require("./chunks/file-upload-area.cjs");
122
127
  const require_hint_text = require("./chunks/hint-text.cjs");
123
- const require_tooltip_provider = require("./chunks/tooltip-provider.cjs");
124
- const require_tooltip_root = require("./chunks/tooltip-root.cjs");
125
- const require_tooltip = require("./chunks/tooltip.cjs");
126
128
  const require_label = require("./chunks/label2.cjs");
127
129
  const require_mochi = require("./chunks/mochi.cjs");
128
130
  const require_pagination = require("./chunks/pagination.cjs");
@@ -313,6 +315,7 @@ exports.DropdownMenuSubTrigger = require_dropdown_menu_sub_trigger.dropdown_menu
313
315
  exports.DropdownMenuTrigger = require_dropdown_menu_trigger.dropdown_menu_trigger_default;
314
316
  exports.FancyButton = require_fancy_button.fancy_button_default;
315
317
  exports.FileUploadArea = require_file_upload_area.file_upload_area_default;
318
+ exports.GradientPicker = require_gradient_picker.gradient_picker_default;
316
319
  exports.HEX_VALIDATION_PATTERN = require_color.HEX_VALIDATION_PATTERN;
317
320
  exports.HintText = require_hint_text.hint_text_default;
318
321
  exports.HueSlider = require_hue_slider.hue_slider_default;
@@ -432,8 +435,10 @@ exports.getFractionDigit = require_color.getFractionDigit;
432
435
  exports.getPageXYFromEvent = require_color.getPageXYFromEvent;
433
436
  exports.getScrollXY = require_color.getScrollXY;
434
437
  exports.niceTicks = require_chart.niceTicks;
438
+ exports.parseGradient = require_gradient.parseGradient;
435
439
  exports.provideSidebarContext = require_use_sidebar.provideSidebarContext;
436
440
  exports.resolveArrowDirection = require_color.resolveArrowDirection;
441
+ exports.stringifyGradient = require_gradient.stringifyGradient;
437
442
  exports.toast = toast;
438
443
  exports.truncColorValue = require_color.truncColorValue;
439
444
  exports.uid = require_crypto.uid;
@@ -1,4 +1,28 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_use_color_model = require("./chunks/use-color-model.cjs");
3
- exports.ColorPickerEmits = require_use_color_model.ColorPickerEmits;
4
- exports.defineColorModel = require_use_color_model.defineColorModel;
2
+ const require_tinycolor = require("./chunks/tinycolor.cjs");
3
+ let vue = require("vue");
4
+ //#region src/components/color-picker/composable/use-color-model.ts
5
+ var ColorPickerEmits = ["update:modelValue"];
6
+ function defineColorModel(props, emit) {
7
+ let originalFormat;
8
+ return (0, vue.computed)({
9
+ get: () => {
10
+ const colorInput = props.modelValue;
11
+ const value = require_tinycolor.tinycolor(colorInput);
12
+ originalFormat = value.getFormat();
13
+ return value;
14
+ },
15
+ set: (newValue) => {
16
+ const newTinyColor = require_tinycolor.tinycolor(newValue);
17
+ if (require_tinycolor.tinycolor.equals(newTinyColor, props.modelValue)) return;
18
+ emit("update:modelValue", transformToOriginalInputFormat(newTinyColor, originalFormat));
19
+ }
20
+ });
21
+ }
22
+ function transformToOriginalInputFormat(color, originalFormat) {
23
+ if (originalFormat === "hex" && color.getAlpha() < 1) return color.toString("hex8");
24
+ return color.toString(originalFormat);
25
+ }
26
+ //#endregion
27
+ exports.ColorPickerEmits = ColorPickerEmits;
28
+ exports.defineColorModel = defineColorModel;
@@ -0,0 +1,51 @@
1
+ export interface GradientPickerProps {
2
+ modelValue?: string;
3
+ placeholder?: string;
4
+ emptyHint?: string;
5
+ noneLabel?: string;
6
+ linearLabel?: string;
7
+ radialLabel?: string;
8
+ angleLabel?: string;
9
+ colorStopLabel?: string;
10
+ addStopLabel?: string;
11
+ removeStopLabel?: string;
12
+ positionLabel?: string;
13
+ opacityLabel?: string;
14
+ hueLabel?: string;
15
+ areaLabel?: string;
16
+ eyedropperLabel?: string;
17
+ usedLabel?: string;
18
+ removeLabel?: string;
19
+ presets?: string[];
20
+ swatches?: string[];
21
+ }
22
+ export interface GradientPickerEmits {
23
+ 'update:modelValue': [value: string];
24
+ }
25
+ declare const __VLS_export: import('vue').DefineComponent<GradientPickerProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
26
+ "update:modelValue": (value: string) => any;
27
+ }, string, import('vue').PublicProps, Readonly<GradientPickerProps> & Readonly<{
28
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
29
+ }>, {
30
+ placeholder: string;
31
+ modelValue: string;
32
+ swatches: string[];
33
+ emptyHint: string;
34
+ noneLabel: string;
35
+ linearLabel: string;
36
+ radialLabel: string;
37
+ angleLabel: string;
38
+ colorStopLabel: string;
39
+ addStopLabel: string;
40
+ removeStopLabel: string;
41
+ positionLabel: string;
42
+ opacityLabel: string;
43
+ hueLabel: string;
44
+ areaLabel: string;
45
+ eyedropperLabel: string;
46
+ usedLabel: string;
47
+ removeLabel: string;
48
+ presets: string[];
49
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
50
+ declare const _default: typeof __VLS_export;
51
+ export default _default;
@@ -6,5 +6,7 @@ export * from './color-picker';
6
6
  export { default as ColorPicker } from './color-picker';
7
7
  export * from './color-swatch';
8
8
  export { default as ColorSwatch } from './color-swatch';
9
+ export * from './gradient-picker';
10
+ export { default as GradientPicker } from './gradient-picker';
9
11
  export * from './hue-slider';
10
12
  export { default as HueSlider } from './hue-slider';
@@ -188,4 +188,4 @@ var ComboboxItem_default = /* @__PURE__ */ defineComponent({
188
188
  }
189
189
  });
190
190
  //#endregion
191
- export { ComboboxItem_default as t };
191
+ export { injectListboxItemContext as n, ComboboxItem_default as t };
@@ -1,6 +1,6 @@
1
1
  import { useUserPageSelection } from "../use-user-select.js";
2
2
  import { getAbsolutePosition, getPageXYFromEvent, resolveArrowDirection } from "../color.js";
3
- import { n as defineColorModel } from "./use-color-model.js";
3
+ import { defineColorModel } from "../use-color-model.js";
4
4
  import { computed, createElementBlock, createElementVNode, defineComponent, normalizeStyle, onUnmounted, openBlock, useTemplateRef } from "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
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { useUserPageSelection } from "../use-user-select.js";
3
3
  import { clamp, getAbsolutePosition, getPageXYFromEvent, resolveArrowDirection } from "../color.js";
4
- import { n as defineColorModel, t as ColorPickerEmits } from "./use-color-model.js";
4
+ import { ColorPickerEmits, defineColorModel } from "../use-color-model.js";
5
5
  import { computed, createElementBlock, createElementVNode, defineComponent, normalizeStyle, onUnmounted, openBlock, ref, useCssVars, useTemplateRef, watch } from "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__*/ defineComponent({
@@ -9,21 +9,17 @@ import "./select-label.js";
9
9
  import "./select-separator.js";
10
10
  import { t as select_value_default } from "./select-value.js";
11
11
  import { t as button_default } from "./button.js";
12
- import "./compact-button.js";
13
- import "./fancy-button.js";
14
- import "./link-button.js";
15
- import "./social-button.js";
12
+ import "./gradient-picker.js";
16
13
  import { useDelegatedProps } from "../use-delegated-props.js";
17
14
  import { COLOR_NUMBER_VALIDATION_PATTERN, HEX_VALIDATION_PATTERN, bumpColorValue, clamp, getColorConstraints, resolveArrowDirection, truncColorValue } from "../color.js";
18
- import { n as defineColorModel, r as tinycolor } from "./use-color-model.js";
15
+ import { t as tinycolor } from "./tinycolor.js";
16
+ import { defineColorModel } from "../use-color-model.js";
19
17
  import { t as alpha_slider_default } from "./alpha-slider.js";
20
18
  import { t as color_area_default } from "./color-area.js";
21
19
  import { t as popover_default } from "./popover.js";
22
20
  import "./select-group.js";
23
21
  import "./select-icon.js";
24
22
  import { t as select_default } from "./select.js";
25
- import "./text-input-affix.js";
26
- import "./text-input-button.js";
27
23
  import { t as text_input_default } from "./text-input.js";
28
24
  import { t as color_swatch_default } from "./color-swatch.js";
29
25
  import { t as hue_slider_default } from "./hue-slider.js";
@@ -60,7 +56,7 @@ var color_picker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
60
56
  },
61
57
  emits: ["update:modelValue"],
62
58
  setup(__props, { emit: __emit }) {
63
- useCssVars((_ctx) => ({ "v19437362": _ctx.modelValue }));
59
+ useCssVars((_ctx) => ({ "v6500f742": _ctx.modelValue }));
64
60
  const props = __props;
65
61
  const emit = __emit;
66
62
  const delegatedProps = useDelegatedProps(props, "class");
@@ -121,17 +117,16 @@ var color_picker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
121
117
  } else if (key === "a") currentValue = tinyColorRef.value.getAlpha() * 100;
122
118
  return currentValue;
123
119
  }
124
- function validateInput(event) {
120
+ function nextInputValue(event) {
125
121
  const input = event.target;
126
- const inputEvent = event;
127
- const newValue = truncColorValue(input.value) + (inputEvent.data ?? "");
128
- if (!COLOR_NUMBER_VALIDATION_PATTERN.test(newValue)) event.preventDefault();
122
+ const { length } = input.value;
123
+ return input.value.slice(0, input.selectionStart ?? length) + (event.data ?? "") + input.value.slice(input.selectionEnd ?? length);
124
+ }
125
+ function validateInput(event) {
126
+ if (!COLOR_NUMBER_VALIDATION_PATTERN.test(nextInputValue(event).replace(/[%°]/g, "").trim())) event.preventDefault();
129
127
  }
130
128
  function validateHexInput(event) {
131
- const input = event.target;
132
- const inputEvent = event;
133
- const newValue = input.value + (inputEvent.data ?? "");
134
- if (!HEX_VALIDATION_PATTERN.test(newValue)) event.preventDefault();
129
+ if (!HEX_VALIDATION_PATTERN.test(nextInputValue(event))) event.preventDefault();
135
130
  }
136
131
  function inputChangeHex(event) {
137
132
  const colorInput = event.target?.value;
@@ -475,6 +470,6 @@ var color_picker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
475
470
  });
476
471
  };
477
472
  }
478
- }), [["__scopeId", "data-v-94b97787"]]);
473
+ }), [["__scopeId", "data-v-d9442cfd"]]);
479
474
  //#endregion
480
475
  export { color_picker_default as t };
@@ -1,6 +1,7 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { DEFAULT_SWATCH } from "../color.js";
3
- import { n as defineColorModel, r as tinycolor } from "./use-color-model.js";
3
+ import { t as tinycolor } from "./tinycolor.js";
4
+ import { defineColorModel } from "../use-color-model.js";
4
5
  import { Fragment, computed, createElementBlock, createElementVNode, defineComponent, normalizeStyle, openBlock, renderList, toDisplayString, useCssVars, withKeys } from "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" };
@@ -1,9 +1,66 @@
1
1
  import { t as clsx } from "./clsx.js";
2
2
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
3
+ import { t as Primitive } from "./Primitive.js";
4
+ import { t as useForwardExpose } from "./useForwardExpose.js";
3
5
  import { t as useForwardPropsEmits } from "./useForwardPropsEmits.js";
4
- import { t as ComboboxItem_default } from "./ComboboxItem.js";
6
+ import { n as injectListboxItemContext, t as ComboboxItem_default } from "./ComboboxItem.js";
5
7
  import { t as checkbox_default } from "./checkbox.js";
6
- import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderSlot, toDisplayString, unref, withCtx } from "vue";
8
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeClass, normalizeProps, openBlock, renderSlot, toDisplayString, unref, withCtx } from "vue";
9
+ //#region ../../node_modules/.pnpm/reka-ui@2.10.5_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/Listbox/ListboxItemIndicator.js
10
+ var ListboxItemIndicator_default = /* @__PURE__ */ defineComponent({
11
+ __name: "ListboxItemIndicator",
12
+ props: {
13
+ asChild: {
14
+ type: Boolean,
15
+ required: false
16
+ },
17
+ as: {
18
+ type: null,
19
+ required: false,
20
+ default: "span"
21
+ }
22
+ },
23
+ setup(__props) {
24
+ const props = __props;
25
+ useForwardExpose();
26
+ const itemContext = injectListboxItemContext();
27
+ return (_ctx, _cache) => {
28
+ return unref(itemContext).isSelected.value ? (openBlock(), createBlock(unref(Primitive), mergeProps({
29
+ key: 0,
30
+ "aria-hidden": "true"
31
+ }, props), {
32
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
33
+ _: 3
34
+ }, 16)) : createCommentVNode("v-if", true);
35
+ };
36
+ }
37
+ });
38
+ //#endregion
39
+ //#region ../../node_modules/.pnpm/reka-ui@2.10.5_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/Combobox/ComboboxItemIndicator.js
40
+ var ComboboxItemIndicator_default = /* @__PURE__ */ defineComponent({
41
+ __name: "ComboboxItemIndicator",
42
+ props: {
43
+ asChild: {
44
+ type: Boolean,
45
+ required: false
46
+ },
47
+ as: {
48
+ type: null,
49
+ required: false,
50
+ default: "span"
51
+ }
52
+ },
53
+ setup(__props) {
54
+ const props = __props;
55
+ return (_ctx, _cache) => {
56
+ return openBlock(), createBlock(unref(ListboxItemIndicator_default), normalizeProps(guardReactiveProps(props)), {
57
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
58
+ _: 3
59
+ }, 16);
60
+ };
61
+ }
62
+ });
63
+ //#endregion
7
64
  //#region src/components/combobox/combobox-item.vue?vue&type=script&setup=true&lang.ts
8
65
  var _hoisted_1 = ["aria-disabled"];
9
66
  var _hoisted_2 = { class: "celeste-dropdown-item-info" };
@@ -20,10 +77,6 @@ var _hoisted_6 = {
20
77
  key: 2,
21
78
  class: "celeste-dropdown-item-suffix"
22
79
  };
23
- var _hoisted_7 = {
24
- key: 3,
25
- class: "i-celeste-check-fill"
26
- };
27
80
  //#endregion
28
81
  //#region src/components/combobox/combobox-item.vue
29
82
  var combobox_item_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -70,7 +123,7 @@ var combobox_item_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
70
123
  default: withCtx(() => [createElementVNode("div", {
71
124
  tabindex: "0",
72
125
  "aria-disabled": __props.disabled,
73
- class: normalizeClass(unref(clsx)(props.class, "celeste-dropdown-item", { "celeste-dropdown-item-disabled": __props.disabled }, { "celeste-dropdown-item-selected": __props.selected }, { "celeste-dropdown-item-focused": __props.focused }))
126
+ class: normalizeClass(unref(clsx)(props.class, "celeste-dropdown-item", { "celeste-dropdown-item-disabled": __props.disabled }, { "celeste-dropdown-item-focused": __props.focused }))
74
127
  }, [
75
128
  __props.checkbox && __props.size === "sm" ? (openBlock(), createBlock(checkbox_default, {
76
129
  key: 0,
@@ -86,12 +139,15 @@ var combobox_item_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
86
139
  innerHTML: __props.label
87
140
  }, null, 8, _hoisted_3), __props.sublabel ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(__props.sublabel), 1)) : createCommentVNode("", true)], 2), __props.description && __props.size === "lg" ? (openBlock(), createElementBlock("p", _hoisted_5, toDisplayString(__props.description), 1)) : createCommentVNode("", true)]),
88
141
  _ctx.$slots.suffix ? (openBlock(), createElementBlock("div", _hoisted_6, [renderSlot(_ctx.$slots, "suffix", {}, void 0, true)])) : createCommentVNode("", true),
89
- __props.selected ? (openBlock(), createElementBlock("i", _hoisted_7)) : createCommentVNode("", true)
142
+ createVNode(unref(ComboboxItemIndicator_default), { "as-child": "" }, {
143
+ default: withCtx(() => [..._cache[0] || (_cache[0] = [createElementVNode("i", { class: "celeste-dropdown-item-indicator i-celeste-check-line" }, null, -1)])]),
144
+ _: 1
145
+ })
90
146
  ], 10, _hoisted_1)]),
91
147
  _: 3
92
148
  }, 16, ["disabled"]);
93
149
  };
94
150
  }
95
- }), [["__scopeId", "data-v-a4dc028f"]]);
151
+ }), [["__scopeId", "data-v-7b0de826"]]);
96
152
  //#endregion
97
153
  export { combobox_item_default as t };
@@ -157,6 +157,6 @@ var combobox_list_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
157
157
  });
158
158
  };
159
159
  }
160
- }), [["__scopeId", "data-v-63b3dde3"]]);
160
+ }), [["__scopeId", "data-v-d0001b47"]]);
161
161
  //#endregion
162
162
  export { combobox_list_default as t };
@@ -98,6 +98,6 @@ var combobox_trigger_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/
98
98
  }, 16, ["class"]);
99
99
  };
100
100
  }
101
- }), [["__scopeId", "data-v-c724299e"]]);
101
+ }), [["__scopeId", "data-v-7924a538"]]);
102
102
  //#endregion
103
103
  export { combobox_trigger_default as t };
@@ -1,13 +1,13 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { t as badge_default } from "./badge.js";
3
3
  import { t as useForwardPropsEmits } from "./useForwardPropsEmits.js";
4
+ import { t as combobox_item_default } from "./combobox-item.js";
4
5
  import { t as combobox_anchor_default } from "./combobox-anchor.js";
5
6
  import { t as combobox_empty_default } from "./combobox-empty.js";
6
7
  import { t as combobox_list_default } from "./combobox-list.js";
7
8
  import { t as combobox_trigger_default } from "./combobox-trigger.js";
8
9
  import { t as combobox_group_default } from "./combobox-group.js";
9
10
  import { t as combobox_input_default } from "./combobox-input.js";
10
- import { t as combobox_item_default } from "./combobox-item.js";
11
11
  import { t as combobox_root_default } from "./combobox-root.js";
12
12
  import { t as combobox_separator_default } from "./combobox-separator.js";
13
13
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeModels, mergeProps, normalizeClass, normalizeProps, openBlock, renderList, renderSlot, toDisplayString, unref, useModel, withCtx } from "vue";
@@ -200,6 +200,6 @@ var combobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
200
200
  }, 16);
201
201
  };
202
202
  }
203
- }), [["__scopeId", "data-v-f1dfb246"]]);
203
+ }), [["__scopeId", "data-v-b1f5501b"]]);
204
204
  //#endregion
205
205
  export { combobox_default as t };
@@ -7,6 +7,7 @@ import { t as status_badge_default } from "./status-badge.js";
7
7
  import { t as tooltip_content_default } from "./tooltip-content.js";
8
8
  import { t as collapsible_content_default } from "./collapsible-content.js";
9
9
  import { t as collapsible_trigger_default } from "./collapsible-trigger.js";
10
+ import { t as combobox_item_default } from "./combobox-item.js";
10
11
  import { t as combobox_anchor_default } from "./combobox-anchor.js";
11
12
  import { t as combobox_empty_default } from "./combobox-empty.js";
12
13
  import { t as combobox_list_default } from "./combobox-list.js";
@@ -58,7 +59,7 @@ import { t as compact_button_default } from "./compact-button.js";
58
59
  import { t as fancy_button_default } from "./fancy-button.js";
59
60
  import { t as link_button_default } from "./link-button.js";
60
61
  import { t as social_button_default } from "./social-button.js";
61
- import { t as color_picker_default } from "./color-picker.js";
62
+ import { t as gradient_picker_default } from "./gradient-picker.js";
62
63
  import { t as bar_chart_default } from "./bar-chart.js";
63
64
  import { t as chart_legend_default } from "./chart-legend.js";
64
65
  import { t as chart_plot_default } from "./chart-plot.js";
@@ -73,14 +74,17 @@ import { t as popover_default } from "./popover.js";
73
74
  import { t as select_group_default } from "./select-group.js";
74
75
  import { t as select_icon_default } from "./select-icon.js";
75
76
  import { t as select_default } from "./select.js";
77
+ import { t as color_picker_default } from "./color-picker.js";
76
78
  import { t as text_input_affix_default } from "./text-input-affix.js";
77
79
  import { t as text_input_button_default } from "./text-input-button.js";
78
80
  import { t as text_input_default } from "./text-input.js";
79
81
  import { t as color_swatch_default } from "./color-swatch.js";
82
+ import { t as tooltip_provider_default } from "./tooltip-provider.js";
83
+ import { t as tooltip_root_default } from "./tooltip-root.js";
84
+ import { t as tooltip_default } from "./tooltip.js";
80
85
  import { t as hue_slider_default } from "./hue-slider.js";
81
86
  import { t as combobox_group_default } from "./combobox-group.js";
82
87
  import { t as combobox_input_default } from "./combobox-input.js";
83
- import { t as combobox_item_default } from "./combobox-item.js";
84
88
  import { t as combobox_root_default } from "./combobox-root.js";
85
89
  import { t as combobox_separator_default } from "./combobox-separator.js";
86
90
  import { t as combobox_default } from "./combobox.js";
@@ -112,9 +116,6 @@ import { t as digit_input_default } from "./digit-input.js";
112
116
  import { t as dropdown_menu_default } from "./dropdown-menu.js";
113
117
  import { t as file_upload_area_default } from "./file-upload-area.js";
114
118
  import { t as hint_text_default } from "./hint-text.js";
115
- import { t as tooltip_provider_default } from "./tooltip-provider.js";
116
- import { t as tooltip_root_default } from "./tooltip-root.js";
117
- import { t as tooltip_default } from "./tooltip.js";
118
119
  import { t as label_default } from "./label2.js";
119
120
  import { t as mochi_default } from "./mochi.js";
120
121
  import { t as pagination_default } from "./pagination.js";
@@ -255,6 +256,7 @@ var components_exports = /* @__PURE__ */ __exportAll({
255
256
  DropdownMenuTrigger: () => dropdown_menu_trigger_default,
256
257
  FancyButton: () => fancy_button_default,
257
258
  FileUploadArea: () => file_upload_area_default,
259
+ GradientPicker: () => gradient_picker_default,
258
260
  HintText: () => hint_text_default,
259
261
  HueSlider: () => hue_slider_default,
260
262
  Label: () => label_default,