@knime/jsonforms 0.1.7 → 1.0.1

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 (223) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +71 -70
  3. package/dist/AnyOfTwinlist-B_ZhgekG.js +20 -0
  4. package/dist/BaseButton-arvXMjXG.js +112 -0
  5. package/dist/Button-Bc51Uur8.js +83 -0
  6. package/dist/Checkbox-BxPISyW3.js +75 -0
  7. package/dist/CheckboxControl-B-RyvD0K.js +42 -0
  8. package/dist/{Checkboxes-C6FkTqJJ.js → Checkboxes-COtqblKj.js} +11 -10
  9. package/dist/CheckboxesControl-YyKWzrxj.js +38 -0
  10. package/dist/ColumnFilter-bO-fKaHD.js +22 -0
  11. package/dist/ColumnSelect-D0vqxZ2B.js +65 -0
  12. package/dist/{ComboBoxControl-ZCl7sHRN.js → ComboBoxControl-CLL5eRHX.js} +127 -126
  13. package/dist/DateControl-v0qHckKz.js +27 -0
  14. package/dist/DateTimeControl-COnMFfMd.js +47 -0
  15. package/dist/DateTimeInput-ltP7o2TE.js +11059 -0
  16. package/dist/Dropdown-By1NMrXZ.js +691 -0
  17. package/dist/{DropdownControl-BFnea4SN.js → DropdownControl-Eb3G4P0X.js} +1 -1
  18. package/dist/DropdownControl.vue_vue_type_script_setup_true_lang-Cfmqdv7v.js +223 -0
  19. package/dist/ErrorMessage-fuIcc8xw.js +23 -0
  20. package/dist/FunctionButton-DBec3TQi.js +75 -0
  21. package/dist/HorizontalLayout-Dsv1qfyL.js +30 -0
  22. package/dist/InputField-BKH5rtn3.js +148 -0
  23. package/dist/IntegerControl-CBuOHc4B.js +18 -0
  24. package/dist/{IntervalControl-CsuXbPwA.js → IntervalControl-JL6QGHT2.js} +214 -216
  25. package/dist/{MultiselectListBox-BWKtEC8t.js → MultiselectListBox-Dv5n9S3f.js} +4 -3
  26. package/dist/NameFilter-oHBcHQTY.js +22 -0
  27. package/dist/NumberControl-Cwf50Oe-.js +18 -0
  28. package/dist/NumberControlBase.vue_vue_type_script_setup_true_lang-C_g1bVI2.js +42 -0
  29. package/dist/{NumberInput-84bJjfB4.js → NumberInput-DERn3NyL.js} +9 -7
  30. package/dist/OneOfDropdown-kY3PQFJX.js +32 -0
  31. package/dist/RadioControl-DsVkQLSI.js +22 -0
  32. package/dist/RadioControlBase.vue_vue_type_script_setup_true_lang-BsA00YLx.js +106 -0
  33. package/dist/{RichTextControl-DgdPhNzf.js → RichTextControl-DXH5XiAI.js} +4595 -3481
  34. package/dist/SectionLayout-BDgtf57K.js +43 -0
  35. package/dist/SimpleButtonControl-6d7wNl3P.js +58 -0
  36. package/dist/SimpleTwinlistControl-CJyR3gN8.js +48 -0
  37. package/dist/SortListControl-On9GHu_U.js +356 -0
  38. package/dist/TextAreaControl-DF_pLD80.js +108 -0
  39. package/dist/TextControl-BTZ4ONmV.js +4 -0
  40. package/dist/TextControl.vue_vue_type_script_setup_true_lang-CYfvYMWm.js +65 -0
  41. package/dist/{TimeControl-D07XI-Sl.js → TimeControl-D2j2e_nC.js} +122 -124
  42. package/dist/TwinlistControl-DcFpZrni.js +553 -0
  43. package/dist/{TwinlistLoadingInfo-DHKwC-WM.js → TwinlistLoadingInfo-CTVlN9EZ.js} +183 -175
  44. package/dist/{ValueSwitch-DXmeJXda.js → ValueSwitch-CpE1f4ie.js} +1 -1
  45. package/dist/ValueSwitchControl-BQFL8H6P.js +18 -0
  46. package/dist/VerticalLayout-D1KXulG4.js +30 -0
  47. package/dist/{VerticalLayoutBase-CI2PQj0c.js → VerticalLayoutBase-D-NdtOho.js} +2 -2
  48. package/dist/VerticalLayoutBase.vue_vue_type_style_index_0_scoped_03d90ec1_lang-BmCXzwjJ.js +13201 -0
  49. package/dist/_baseAssignValue-C56BMUo_.js +19 -0
  50. package/dist/_baseEach-1sO8_8tT.js +31 -0
  51. package/dist/_baseIsEqual-d71B2UwX.js +248 -0
  52. package/dist/_baseIteratee-BgB8cpN8.js +104 -0
  53. package/dist/_getTag-BiNJdVyP.js +314 -0
  54. package/dist/arrow-dropdown-DjUxzjqC.js +17 -0
  55. package/dist/close-h7XT0ja0.js +17 -0
  56. package/dist/floating-ui.vue.esm-CDpUY3-t.js +986 -0
  57. package/dist/getPossibleValuesFromUiSchema-BFJtj-id.js +40 -0
  58. package/dist/index-BrIvBSNK-BRWnkVln.js +685 -0
  59. package/dist/index-C1PjXAJX.js +17 -0
  60. package/dist/index-Cp7Xre_V.js +331 -0
  61. package/dist/isObject-B53jY8Qg.js +7 -0
  62. package/dist/isSymbol-DLKDpjGl.js +8 -0
  63. package/dist/knime-jsonforms.css +1 -1
  64. package/dist/knime-jsonforms.d.ts +2 -0
  65. package/dist/knime-jsonforms.js +119 -3
  66. package/dist/magic-string.es-DFyz70Kz.js +860 -0
  67. package/dist/popper-1JCni0RT.js +907 -0
  68. package/dist/reload-BhzcZRFp.js +17 -0
  69. package/dist/src/JsonFormsDialog.vue.d.ts +50 -0
  70. package/dist/src/constants/index.d.ts +2 -0
  71. package/dist/src/constants/inputFormats.d.ts +25 -0
  72. package/dist/src/constants/priorityRanks.d.ts +4 -0
  73. package/dist/src/higherOrderComponents/control/LabeledControl.vue.d.ts +31 -0
  74. package/dist/src/higherOrderComponents/control/addLabel.d.ts +6 -0
  75. package/dist/src/higherOrderComponents/control/controlToRenderer.d.ts +6 -0
  76. package/dist/src/higherOrderComponents/control/handleVisibility.d.ts +2 -0
  77. package/dist/src/higherOrderComponents/control/index.d.ts +7 -0
  78. package/dist/src/higherOrderComponents/control/types.d.ts +36 -0
  79. package/dist/src/higherOrderComponents/control/util.d.ts +44 -0
  80. package/dist/src/higherOrderComponents/index.d.ts +3 -0
  81. package/dist/src/higherOrderComponents/layout/handleVisibility.d.ts +2 -0
  82. package/dist/src/higherOrderComponents/layout/index.d.ts +4 -0
  83. package/dist/src/higherOrderComponents/layout/layoutToRenderer.d.ts +6 -0
  84. package/dist/src/higherOrderComponents/layout/types.d.ts +28 -0
  85. package/dist/src/higherOrderComponents/layout/util.d.ts +25 -0
  86. package/dist/src/higherOrderComponents/types.d.ts +25 -0
  87. package/dist/src/index.d.ts +9 -0
  88. package/dist/src/layoutComponents/Form.vue.d.ts +10 -0
  89. package/dist/src/layoutComponents/HorizontalLayout.vue.d.ts +12 -0
  90. package/dist/src/layoutComponents/SectionLayout.vue.d.ts +21 -0
  91. package/dist/src/layoutComponents/VerticalLayout.vue.d.ts +12 -0
  92. package/dist/src/layoutComponents/VerticalLayoutBase.vue.d.ts +26 -0
  93. package/dist/src/layoutComponents/index.d.ts +3 -0
  94. package/dist/src/loading/LoadingDialog.vue.d.ts +2 -0
  95. package/dist/src/renderers/checkboxRenderer.d.ts +192 -0
  96. package/dist/src/renderers/checkboxesRenderer.d.ts +7 -0
  97. package/dist/src/renderers/columnFilterRenderer.d.ts +5 -0
  98. package/dist/src/renderers/columnSelectRenderer.d.ts +209 -0
  99. package/dist/src/renderers/comboBoxRenderer.d.ts +6 -0
  100. package/dist/src/renderers/dateTimeRenderer.d.ts +5 -0
  101. package/dist/src/renderers/defaultRenderers.d.ts +1898 -0
  102. package/dist/src/renderers/dropdownRenderer.d.ts +253 -0
  103. package/dist/src/renderers/fallbackRenderers.d.ts +649 -0
  104. package/dist/src/renderers/horizontalLayoutRenderer.d.ts +48 -0
  105. package/dist/src/renderers/index.d.ts +1 -0
  106. package/dist/src/renderers/integerRenderer.d.ts +5 -0
  107. package/dist/src/renderers/intervalRenderer.d.ts +5 -0
  108. package/dist/src/renderers/localDateRenderer.d.ts +5 -0
  109. package/dist/src/renderers/localTimeRenderer.d.ts +5 -0
  110. package/dist/src/renderers/nameFilterRenderer.d.ts +5 -0
  111. package/dist/src/renderers/numberRenderer.d.ts +5 -0
  112. package/dist/src/renderers/radioRenderer.d.ts +5 -0
  113. package/dist/src/renderers/richTextRenderer.d.ts +5 -0
  114. package/dist/src/renderers/sectionLayoutRenderer.d.ts +108 -0
  115. package/dist/src/renderers/simpleButtonRenderer.d.ts +121 -0
  116. package/dist/src/renderers/sortListRenderer.d.ts +288 -0
  117. package/dist/src/renderers/textAreaRenderer.d.ts +5 -0
  118. package/dist/src/renderers/textMessageRenderer.d.ts +89 -0
  119. package/dist/src/renderers/textRenderer.d.ts +193 -0
  120. package/dist/src/renderers/twinlistRenderer.d.ts +13 -0
  121. package/dist/src/renderers/valueSwitchRenderer.d.ts +5 -0
  122. package/dist/src/renderers/verticalLayoutRenderer.d.ts +94 -0
  123. package/dist/src/types/ChoicesUiSchema.d.ts +21 -0
  124. package/dist/src/types/Control.d.ts +2 -0
  125. package/dist/src/types/alert.d.ts +5 -0
  126. package/dist/src/types/provided.d.ts +25 -0
  127. package/dist/src/uiComponents/CheckboxControl.vue.d.ts +22 -0
  128. package/dist/src/uiComponents/CheckboxesControl.vue.d.ts +12 -0
  129. package/dist/src/uiComponents/ColumnSelect.vue.d.ts +26 -0
  130. package/dist/src/uiComponents/ComboBoxControl.vue.d.ts +12 -0
  131. package/dist/src/uiComponents/DateControl.vue.d.ts +12 -0
  132. package/dist/src/uiComponents/DateTimeControl.vue.d.ts +12 -0
  133. package/dist/src/uiComponents/DropdownControl.vue.d.ts +52 -0
  134. package/dist/src/uiComponents/DynamicIcon.vue.d.ts +16 -0
  135. package/dist/src/uiComponents/ErrorMessage.vue.d.ts +23 -0
  136. package/dist/src/uiComponents/IntegerControl.vue.d.ts +12 -0
  137. package/dist/src/uiComponents/IntervalControl.vue.d.ts +12 -0
  138. package/dist/src/uiComponents/NumberControl.vue.d.ts +12 -0
  139. package/dist/src/uiComponents/NumberControlBase.vue.d.ts +19 -0
  140. package/dist/src/uiComponents/OneOfDropdown.vue.d.ts +23 -0
  141. package/dist/src/uiComponents/RadioControl.vue.d.ts +12 -0
  142. package/dist/src/uiComponents/RadioControlBase.vue.d.ts +19 -0
  143. package/dist/src/uiComponents/SimpleButtonControl.vue.d.ts +121 -0
  144. package/dist/src/uiComponents/SortListControl.vue.d.ts +93 -0
  145. package/dist/src/uiComponents/TextAreaControl.vue.d.ts +12 -0
  146. package/dist/src/uiComponents/TextControl.vue.d.ts +23 -0
  147. package/dist/src/uiComponents/TextMessageControl.vue.d.ts +12 -0
  148. package/dist/src/uiComponents/TimeControl.vue.d.ts +12 -0
  149. package/dist/src/uiComponents/ValueSwitchControl.vue.d.ts +12 -0
  150. package/dist/src/uiComponents/composables/useHideOnNull.d.ts +28 -0
  151. package/dist/src/uiComponents/composables/useProvidedState.d.ts +3 -0
  152. package/dist/src/uiComponents/index.d.ts +4 -0
  153. package/dist/src/uiComponents/loading/LoadingDropdown.vue.d.ts +12 -0
  154. package/dist/src/uiComponents/loading/TwinlistLoadingInfo.vue.d.ts +2 -0
  155. package/dist/src/uiComponents/loading/types/LoadingDropdownProps.d.ts +8 -0
  156. package/dist/src/uiComponents/richTextControl/DialogLinkModal.vue.d.ts +29 -0
  157. package/dist/src/uiComponents/richTextControl/RichTextControl.vue.d.ts +12 -0
  158. package/dist/src/uiComponents/twinlist/AnyOfTwinlist.vue.d.ts +12 -0
  159. package/dist/src/uiComponents/twinlist/ColumnFilter.vue.d.ts +13 -0
  160. package/dist/src/uiComponents/twinlist/NameFilter.vue.d.ts +13 -0
  161. package/dist/src/uiComponents/twinlist/SimpleTwinlistControl.vue.d.ts +109 -0
  162. package/dist/src/uiComponents/twinlist/TwinlistControl.vue.d.ts +67 -0
  163. package/dist/src/uiComponents/twinlist/useUnknownValuesInTwinlist.d.ts +19 -0
  164. package/dist/src/utils/getFlattenedSettings.d.ts +5 -0
  165. package/dist/src/utils/getPossibleValuesFromUiSchema.d.ts +10 -0
  166. package/dist/src/utils/index.d.ts +15 -0
  167. package/dist/src/utils/inject.d.ts +3 -0
  168. package/dist/src/utils/localTimeUtils.d.ts +16 -0
  169. package/dist/svgWithTitle-zrGi2kyc.js +18 -0
  170. package/dist/testUtils/component.d.ts +190 -0
  171. package/dist/testUtils/index.d.ts +2 -0
  172. package/dist/testUtils/renderer.d.ts +6 -0
  173. package/dist/testing.d.ts +2 -0
  174. package/dist/testing.js +18889 -0
  175. package/dist/toString-C9vll-oa.js +26 -0
  176. package/dist/useSearch-hpyYQ_6y.js +74 -0
  177. package/package.json +11 -7
  178. package/dist/AnyOfTwinlist-BAbzoFfn.js +0 -17
  179. package/dist/ArrayLayout-Cfdlkm_T.js +0 -487
  180. package/dist/ButtonControl-yAb2GdQI.js +0 -127
  181. package/dist/CheckboxControl-Ck45Jycu.js +0 -50
  182. package/dist/CheckboxesControl-Xx9tpOL6.js +0 -39
  183. package/dist/ColumnFilter-u7yVpuFC.js +0 -17
  184. package/dist/ColumnSelect-DfXHTA0Z.js +0 -60
  185. package/dist/CredentialsControl-D1Te47JG.js +0 -20
  186. package/dist/CredentialsControlBase-Dqhh-4hT.js +0 -110
  187. package/dist/DateControl-CuV2lKvs.js +0 -30
  188. package/dist/DateTimeControl-BDZ18Hzl.js +0 -4
  189. package/dist/DropdownControl.vue_vue_type_script_setup_true_lang-BRWvAXuk.js +0 -171
  190. package/dist/DynamicValuesControl-BgNPwoHm.js +0 -127
  191. package/dist/FileChooserControl-HX_GjlNB.js +0 -605
  192. package/dist/FileExplorerTab-FjmnUl9M.js +0 -3951
  193. package/dist/HorizontalLayout-BrHkxvnP.js +0 -39
  194. package/dist/IntegerControl-Dxk1Y8LA.js +0 -13
  195. package/dist/LayoutComponentWrapper-VvzxL4qE.js +0 -36
  196. package/dist/LegacyCredentialsControl-p5U7Vp0h.js +0 -62
  197. package/dist/LocalFileChooserControl-Cr0A0dg6.js +0 -57
  198. package/dist/MenuItems.vue_vue_type_style_index_0_lang-BiJVA2Wt.js +0 -464
  199. package/dist/NameFilter-CsfBC6e2.js +0 -17
  200. package/dist/NodeDialog.vue.d.ts +0 -8
  201. package/dist/NumberControl-BJCFqjn3.js +0 -13
  202. package/dist/NumberControlBase.vue_vue_type_script_setup_true_lang-DkAPaKAi.js +0 -43
  203. package/dist/OneOfDropdown-CBLlPlxh.js +0 -15
  204. package/dist/RadioControl-BZEV6NYx.js +0 -13
  205. package/dist/RadioControlBase.vue_vue_type_script_setup_true_lang-DvA87Y4C.js +0 -128
  206. package/dist/SectionLayout-DtVREvcv.js +0 -54
  207. package/dist/SimpleButtonControl-D2kCPiU9.js +0 -59
  208. package/dist/SimpleTwinlistControl-D6E8DEoD.js +0 -68
  209. package/dist/SortListControl-DcW5Ofs5.js +0 -316
  210. package/dist/TextAreaControl-DTw_oBDS.js +0 -111
  211. package/dist/TextControl-BlfySQDC.js +0 -49
  212. package/dist/TwinlistControl-BqoP2Kbq.js +0 -587
  213. package/dist/ValueSwitchControl-CyDbUKLv.js +0 -13
  214. package/dist/VennDiagramLayout-DXH6CUzc.js +0 -104
  215. package/dist/VerticalLayout-CTFSrGS8.js +0 -39
  216. package/dist/arrow-up-Dsq3EgtE.js +0 -30
  217. package/dist/floating-ui.vue.esm-D_FlISFP.js +0 -94
  218. package/dist/getFlattenedSettings-D64OwqpI.js +0 -7
  219. package/dist/index-1mTLieVA.js +0 -32714
  220. package/dist/index.d.ts +0 -3
  221. package/dist/layoutComponents/Form.vue.d.ts +0 -2
  222. package/dist/link-BA69Hfx6.js +0 -17
  223. package/dist/loading/LoadingDialog.vue.d.ts +0 -2
@@ -0,0 +1,553 @@
1
+ import { openBlock as y, createElementBlock as x, createElementVNode as H, toRef as W, resolveComponent as f, normalizeClass as G, createBlock as I, withCtx as C, createVNode as g, createCommentVNode as P, mergeProps as k, ref as M, watch as _, defineComponent as J, computed as u, markRaw as K, unref as L } from "vue";
2
+ import { g as U, a as Q, m as X } from "./index-C1PjXAJX.js";
3
+ import { w as Y } from "./getPossibleValuesFromUiSchema-BFJtj-id.js";
4
+ import { w as Z, _ as B, u as $, q as ee } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_03d90ec1_lang-BmCXzwjJ.js";
5
+ import { S as te, T as le, u as ae, a as ne } from "./TwinlistLoadingInfo-CTVlN9EZ.js";
6
+ import "./index-BrIvBSNK-BRWnkVln.js";
7
+ import { f as F } from "./useSearch-hpyYQ_6y.js";
8
+ import { C as se } from "./Checkboxes-COtqblKj.js";
9
+ import { V as oe } from "./ValueSwitch-CpE1f4ie.js";
10
+ const ie = {
11
+ xmlns: "http://www.w3.org/2000/svg",
12
+ fill: "none",
13
+ stroke: "#000",
14
+ "stroke-linejoin": "round",
15
+ viewBox: "0 0 32 32"
16
+ }, de = /* @__PURE__ */ H("path", { d: "m13.31 27.81 5.11-3.19v-9.15L28.95 4.19H3.05l10.26 11.28z" }, null, -1), re = [
17
+ de
18
+ ];
19
+ function ce(t, a) {
20
+ return y(), x("svg", ie, [...re]);
21
+ }
22
+ const ue = { render: ce }, me = {
23
+ manual: "Manual",
24
+ wildcard: "Wildcard",
25
+ regex: "Regex",
26
+ type: "Type"
27
+ }, pe = {
28
+ name: "MultiModeTwinlist",
29
+ components: {
30
+ Label: Z,
31
+ FilterIcon: ue,
32
+ SearchInput: te,
33
+ Checkboxes: se,
34
+ ValueSwitch: oe,
35
+ Twinlist: le
36
+ },
37
+ props: {
38
+ /**
39
+ * initial values
40
+ */
41
+ mode: {
42
+ type: String,
43
+ required: !1,
44
+ default: "manual"
45
+ },
46
+ manualSelection: {
47
+ type: [Object, Array, null],
48
+ default: () => []
49
+ },
50
+ pattern: {
51
+ type: String,
52
+ default: ""
53
+ },
54
+ caseSensitivePattern: {
55
+ default: !1,
56
+ type: Boolean
57
+ },
58
+ inversePattern: {
59
+ default: !1,
60
+ type: Boolean
61
+ },
62
+ withTypes: {
63
+ type: Boolean,
64
+ default: !0
65
+ },
66
+ selectedTypes: {
67
+ type: Array,
68
+ default: () => []
69
+ },
70
+ /**
71
+ * Hiding and disabling
72
+ */
73
+ showMode: {
74
+ default: !1,
75
+ type: Boolean
76
+ },
77
+ // enable search in case of manual selection
78
+ showSearch: {
79
+ default: !0,
80
+ type: Boolean
81
+ },
82
+ disabled: {
83
+ default: !1,
84
+ type: Boolean
85
+ },
86
+ /**
87
+ * Labels
88
+ */
89
+ withModeLabel: {
90
+ default: !1,
91
+ type: Boolean
92
+ },
93
+ modeLabel: {
94
+ type: String,
95
+ required: !1,
96
+ default: "Selection mode"
97
+ },
98
+ withPatternLabel: {
99
+ default: !1,
100
+ type: Boolean
101
+ },
102
+ patternLabel: {
103
+ type: String,
104
+ required: !1,
105
+ default: "Pattern"
106
+ },
107
+ withTypesLabel: {
108
+ default: !1,
109
+ type: Boolean
110
+ },
111
+ typesLabel: {
112
+ type: String,
113
+ required: !1,
114
+ default: "Selected types"
115
+ },
116
+ /**
117
+ * List of possible values. Each item must have an `id` and a `text` property
118
+ * @example
119
+ * [{
120
+ * id: 'pdf',
121
+ * text: 'PDF'
122
+ * }, {
123
+ * id: 'XLS',
124
+ * text: 'Excel',
125
+ * }]
126
+ * For type selection, additionally, an element has to have a property `type` wich itself has properties
127
+ * `id` and `text`, e.g.
128
+ * [{
129
+ * id: 'pdf',
130
+ * text: 'PDF',
131
+ * type: {
132
+ * id: 'StringValue',
133
+ * text: 'String'
134
+ * }]
135
+ */
136
+ possibleValues: {
137
+ type: Array,
138
+ default: () => []
139
+ },
140
+ /**
141
+ * List of possible types which should be selectable but are not necessarily present in the possible values.
142
+ */
143
+ additionalPossibleTypes: {
144
+ type: Array,
145
+ default: () => []
146
+ },
147
+ compact: {
148
+ type: Boolean,
149
+ default: !1
150
+ }
151
+ },
152
+ emits: [
153
+ // Prop updates
154
+ "update:manualSelection",
155
+ "update:pattern",
156
+ "update:selectedTypes",
157
+ "update:mode",
158
+ "update:caseSensitivePattern",
159
+ "update:inversePattern",
160
+ // Non-prop update
161
+ "update:selected"
162
+ ],
163
+ setup(t) {
164
+ const { includedValues: a } = ae(
165
+ W(t, "manualSelection")
166
+ );
167
+ return { manuallySelected: a };
168
+ },
169
+ data() {
170
+ return {
171
+ invalidPossibleValueIds: /* @__PURE__ */ new Set()
172
+ };
173
+ },
174
+ computed: {
175
+ possibleValueIds() {
176
+ return this.possibleValues.map(({ id: t }) => t);
177
+ },
178
+ possibleTypes() {
179
+ const t = this.possibleValues.map(({ type: o }) => o).filter(Boolean), a = t.map((o) => o.id);
180
+ return [...this.additionalPossibleTypes.filter(
181
+ (o) => o && !a.includes(o.id)
182
+ ), ...t].filter((o) => o && o.id !== "").filter(
183
+ // remove duplicates
184
+ (o, s, d) => s === d.findIndex((r) => r.id === o.id && r.text === o.text)
185
+ );
186
+ },
187
+ matchingValueIds() {
188
+ return this.possibleValues.filter((t) => this.itemMatches(t)).map((t) => t.id);
189
+ },
190
+ twinlistModelValue() {
191
+ return this.mode === "manual" ? this.manualSelection : this.matchingValueIds;
192
+ },
193
+ selectedValues() {
194
+ return this.mode === "manual" ? this.manuallySelected : this.matchingValueIds;
195
+ },
196
+ selectionDisabled() {
197
+ return this.disabled || this.mode !== "manual";
198
+ },
199
+ normalizedSearchTerm() {
200
+ return this.mode === "manual" ? null : F[this.mode].normalize(
201
+ this.mode === "type" ? this.selectedTypes : this.pattern,
202
+ this.caseSensitivePattern
203
+ );
204
+ },
205
+ possibleModes() {
206
+ let t = Object.entries(me).map(([a, l]) => ({ id: a, text: l }));
207
+ return this.withTypes || (t = t.filter((a) => a.id !== "type")), t;
208
+ }
209
+ },
210
+ watch: {
211
+ selectedValues: {
212
+ immediate: !0,
213
+ handler(t, a) {
214
+ !a || t === null || (t.length !== a.length || a.some((l, n) => l !== t[n])) && this.$emit("update:selected", this.selectedValues);
215
+ }
216
+ }
217
+ },
218
+ methods: {
219
+ onManualInput(t) {
220
+ this.mode === "manual" && this.$emit("update:manualSelection", t);
221
+ },
222
+ onPatternInput(t) {
223
+ this.$emit("update:pattern", t);
224
+ },
225
+ onTypeInput(t) {
226
+ this.$emit("update:selectedTypes", t, this.possibleTypes);
227
+ },
228
+ onModeChange(t) {
229
+ this.$emit("update:mode", t);
230
+ },
231
+ onToggleCaseSensitivePattern(t) {
232
+ this.$emit("update:caseSensitivePattern", t);
233
+ },
234
+ onToggleInversePattern(t) {
235
+ this.$emit("update:inversePattern", t);
236
+ },
237
+ validate() {
238
+ return this.$refs.twinlist.validate();
239
+ },
240
+ hasSelection() {
241
+ var t;
242
+ return !!((t = this.selectedValues) != null && t.length);
243
+ },
244
+ itemMatches(t) {
245
+ var l;
246
+ return F[this.mode].test(
247
+ this.mode === "type" ? (l = t.type) == null ? void 0 : l.id : t.text,
248
+ this.normalizedSearchTerm,
249
+ this.caseSensitivePattern,
250
+ this.inversePattern
251
+ );
252
+ }
253
+ }
254
+ };
255
+ function he(t, a, l, n, o, s) {
256
+ const d = f("ValueSwitch"), r = f("Label"), b = f("FilterIcon"), w = f("SearchInput"), v = f("Checkboxes"), p = f("Twinlist");
257
+ return y(), x("div", {
258
+ class: G(["multi-mode-twinlist", { disabled: l.disabled }])
259
+ }, [
260
+ l.showMode ? (y(), I(r, {
261
+ key: 0,
262
+ active: l.withModeLabel,
263
+ text: l.modeLabel,
264
+ class: "label"
265
+ }, {
266
+ default: C(({ labelForId: c }) => [
267
+ g(d, {
268
+ id: c,
269
+ ref: "mode",
270
+ compact: l.compact,
271
+ "model-value": l.mode,
272
+ disabled: l.disabled,
273
+ "possible-values": s.possibleModes,
274
+ "onUpdate:modelValue": s.onModeChange
275
+ }, null, 8, ["id", "compact", "model-value", "disabled", "possible-values", "onUpdate:modelValue"])
276
+ ]),
277
+ _: 1
278
+ }, 8, ["active", "text"])) : P("", !0),
279
+ l.mode === "regex" || l.mode === "wildcard" ? (y(), I(r, {
280
+ key: 1,
281
+ active: l.withPatternLabel,
282
+ text: l.patternLabel,
283
+ class: "label"
284
+ }, {
285
+ default: C(({ labelForId: c }) => [
286
+ g(w, {
287
+ id: c,
288
+ ref: "search",
289
+ "model-value": l.pattern,
290
+ label: l.patternLabel,
291
+ "initial-case-sensitive-search": l.caseSensitivePattern,
292
+ "initial-inverse-search": l.inversePattern,
293
+ placeholder: "Pattern",
294
+ "show-case-sensitive-search-button": "",
295
+ "show-inverse-search-button": "",
296
+ disabled: l.disabled,
297
+ tooltips: {
298
+ inverseSearch: "Move matching to other side"
299
+ },
300
+ compact: l.compact,
301
+ "onUpdate:modelValue": s.onPatternInput,
302
+ onToggleCaseSensitiveSearch: s.onToggleCaseSensitivePattern,
303
+ onToggleInverseSearch: s.onToggleInversePattern
304
+ }, {
305
+ icon: C(() => [
306
+ g(b)
307
+ ]),
308
+ _: 2
309
+ }, 1032, ["id", "model-value", "label", "initial-case-sensitive-search", "initial-inverse-search", "disabled", "compact", "onUpdate:modelValue", "onToggleCaseSensitiveSearch", "onToggleInverseSearch"])
310
+ ]),
311
+ _: 1
312
+ }, 8, ["active", "text"])) : P("", !0),
313
+ l.mode === "type" && s.possibleTypes.length > 0 ? (y(), I(r, {
314
+ key: 2,
315
+ active: l.withTypesLabel,
316
+ text: l.typesLabel,
317
+ class: "label"
318
+ }, {
319
+ default: C(() => [
320
+ g(v, {
321
+ "model-value": l.selectedTypes,
322
+ "possible-values": s.possibleTypes,
323
+ disabled: l.disabled,
324
+ "onUpdate:modelValue": s.onTypeInput
325
+ }, null, 8, ["model-value", "possible-values", "disabled", "onUpdate:modelValue"])
326
+ ]),
327
+ _: 1
328
+ }, 8, ["active", "text"])) : P("", !0),
329
+ g(p, k(t.$attrs, {
330
+ ref: "twinlist",
331
+ disabled: s.selectionDisabled,
332
+ "show-search": l.mode === "manual" && l.showSearch,
333
+ "model-value": s.twinlistModelValue,
334
+ "possible-values": l.possibleValues,
335
+ compact: l.compact,
336
+ "onUpdate:modelValue": s.onManualInput
337
+ }), null, 16, ["disabled", "show-search", "model-value", "possible-values", "compact", "onUpdate:modelValue"])
338
+ ], 2);
339
+ }
340
+ const ve = /* @__PURE__ */ B(pe, [["render", he], ["__scopeId", "data-v-06592f92"]]), fe = ({
341
+ knownValuesSide: t,
342
+ possibleValueIds: a,
343
+ unknownValuesSide: l
344
+ }) => {
345
+ const n = new Set(t.previous), o = new Set(a), s = (d) => U(d, o);
346
+ l.setNext([
347
+ ...s(l.previous),
348
+ ...U(a, n)
349
+ ]), t.setNext([
350
+ ...s(t.previous),
351
+ ...Q(a, n)
352
+ ]);
353
+ }, ye = ({
354
+ data: t,
355
+ possibleValueIds: a
356
+ }) => {
357
+ const l = M({
358
+ selected: null,
359
+ deselected: null
360
+ }), n = M(null), o = (d) => {
361
+ n.value = d;
362
+ }, s = () => {
363
+ if (!n.value || !a.value)
364
+ return;
365
+ let d, r;
366
+ const { manuallyDeselected: b, manuallySelected: w, includeUnknownColumns: v } = n.value, p = {
367
+ previous: b,
368
+ setNext: (S) => {
369
+ d = S;
370
+ }
371
+ }, c = {
372
+ previous: w,
373
+ setNext: (S) => {
374
+ r = S;
375
+ }
376
+ }, T = v ? p : c, V = v ? c : p;
377
+ fe({
378
+ possibleValueIds: a.value,
379
+ knownValuesSide: T,
380
+ unknownValuesSide: V
381
+ }), l.value = {
382
+ selected: r,
383
+ deselected: d
384
+ };
385
+ };
386
+ return _(
387
+ () => t.value.manualFilter,
388
+ (d) => {
389
+ Object.is(n.value, d) ? l.value = {
390
+ selected: d.manuallySelected,
391
+ deselected: d.manuallyDeselected
392
+ } : (n.value = d, s());
393
+ },
394
+ { immediate: !0 }
395
+ ), _(() => a.value, s, {
396
+ immediate: !0
397
+ }), { selectedAndDeselected: l, setCurrentManualFilter: o };
398
+ }, be = /* @__PURE__ */ J({
399
+ __name: "TwinlistControl",
400
+ props: {
401
+ control: {},
402
+ handleChange: {},
403
+ changeValue: {},
404
+ disabled: { type: Boolean },
405
+ labelForId: {},
406
+ twinlistSize: { default: 10 },
407
+ twinlistLeftLabel: { default: "Excludes" },
408
+ showUnknownValues: { type: Boolean, default: !1 },
409
+ twinlistRightLabel: { default: "Includes" }
410
+ },
411
+ setup(t) {
412
+ const a = t;
413
+ let l;
414
+ const n = (e) => {
415
+ const i = X(a.control.data, e);
416
+ a.changeValue(i), l == null || l(i.manualFilter);
417
+ }, o = (e) => {
418
+ n({ selected: e });
419
+ }, s = (e) => {
420
+ if (e !== null)
421
+ if ("includedValues" in e) {
422
+ const { includedValues: i, excludedValues: m, includeUnknownValues: h } = e;
423
+ if (!i || !m)
424
+ return;
425
+ n({
426
+ manualFilter: {
427
+ manuallySelected: i,
428
+ manuallyDeselected: m,
429
+ includeUnknownColumns: h
430
+ }
431
+ });
432
+ } else
433
+ n({ manualFilter: { manuallySelected: e } });
434
+ }, d = (e) => {
435
+ n({ patternFilter: { pattern: e } });
436
+ }, r = (e) => {
437
+ n({ mode: e.toUpperCase() });
438
+ }, b = (e, i) => {
439
+ n({ typeFilter: { selectedTypes: e, typeDisplays: i } });
440
+ }, w = (e) => {
441
+ n({ patternFilter: { isInverted: e } });
442
+ }, v = (e) => {
443
+ n({ patternFilter: { isCaseSensitive: e } });
444
+ }, p = u(
445
+ () => {
446
+ var e;
447
+ return (e = a.control.uischema.options) == null ? void 0 : e.choicesProvider;
448
+ }
449
+ ), c = Y(
450
+ $(p, null),
451
+ a.control
452
+ ), T = M([]), { selectedAndDeselected: V, setCurrentManualFilter: S } = ye({
453
+ data: u(() => a.control.data),
454
+ possibleValueIds: u(
455
+ () => {
456
+ var e;
457
+ return ((e = c.value) == null ? void 0 : e.map(({ id: i }) => i)) ?? null;
458
+ }
459
+ )
460
+ });
461
+ l = S;
462
+ const z = u(() => {
463
+ const { selected: e, deselected: i } = V.value;
464
+ return a.showUnknownValues ? {
465
+ includedValues: e,
466
+ excludedValues: i,
467
+ includeUnknownValues: a.control.data.manualFilter.includeUnknownColumns
468
+ } : e;
469
+ }), D = u(
470
+ () => V.value.selected === null ? K(ne) : null
471
+ ), N = (e) => typeof e > "u" ? {} : e.reduce(
472
+ (i, { id: m, text: h }) => ({ ...i, [m]: h }),
473
+ {}
474
+ ), j = () => {
475
+ const e = a.control.data.typeFilter;
476
+ if (!e)
477
+ return [];
478
+ const i = e.selectedTypes, m = N(
479
+ e.typeDisplays
480
+ );
481
+ return i.map((h) => ({
482
+ id: h,
483
+ text: m[h] || h
484
+ }));
485
+ };
486
+ T.value = j(), p.value || ee("getPossibleValuesFromUiSchema")(a.control).then((e) => {
487
+ c.value = e;
488
+ });
489
+ const A = u(
490
+ () => {
491
+ var e, i;
492
+ return !!((i = (e = c.value) == null ? void 0 : e[0]) != null && i.hasOwnProperty("type"));
493
+ }
494
+ ), q = u(
495
+ () => {
496
+ var e;
497
+ return ((e = a.control.uischema.options) == null ? void 0 : e.showMode) ?? !0;
498
+ }
499
+ ), R = u(
500
+ () => {
501
+ var e;
502
+ return ((e = a.control.uischema.options) == null ? void 0 : e.showSearch) ?? !0;
503
+ }
504
+ ), E = u(
505
+ () => {
506
+ var e;
507
+ return ((e = a.control.uischema.options) == null ? void 0 : e.excludedLabel) ?? a.twinlistLeftLabel;
508
+ }
509
+ ), O = u(
510
+ () => {
511
+ var e;
512
+ return ((e = a.control.uischema.options) == null ? void 0 : e.includedLabel) ?? a.twinlistRightLabel;
513
+ }
514
+ );
515
+ return (e, i) => {
516
+ var m;
517
+ return y(), I(L(ve), k(e.$attrs, {
518
+ id: e.labelForId,
519
+ "show-mode": q.value,
520
+ "show-search": R.value,
521
+ disabled: e.disabled,
522
+ "with-types": A.value,
523
+ "selected-types": (m = e.control.data.typeFilter) == null ? void 0 : m.selectedTypes,
524
+ "additional-possible-types": T.value,
525
+ pattern: e.control.data.patternFilter.pattern,
526
+ mode: e.control.data.mode.toLowerCase(),
527
+ "case-sensitive-pattern": e.control.data.patternFilter.isCaseSensitive,
528
+ "empty-state-component": D.value,
529
+ "inverse-pattern": e.control.data.patternFilter.isInverted,
530
+ "manual-selection": z.value,
531
+ "include-unknown-values": e.control.data.manualFilter.includeUnknownColumns,
532
+ "filter-chosen-values-on-possible-values-change": !1,
533
+ "mode-label": "Selection mode",
534
+ "possible-values": L(c) ?? [],
535
+ size: e.twinlistSize,
536
+ "left-label": E.value,
537
+ "right-label": O.value,
538
+ compact: "",
539
+ "show-resize-handle": "",
540
+ "onUpdate:selected": o,
541
+ "onUpdate:manualSelection": s,
542
+ "onUpdate:pattern": d,
543
+ "onUpdate:mode": r,
544
+ "onUpdate:selectedTypes": b,
545
+ "onUpdate:inversePattern": w,
546
+ "onUpdate:caseSensitivePattern": v
547
+ }), null, 16, ["id", "show-mode", "show-search", "disabled", "with-types", "selected-types", "additional-possible-types", "pattern", "mode", "case-sensitive-pattern", "empty-state-component", "inverse-pattern", "manual-selection", "include-unknown-values", "possible-values", "size", "left-label", "right-label"]);
548
+ };
549
+ }
550
+ }), _e = /* @__PURE__ */ B(be, [["__scopeId", "data-v-14db8f96"]]);
551
+ export {
552
+ _e as default
553
+ };