@youcan/celeste 0.6.15 → 0.6.16

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 (88) hide show
  1. package/dist/celeste.css +597 -198
  2. package/dist/cjs/chunks/combobox-anchor.js +31 -0
  3. package/dist/cjs/chunks/combobox-root.js +38 -0
  4. package/dist/cjs/chunks/index.js +17 -0
  5. package/dist/cjs/combobox-anchor.js +3 -0
  6. package/dist/cjs/combobox-empty.js +32 -0
  7. package/dist/cjs/combobox-group.js +42 -0
  8. package/dist/cjs/combobox-input.js +67 -0
  9. package/dist/cjs/combobox-item.js +109 -0
  10. package/dist/cjs/combobox-list.js +62 -0
  11. package/dist/cjs/combobox-root.js +3 -0
  12. package/dist/cjs/combobox-separator.js +32 -0
  13. package/dist/cjs/combobox-trigger.js +46 -0
  14. package/dist/cjs/combobox.js +208 -0
  15. package/dist/cjs/dropdown.js +10 -3
  16. package/dist/cjs/index.js +30 -0
  17. package/dist/cjs/text-input-icon.js +2 -2
  18. package/dist/components/combobox/combobox-anchor.d.ts +22 -0
  19. package/dist/components/combobox/combobox-empty.d.ts +22 -0
  20. package/dist/components/combobox/combobox-group.d.ts +23 -0
  21. package/dist/components/combobox/combobox-input.d.ts +17 -0
  22. package/dist/components/combobox/combobox-item.d.ts +31 -0
  23. package/dist/components/combobox/combobox-list.d.ts +36 -0
  24. package/dist/components/combobox/combobox-root.d.ts +29 -0
  25. package/dist/components/combobox/combobox-separator.d.ts +22 -0
  26. package/dist/components/combobox/combobox-trigger.d.ts +20 -0
  27. package/dist/components/combobox/combobox.d.ts +53 -0
  28. package/dist/components/combobox/index.d.ts +20 -0
  29. package/dist/components/dropdown/dropdown.d.ts +5 -1
  30. package/dist/components/dropdown-menu/dropdown-menu-sub-content.d.ts +4 -4
  31. package/dist/components/index.d.ts +1 -0
  32. package/dist/components/modal/modal-content.d.ts +2 -2
  33. package/dist/components/popover/popover-content.d.ts +2 -2
  34. package/dist/es/chunks/combobox-anchor.js +32 -0
  35. package/dist/es/chunks/combobox-root.js +39 -0
  36. package/dist/es/chunks/index.js +59 -42
  37. package/dist/es/combobox-anchor.js +4 -0
  38. package/dist/es/combobox-empty.js +33 -0
  39. package/dist/es/combobox-group.js +43 -0
  40. package/dist/es/combobox-input.js +68 -0
  41. package/dist/es/combobox-item.js +110 -0
  42. package/dist/es/combobox-list.js +63 -0
  43. package/dist/es/combobox-root.js +4 -0
  44. package/dist/es/combobox-separator.js +33 -0
  45. package/dist/es/combobox-trigger.js +47 -0
  46. package/dist/es/combobox.js +209 -0
  47. package/dist/es/command-group.js +1 -1
  48. package/dist/es/command-input.js +1 -1
  49. package/dist/es/command-separator.js +1 -1
  50. package/dist/es/dropdown-menu-group.js +1 -1
  51. package/dist/es/dropdown-menu-item.js +1 -1
  52. package/dist/es/dropdown-menu-label.js +1 -1
  53. package/dist/es/dropdown-menu-separator.js +1 -1
  54. package/dist/es/dropdown-menu-trigger.js +1 -1
  55. package/dist/es/dropdown-menu.js +1 -1
  56. package/dist/es/dropdown.js +11 -4
  57. package/dist/es/index.js +75 -45
  58. package/dist/es/label.js +1 -1
  59. package/dist/es/modal-content.js +1 -1
  60. package/dist/es/modal-header.js +1 -1
  61. package/dist/es/popover-content.js +1 -1
  62. package/dist/es/popover-trigger.js +1 -1
  63. package/dist/es/segmented-control-item.js +1 -1
  64. package/dist/es/segmented-control.js +1 -1
  65. package/dist/es/select-content.js +1 -1
  66. package/dist/es/select-item.js +1 -1
  67. package/dist/es/select-trigger.js +1 -1
  68. package/dist/es/select-value.js +1 -1
  69. package/dist/es/tab-menu-content.js +1 -1
  70. package/dist/es/tab-menu-item.js +1 -1
  71. package/dist/es/tab-menu-list.js +1 -1
  72. package/dist/es/text-input-icon.js +2 -2
  73. package/dist/es/tooltip.js +1 -1
  74. package/package.json +3 -3
  75. package/src/components/combobox/combobox-anchor.vue +25 -0
  76. package/src/components/combobox/combobox-empty.vue +30 -0
  77. package/src/components/combobox/combobox-group.vue +42 -0
  78. package/src/components/combobox/combobox-input.vue +64 -0
  79. package/src/components/combobox/combobox-item.vue +196 -0
  80. package/src/components/combobox/combobox-list.vue +100 -0
  81. package/src/components/combobox/combobox-root.vue +14 -0
  82. package/src/components/combobox/combobox-separator.vue +31 -0
  83. package/src/components/combobox/combobox-trigger.vue +249 -0
  84. package/src/components/combobox/combobox.vue +257 -0
  85. package/src/components/combobox/index.ts +29 -0
  86. package/src/components/combobox/stories/combobox.stories.ts +99 -0
  87. package/src/components/dropdown/dropdown.vue +33 -2
  88. package/src/components/index.ts +1 -0
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ const Mo = require("vue");
3
+ const index = require("./chunks/index.js");
4
+ const badge = require("./badge.js");
5
+ const comboboxAnchor_vue_vue_type_script_setup_true_lang = require("./chunks/combobox-anchor.js");
6
+ const comboboxEmpty = require("./combobox-empty.js");
7
+ const comboboxGroup = require("./combobox-group.js");
8
+ const comboboxInput = require("./combobox-input.js");
9
+ const comboboxItem = require("./combobox-item.js");
10
+ const comboboxList = require("./combobox-list.js");
11
+ const comboboxRoot_vue_vue_type_script_setup_true_lang = require("./chunks/combobox-root.js");
12
+ const comboboxSeparator = require("./combobox-separator.js");
13
+ const comboboxTrigger = require("./combobox-trigger.js");
14
+ const _pluginVue_exportHelper = require("./chunks/_plugin-vue_export-helper.js");
15
+ const _hoisted_1 = { class: "root" };
16
+ const _hoisted_2 = { class: "celeste-dropdown-anchor-trigger-prefix" };
17
+ const _hoisted_3 = {
18
+ key: 0,
19
+ class: "celeste-dropdown-anchor-trigger-prefix-selected"
20
+ };
21
+ const _hoisted_4 = { key: 1 };
22
+ const _hoisted_5 = ["src"];
23
+ const _hoisted_6 = {
24
+ key: 0,
25
+ class: "celeste-dropdown-input"
26
+ };
27
+ const _hoisted_7 = { key: 0 };
28
+ const _hoisted_8 = { key: 1 };
29
+ const _hoisted_9 = {
30
+ key: 2,
31
+ class: "celeste-input-badge"
32
+ };
33
+ const _hoisted_10 = ["src"];
34
+ const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
35
+ __name: "combobox",
36
+ props: {
37
+ options: {},
38
+ valueBy: {},
39
+ placeholder: { default: "Select" },
40
+ type: {},
41
+ size: { default: "sm" },
42
+ emptyLabel: {},
43
+ badgeProps: {},
44
+ searchable: { type: Boolean },
45
+ modelValue: {},
46
+ defaultValue: {},
47
+ open: { type: Boolean },
48
+ defaultOpen: { type: Boolean },
49
+ searchTerm: {},
50
+ selectedValue: {},
51
+ multiple: { type: Boolean },
52
+ disabled: { type: Boolean },
53
+ name: {},
54
+ dir: {},
55
+ filterFunction: {},
56
+ displayValue: {},
57
+ resetSearchTermOnBlur: { type: Boolean },
58
+ asChild: { type: Boolean },
59
+ as: {}
60
+ },
61
+ emits: ["update:modelValue", "update:open", "update:searchTerm", "update:selectedValue"],
62
+ setup(__props, { emit: __emit }) {
63
+ const props = __props;
64
+ const emits = __emit;
65
+ const delegatedProps = Mo.computed(() => {
66
+ const { open, modelValue, filterFunction: filterFunction2, ...delegated } = props;
67
+ return delegated;
68
+ });
69
+ const forwarded = index.xe(delegatedProps, emits);
70
+ const selected = Mo.ref(props.multiple ? [] : void 0);
71
+ function isSelected(value) {
72
+ if (!Array.isArray(selected.value) || !props.multiple)
73
+ return;
74
+ if (value === void 0 || value === null)
75
+ return false;
76
+ return selected.value.some((selectedItem) => {
77
+ const { value: selectedValue } = selectedItem;
78
+ if (props.valueBy && Object.prototype.hasOwnProperty.call(value, props.valueBy) && Object.prototype.hasOwnProperty.call(selectedValue, props.valueBy)) {
79
+ return value[props.valueBy] === selectedValue[props.valueBy];
80
+ }
81
+ return selectedValue === value;
82
+ });
83
+ }
84
+ function filterFunction(list, searchTerm) {
85
+ return list.filter((option) => {
86
+ const { value, label } = option;
87
+ if (!value || !label)
88
+ return false;
89
+ if (props.valueBy && typeof value === "object" && props.valueBy in value) {
90
+ return String(value[props.valueBy]).toLowerCase().includes(searchTerm.toLowerCase()) || label.toString().toLowerCase().includes(searchTerm.toLowerCase());
91
+ }
92
+ return value.toString().toLowerCase().includes(searchTerm.toLowerCase()) || label.toString().toLowerCase().includes(searchTerm.toLowerCase());
93
+ });
94
+ }
95
+ const mergedBadgeProps = Mo.computed(() => ({
96
+ ...props.badgeProps,
97
+ disabled: props.disabled
98
+ }));
99
+ return (_ctx, _cache) => {
100
+ return Mo.openBlock(), Mo.createElementBlock("div", _hoisted_1, [
101
+ Mo.createVNode(comboboxRoot_vue_vue_type_script_setup_true_lang._sfc_main, Mo.mergeProps(Mo.unref(forwarded), {
102
+ "model-value": selected.value,
103
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selected.value = $event),
104
+ "filter-function": filterFunction
105
+ }), {
106
+ default: Mo.withCtx(() => [
107
+ Mo.createVNode(comboboxAnchor_vue_vue_type_script_setup_true_lang._sfc_main, { "as-child": "" }, {
108
+ default: Mo.withCtx(() => [
109
+ Mo.createVNode(comboboxTrigger, {
110
+ type: _ctx.type,
111
+ filled: !!selected.value,
112
+ size: _ctx.size
113
+ }, {
114
+ default: Mo.withCtx(() => [
115
+ Mo.createElementVNode("div", _hoisted_2, [
116
+ selected.value && !Array.isArray(selected.value) ? (Mo.openBlock(), Mo.createElementBlock("div", _hoisted_3, [
117
+ selected.value.icon ? (Mo.openBlock(), Mo.createElementBlock("i", {
118
+ key: 0,
119
+ class: Mo.normalizeClass(selected.value.icon)
120
+ }, null, 2)) : Mo.createCommentVNode("", true),
121
+ selected.value.image ? (Mo.openBlock(), Mo.createElementBlock("div", _hoisted_4, [
122
+ Mo.renderSlot(_ctx.$slots, "image", Mo.normalizeProps(Mo.guardReactiveProps({ selected: selected.value })), () => [
123
+ Mo.createElementVNode("img", {
124
+ src: selected.value.image,
125
+ alt: "Selected option",
126
+ class: "selected-dropdown-image"
127
+ }, null, 8, _hoisted_5)
128
+ ], true)
129
+ ])) : Mo.createCommentVNode("", true)
130
+ ])) : Mo.renderSlot(_ctx.$slots, "prefix", {
131
+ key: 1,
132
+ class: "celeste-dropdown-anchor-trigger-prefix-default"
133
+ }, void 0, true)
134
+ ]),
135
+ _ctx.type !== "inline" ? (Mo.openBlock(), Mo.createElementBlock("div", _hoisted_6, [
136
+ _ctx.multiple ? (Mo.openBlock(), Mo.createElementBlock("span", _hoisted_7, Mo.toDisplayString(_ctx.placeholder), 1)) : (Mo.openBlock(), Mo.createElementBlock("span", _hoisted_8, Mo.toDisplayString(selected.value && !Array.isArray(selected.value) ? selected.value.label : props.placeholder), 1)),
137
+ mergedBadgeProps.value && _ctx.badgeProps ? (Mo.openBlock(), Mo.createElementBlock("span", _hoisted_9, [
138
+ Mo.createVNode(badge, Mo.normalizeProps(Mo.guardReactiveProps(mergedBadgeProps.value)), null, 16)
139
+ ])) : Mo.createCommentVNode("", true)
140
+ ])) : Mo.createCommentVNode("", true),
141
+ _cache[1] || (_cache[1] = Mo.createElementVNode("div", { class: "celeste-dropdown-trigger" }, [
142
+ Mo.createElementVNode("i", { class: "i-celeste-arrow-down-s-line" })
143
+ ], -1))
144
+ ]),
145
+ _: 3
146
+ }, 8, ["type", "filled", "size"])
147
+ ]),
148
+ _: 3
149
+ }),
150
+ Mo.createVNode(comboboxList, null, {
151
+ default: Mo.withCtx(() => [
152
+ Mo.createElementVNode("div", {
153
+ class: Mo.normalizeClass(["celeste-dropdown-inner-input", { "sr-only": !_ctx.searchable }])
154
+ }, [
155
+ Mo.createVNode(comboboxInput, { searchable: _ctx.searchable }, null, 8, ["searchable"]),
156
+ _ctx.searchable ? (Mo.openBlock(), Mo.createBlock(comboboxSeparator, { key: 0 })) : Mo.createCommentVNode("", true)
157
+ ], 2),
158
+ Mo.createVNode(comboboxEmpty, null, Mo.createSlots({ _: 2 }, [
159
+ _ctx.emptyLabel ? {
160
+ name: "default",
161
+ fn: Mo.withCtx(() => [
162
+ Mo.createTextVNode(Mo.toDisplayString(_ctx.emptyLabel), 1)
163
+ ]),
164
+ key: "0"
165
+ } : void 0
166
+ ]), 1024),
167
+ Mo.createVNode(comboboxGroup, null, {
168
+ default: Mo.withCtx(() => [
169
+ (Mo.openBlock(true), Mo.createElementBlock(Mo.Fragment, null, Mo.renderList(props.options, (option) => {
170
+ return Mo.openBlock(), Mo.createBlock(comboboxItem, {
171
+ key: option.label,
172
+ label: option.label,
173
+ sublabel: option.sublabel,
174
+ description: option.description,
175
+ checkbox: props.multiple,
176
+ value: option,
177
+ selected: isSelected(option.value)
178
+ }, {
179
+ prefix: Mo.withCtx(() => [
180
+ option.icon ? (Mo.openBlock(), Mo.createElementBlock("i", {
181
+ key: 0,
182
+ class: Mo.normalizeClass(option.icon)
183
+ }, null, 2)) : Mo.createCommentVNode("", true),
184
+ option.image ? (Mo.openBlock(), Mo.createElementBlock("img", {
185
+ key: 1,
186
+ src: option.image,
187
+ alt: "option",
188
+ class: "celeste-dropdown-item-image"
189
+ }, null, 8, _hoisted_10)) : Mo.createCommentVNode("", true)
190
+ ]),
191
+ _: 2
192
+ }, 1032, ["label", "sublabel", "description", "checkbox", "value", "selected"]);
193
+ }), 128))
194
+ ]),
195
+ _: 1
196
+ })
197
+ ]),
198
+ _: 1
199
+ })
200
+ ]),
201
+ _: 3
202
+ }, 16, ["model-value"])
203
+ ]);
204
+ };
205
+ }
206
+ });
207
+ const combobox = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-424c9dad"]]);
208
+ module.exports = combobox;
@@ -37,6 +37,8 @@ const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
37
37
  error: { type: Boolean },
38
38
  size: { default: "sm" },
39
39
  type: { default: "normal" },
40
+ position: { default: "bottom" },
41
+ align: { default: "start" },
40
42
  multiple: { type: Boolean, default: false },
41
43
  emptyLabel: { default: "No options available" },
42
44
  searchable: { type: Boolean, default: false },
@@ -192,7 +194,12 @@ const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
192
194
  key: 0,
193
195
  "force-mount": "",
194
196
  dismissable: "",
195
- class: "celeste-dropdown-content"
197
+ "avoid-collisions": true,
198
+ class: Mo.normalizeClass(["celeste-dropdown-content", Mo.unref(clsx.clsx)(
199
+ "celeste-dropdown-content",
200
+ `celeste-dropdown-content-size-${_ctx.position}`,
201
+ `celeste-dropdown-content-align-${_ctx.align}`
202
+ )])
196
203
  }, {
197
204
  default: Mo.withCtx(() => [
198
205
  Mo.createVNode(Mo.unref(index.Jv), { class: "celeste-dropdown-items-viewport" }, {
@@ -272,7 +279,7 @@ const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
272
279
  })
273
280
  ]),
274
281
  _: 1
275
- })) : Mo.createCommentVNode("", true)
282
+ }, 8, ["class"])) : Mo.createCommentVNode("", true)
276
283
  ]),
277
284
  _: 3
278
285
  }, 8, ["modelValue", "open", "disabled", "multiple", "display-value"])
@@ -280,5 +287,5 @@ const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
280
287
  };
281
288
  }
282
289
  });
283
- const dropdown = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-2cc18da8"]]);
290
+ const dropdown = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-dd43a899"]]);
284
291
  module.exports = dropdown;
package/dist/cjs/index.js CHANGED
@@ -9,6 +9,16 @@ const fancyButton = require("./fancy-button.js");
9
9
  const linkButton = require("./link-button.js");
10
10
  const socialButton = require("./social-button.js");
11
11
  const checkbox_vue_vue_type_style_index_0_lang = require("./chunks/checkbox.vue_vue_type_style_index_0_lang.js");
12
+ const comboboxAnchor_vue_vue_type_script_setup_true_lang = require("./chunks/combobox-anchor.js");
13
+ const comboboxEmpty = require("./combobox-empty.js");
14
+ const comboboxGroup = require("./combobox-group.js");
15
+ const comboboxInput = require("./combobox-input.js");
16
+ const comboboxItem = require("./combobox-item.js");
17
+ const comboboxList = require("./combobox-list.js");
18
+ const comboboxRoot_vue_vue_type_script_setup_true_lang = require("./chunks/combobox-root.js");
19
+ const comboboxSeparator = require("./combobox-separator.js");
20
+ const comboboxTrigger = require("./combobox-trigger.js");
21
+ const combobox = require("./combobox.js");
12
22
  const contentDivider_vue_vue_type_style_index_0_lang = require("./chunks/content-divider.vue_vue_type_style_index_0_lang.js");
13
23
  const contextMenuItem = require("./context-menu-item.js");
14
24
  const dropdownItem = require("./dropdown-item.js");
@@ -65,6 +75,16 @@ const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
65
75
  Badge: badge,
66
76
  Button: button,
67
77
  Checkbox: checkbox_vue_vue_type_style_index_0_lang._sfc_main,
78
+ Combobox: combobox,
79
+ ComboboxAnchor: comboboxAnchor_vue_vue_type_script_setup_true_lang._sfc_main,
80
+ ComboboxEmpty: comboboxEmpty,
81
+ ComboboxGroup: comboboxGroup,
82
+ ComboboxInput: comboboxInput,
83
+ ComboboxItem: comboboxItem,
84
+ ComboboxList: comboboxList,
85
+ ComboboxRoot: comboboxRoot_vue_vue_type_script_setup_true_lang._sfc_main,
86
+ ComboboxSeparator: comboboxSeparator,
87
+ ComboboxTrigger: comboboxTrigger,
68
88
  CompactButton: compactButton,
69
89
  ContentDivider: contentDivider_vue_vue_type_style_index_0_lang._sfc_main,
70
90
  ContextMenuItem: contextMenuItem,
@@ -137,6 +157,16 @@ exports.FancyButton = fancyButton;
137
157
  exports.LinkButton = linkButton;
138
158
  exports.SocialButton = socialButton;
139
159
  exports.Checkbox = checkbox_vue_vue_type_style_index_0_lang._sfc_main;
160
+ exports.ComboboxAnchor = comboboxAnchor_vue_vue_type_script_setup_true_lang._sfc_main;
161
+ exports.ComboboxEmpty = comboboxEmpty;
162
+ exports.ComboboxGroup = comboboxGroup;
163
+ exports.ComboboxInput = comboboxInput;
164
+ exports.ComboboxItem = comboboxItem;
165
+ exports.ComboboxList = comboboxList;
166
+ exports.ComboboxRoot = comboboxRoot_vue_vue_type_script_setup_true_lang._sfc_main;
167
+ exports.ComboboxSeparator = comboboxSeparator;
168
+ exports.ComboboxTrigger = comboboxTrigger;
169
+ exports.Combobox = combobox;
140
170
  exports.ContentDivider = contentDivider_vue_vue_type_style_index_0_lang._sfc_main;
141
171
  exports.ContextMenuItem = contextMenuItem;
142
172
  exports.DropdownItem = dropdownItem;
@@ -25,5 +25,5 @@ const _sfc_main = /* @__PURE__ */ Mo.defineComponent({
25
25
  };
26
26
  }
27
27
  });
28
- const textInputIcon = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-3b859b72"]]);
29
- module.exports = textInputIcon;
28
+ const TextInputIcon = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-3b859b72"]]);
29
+ module.exports = TextInputIcon;
@@ -0,0 +1,22 @@
1
+ import { ComboboxAnchorProps } from 'radix-vue';
2
+ import { HTMLAttributes } from 'vue';
3
+ type __VLS_Props = ComboboxAnchorProps & {
4
+ class?: HTMLAttributes['class'];
5
+ };
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: {
9
+ default?(_: {}): any;
10
+ };
11
+ refs: {};
12
+ rootEl: any;
13
+ };
14
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
15
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
17
+ export default _default;
18
+ type __VLS_WithTemplateSlots<T, S> = T & {
19
+ new (): {
20
+ $slots: S;
21
+ };
22
+ };
@@ -0,0 +1,22 @@
1
+ import { ComboboxEmptyProps } from 'radix-vue';
2
+ import { HTMLAttributes } from 'vue';
3
+ type __VLS_Props = ComboboxEmptyProps & {
4
+ class?: HTMLAttributes['class'];
5
+ };
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: {
9
+ default?(_: {}): any;
10
+ };
11
+ refs: {};
12
+ rootEl: any;
13
+ };
14
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
15
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
17
+ export default _default;
18
+ type __VLS_WithTemplateSlots<T, S> = T & {
19
+ new (): {
20
+ $slots: S;
21
+ };
22
+ };
@@ -0,0 +1,23 @@
1
+ import { ComboboxGroupProps } from 'radix-vue';
2
+ import { HTMLAttributes } from 'vue';
3
+ type __VLS_Props = ComboboxGroupProps & {
4
+ class?: HTMLAttributes['class'];
5
+ heading?: string;
6
+ };
7
+ declare function __VLS_template(): {
8
+ attrs: Partial<{}>;
9
+ slots: {
10
+ default?(_: {}): any;
11
+ };
12
+ refs: {};
13
+ rootEl: any;
14
+ };
15
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
16
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
18
+ export default _default;
19
+ type __VLS_WithTemplateSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -0,0 +1,17 @@
1
+ import { ComboboxInputProps } from 'radix-vue';
2
+ import { HTMLAttributes } from 'vue';
3
+ import { TextInputProps } from '../text-input/text-input';
4
+ type __VLS_Props = ComboboxInputProps & {
5
+ class?: HTMLAttributes['class'];
6
+ textInputProps?: Partial<TextInputProps>;
7
+ searchable?: boolean;
8
+ };
9
+ type __VLS_PublicProps = {
10
+ modelValue?: string | undefined;
11
+ } & __VLS_Props;
12
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ "update:modelValue": (value: string | undefined) => any;
14
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
15
+ "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
16
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ export default _default;
@@ -0,0 +1,31 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ export interface ComboboxItemPropsType {
3
+ class?: HTMLAttributes['class'];
4
+ label: string;
5
+ size?: 'sm' | 'lg';
6
+ checkbox?: boolean;
7
+ sublabel?: string;
8
+ description?: string;
9
+ selected?: boolean | 'indeterminate';
10
+ focused?: boolean;
11
+ value: string | number | boolean | Record<string, any>;
12
+ icon?: string;
13
+ image?: string;
14
+ disabled?: boolean;
15
+ }
16
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<ComboboxItemPropsType, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
17
+ select: (event: import('node_modules/radix-vue/dist/Combobox/ComboboxItem').SelectEvent<import('node_modules/radix-vue/dist/Combobox/ComboboxRoot').AcceptableValue>) => any;
18
+ }, string, import('vue').PublicProps, Readonly<ComboboxItemPropsType> & Readonly<{
19
+ onSelect?: ((event: import('node_modules/radix-vue/dist/Combobox/ComboboxItem').SelectEvent<import('node_modules/radix-vue/dist/Combobox/ComboboxRoot').AcceptableValue>) => any) | undefined;
20
+ }>, {
21
+ size: "sm" | "lg";
22
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
23
+ prefix?(_: {}): any;
24
+ suffix?(_: {}): any;
25
+ }>;
26
+ export default _default;
27
+ type __VLS_WithTemplateSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };
@@ -0,0 +1,36 @@
1
+ import { ComboboxContentProps } from 'radix-vue';
2
+ import { HTMLAttributes } from 'vue';
3
+ type __VLS_Props = ComboboxContentProps & {
4
+ class?: HTMLAttributes['class'];
5
+ };
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: {
9
+ default?(_: {}): any;
10
+ };
11
+ refs: {};
12
+ rootEl: any;
13
+ };
14
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
15
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
+ escapeKeyDown: (event: KeyboardEvent) => any;
17
+ pointerDownOutside: (event: import('node_modules/radix-vue/dist/DismissableLayer').PointerDownOutsideEvent) => any;
18
+ focusOutside: (event: import('node_modules/radix-vue/dist/DismissableLayer').FocusOutsideEvent) => any;
19
+ interactOutside: (event: import('node_modules/radix-vue/dist/DismissableLayer').PointerDownOutsideEvent | import('node_modules/radix-vue/dist/DismissableLayer').FocusOutsideEvent) => any;
20
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
21
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
22
+ onPointerDownOutside?: ((event: import('node_modules/radix-vue/dist/DismissableLayer').PointerDownOutsideEvent) => any) | undefined;
23
+ onFocusOutside?: ((event: import('node_modules/radix-vue/dist/DismissableLayer').FocusOutsideEvent) => any) | undefined;
24
+ onInteractOutside?: ((event: import('node_modules/radix-vue/dist/DismissableLayer').PointerDownOutsideEvent | import('node_modules/radix-vue/dist/DismissableLayer').FocusOutsideEvent) => any) | undefined;
25
+ }>, {
26
+ position: "inline" | "popper";
27
+ sideOffset: number;
28
+ align: import('node_modules/radix-vue/dist/Popper').Align;
29
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
30
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
31
+ export default _default;
32
+ type __VLS_WithTemplateSlots<T, S> = T & {
33
+ new (): {
34
+ $slots: S;
35
+ };
36
+ };
@@ -0,0 +1,29 @@
1
+ import { ComboboxRootProps } from 'radix-vue';
2
+ type __VLS_Props = ComboboxRootProps;
3
+ declare function __VLS_template(): {
4
+ attrs: Partial<{}>;
5
+ slots: {
6
+ default?(_: {}): any;
7
+ };
8
+ refs: {};
9
+ rootEl: any;
10
+ };
11
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
12
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ "update:modelValue": (value: import('node_modules/radix-vue/dist/Combobox/ComboboxRoot').AcceptableValue) => any;
14
+ "update:open": (value: boolean) => any;
15
+ "update:searchTerm": (value: string) => any;
16
+ "update:selectedValue": (value: import('node_modules/radix-vue/dist/Combobox/ComboboxRoot').AcceptableValue | undefined) => any;
17
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
18
+ "onUpdate:modelValue"?: ((value: import('node_modules/radix-vue/dist/Combobox/ComboboxRoot').AcceptableValue) => any) | undefined;
19
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
20
+ "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
21
+ "onUpdate:selectedValue"?: ((value: import('node_modules/radix-vue/dist/Combobox/ComboboxRoot').AcceptableValue | undefined) => any) | undefined;
22
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
23
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
24
+ export default _default;
25
+ type __VLS_WithTemplateSlots<T, S> = T & {
26
+ new (): {
27
+ $slots: S;
28
+ };
29
+ };
@@ -0,0 +1,22 @@
1
+ import { ComboboxSeparatorProps } from 'radix-vue';
2
+ import { HTMLAttributes } from 'vue';
3
+ type __VLS_Props = ComboboxSeparatorProps & {
4
+ class?: HTMLAttributes['class'];
5
+ };
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: {
9
+ default?(_: {}): any;
10
+ };
11
+ refs: {};
12
+ rootEl: any;
13
+ };
14
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
15
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
17
+ export default _default;
18
+ type __VLS_WithTemplateSlots<T, S> = T & {
19
+ new (): {
20
+ $slots: S;
21
+ };
22
+ };
@@ -0,0 +1,20 @@
1
+ import { ComboboxTriggerProps } from 'radix-vue';
2
+ import { HTMLAttributes } from 'vue';
3
+ export interface CustomComboboxTriggerProps extends ComboboxTriggerProps {
4
+ class?: HTMLAttributes['class'];
5
+ size?: 'xs' | 'sm' | 'md';
6
+ filled?: boolean;
7
+ type?: 'normal' | 'compact' | 'inline' | 'compact-input';
8
+ error?: boolean;
9
+ }
10
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<CustomComboboxTriggerProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<CustomComboboxTriggerProps> & Readonly<{}>, {
11
+ type: "normal" | "compact" | "inline" | "compact-input";
12
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
13
+ default?(_: {}): any;
14
+ }>;
15
+ export default _default;
16
+ type __VLS_WithTemplateSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,53 @@
1
+ import { ComboboxRootProps } from 'radix-vue';
2
+ import { BadgeProps } from '../badge/badge';
3
+ import { ComboboxItemPropsType } from './combobox-item';
4
+ export interface ComboboxPropsType extends ComboboxRootProps {
5
+ options: ComboboxItemPropsType[];
6
+ valueBy?: string;
7
+ placeholder?: string;
8
+ type?: 'normal' | 'compact' | 'inline' | 'compact-input';
9
+ size?: 'xs' | 'sm' | 'md';
10
+ emptyLabel?: string;
11
+ badgeProps?: BadgeProps;
12
+ searchable?: boolean;
13
+ }
14
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<ComboboxPropsType, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
15
+ "update:modelValue": (value: import('node_modules/radix-vue/dist/Combobox/ComboboxRoot').AcceptableValue) => any;
16
+ "update:open": (value: boolean) => any;
17
+ "update:searchTerm": (value: string) => any;
18
+ "update:selectedValue": (value: import('node_modules/radix-vue/dist/Combobox/ComboboxRoot').AcceptableValue | undefined) => any;
19
+ }, string, import('vue').PublicProps, Readonly<ComboboxPropsType> & Readonly<{
20
+ "onUpdate:modelValue"?: ((value: import('node_modules/radix-vue/dist/Combobox/ComboboxRoot').AcceptableValue) => any) | undefined;
21
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
22
+ "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
23
+ "onUpdate:selectedValue"?: ((value: import('node_modules/radix-vue/dist/Combobox/ComboboxRoot').AcceptableValue | undefined) => any) | undefined;
24
+ }>, {
25
+ size: "xs" | "sm" | "md";
26
+ placeholder: string;
27
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>, {
28
+ image?(_: {
29
+ selected: {
30
+ class?: import('vue').HTMLAttributes["class"];
31
+ label: string;
32
+ size?: "sm" | "lg" | undefined;
33
+ checkbox?: boolean | undefined;
34
+ sublabel?: string | undefined;
35
+ description?: string | undefined;
36
+ selected?: boolean | "indeterminate" | undefined;
37
+ focused?: boolean | undefined;
38
+ value: string | number | boolean | Record<string, any>;
39
+ icon?: string | undefined;
40
+ image?: string | undefined;
41
+ disabled?: boolean | undefined;
42
+ };
43
+ }): any;
44
+ prefix?(_: {
45
+ class: string;
46
+ }): any;
47
+ }>;
48
+ export default _default;
49
+ type __VLS_WithTemplateSlots<T, S> = T & {
50
+ new (): {
51
+ $slots: S;
52
+ };
53
+ };
@@ -0,0 +1,20 @@
1
+ export * from './combobox-anchor';
2
+ export { default as ComboboxAnchor } from './combobox-anchor';
3
+ export * from './combobox-empty';
4
+ export { default as ComboboxEmpty } from './combobox-empty';
5
+ export * from './combobox-group';
6
+ export { default as ComboboxGroup } from './combobox-group';
7
+ export * from './combobox-input';
8
+ export { default as ComboboxInput } from './combobox-input';
9
+ export * from './combobox-item';
10
+ export { default as ComboboxItem } from './combobox-item';
11
+ export * from './combobox-list';
12
+ export { default as ComboboxList } from './combobox-list';
13
+ export * from './combobox-root';
14
+ export { default as ComboboxRoot } from './combobox-root';
15
+ export * from './combobox-separator';
16
+ export { default as ComboboxSeparator } from './combobox-separator';
17
+ export * from './combobox-trigger';
18
+ export { default as ComboboxTrigger } from './combobox-trigger';
19
+ export * from './combobox';
20
+ export { default as Combobox } from './combobox';
@@ -6,6 +6,8 @@ export interface Dropdown {
6
6
  error?: boolean;
7
7
  size?: 'xs' | 'sm' | 'md';
8
8
  type?: 'normal' | 'compact' | 'inline' | 'compact-input';
9
+ position?: 'top' | 'bottom';
10
+ align?: 'start' | 'end' | 'center';
9
11
  multiple?: boolean;
10
12
  emptyLabel?: string;
11
13
  searchable?: boolean;
@@ -31,10 +33,12 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
31
33
  size: "xs" | "sm" | "md";
32
34
  type: "normal" | "compact" | "inline" | "compact-input";
33
35
  disabled: boolean;
36
+ position: "top" | "bottom";
34
37
  multiple: boolean;
35
38
  placeholder: string;
36
- emptyLabel: string;
37
39
  searchable: boolean;
40
+ align: "start" | "end" | "center";
41
+ emptyLabel: string;
38
42
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>, {
39
43
  image?(_: {
40
44
  model: SelectedType;