@enos5/enos-vue-default 1.8.7 → 1.8.9

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.
@@ -85,6 +85,18 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
85
85
  type: (ArrayConstructor | StringConstructor | ObjectConstructor)[];
86
86
  default: string;
87
87
  };
88
+ searchable: {
89
+ type: BooleanConstructor;
90
+ default: boolean;
91
+ };
92
+ searchPlaceholder: {
93
+ type: StringConstructor;
94
+ default: string;
95
+ };
96
+ searchInputClass: {
97
+ type: (ArrayConstructor | StringConstructor | ObjectConstructor)[];
98
+ default: string;
99
+ };
88
100
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
89
101
  "update:modelValue": (...args: any[]) => void;
90
102
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -172,6 +184,18 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
172
184
  type: (ArrayConstructor | StringConstructor | ObjectConstructor)[];
173
185
  default: string;
174
186
  };
187
+ searchable: {
188
+ type: BooleanConstructor;
189
+ default: boolean;
190
+ };
191
+ searchPlaceholder: {
192
+ type: StringConstructor;
193
+ default: string;
194
+ };
195
+ searchInputClass: {
196
+ type: (ArrayConstructor | StringConstructor | ObjectConstructor)[];
197
+ default: string;
198
+ };
175
199
  }>> & Readonly<{
176
200
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
177
201
  }>, {
@@ -196,4 +220,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
196
220
  dropdownClass: string | unknown[] | Record<string, any>;
197
221
  dropdownOptionClass: string | unknown[] | Record<string, any>;
198
222
  dropdownSelectedClass: string | unknown[] | Record<string, any>;
223
+ searchable: boolean;
224
+ searchPlaceholder: string;
225
+ searchInputClass: string | unknown[] | Record<string, any>;
199
226
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -185,6 +185,18 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
185
185
  type: StringConstructor;
186
186
  default: string;
187
187
  };
188
+ searchable: {
189
+ type: BooleanConstructor;
190
+ default: boolean;
191
+ };
192
+ searchPlaceholder: {
193
+ type: StringConstructor;
194
+ default: string;
195
+ };
196
+ searchInputClass: {
197
+ type: (ArrayConstructor | StringConstructor | ObjectConstructor)[];
198
+ default: undefined;
199
+ };
188
200
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
189
201
  "update:modelValue": (...args: any[]) => void;
190
202
  blur: (...args: any[]) => void;
@@ -369,6 +381,18 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
369
381
  type: StringConstructor;
370
382
  default: string;
371
383
  };
384
+ searchable: {
385
+ type: BooleanConstructor;
386
+ default: boolean;
387
+ };
388
+ searchPlaceholder: {
389
+ type: StringConstructor;
390
+ default: string;
391
+ };
392
+ searchInputClass: {
393
+ type: (ArrayConstructor | StringConstructor | ObjectConstructor)[];
394
+ default: undefined;
395
+ };
372
396
  }>> & Readonly<{
373
397
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
374
398
  onBlur?: ((...args: any[]) => any) | undefined;
@@ -395,6 +419,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
395
419
  optionClass: string | unknown[] | Record<string, any>;
396
420
  deletedOptionClass: string | unknown[] | Record<string, any>;
397
421
  placeholderClass: string | unknown[] | Record<string, any>;
422
+ searchable: boolean;
423
+ searchPlaceholder: string;
424
+ searchInputClass: string | unknown[] | Record<string, any>;
398
425
  locale: string;
399
426
  withTimestamp: boolean;
400
427
  max: string;
@@ -85,6 +85,18 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
85
85
  type: (ArrayConstructor | StringConstructor | ObjectConstructor)[];
86
86
  default: string;
87
87
  };
88
+ searchable: {
89
+ type: BooleanConstructor;
90
+ default: boolean;
91
+ };
92
+ searchPlaceholder: {
93
+ type: StringConstructor;
94
+ default: string;
95
+ };
96
+ searchInputClass: {
97
+ type: (ArrayConstructor | StringConstructor | ObjectConstructor)[];
98
+ default: string;
99
+ };
88
100
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
89
101
  "update:modelValue": (...args: any[]) => void;
90
102
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -172,6 +184,18 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
172
184
  type: (ArrayConstructor | StringConstructor | ObjectConstructor)[];
173
185
  default: string;
174
186
  };
187
+ searchable: {
188
+ type: BooleanConstructor;
189
+ default: boolean;
190
+ };
191
+ searchPlaceholder: {
192
+ type: StringConstructor;
193
+ default: string;
194
+ };
195
+ searchInputClass: {
196
+ type: (ArrayConstructor | StringConstructor | ObjectConstructor)[];
197
+ default: string;
198
+ };
175
199
  }>> & Readonly<{
176
200
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
177
201
  }>, {
@@ -196,4 +220,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
196
220
  dropdownClass: string | unknown[] | Record<string, any>;
197
221
  dropdownOptionClass: string | unknown[] | Record<string, any>;
198
222
  dropdownSelectedClass: string | unknown[] | Record<string, any>;
223
+ searchable: boolean;
224
+ searchPlaceholder: string;
225
+ searchInputClass: string | unknown[] | Record<string, any>;
199
226
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -170,6 +170,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
170
170
  "onUpdate:searchShowDeleted"?: ((...args: any[]) => any) | undefined;
171
171
  }>, {
172
172
  search: boolean;
173
+ searchPlaceholder: string;
173
174
  sortField: string;
174
175
  sortDirection: string;
175
176
  emptyState: Record<string, any>;
@@ -178,7 +179,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
178
179
  isCard: boolean;
179
180
  actionsLabel: string;
180
181
  deletedLabel: string;
181
- searchPlaceholder: string;
182
182
  searchCountLabel: string;
183
183
  searchCount: number;
184
184
  searchQueryLabel: string;
@@ -200,6 +200,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
200
200
  "onEdit-cancel"?: ((...args: any[]) => any) | undefined;
201
201
  }>, {
202
202
  search: boolean;
203
+ searchPlaceholder: string;
203
204
  sortField: string;
204
205
  sortDirection: string;
205
206
  emptyState: Record<string, any>;
@@ -208,7 +209,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
208
209
  isCard: boolean;
209
210
  actionsLabel: string;
210
211
  deletedLabel: string;
211
- searchPlaceholder: string;
212
212
  getErrorMessage: Function;
213
213
  rowKey: string | Function;
214
214
  isDeletedFn: Function;
@@ -41,6 +41,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
41
41
  type: StringConstructor;
42
42
  default: string;
43
43
  };
44
+ searchbar: {
45
+ type: BooleanConstructor;
46
+ default: boolean;
47
+ };
44
48
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
45
49
  "update:modelValue": (...args: any[]) => void;
46
50
  "update:showDeleted": (...args: any[]) => void;
@@ -81,6 +85,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
81
85
  type: StringConstructor;
82
86
  default: string;
83
87
  };
88
+ searchbar: {
89
+ type: BooleanConstructor;
90
+ default: boolean;
91
+ };
84
92
  }>> & Readonly<{
85
93
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
86
94
  "onUpdate:showDeleted"?: ((...args: any[]) => any) | undefined;
@@ -94,6 +102,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
94
102
  showDeleted: boolean;
95
103
  showDeletedToggle: boolean;
96
104
  showDeletedLabel: string;
105
+ searchbar: boolean;
97
106
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
98
107
  type __VLS_Slots = {
99
108
  'search-fields'?: ((props: {}) => any) | undefined;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import './styles.css';
2
- import { _, a, b, c, d, e, f, g, h, i, C, j, k, D, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, S, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W, X, Y, Z, $, a0, a1, a2, a3 } from "./plugin-ev2fN9wO.js";
2
+ import { _, a, b, c, d, e, f, g, h, i, C, j, k, D, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, S, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W, X, Y, Z, $, a0, a1, a2, a3 } from "./plugin-3CiafDXC.js";
3
3
  export {
4
4
  _ as ActionCard,
5
5
  a as ActionMessage,
@@ -1,4 +1,4 @@
1
- import { _, a, b, c, d, e, f, g, h, i, C, j, k, D, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, S, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W, X, Y, Z, $, a0, a1, a2, a3 } from "./plugin-ev2fN9wO.js";
1
+ import { _, a, b, c, d, e, f, g, h, i, C, j, k, D, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, S, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W, X, Y, Z, $, a0, a1, a2, a3 } from "./plugin-3CiafDXC.js";
2
2
  export {
3
3
  _ as ActionCard,
4
4
  a as ActionMessage,
@@ -1,4 +1,4 @@
1
- import { ref, computed, watch, openBlock, createElementBlock, createElementVNode, Fragment, renderList, normalizeClass, normalizeStyle, toDisplayString, createBlock, createCommentVNode, renderSlot, createVNode, Transition, withCtx, mergeProps, useSlots, unref, withDirectives, vShow, useAttrs, vModelCheckbox, onMounted, nextTick, onBeforeUnmount, Teleport, withModifiers, onUnmounted, inject, provide, defineComponent, isVNode, cloneVNode, resolveDynamicComponent, createTextVNode, h, vModelText, createSlots } from "vue";
1
+ import { ref, computed, watch, openBlock, createElementBlock, createElementVNode, Fragment, renderList, normalizeClass, normalizeStyle, toDisplayString, createBlock, createCommentVNode, renderSlot, createVNode, Transition, withCtx, mergeProps, useSlots, unref, withDirectives, vShow, useAttrs, vModelCheckbox, onMounted, nextTick, onBeforeUnmount, Teleport, withModifiers, vModelText, onUnmounted, inject, provide, defineComponent, isVNode, cloneVNode, resolveDynamicComponent, createTextVNode, h, createSlots } from "vue";
2
2
  import { LockClosedIcon, ChevronDownIcon, PhotoIcon, EyeDropperIcon, ExclamationCircleIcon, ExclamationTriangleIcon, ChevronUpIcon, MagnifyingGlassIcon, CheckIcon, PencilSquareIcon } from "@heroicons/vue/24/outline";
3
3
  import Editor from "@tinymce/tinymce-vue";
4
4
  import { useI18n } from "vue-i18n";
@@ -306,7 +306,7 @@ const _sfc_main$O = {};
306
306
  const _hoisted_1$B = { class: "md:col-span-1 flex justify-between" };
307
307
  const _hoisted_2$m = { class: "px-4 sm:px-0" };
308
308
  const _hoisted_3$g = { class: "text-xl font-semibold tracking-tight text-neutral-950 dark:text-neutral-50" };
309
- const _hoisted_4$b = { class: "mt-1 max-w-2xl text-sm text-neutral-600 dark:text-neutral-200" };
309
+ const _hoisted_4$c = { class: "mt-1 max-w-2xl text-sm text-neutral-600 dark:text-neutral-200" };
310
310
  const _hoisted_5$9 = { class: "px-4 sm:px-0" };
311
311
  function _sfc_render(_ctx, _cache) {
312
312
  return openBlock(), createElementBlock("div", _hoisted_1$B, [
@@ -314,7 +314,7 @@ function _sfc_render(_ctx, _cache) {
314
314
  createElementVNode("h3", _hoisted_3$g, [
315
315
  renderSlot(_ctx.$slots, "title")
316
316
  ]),
317
- createElementVNode("p", _hoisted_4$b, [
317
+ createElementVNode("p", _hoisted_4$c, [
318
318
  renderSlot(_ctx.$slots, "description")
319
319
  ])
320
320
  ]),
@@ -621,7 +621,7 @@ const _hoisted_2$k = {
621
621
  class: "absolute inset-y-0 left-0 flex items-center pointer-events-none pl-3"
622
622
  };
623
623
  const _hoisted_3$e = ["type", "value", "disabled"];
624
- const _hoisted_4$a = ["aria-label"];
624
+ const _hoisted_4$b = ["aria-label"];
625
625
  const _hoisted_5$8 = {
626
626
  key: 0,
627
627
  class: "h-5 w-5",
@@ -740,7 +740,7 @@ const _sfc_main$I = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
740
740
  d: "M2.458 12C3.732 7.943 7.523 5 12 5s8.268 2.943 9.542 7c-1.274 4.057-5.065 7-9.542 7S3.732 16.057 2.458 12z"
741
741
  }, null, -1)
742
742
  ])]))
743
- ], 8, _hoisted_4$a)) : createCommentVNode("", true)
743
+ ], 8, _hoisted_4$b)) : createCommentVNode("", true)
744
744
  ]);
745
745
  };
746
746
  }
@@ -822,12 +822,13 @@ const _sfc_main$H = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
822
822
  };
823
823
  }
824
824
  });
825
- const _hoisted_1$t = ["onClick"];
826
- const _hoisted_2$j = {
825
+ const _hoisted_1$t = ["placeholder"];
826
+ const _hoisted_2$j = ["onClick"];
827
+ const _hoisted_3$d = {
827
828
  key: 0,
828
829
  class: "flex items-center gap-3"
829
830
  };
830
- const _hoisted_3$d = ["checked", "disabled", "onChange"];
831
+ const _hoisted_4$a = ["checked", "disabled", "onChange"];
831
832
  const _sfc_main$G = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
832
833
  __name: "CustomSelect",
833
834
  props: {
@@ -914,6 +915,18 @@ const _sfc_main$G = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
914
915
  dropdownSelectedClass: {
915
916
  type: [String, Array, Object],
916
917
  default: "bg-neutral-100 font-medium text-neutral-950 dark:bg-neutral-900 dark:text-neutral-50"
918
+ },
919
+ searchable: {
920
+ type: Boolean,
921
+ default: false
922
+ },
923
+ searchPlaceholder: {
924
+ type: String,
925
+ default: "Search..."
926
+ },
927
+ searchInputClass: {
928
+ type: [String, Array, Object],
929
+ default: "w-full border-b border-neutral-200 px-4 py-3 text-sm outline-none focus:border-neutral-900 dark:border-neutral-800 dark:bg-neutral-950 dark:focus:border-neutral-100"
917
930
  }
918
931
  },
919
932
  emits: ["update:modelValue"],
@@ -928,6 +941,7 @@ const _sfc_main$G = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
928
941
  const dropdownStyle = ref({});
929
942
  const isDarkMode = ref(false);
930
943
  const isMounted = ref(false);
944
+ const searchQuery = ref("");
931
945
  const isObjectOption = (option) => typeof option === "object" && option !== null;
932
946
  const optionValue = (option) => {
933
947
  if (isObjectOption(option)) {
@@ -985,6 +999,17 @@ const _sfc_main$G = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
985
999
  return true;
986
1000
  });
987
1001
  });
1002
+ const filteredOptions = computed(() => {
1003
+ if (!props.searchable || !searchQuery.value) {
1004
+ return props.multiple ? multipleOptions.value : availableOptions.value;
1005
+ }
1006
+ const query = searchQuery.value.toLowerCase();
1007
+ const options = props.multiple ? multipleOptions.value : availableOptions.value;
1008
+ return options.filter((option) => {
1009
+ const text = String(optionText(option)).toLowerCase();
1010
+ return text.includes(query);
1011
+ });
1012
+ });
988
1013
  const selectedMultipleOptions = computed(() => {
989
1014
  if (!props.multiple || modelValueSet.value.size === 0) {
990
1015
  return [];
@@ -1071,6 +1096,7 @@ const _sfc_main$G = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1071
1096
  const clickedInsideMenu = dropdownMenuRef.value?.contains(event.target);
1072
1097
  if (!clickedInsideTrigger && !clickedInsideMenu) {
1073
1098
  isOpen.value = false;
1099
+ searchQuery.value = "";
1074
1100
  }
1075
1101
  };
1076
1102
  const syncDarkMode = () => {
@@ -1095,6 +1121,7 @@ const _sfc_main$G = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1095
1121
  });
1096
1122
  watch(isOpen, async (open) => {
1097
1123
  if (!open) {
1124
+ searchQuery.value = "";
1098
1125
  return;
1099
1126
  }
1100
1127
  syncDarkMode();
@@ -1150,8 +1177,21 @@ const _sfc_main$G = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1150
1177
  createElementVNode("div", {
1151
1178
  class: normalizeClass([__props.dropdownClass, { "bg-neutral-950 border-neutral-800": isDarkMode.value }])
1152
1179
  }, [
1153
- __props.placeholder && !__props.multiple ? (openBlock(), createElementBlock("div", {
1180
+ __props.searchable ? withDirectives((openBlock(), createElementBlock("input", {
1154
1181
  key: 0,
1182
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event),
1183
+ type: "text",
1184
+ placeholder: __props.searchPlaceholder,
1185
+ class: normalizeClass(__props.searchInputClass),
1186
+ onClick: _cache[1] || (_cache[1] = withModifiers(() => {
1187
+ }, ["stop"])),
1188
+ onKeydown: _cache[2] || (_cache[2] = withModifiers(() => {
1189
+ }, ["stop"]))
1190
+ }, null, 42, _hoisted_1$t)), [
1191
+ [vModelText, searchQuery.value]
1192
+ ]) : createCommentVNode("", true),
1193
+ __props.placeholder && !__props.multiple ? (openBlock(), createElementBlock("div", {
1194
+ key: 1,
1155
1195
  class: normalizeClass([
1156
1196
  __props.dropdownOptionClass,
1157
1197
  __props.placeholderClass,
@@ -1164,14 +1204,14 @@ const _sfc_main$G = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1164
1204
  }, toDisplayString(__props.placeholder), 5)
1165
1205
  ], 2)) : createCommentVNode("", true),
1166
1206
  selectedDeletedOption.value ? (openBlock(), createElementBlock("div", {
1167
- key: 1,
1207
+ key: 2,
1168
1208
  class: normalizeClass([
1169
1209
  __props.dropdownOptionClass,
1170
1210
  __props.deletedOptionClass,
1171
1211
  __props.dropdownSelectedClass
1172
1212
  ])
1173
1213
  }, toDisplayString(optionText(selectedDeletedOption.value)), 3)) : createCommentVNode("", true),
1174
- (openBlock(true), createElementBlock(Fragment, null, renderList(__props.multiple ? multipleOptions.value : availableOptions.value, (option) => {
1214
+ (openBlock(true), createElementBlock(Fragment, null, renderList(filteredOptions.value, (option) => {
1175
1215
  return openBlock(), createElementBlock("div", {
1176
1216
  key: String(optionValue(option)),
1177
1217
  class: normalizeClass([
@@ -1186,17 +1226,17 @@ const _sfc_main$G = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1186
1226
  ]),
1187
1227
  onClick: withModifiers(($event) => __props.multiple ? toggleMultipleOption(option) : selectOption(option), ["stop"])
1188
1228
  }, [
1189
- __props.multiple ? (openBlock(), createElementBlock("div", _hoisted_2$j, [
1229
+ __props.multiple ? (openBlock(), createElementBlock("div", _hoisted_3$d, [
1190
1230
  createElementVNode("input", {
1191
1231
  type: "checkbox",
1192
1232
  class: "h-4 w-4 rounded border-neutral-300 text-neutral-900 focus:ring-neutral-900",
1193
1233
  checked: optionIsSelected(option),
1194
1234
  disabled: __props.disabled,
1195
1235
  tabindex: "-1",
1196
- onClick: _cache[0] || (_cache[0] = withModifiers(() => {
1236
+ onClick: _cache[3] || (_cache[3] = withModifiers(() => {
1197
1237
  }, ["stop"])),
1198
1238
  onChange: withModifiers(($event) => toggleMultipleOption(option), ["stop"])
1199
- }, null, 40, _hoisted_3$d),
1239
+ }, null, 40, _hoisted_4$a),
1200
1240
  createElementVNode("span", {
1201
1241
  style: normalizeStyle(darkTextStyle.value)
1202
1242
  }, toDisplayString(optionText(option)), 5)
@@ -1204,7 +1244,7 @@ const _sfc_main$G = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1204
1244
  key: 1,
1205
1245
  style: normalizeStyle(darkTextStyle.value)
1206
1246
  }, toDisplayString(optionText(option)), 5))
1207
- ], 10, _hoisted_1$t);
1247
+ ], 10, _hoisted_2$j);
1208
1248
  }), 128))
1209
1249
  ], 2)
1210
1250
  ], 6)) : createCommentVNode("", true)
@@ -1302,6 +1342,18 @@ const _sfc_main$F = {
1302
1342
  dropdownSelectedClass: {
1303
1343
  type: [String, Array, Object],
1304
1344
  default: "bg-blue-50 text-blue-700 font-medium dark:bg-neutral-900 dark:text-neutral-50"
1345
+ },
1346
+ searchable: {
1347
+ type: Boolean,
1348
+ default: false
1349
+ },
1350
+ searchPlaceholder: {
1351
+ type: String,
1352
+ default: "Search..."
1353
+ },
1354
+ searchInputClass: {
1355
+ type: [String, Array, Object],
1356
+ default: "w-full border-b border-neutral-200 px-4 py-3 text-sm outline-none focus:border-neutral-900 dark:border-neutral-800 dark:bg-neutral-950 dark:focus:border-neutral-100"
1305
1357
  }
1306
1358
  },
1307
1359
  emits: ["update:modelValue"],
@@ -1330,8 +1382,11 @@ const _sfc_main$F = {
1330
1382
  "dropdown-class": __props.dropdownClass,
1331
1383
  "dropdown-option-class": __props.dropdownOptionClass,
1332
1384
  "dropdown-selected-class": __props.dropdownSelectedClass,
1385
+ searchable: __props.searchable,
1386
+ "search-placeholder": __props.searchPlaceholder,
1387
+ "search-input-class": __props.searchInputClass,
1333
1388
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event))
1334
- }, _ctx.$attrs), null, 16, ["model-value", "model-modifiers", "options", "placeholder", "placeholder-disabled", "multiple", "disabled", "soft-delete-aware", "label-key", "value-key", "deleted-key", "option-label", "base-class", "normal-text-class", "deleted-selected-class", "option-class", "deleted-option-class", "placeholder-class", "dropdown-class", "dropdown-option-class", "dropdown-selected-class"]);
1389
+ }, _ctx.$attrs), null, 16, ["model-value", "model-modifiers", "options", "placeholder", "placeholder-disabled", "multiple", "disabled", "soft-delete-aware", "label-key", "value-key", "deleted-key", "option-label", "base-class", "normal-text-class", "deleted-selected-class", "option-class", "deleted-option-class", "placeholder-class", "dropdown-class", "dropdown-option-class", "dropdown-selected-class", "searchable", "search-placeholder", "search-input-class"]);
1335
1390
  };
1336
1391
  }
1337
1392
  };
@@ -3286,6 +3341,18 @@ const _sfc_main$v = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
3286
3341
  variant: {
3287
3342
  type: String,
3288
3343
  default: "classic"
3344
+ },
3345
+ searchable: {
3346
+ type: Boolean,
3347
+ default: false
3348
+ },
3349
+ searchPlaceholder: {
3350
+ type: String,
3351
+ default: "Search..."
3352
+ },
3353
+ searchInputClass: {
3354
+ type: [String, Array, Object],
3355
+ default: void 0
3289
3356
  }
3290
3357
  },
3291
3358
  emits: ["update:modelValue", "blur"],
@@ -3388,6 +3455,11 @@ const _sfc_main$v = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
3388
3455
  inputProps.deletedOptionClass = props.deletedOptionClass;
3389
3456
  if (props.placeholderClass !== void 0)
3390
3457
  inputProps.placeholderClass = props.placeholderClass;
3458
+ if (props.searchable !== void 0) inputProps.searchable = props.searchable;
3459
+ if (props.searchPlaceholder !== void 0)
3460
+ inputProps.searchPlaceholder = props.searchPlaceholder;
3461
+ if (props.searchInputClass !== void 0)
3462
+ inputProps.searchInputClass = props.searchInputClass;
3391
3463
  return inputProps;
3392
3464
  });
3393
3465
  const notationBindings = computed(() => ({
@@ -4935,7 +5007,10 @@ const _sfc_main$5 = {
4935
5007
  };
4936
5008
  const _hoisted_1$4 = { class: "flex flex-col items-start gap-4 lg:flex-row lg:flex-wrap lg:items-center lg:justify-between" };
4937
5009
  const _hoisted_2$3 = { class: "flex w-full min-w-0 flex-1 flex-col gap-3 lg:flex-row lg:items-center" };
4938
- const _hoisted_3$3 = { class: "relative w-full lg:max-w-md" };
5010
+ const _hoisted_3$3 = {
5011
+ key: 0,
5012
+ class: "relative w-full lg:max-w-md"
5013
+ };
4939
5014
  const _hoisted_4$2 = { class: "pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3" };
4940
5015
  const _hoisted_5$2 = ["placeholder"];
4941
5016
  const _hoisted_6$2 = { class: "min-w-0 flex-1" };
@@ -4994,6 +5069,10 @@ const _sfc_main$4 = {
4994
5069
  cardClass: {
4995
5070
  type: String,
4996
5071
  default: "rounded-xl border border-neutral-200 bg-white/90 px-6 py-4 shadow-sm dark:border-neutral-800 dark:bg-neutral-950/90"
5072
+ },
5073
+ searchbar: {
5074
+ type: Boolean,
5075
+ default: true
4997
5076
  }
4998
5077
  },
4999
5078
  emits: ["update:modelValue", "update:showDeleted"],
@@ -5014,7 +5093,7 @@ const _sfc_main$4 = {
5014
5093
  }, [
5015
5094
  createElementVNode("div", _hoisted_1$4, [
5016
5095
  createElementVNode("div", _hoisted_2$3, [
5017
- createElementVNode("div", _hoisted_3$3, [
5096
+ __props.searchbar ? (openBlock(), createElementBlock("div", _hoisted_3$3, [
5018
5097
  createElementVNode("div", _hoisted_4$2, [
5019
5098
  createVNode(unref(Search), { class: "h-5 w-5 text-neutral-400 dark:text-neutral-500" })
5020
5099
  ]),
@@ -5026,7 +5105,7 @@ const _sfc_main$4 = {
5026
5105
  }, null, 8, _hoisted_5$2), [
5027
5106
  [vModelText, model.value]
5028
5107
  ])
5029
- ]),
5108
+ ])) : createCommentVNode("", true),
5030
5109
  createElementVNode("div", _hoisted_6$2, [
5031
5110
  renderSlot(_ctx.$slots, "search-fields")
5032
5111
  ])
@@ -6195,4 +6274,4 @@ export {
6195
6274
  _sfc_main$B as y,
6196
6275
  _sfc_main$A as z
6197
6276
  };
6198
- //# sourceMappingURL=plugin-ev2fN9wO.js.map
6277
+ //# sourceMappingURL=plugin-3CiafDXC.js.map