@ironsource/shared-ui 2.1.3-rc.10 → 2.1.3-rc.12

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 (62) hide show
  1. package/AppHeader.vue_vue_type_style_index_0_scoped_f9d4e49d_lang.css +1 -0
  2. package/Autocomplete.vue_vue_type_style_index_0_scoped_e36c9442_lang.css +1 -0
  3. package/DataGrid.vue_vue_type_style_index_0_scoped_9b108af3_lang.css +1 -0
  4. package/FormRow.vue_vue_type_style_index_0_scoped_fc3897fd_lang.css +1 -0
  5. package/HelpIcon.vue_vue_type_style_index_0_scoped_7a611779_lang.css +1 -0
  6. package/components/appHeader/AppHeader.vue.js +3 -3
  7. package/components/appHeader/AppHeader.vue2.js +29 -26
  8. package/components/autocomplete/Autocomplete.vue.d.ts +117 -0
  9. package/components/autocomplete/Autocomplete.vue.js +7 -0
  10. package/components/autocomplete/Autocomplete.vue2.js +84 -0
  11. package/components/autocomplete/index.d.ts +366 -0
  12. package/components/autocomplete/index.js +6 -0
  13. package/components/checkbox/v3/index.d.ts +12 -12
  14. package/components/checkbox/v4/index.d.ts +12 -12
  15. package/components/chip/v3/Chip.vue.d.ts +1 -1
  16. package/components/chip/v3/index.d.ts +20 -20
  17. package/components/chip/v4/ChipV4.vue.d.ts +1 -1
  18. package/components/chip/v4/index.d.ts +20 -20
  19. package/components/dialog/v4/index.d.ts +16 -16
  20. package/components/dropdown/v3/Dropdown.vue.d.ts +11 -11
  21. package/components/dropdown/v3/index.d.ts +159 -159
  22. package/components/dropdown/v4/AppDropdownTrigger.vue.d.ts +4 -4
  23. package/components/dropdown/v4/ChipDropdownTrigger.vue.d.ts +1 -1
  24. package/components/dropdown/v4/DefaultDropdownTrigger.vue.d.ts +7 -7
  25. package/components/dropdown/v4/DropdownV4.vue.d.ts +13 -13
  26. package/components/dropdown/v4/index.d.ts +573 -573
  27. package/components/filterDropdown/index.d.ts +8 -8
  28. package/components/forms/FormRow.vue.js +2 -2
  29. package/components/forms/FormRow.vue2.js +9 -9
  30. package/components/includeExclude/IncludeExclude.vue.d.ts +3 -3
  31. package/components/includeExclude/IncludeExcludeAppHeader.vue.d.ts +2 -2
  32. package/components/includeExclude/IncludeExcludeChipFilter.vue.d.ts +3 -3
  33. package/components/includeExclude/IncludeExcludeDragDrop.vue.d.ts +3 -3
  34. package/components/includeExclude/index.d.ts +168 -168
  35. package/components/input/v3/Input.vue.d.ts +3 -3
  36. package/components/input/v3/index.d.ts +82 -82
  37. package/components/input/v4/TextField.vue.d.ts +6 -6
  38. package/components/input/v4/index.d.ts +115 -115
  39. package/components/table/common/Table.types.d.ts +3 -0
  40. package/components/table/v4/DataGrid.vue.d.ts +2 -2
  41. package/components/table/v4/DataGrid.vue.js +3 -3
  42. package/components/table/v4/DataGrid.vue2.js +129 -123
  43. package/components/table/v4/HelpIcon.vue.d.ts +40 -0
  44. package/components/table/v4/HelpIcon.vue.js +7 -0
  45. package/components/table/v4/HelpIcon.vue2.js +32 -0
  46. package/components/table/v4/index.d.ts +39 -39
  47. package/components/table-cells/v4/EditableV4.vue.d.ts +1 -1
  48. package/components/table-cells/v4/index.d.ts +20 -20
  49. package/components/textArea/v4/TextAreaV4.vue.d.ts +3 -3
  50. package/components/textArea/v4/index.d.ts +23 -23
  51. package/components/toggle/v3/Toggle.vue.d.ts +1 -1
  52. package/components/toggle/v3/index.d.ts +9 -9
  53. package/components/toggle/v4/ToggleV4.vue.d.ts +1 -1
  54. package/components/toggle/v4/index.d.ts +28 -28
  55. package/index.d.ts +1869 -1868
  56. package/index.js +74 -70
  57. package/package.json +5 -1
  58. package/testids/index.d.ts +2 -1
  59. package/testids/index.js +10 -10
  60. package/AppHeader.vue_vue_type_style_index_0_scoped_95908b8d_lang.css +0 -1
  61. package/DataGrid.vue_vue_type_style_index_0_scoped_4baf9e57_lang.css +0 -1
  62. package/FormRow.vue_vue_type_style_index_0_scoped_c5265707_lang.css +0 -1
@@ -0,0 +1 @@
1
+ .app-header[data-v-f9d4e49d]{display:flex}.app-header .image-container[data-v-f9d4e49d]{height:3rem;width:3rem;border-radius:.25rem}.app-header .image-container img[data-v-f9d4e49d]{min-width:100%;max-width:100%;max-height:100%;object-fit:cover;border-radius:.25rem}.app-header .icon-container[data-v-f9d4e49d]{color:var(--action-active);display:flex;align-items:center;padding:0 .5rem}.app-header .name-container .title[data-v-f9d4e49d]{color:var(--text-primary)}.app-header .name-container .inline-copy[data-v-f9d4e49d]{color:var(--text-secondary)}.app-header.size-small[data-v-f9d4e49d]{align-items:center}.app-header.size-small .image-container[data-v-f9d4e49d]{height:2rem;width:2rem;border-radius:.375rem}.app-header.size-small .image-container img[data-v-f9d4e49d]{border-radius:.375rem}.app-header.size-small .icon-container[data-v-f9d4e49d]{padding:0 .25rem}.app-header.size-small .name-container[data-v-f9d4e49d]{display:flex}
@@ -0,0 +1 @@
1
+ div[data-v-e36c9442]{display:block}
@@ -0,0 +1 @@
1
+ .sticky[data-v-9b108af3]{position:sticky}.table-container[data-v-9b108af3]{width:100%;position:relative;display:flex;flex-direction:column}.table-header[data-v-9b108af3]{display:flex;align-items:center;height:calc(var(--spacing-800) - 1px);border-bottom:1px solid var(--common-divider);background-color:var(--background-paper-elevation-0);position:sticky;left:0;padding:var(--spacing-300)}.table-header .table-title[data-v-9b108af3]{display:flex;flex:1;align-items:center;justify-content:flex-start;height:100%;color:var(--text-primary)}.table-header .table-header-right[data-v-9b108af3]{display:flex;align-items:center;height:100%}.table-header .search-wrapper[data-v-9b108af3]{width:13.75rem}.table-header.isStickyHeader[data-v-9b108af3]{z-index:calc(var(--634e78fd) + 3);top:0}.table-head-container[data-v-9b108af3]{display:flex;align-items:center;white-space:nowrap;color:var(--text-primary)}.table-footer[data-v-9b108af3]{color:var(--text-primary);background-color:var(--background-paper-elevation-0);padding:0 var(--spacing-300);display:flex;align-items:center;min-height:var(--spacing-600);border:1px solid var(--common-divider);border-radius:var(--border-radius-md);border-top-right-radius:0;border-top-left-radius:0}.table-body-wrapper[data-v-9b108af3]{display:inline-table}.table-header-actions[data-v-9b108af3]{margin-left:var(--spacing-100);display:flex;align-items:center}.table-row[data-v-9b108af3]{position:relative}.table-row.loading[data-v-9b108af3]{opacity:.7}.table-row:not(.expanded):last-child>td[data-v-9b108af3]{border-bottom:none}.table-row.expanded:last-child>.expanded-row[data-v-9b108af3]{border-bottom:none}.expanded-row[data-v-9b108af3]{grid-column:var(--279a8c9e);border-bottom:1px solid var(--common-divider);background-color:var(--background-default)}table[data-v-9b108af3]{position:relative;display:block;overflow:auto;background:var(--background-paper-elevation-0);border:1px solid var(--common-divider);color:var(--text-primary);text-align:left;table-layout:fixed;width:100%;max-height:100%;border-radius:var(--border-radius-md)}table.hasFooter[data-v-9b108af3]{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}table td[data-v-9b108af3],table th[data-v-9b108af3]{line-height:normal;padding:0 var(--spacing-200)}table td[data-v-9b108af3]:first-of-type,table th[data-v-9b108af3]:first-of-type{padding-left:var(--spacing-300)}table td[data-v-9b108af3]:last-of-type,table th[data-v-9b108af3]:last-of-type{padding-right:var(--spacing-300)}table td.expand-toggle-cell[data-v-9b108af3],table th.expand-toggle-cell[data-v-9b108af3]{padding-left:var(--spacing-150);padding-right:var(--spacing-75)}table>thead[data-v-9b108af3]{border-bottom:none;z-index:calc(var(--634e78fd) + 1);display:inline-table;min-width:100%}table>thead>tr[data-v-9b108af3]{color:var(--text-primary);border-bottom:1px solid var(--common-divider);height:var(--spacing-500);display:grid;grid-template-columns:var(--7237246a)}table>thead>tr>th[data-v-9b108af3]{background:var(--background-paper-elevation-0);width:100%;display:flex;align-items:center;cursor:default}table>thead>tr>th.bordered[data-v-9b108af3]{border-right:1px solid var(--common-divider)}table>thead>tr>th.bordered.isStickyRight[data-v-9b108af3]{border-right:none;border-left:1px solid var(--common-divider)}table>thead>tr>th.isTextRight[data-v-9b108af3]{justify-content:flex-end}table>thead>tr>th.isSortable[data-v-9b108af3]{cursor:pointer}table>thead.sticky[data-v-9b108af3]{position:sticky;top:0;background:white}table>thead.isStickyHeader[data-v-9b108af3]{z-index:calc(var(--634e78fd) + 2);top:calc(var(--spacing-800) - 1px)}table>tbody[data-v-9b108af3]{display:block}table>tbody>*>tr[data-v-9b108af3]{background-color:var(--background-default);min-height:var(--79cce51c);height:auto;display:grid;align-items:center;grid-template-columns:var(--7237246a)}table>tbody>*>tr:nth-of-type(2n)>td[data-v-9b108af3]{background-color:var(--background-default)}table>tbody>*>tr:hover:not(.loading)>td[data-v-9b108af3],table>tbody>*>tr.activeMenu>td[data-v-9b108af3]{background-color:var(--background-paper-elevation-1)}table>tbody td[data-v-9b108af3]{background-color:var(--background-default);border:none;min-width:0;display:flex;min-height:var(--79cce51c);height:auto;width:100%;place-items:center;border-bottom:1px solid var(--common-divider);justify-content:start}table>tbody td.bordered[data-v-9b108af3]{border-right:1px solid var(--common-divider)}table>tbody td.bordered.isStickyRight[data-v-9b108af3]{border-right:none;border-left:1px solid var(--common-divider)}table>tbody td.isTextRight[data-v-9b108af3]{justify-content:flex-end;text-align:right}.section-container[data-v-9b108af3]{left:0}.sections[data-v-9b108af3]{display:flex}.section[data-v-9b108af3]{padding:0 1.5rem;background:var(--background-default);left:0;height:32px;display:flex;align-items:flex-end;border-right:1px solid var(--common-divider)}.table-cell[data-v-9b108af3]{width:100%}.empty-state[data-v-9b108af3]{min-height:250px}
@@ -0,0 +1 @@
1
+ .form-row[data-v-fc3897fd]{display:flex;height:auto;gap:1.5rem;align-items:baseline}.form-row .label-container[data-v-fc3897fd]{display:flex;align-items:center;min-height:1.75rem;height:100%;width:12.875rem;gap:.25rem;flex-shrink:0}.form-row .label-container[data-v-fc3897fd] .field-label{margin-bottom:0}.form-row .content[data-v-fc3897fd]{display:flex;flex-direction:column;align-items:stretch;gap:.25rem;width:100%}
@@ -0,0 +1 @@
1
+ .table-help-icon[data-v-7a611779]{margin-left:var(--spacing-50);color:var(--action-active);margin-right:calc(var(--spacing-50) * -1)}
@@ -1,7 +1,7 @@
1
1
  import e from "./AppHeader.vue2.js";
2
2
  /* empty css */import o from "../../_virtual/_plugin-vue_export-helper.js";
3
- // import "../../AppHeader.vue_vue_type_style_index_0_scoped_95908b8d_lang.css"; //*');
4
- const t = /* @__PURE__ */ o(e, [["__scopeId", "data-v-95908b8d"]]);
3
+ // import "../../AppHeader.vue_vue_type_style_index_0_scoped_f9d4e49d_lang.css"; //*');
4
+ const s = /* @__PURE__ */ o(e, [["__scopeId", "data-v-f9d4e49d"]]);
5
5
  export {
6
- t as default
6
+ s as default
7
7
  };
@@ -1,10 +1,10 @@
1
- import "../../AppHeader.vue_vue_type_style_index_0_scoped_95908b8d_lang.css"; import { defineComponent as p, computed as o, openBlock as u, createElementBlock as f, normalizeClass as y, createElementVNode as n, createVNode as i, unref as e, mergeProps as h, withCtx as x, createTextVNode as I, toDisplayString as v } from "vue";
1
+ import "../../AppHeader.vue_vue_type_style_index_0_scoped_f9d4e49d_lang.css"; import { defineComponent as f, computed as n, openBlock as u, createElementBlock as y, normalizeClass as h, createElementVNode as o, mergeProps as r, unref as e, createVNode as i, withCtx as x, createTextVNode as I, toDisplayString as v } from "vue";
2
2
  import z from "../icon/v4/IconV4.vue.js";
3
3
  import g from "../typography/v4/Typography.vue.js";
4
- import C from "../inlineCopy/InlineCopy.vue.js";
5
- import { useTestIdAttrs as T } from "../../utils/testIds.js";
6
- import { AppHeaderTestIdModifiers as s } from "../../testids/index.js";
7
- const A = { class: "image-container" }, N = ["src", "alt"], S = { class: "icon-container" }, b = { class: "name-container" }, D = /* @__PURE__ */ p({
4
+ import T from "../inlineCopy/InlineCopy.vue.js";
5
+ import { useTestIdAttrs as A } from "../../utils/testIds.js";
6
+ import { AppHeaderTestIdModifiers as l } from "../../testids/index.js";
7
+ const C = { class: "image-container" }, N = ["src", "alt"], P = ["data-platform"], S = { class: "name-container" }, K = /* @__PURE__ */ f({
8
8
  __name: "AppHeader",
9
9
  props: {
10
10
  image: { default: "" },
@@ -15,49 +15,52 @@ const A = { class: "image-container" }, N = ["src", "alt"], S = { class: "icon-c
15
15
  type: { default: "normal" }
16
16
  },
17
17
  setup(t) {
18
- const a = t, l = o(
18
+ const a = t, d = n(
19
19
  () => a.platform ? a.platform.toLowerCase() : ""
20
- ), r = o(
20
+ ), m = n(
21
21
  () => a.type === "normal" ? "24px" : "20px"
22
- ), d = o(
22
+ ), c = n(
23
23
  () => a.type === "small" ? "18px" : null
24
- ), m = o(
24
+ ), p = n(
25
25
  () => a.type === "normal" ? "h2" : "subtitle1"
26
- ), c = T(a.testId, s);
27
- return (E, V) => (u(), f("div", {
28
- class: y(["app-header", `size-${t.type}`])
26
+ ), s = A(a.testId, l);
27
+ return (b, E) => (u(), y("div", {
28
+ class: h(["app-header", `size-${t.type}`])
29
29
  }, [
30
- n("div", A, [
31
- n("img", {
30
+ o("div", C, [
31
+ o("img", {
32
32
  src: t.image,
33
33
  alt: t.name
34
34
  }, null, 8, N)
35
35
  ]),
36
- n("div", S, [
36
+ o("div", r({
37
+ class: "icon-container",
38
+ "data-platform": t.platform
39
+ }, e(s)[e(l).APP_PLATFORM]), [
37
40
  i(e(z), {
38
41
  type: "branded",
39
- name: e(l),
40
- size: e(r)
42
+ name: e(d),
43
+ size: e(m)
41
44
  }, null, 8, ["name", "size"])
42
- ]),
43
- n("div", b, [
44
- i(e(g), h({
45
- variant: e(m),
45
+ ], 16, P),
46
+ o("div", S, [
47
+ i(e(g), r({
48
+ variant: e(p),
46
49
  class: "title"
47
- }, e(c)[e(s).TITLE]), {
50
+ }, e(s)[e(l).TITLE]), {
48
51
  default: x(() => [
49
52
  I(v(t.name), 1)
50
53
  ]),
51
54
  _: 1
52
55
  }, 16, ["variant"]),
53
- n("div", null, [
54
- i(e(C), {
56
+ o("div", null, [
57
+ i(e(T), {
55
58
  text: t.appKey,
56
59
  size: "medium",
57
60
  class: "inline-copy",
58
61
  "hide-text-value": t.type === "small",
59
62
  "test-id": t.testId,
60
- "icon-size": e(d)
63
+ "icon-size": e(c)
61
64
  }, null, 8, ["text", "hide-text-value", "test-id", "icon-size"])
62
65
  ])
63
66
  ])
@@ -65,5 +68,5 @@ const A = { class: "image-container" }, N = ["src", "alt"], S = { class: "icon-c
65
68
  }
66
69
  });
67
70
  export {
68
- D as default
71
+ K as default
69
72
  };
@@ -0,0 +1,117 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
2
+ modelValue?: string | number;
3
+ placeholder?: string;
4
+ disabled?: boolean;
5
+ size?: "small" | "medium" | "large";
6
+ label?: string;
7
+ labelDirection?: "top" | "inside";
8
+ mandatory?: boolean;
9
+ hoverHelpText?: string;
10
+ hoverHelpTextPlacement?: "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
11
+ options: unknown[] | {
12
+ id: string;
13
+ text: string;
14
+ }[];
15
+ displayValue?: (option: unknown) => string;
16
+ optionNameKey?: string;
17
+ optionsListWidth?: string;
18
+ onSearch?: (option: any, term: string) => boolean;
19
+ testId?: string;
20
+ }>, {
21
+ modelValue: string;
22
+ placeholder: string;
23
+ disabled: boolean;
24
+ size: string;
25
+ label: string;
26
+ labelDirection: string;
27
+ mandatory: boolean;
28
+ hoverHelpText: string;
29
+ hoverHelpTextPlacement: string;
30
+ displayValue: (option: unknown) => string;
31
+ onSearch: any;
32
+ optionNameKey: string;
33
+ optionsListWidth: any;
34
+ testId: string;
35
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
36
+ "update:modelValue": (value: string | number) => void;
37
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
38
+ modelValue?: string | number;
39
+ placeholder?: string;
40
+ disabled?: boolean;
41
+ size?: "small" | "medium" | "large";
42
+ label?: string;
43
+ labelDirection?: "top" | "inside";
44
+ mandatory?: boolean;
45
+ hoverHelpText?: string;
46
+ hoverHelpTextPlacement?: "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
47
+ options: unknown[] | {
48
+ id: string;
49
+ text: string;
50
+ }[];
51
+ displayValue?: (option: unknown) => string;
52
+ optionNameKey?: string;
53
+ optionsListWidth?: string;
54
+ onSearch?: (option: any, term: string) => boolean;
55
+ testId?: string;
56
+ }>, {
57
+ modelValue: string;
58
+ placeholder: string;
59
+ disabled: boolean;
60
+ size: string;
61
+ label: string;
62
+ labelDirection: string;
63
+ mandatory: boolean;
64
+ hoverHelpText: string;
65
+ hoverHelpTextPlacement: string;
66
+ displayValue: (option: unknown) => string;
67
+ onSearch: any;
68
+ optionNameKey: string;
69
+ optionsListWidth: any;
70
+ testId: string;
71
+ }>>> & {
72
+ "onUpdate:modelValue"?: (value: string | number) => any;
73
+ }, {
74
+ label: string;
75
+ disabled: boolean;
76
+ size: "small" | "medium" | "large";
77
+ mandatory: boolean;
78
+ testId: string;
79
+ hoverHelpText: string;
80
+ hoverHelpTextPlacement: "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
81
+ modelValue: string | number;
82
+ placeholder: string;
83
+ labelDirection: "top" | "inside";
84
+ onSearch: (option: any, term: string) => boolean;
85
+ displayValue: (option: unknown) => string;
86
+ optionNameKey: string;
87
+ optionsListWidth: string;
88
+ }>, {
89
+ default?(_: {
90
+ option: unknown;
91
+ selected: boolean;
92
+ active: boolean;
93
+ }): any;
94
+ }>;
95
+ export default _default;
96
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
97
+ type __VLS_TypePropsToRuntimeProps<T> = {
98
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
99
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
100
+ } : {
101
+ type: import('vue').PropType<T[K]>;
102
+ required: true;
103
+ };
104
+ };
105
+ type __VLS_WithDefaults<P, D> = {
106
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
107
+ default: D[K];
108
+ }> : P[K];
109
+ };
110
+ type __VLS_Prettify<T> = {
111
+ [K in keyof T]: T[K];
112
+ } & {};
113
+ type __VLS_WithTemplateSlots<T, S> = T & {
114
+ new (): {
115
+ $slots: S;
116
+ };
117
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./Autocomplete.vue2.js";
2
+ /* empty css */import e from "../../_virtual/_plugin-vue_export-helper.js";
3
+ // import "../../Autocomplete.vue_vue_type_style_index_0_scoped_e36c9442_lang.css"; //*');
4
+ const p = /* @__PURE__ */ e(o, [["__scopeId", "data-v-e36c9442"]]);
5
+ export {
6
+ p as default
7
+ };
@@ -0,0 +1,84 @@
1
+ import "../../Autocomplete.vue_vue_type_style_index_0_scoped_e36c9442_lang.css"; import { defineComponent as c, computed as h, ref as r, watchEffect as b, openBlock as y, createBlock as V, unref as u, withCtx as f, createVNode as x, isRef as g, renderSlot as w, normalizeProps as F, guardReactiveProps as S } from "vue";
2
+ import k from "../dropdown/v4/DropdownV4.vue.js";
3
+ import "../dropdown/v4/DefaultDropdownTrigger.vue.js";
4
+ import "../dropdown/v4/IconButtonDropdownTrigger.vue.js";
5
+ import "../dropdown/v4/ChipDropdownTrigger.vue.js";
6
+ import "../dropdown/v4/AppDropdownTrigger.vue.js";
7
+ import "../dropdown/v4/OptionV4.vue.js";
8
+ import z from "../input/v4/TextField.vue.js";
9
+ import { useVModel as I } from "@vueuse/core";
10
+ const K = /* @__PURE__ */ c({
11
+ __name: "Autocomplete",
12
+ props: {
13
+ modelValue: { default: "" },
14
+ placeholder: { default: "" },
15
+ disabled: { type: Boolean, default: !1 },
16
+ size: { default: "small" },
17
+ label: { default: "" },
18
+ labelDirection: { default: "top" },
19
+ mandatory: { type: Boolean, default: !1 },
20
+ hoverHelpText: { default: "" },
21
+ hoverHelpTextPlacement: { default: "top" },
22
+ options: null,
23
+ displayValue: { type: Function, default: (e) => e.toString() },
24
+ optionNameKey: { default: "" },
25
+ optionsListWidth: { default: null },
26
+ onSearch: { type: Function, default: null },
27
+ testId: { default: "" }
28
+ },
29
+ emits: ["update:modelValue"],
30
+ setup(e, { emit: p }) {
31
+ const a = e, d = I(a, "modelValue", p), m = (l) => {
32
+ l !== void 0 && (d.value = a.displayValue(l));
33
+ }, n = h(
34
+ () => (a.options || []).filter((l) => a.displayValue(l) !== d.value.toString()).filter((l) => a.onSearch(l, d.value.toString()))
35
+ ), o = r(!1), s = r(!1);
36
+ b(() => {
37
+ a.disabled ? o.value = !1 : s.value && n.value.length ? o.value = !0 : n.value.length === 0 && (o.value = !1);
38
+ });
39
+ const v = () => {
40
+ a.disabled || !o.value && n.value.length && (o.value = !0);
41
+ };
42
+ return (l, t) => (y(), V(u(k), {
43
+ "is-open": o.value,
44
+ "onUpdate:is-open": t[3] || (t[3] = (i) => o.value = i),
45
+ class: "autocomplete-dropdown",
46
+ "display-value": e.displayValue,
47
+ options: u(n),
48
+ "option-name-key": e.optionNameKey,
49
+ "options-list-width": e.optionsListWidth,
50
+ disabled: e.disabled,
51
+ "search-auto-focus": !1,
52
+ "full-width": !1,
53
+ "test-id": e.testId,
54
+ "onUpdate:selected": m
55
+ }, {
56
+ "dropdown-trigger": f(() => [
57
+ x(u(z), {
58
+ modelValue: u(d),
59
+ "onUpdate:modelValue": t[0] || (t[0] = (i) => g(d) ? d.value = i : null),
60
+ class: "autocomplete-field",
61
+ placeholder: e.placeholder,
62
+ disabled: e.disabled,
63
+ size: e.size,
64
+ label: e.label,
65
+ "label-direction": e.labelDirection,
66
+ mandatory: e.mandatory,
67
+ "hover-help-text": e.hoverHelpText,
68
+ "hover-help-text-placemen": e.hoverHelpTextPlacement,
69
+ "test-id": e.testId,
70
+ onFocusin: t[1] || (t[1] = (i) => s.value = !0),
71
+ onFocusout: t[2] || (t[2] = (i) => s.value = !1),
72
+ onClick: v
73
+ }, null, 8, ["modelValue", "placeholder", "disabled", "size", "label", "label-direction", "mandatory", "hover-help-text", "hover-help-text-placemen", "test-id"])
74
+ ]),
75
+ default: f((i) => [
76
+ w(l.$slots, "default", F(S(i)), void 0, !0)
77
+ ]),
78
+ _: 3
79
+ }, 8, ["is-open", "display-value", "options", "option-name-key", "options-list-width", "disabled", "test-id"]));
80
+ }
81
+ });
82
+ export {
83
+ K as default
84
+ };