@leaflink/stash 50.13.0 → 50.15.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.
@@ -1,12 +1,12 @@
1
- import { defineComponent as S, useAttrs as O, useSlots as E, useCssModule as T, ref as p, watchEffect as $, watch as h, createBlock as D, openBlock as d, mergeProps as M, createSlots as R, withCtx as f, createElementBlock as y, createElementVNode as z, toDisplayString as _, normalizeClass as r, unref as s, createVNode as b, renderSlot as F } from "vue";
1
+ import { defineComponent as O, useSlots as $, useAttrs as E, useCssModule as T, ref as u, watchEffect as D, watch as v, createBlock as j, openBlock as p, mergeProps as M, createSlots as R, withCtx as h, createElementBlock as y, createElementVNode as F, toDisplayString as f, normalizeClass as _, unref as d, renderSlot as b, createVNode as w } from "vue";
2
2
  import N from "./Input.js";
3
3
  import U from "./Select.js";
4
4
  import { _ as q } from "./Field.vue_vue_type_script_setup_true_lang-DRaKs9Lm.js";
5
- import { _ as A } from "./_plugin-vue_export-helper-CHgC5LLL.js";
6
- const L = {
5
+ import { _ as z } from "./_plugin-vue_export-helper-CHgC5LLL.js";
6
+ const A = {
7
7
  key: 0,
8
8
  class: "tw-flex tw-h-input tw-items-center tw-text-sm"
9
- }, P = ["id", "aria-labelledby"], j = /* @__PURE__ */ S({
9
+ }, L = ["id", "aria-labelledby"], P = /* @__PURE__ */ O({
10
10
  name: "ll-input-options",
11
11
  __name: "InputOptions",
12
12
  props: {
@@ -31,11 +31,11 @@ const L = {
31
31
  disabled: { type: Boolean }
32
32
  },
33
33
  emits: ["update:model-value", "change"],
34
- setup(w, { emit: g }) {
35
- const e = w, o = g, c = O(), B = E(), i = T(), l = p(), u = p(!1), t = p();
36
- function V(a) {
37
- l.value = String(a), o("update:model-value", {
38
- value: l.value,
34
+ setup(B, { emit: g }) {
35
+ const e = B, o = g, V = $(), r = E(), n = T(), a = u(), c = u(!1), t = u();
36
+ function C(l) {
37
+ a.value = String(l), o("update:model-value", {
38
+ value: a.value,
39
39
  option: t.value,
40
40
  isValueChange: !0,
41
41
  type: "input"
@@ -43,109 +43,111 @@ const L = {
43
43
  }
44
44
  function k() {
45
45
  o("change", {
46
- value: l.value,
46
+ value: a.value,
47
47
  option: t.value,
48
48
  isValueChange: !0,
49
49
  type: "input"
50
50
  });
51
51
  }
52
- function C(a) {
53
- t.value = a, o("change", {
54
- value: l.value,
52
+ function I(l) {
53
+ t.value = l, o("change", {
54
+ value: a.value,
55
55
  option: t.value,
56
56
  isValueChange: !1,
57
57
  type: "select"
58
58
  }), o("update:model-value", {
59
- value: l.value,
59
+ value: a.value,
60
60
  option: t.value,
61
61
  isValueChange: !1,
62
62
  type: "select"
63
63
  });
64
64
  }
65
- if ($(() => {
65
+ if (D(() => {
66
66
  t.value || (t.value = e.options[0]);
67
- }), h(
67
+ }), v(
68
68
  () => e.modelValue.value,
69
69
  () => {
70
- l.value = e.modelValue.value;
70
+ a.value = e.modelValue.value;
71
71
  },
72
72
  { immediate: !0 }
73
- ), h(
73
+ ), v(
74
74
  () => e.modelValue.option,
75
75
  () => {
76
76
  t.value = e.modelValue.option;
77
77
  },
78
78
  { immediate: !0 }
79
- ), c.value)
79
+ ), r.value)
80
80
  throw new Error("ll-input-options: use :model-value or v-model instead of :value.");
81
- if (c.onInput)
81
+ if (r.onInput)
82
82
  throw new Error("ll-input-options: use the @update:model-value event instead of @input");
83
- return (a, n) => (d(), D(q, M(e, {
83
+ return (l, s) => (p(), j(q, M(e, {
84
84
  class: "stash-input-options",
85
85
  "data-test": "stash-input-options"
86
86
  }), R({
87
- default: f(({ fieldId: m, labelId: x }) => {
88
- var v;
87
+ default: h(({ fieldId: i, labelId: S }) => {
88
+ var m;
89
89
  return [
90
- e.isReadOnly ? (d(), y("div", L, [
91
- z("span", {
92
- id: m,
93
- "aria-labelledby": x,
90
+ e.isReadOnly ? (p(), y("div", A, [
91
+ F("span", {
92
+ id: i,
93
+ "aria-labelledby": S,
94
94
  class: "tw-h-min"
95
- }, _(l.value || 0) + " " + _((v = t.value) == null ? void 0 : v.name), 9, P)
96
- ])) : (d(), y("div", {
95
+ }, f(a.value || 0) + " " + f((m = t.value) == null ? void 0 : m.name), 9, L)
96
+ ])) : (p(), y("div", {
97
97
  key: 1,
98
- class: r(["tw-flex", { [s(i)["has-error"]]: !!e.errorText }])
98
+ class: _(["tw-flex", [d(n)["input-wrapper"], { [d(n)["has-error"]]: !!e.errorText }]])
99
99
  }, [
100
- b(N, {
101
- id: m,
102
- class: r(["stash-input-options__input -tw-mr-[1px] tw-inline-block tw-flex-1", [s(i).input, { "tw-z-control": u.value }]]),
103
- "data-test": "stash-input-options|input",
104
- type: e.type,
105
- "model-value": l.value,
106
- disabled: e.isDisabled || e.disabled,
107
- placeholder: e.placeholder,
108
- onChange: k,
109
- "onUpdate:modelValue": V,
110
- onBlur: n[0] || (n[0] = (I) => u.value = !1),
111
- onFocus: n[1] || (n[1] = (I) => u.value = !0)
112
- }, null, 8, ["id", "class", "type", "model-value", "disabled", "placeholder"]),
113
- b(U, {
100
+ b(l.$slots, "default", { fieldId: i }, () => [
101
+ w(N, {
102
+ id: i,
103
+ class: "stash-input-options__input",
104
+ "data-test": "stash-input-options|input",
105
+ type: e.type,
106
+ "model-value": a.value,
107
+ disabled: e.isDisabled || e.disabled,
108
+ placeholder: e.placeholder,
109
+ onChange: k,
110
+ "onUpdate:modelValue": C,
111
+ onBlur: s[0] || (s[0] = (x) => c.value = !1),
112
+ onFocus: s[1] || (s[1] = (x) => c.value = !0)
113
+ }, null, 8, ["id", "type", "model-value", "disabled", "placeholder"])
114
+ ]),
115
+ w(U, {
114
116
  single: "",
115
117
  "hide-search": "",
116
118
  "prevent-empty": "",
117
- class: r(["stash-input-options__select tw-min-w-20", s(i).select]),
119
+ class: _(["stash-input-options__select tw-min-w-20", d(n).select]),
118
120
  "data-test": "stash-input-options|select",
119
- "no-truncate": a.noTruncate,
120
- options: a.options,
121
+ "no-truncate": l.noTruncate,
122
+ options: l.options,
121
123
  "model-value": t.value,
122
124
  "display-by": e.displayBy,
123
125
  "track-by": e.trackBy,
124
126
  disabled: e.isDisabled || e.disabled,
125
- "onUpdate:modelValue": C
127
+ "onUpdate:modelValue": I
126
128
  }, null, 8, ["class", "no-truncate", "options", "model-value", "display-by", "track-by", "disabled"])
127
129
  ], 2))
128
130
  ];
129
131
  }),
130
132
  _: 2
131
133
  }, [
132
- s(B).hint ? {
134
+ V.hint ? {
133
135
  name: "hint",
134
- fn: f(() => [
135
- F(a.$slots, "hint")
136
+ fn: h(() => [
137
+ b(l.$slots, "hint")
136
138
  ]),
137
139
  key: "0"
138
140
  } : void 0
139
141
  ]), 1040));
140
142
  }
141
- }), G = "_input_gn7he_2", H = "_select_gn7he_7", J = {
142
- input: G,
143
- select: H,
144
- "has-error": "_has-error_gn7he_16"
145
- }, K = {
146
- $style: J
147
- }, ee = /* @__PURE__ */ A(j, [["__cssModules", K]]);
143
+ }), G = "_select_1jmut_26", H = {
144
+ "input-wrapper": "_input-wrapper_1jmut_2",
145
+ "has-error": "_has-error_1jmut_14",
146
+ select: G
147
+ }, J = {
148
+ $style: H
149
+ }, Z = /* @__PURE__ */ z(P, [["__cssModules", J]]);
148
150
  export {
149
- ee as default
151
+ Z as default
150
152
  };
151
153
  //# sourceMappingURL=InputOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputOptions.js","sources":["../src/components/InputOptions/InputOptions.vue"],"sourcesContent":["<script lang=\"ts\">\n import { FieldProps } from '../Field/Field.types';\n import Field from '../Field/Field.vue';\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type Option = any;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type SelectedOption = any;\n\n export interface InputOptionsProps extends FieldProps {\n /**\n * The current value inclusive of the input & select\n */\n modelValue?: { value: string; option?: SelectedOption };\n\n /**\n * Input type\n */\n type?: string extends 'button' | 'checkbox' | 'radio' | 'submit' ? never : string;\n\n /**\n * Prevents the Selected Option from being truncated, if true\n */\n noTruncate?: boolean;\n\n /**\n * Options for the select\n */\n options?: Option[];\n\n /**\n * Placeholder text for the input\n * **Note:** placeholders should be used to display examples; they should not be used as labels because they are not accessible as labels. If a real label cannot be used, use the `aria-label` attribute.\n */\n placeholder?: string;\n\n /**\n * If `options` are an object, this is what prop to use for display.\n */\n displayBy?: string;\n\n /**\n * Default field to track selected options by.\n */\n trackBy?: string;\n }\n</script>\n\n<script lang=\"ts\" setup>\n import { ref, useAttrs, useCssModule, useSlots, watch, watchEffect } from 'vue';\n\n import Input from '../Input/Input.vue';\n import Select from '../Select/Select.vue';\n\n defineOptions({\n name: 'll-input-options',\n });\n\n const props = withDefaults(defineProps<InputOptionsProps>(), {\n modelValue: () => ({ value: '', option: undefined }),\n noTruncate: false,\n options: () => [],\n type: 'text',\n placeholder: undefined,\n displayBy: undefined,\n trackBy: undefined,\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when the model value changes\n */\n (\n e: 'update:model-value',\n v: { value?: string; option?: SelectedOption; isValueChange: boolean; type: 'input' | 'select' },\n ): void;\n /**\n * Emitted when either the input or select changes\n */\n (\n e: 'change',\n v: { value?: string; option?: SelectedOption; isValueChange: boolean; type: 'input' | 'select' },\n ): void;\n }>();\n\n const attrs = useAttrs();\n const slots = useSlots();\n const classes = useCssModule();\n const internalInput = ref<string>();\n const isInputFocused = ref(false);\n const selectedOption = ref<Option | undefined>();\n\n // Input value changed\n function handleInput(val?: string | number) {\n internalInput.value = String(val);\n\n emit('update:model-value', {\n value: internalInput.value,\n option: selectedOption.value,\n isValueChange: true,\n type: 'input',\n });\n }\n\n // Input blurred\n function handleInputChange() {\n emit('change', {\n value: internalInput.value,\n option: selectedOption.value,\n isValueChange: true,\n type: 'input',\n });\n }\n\n function handleSelectChange(val?: Option) {\n selectedOption.value = val;\n\n emit('change', {\n value: internalInput.value,\n option: selectedOption.value,\n isValueChange: false,\n type: 'select',\n });\n emit('update:model-value', {\n value: internalInput.value,\n option: selectedOption.value,\n isValueChange: false,\n type: 'select',\n });\n }\n\n watchEffect(() => {\n if (!selectedOption.value) {\n selectedOption.value = props.options[0];\n }\n });\n\n watch(\n () => props.modelValue.value,\n () => {\n internalInput.value = props.modelValue.value;\n },\n { immediate: true },\n );\n\n watch(\n () => props.modelValue.option,\n () => {\n selectedOption.value = props.modelValue.option;\n },\n { immediate: true },\n );\n\n if (attrs.value) {\n throw new Error('ll-input-options: use :model-value or v-model instead of :value.');\n }\n\n if (attrs.onInput) {\n throw new Error('ll-input-options: use the @update:model-value event instead of @input');\n }\n</script>\n\n<template>\n <Field v-bind=\"props\" class=\"stash-input-options\" data-test=\"stash-input-options\">\n <template #default=\"{ fieldId, labelId }\">\n <div v-if=\"props.isReadOnly\" class=\"tw-flex tw-h-input tw-items-center tw-text-sm\">\n <span :id=\"fieldId\" :aria-labelledby=\"labelId\" class=\"tw-h-min\"\n >{{ internalInput || 0 }} {{ selectedOption?.name }}</span\n >\n </div>\n <div v-else class=\"tw-flex\" :class=\"{ [classes['has-error']]: !!props.errorText }\">\n <Input\n :id=\"fieldId\"\n class=\"stash-input-options__input -tw-mr-[1px] tw-inline-block tw-flex-1\"\n :class=\"[classes.input, { 'tw-z-control': isInputFocused }]\"\n data-test=\"stash-input-options|input\"\n :type=\"props.type\"\n :model-value=\"internalInput\"\n :disabled=\"props.isDisabled || props.disabled\"\n :placeholder=\"props.placeholder\"\n @change=\"handleInputChange\"\n @update:model-value=\"handleInput\"\n @blur=\"isInputFocused = false\"\n @focus=\"isInputFocused = true\"\n />\n\n <Select\n single\n hide-search\n prevent-empty\n class=\"stash-input-options__select tw-min-w-20\"\n data-test=\"stash-input-options|select\"\n :class=\"classes.select\"\n :no-truncate=\"noTruncate\"\n :options=\"options\"\n :model-value=\"selectedOption\"\n :display-by=\"props.displayBy\"\n :track-by=\"props.trackBy\"\n :disabled=\"props.isDisabled || props.disabled\"\n @update:model-value=\"handleSelectChange\"\n />\n </div>\n </template>\n <template v-if=\"slots.hint\" #hint>\n <!-- @slot Hint slot for rendering text below the input -->\n <slot name=\"hint\"></slot>\n </template>\n </Field>\n</template>\n\n<style module>\n .input input {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n\n .select :global(.stash-select__content) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n\n .select:global(.stash-select--active .stash-select__content) {\n min-width: 0;\n }\n\n .has-error input,\n .has-error input:hover:not(:focus),\n .has-error :global(.stash-select__content),\n .has-error :global(.stash-select__content:hover:not(:focus)) {\n border-color: var(--color-red-500);\n }\n</style>\n"],"names":["props","__props","emit","__emit","attrs","useAttrs","slots","useSlots","classes","useCssModule","internalInput","ref","isInputFocused","selectedOption","handleInput","val","handleInputChange","handleSelectChange","watchEffect","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DE,UAAMA,IAAQC,GAURC,IAAOC,GAiBPC,IAAQC,EAAS,GACjBC,IAAQC,EAAS,GACjBC,IAAUC,EAAa,GACvBC,IAAgBC,EAAY,GAC5BC,IAAiBD,EAAI,EAAK,GAC1BE,IAAiBF,EAAwB;AAG/C,aAASG,EAAYC,GAAuB;AAC5B,MAAAL,EAAA,QAAQ,OAAOK,CAAG,GAEhCb,EAAK,sBAAsB;AAAA,QACzB,OAAOQ,EAAc;AAAA,QACrB,QAAQG,EAAe;AAAA,QACvB,eAAe;AAAA,QACf,MAAM;AAAA,MAAA,CACP;AAAA,IAAA;AAIH,aAASG,IAAoB;AAC3B,MAAAd,EAAK,UAAU;AAAA,QACb,OAAOQ,EAAc;AAAA,QACrB,QAAQG,EAAe;AAAA,QACvB,eAAe;AAAA,QACf,MAAM;AAAA,MAAA,CACP;AAAA,IAAA;AAGH,aAASI,EAAmBF,GAAc;AACxC,MAAAF,EAAe,QAAQE,GAEvBb,EAAK,UAAU;AAAA,QACb,OAAOQ,EAAc;AAAA,QACrB,QAAQG,EAAe;AAAA,QACvB,eAAe;AAAA,QACf,MAAM;AAAA,MAAA,CACP,GACDX,EAAK,sBAAsB;AAAA,QACzB,OAAOQ,EAAc;AAAA,QACrB,QAAQG,EAAe;AAAA,QACvB,eAAe;AAAA,QACf,MAAM;AAAA,MAAA,CACP;AAAA,IAAA;AAyBH,QAtBAK,EAAY,MAAM;AACZ,MAACL,EAAe,UACHA,EAAA,QAAQb,EAAM,QAAQ,CAAC;AAAA,IACxC,CACD,GAEDmB;AAAA,MACE,MAAMnB,EAAM,WAAW;AAAA,MACvB,MAAM;AACU,QAAAU,EAAA,QAAQV,EAAM,WAAW;AAAA,MACzC;AAAA,MACA,EAAE,WAAW,GAAK;AAAA,IACpB,GAEAmB;AAAA,MACE,MAAMnB,EAAM,WAAW;AAAA,MACvB,MAAM;AACW,QAAAa,EAAA,QAAQb,EAAM,WAAW;AAAA,MAC1C;AAAA,MACA,EAAE,WAAW,GAAK;AAAA,IACpB,GAEII,EAAM;AACF,YAAA,IAAI,MAAM,kEAAkE;AAGpF,QAAIA,EAAM;AACF,YAAA,IAAI,MAAM,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"InputOptions.js","sources":["../src/components/InputOptions/InputOptions.vue"],"sourcesContent":["<script lang=\"ts\">\n import { FieldProps } from '../Field/Field.types';\n import Field from '../Field/Field.vue';\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type Option = any;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type SelectedOption = any;\n\n export interface InputOptionsProps extends FieldProps {\n /**\n * The current value inclusive of the input & select\n */\n modelValue?: { value: string; option?: SelectedOption };\n\n /**\n * Input type\n */\n type?: string extends 'button' | 'checkbox' | 'radio' | 'submit' ? never : string;\n\n /**\n * Prevents the Selected Option from being truncated, if true\n */\n noTruncate?: boolean;\n\n /**\n * Options for the select\n */\n options?: Option[];\n\n /**\n * Placeholder text for the input\n * **Note:** placeholders should be used to display examples; they should not be used as labels because they are not accessible as labels. If a real label cannot be used, use the `aria-label` attribute.\n */\n placeholder?: string;\n\n /**\n * If `options` are an object, this is what prop to use for display.\n */\n displayBy?: string;\n\n /**\n * Default field to track selected options by.\n */\n trackBy?: string;\n }\n</script>\n\n<script lang=\"ts\" setup>\n import { ref, useAttrs, useCssModule, watch, watchEffect } from 'vue';\n\n import Input from '../Input/Input.vue';\n import Select from '../Select/Select.vue';\n\n defineOptions({\n name: 'll-input-options',\n });\n\n const props = withDefaults(defineProps<InputOptionsProps>(), {\n modelValue: () => ({ value: '', option: undefined }),\n noTruncate: false,\n options: () => [],\n type: 'text',\n placeholder: undefined,\n displayBy: undefined,\n trackBy: undefined,\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when the model value changes\n */\n (\n e: 'update:model-value',\n v: { value?: string; option?: SelectedOption; isValueChange: boolean; type: 'input' | 'select' },\n ): void;\n /**\n * Emitted when either the input or select changes\n */\n (\n e: 'change',\n v: { value?: string; option?: SelectedOption; isValueChange: boolean; type: 'input' | 'select' },\n ): void;\n }>();\n\n const slots = defineSlots<{\n /**\n * Default slot for rendering a custom input field.\n */\n default: (props: { fieldId: string }) => void;\n /**\n * Hint slot for rendering a custom hint text.\n */\n hint: () => void;\n }>();\n\n const attrs = useAttrs();\n const classes = useCssModule();\n const internalInput = ref<string>();\n const isInputFocused = ref(false);\n const selectedOption = ref<Option | undefined>();\n\n // Input value changed\n function handleInput(val?: string | number) {\n internalInput.value = String(val);\n\n emit('update:model-value', {\n value: internalInput.value,\n option: selectedOption.value,\n isValueChange: true,\n type: 'input',\n });\n }\n\n // Input blurred\n function handleInputChange() {\n emit('change', {\n value: internalInput.value,\n option: selectedOption.value,\n isValueChange: true,\n type: 'input',\n });\n }\n\n function handleSelectChange(val?: Option) {\n selectedOption.value = val;\n\n emit('change', {\n value: internalInput.value,\n option: selectedOption.value,\n isValueChange: false,\n type: 'select',\n });\n emit('update:model-value', {\n value: internalInput.value,\n option: selectedOption.value,\n isValueChange: false,\n type: 'select',\n });\n }\n\n watchEffect(() => {\n if (!selectedOption.value) {\n selectedOption.value = props.options[0];\n }\n });\n\n watch(\n () => props.modelValue.value,\n () => {\n internalInput.value = props.modelValue.value;\n },\n { immediate: true },\n );\n\n watch(\n () => props.modelValue.option,\n () => {\n selectedOption.value = props.modelValue.option;\n },\n { immediate: true },\n );\n\n if (attrs.value) {\n throw new Error('ll-input-options: use :model-value or v-model instead of :value.');\n }\n\n if (attrs.onInput) {\n throw new Error('ll-input-options: use the @update:model-value event instead of @input');\n }\n</script>\n\n<template>\n <Field v-bind=\"props\" class=\"stash-input-options\" data-test=\"stash-input-options\">\n <template #default=\"{ fieldId, labelId }\">\n <div v-if=\"props.isReadOnly\" class=\"tw-flex tw-h-input tw-items-center tw-text-sm\">\n <span :id=\"fieldId\" :aria-labelledby=\"labelId\" class=\"tw-h-min\">\n {{ internalInput || 0 }} {{ selectedOption?.name }}\n </span>\n </div>\n <div v-else class=\"tw-flex\" :class=\"[classes['input-wrapper'], { [classes['has-error']]: !!props.errorText }]\">\n <slot :field-id=\"fieldId\">\n <Input\n :id=\"fieldId\"\n class=\"stash-input-options__input\"\n data-test=\"stash-input-options|input\"\n :type=\"props.type\"\n :model-value=\"internalInput\"\n :disabled=\"props.isDisabled || props.disabled\"\n :placeholder=\"props.placeholder\"\n @change=\"handleInputChange\"\n @update:model-value=\"handleInput\"\n @blur=\"isInputFocused = false\"\n @focus=\"isInputFocused = true\"\n />\n </slot>\n\n <Select\n single\n hide-search\n prevent-empty\n class=\"stash-input-options__select tw-min-w-20\"\n data-test=\"stash-input-options|select\"\n :class=\"classes.select\"\n :no-truncate=\"noTruncate\"\n :options=\"options\"\n :model-value=\"selectedOption\"\n :display-by=\"props.displayBy\"\n :track-by=\"props.trackBy\"\n :disabled=\"props.isDisabled || props.disabled\"\n @update:model-value=\"handleSelectChange\"\n />\n </div>\n </template>\n <template v-if=\"slots.hint\" #hint>\n <!-- @slot Hint slot for rendering text below the input -->\n <slot name=\"hint\"></slot>\n </template>\n </Field>\n</template>\n\n<style module>\n .input-wrapper {\n & > div:has(input) {\n display: inline-block;\n flex: 1;\n margin-right: -1px;\n }\n\n & input {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n\n &.has-error input,\n &.has-error input:hover:not(:focus),\n &.has-error :global(.stash-select__content),\n &.has-error :global(.stash-select__content:hover:not(:focus)) {\n border-color: var(--color-red-500);\n }\n\n & div:has(input:focus) {\n z-index: 200 !important;\n }\n }\n\n .select :global(.stash-select__content) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n\n .select:global(.stash-select--active .stash-select__content) {\n min-width: 0;\n }\n</style>\n"],"names":["props","__props","emit","__emit","slots","_useSlots","attrs","useAttrs","classes","useCssModule","internalInput","ref","isInputFocused","selectedOption","handleInput","val","handleInputChange","handleSelectChange","watchEffect","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DE,UAAMA,IAAQC,GAURC,IAAOC,GAiBPC,IAAQC,EASV,GAEEC,IAAQC,EAAS,GACjBC,IAAUC,EAAa,GACvBC,IAAgBC,EAAY,GAC5BC,IAAiBD,EAAI,EAAK,GAC1BE,IAAiBF,EAAwB;AAG/C,aAASG,EAAYC,GAAuB;AAC5B,MAAAL,EAAA,QAAQ,OAAOK,CAAG,GAEhCb,EAAK,sBAAsB;AAAA,QACzB,OAAOQ,EAAc;AAAA,QACrB,QAAQG,EAAe;AAAA,QACvB,eAAe;AAAA,QACf,MAAM;AAAA,MAAA,CACP;AAAA,IAAA;AAIH,aAASG,IAAoB;AAC3B,MAAAd,EAAK,UAAU;AAAA,QACb,OAAOQ,EAAc;AAAA,QACrB,QAAQG,EAAe;AAAA,QACvB,eAAe;AAAA,QACf,MAAM;AAAA,MAAA,CACP;AAAA,IAAA;AAGH,aAASI,EAAmBF,GAAc;AACxC,MAAAF,EAAe,QAAQE,GAEvBb,EAAK,UAAU;AAAA,QACb,OAAOQ,EAAc;AAAA,QACrB,QAAQG,EAAe;AAAA,QACvB,eAAe;AAAA,QACf,MAAM;AAAA,MAAA,CACP,GACDX,EAAK,sBAAsB;AAAA,QACzB,OAAOQ,EAAc;AAAA,QACrB,QAAQG,EAAe;AAAA,QACvB,eAAe;AAAA,QACf,MAAM;AAAA,MAAA,CACP;AAAA,IAAA;AAyBH,QAtBAK,EAAY,MAAM;AACZ,MAACL,EAAe,UACHA,EAAA,QAAQb,EAAM,QAAQ,CAAC;AAAA,IACxC,CACD,GAEDmB;AAAA,MACE,MAAMnB,EAAM,WAAW;AAAA,MACvB,MAAM;AACU,QAAAU,EAAA,QAAQV,EAAM,WAAW;AAAA,MACzC;AAAA,MACA,EAAE,WAAW,GAAK;AAAA,IACpB,GAEAmB;AAAA,MACE,MAAMnB,EAAM,WAAW;AAAA,MACvB,MAAM;AACW,QAAAa,EAAA,QAAQb,EAAM,WAAW;AAAA,MAC1C;AAAA,MACA,EAAE,WAAW,GAAK;AAAA,IACpB,GAEIM,EAAM;AACF,YAAA,IAAI,MAAM,kEAAkE;AAGpF,QAAIA,EAAM;AACF,YAAA,IAAI,MAAM,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -91,8 +91,28 @@ value: string;
91
91
  option?: any;
92
92
  };
93
93
  noTruncate: boolean;
94
- }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
95
- hint?(_: {}): any;
94
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, Readonly<{
95
+ /**
96
+ * Default slot for rendering a custom input field.
97
+ */
98
+ default: (props: {
99
+ fieldId: string;
100
+ }) => void;
101
+ /**
102
+ * Hint slot for rendering a custom hint text.
103
+ */
104
+ hint: () => void;
105
+ }> & {
106
+ /**
107
+ * Default slot for rendering a custom input field.
108
+ */
109
+ default: (props: {
110
+ fieldId: string;
111
+ }) => void;
112
+ /**
113
+ * Hint slot for rendering a custom hint text.
114
+ */
115
+ hint: () => void;
96
116
  }>;
97
117
  export default _default;
98
118
 
@@ -2069,9 +2069,7 @@ default: boolean;
2069
2069
  };
2070
2070
  }>> & Readonly<{
2071
2071
  onChange?: ((v: {
2072
- value?: string | undefined; /**
2073
- * Text to render in EmptyState component if there are no results
2074
- */
2072
+ value?: string | undefined;
2075
2073
  option?: any;
2076
2074
  isValueChange: boolean;
2077
2075
  type: "input" | "select";
@@ -2090,9 +2088,7 @@ isValueChange: boolean;
2090
2088
  type: "input" | "select";
2091
2089
  }) => void;
2092
2090
  change: (v: {
2093
- value?: string | undefined; /**
2094
- * Text to render in EmptyState component if there are no results
2095
- */
2091
+ value?: string | undefined;
2096
2092
  option?: any;
2097
2093
  isValueChange: boolean;
2098
2094
  type: "input" | "select";
@@ -2188,9 +2184,7 @@ default: boolean;
2188
2184
  };
2189
2185
  }>> & Readonly<{
2190
2186
  onChange?: ((v: {
2191
- value?: string | undefined; /**
2192
- * Text to render in EmptyState component if there are no results
2193
- */
2187
+ value?: string | undefined;
2194
2188
  option?: any;
2195
2189
  isValueChange: boolean;
2196
2190
  type: "input" | "select";
@@ -2289,9 +2283,7 @@ default: boolean;
2289
2283
  };
2290
2284
  }>> & Readonly<{
2291
2285
  onChange?: ((v: {
2292
- value?: string | undefined; /**
2293
- * Text to render in EmptyState component if there are no results
2294
- */
2286
+ value?: string | undefined;
2295
2287
  option?: any;
2296
2288
  isValueChange: boolean;
2297
2289
  type: "input" | "select";
@@ -2310,9 +2302,7 @@ isValueChange: boolean;
2310
2302
  type: "input" | "select";
2311
2303
  }) => void;
2312
2304
  change: (v: {
2313
- value?: string | undefined; /**
2314
- * Text to render in EmptyState component if there are no results
2315
- */
2305
+ value?: string | undefined;
2316
2306
  option?: any;
2317
2307
  isValueChange: boolean;
2318
2308
  type: "input" | "select";
@@ -2329,8 +2319,20 @@ option?: any;
2329
2319
  };
2330
2320
  noTruncate: boolean;
2331
2321
  }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
2332
- $slots: {
2333
- hint?(_: {}): any;
2322
+ $slots: Readonly<{
2323
+ default: (props: {
2324
+ fieldId: string;
2325
+ }) => void; /**
2326
+ * Make search fuzzy. Only for client side search.
2327
+ */
2328
+ hint: () => void;
2329
+ }> & {
2330
+ default: (props: {
2331
+ fieldId: string;
2332
+ }) => void; /**
2333
+ * Make search fuzzy. Only for client side search.
2334
+ */
2335
+ hint: () => void;
2334
2336
  };
2335
2337
  });
2336
2338
  'll-radio': DefineComponent<ExtractPropTypes< {