@knime/jsonforms 1.11.4 → 1.12.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.
Files changed (88) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{AnyOfTwinlist-B8IWCQfI.js → AnyOfTwinlist-Bm92BxCq.js} +1 -1
  3. package/dist/{Button-BIMifH4J.js → Button-BU4AHIik.js} +1 -1
  4. package/dist/{CheckboxControl-mUTfjUik.js → CheckboxControl-BfHrx05I.js} +1 -1
  5. package/dist/{Checkboxes-C8MYjELb.js → Checkboxes-BgwoEGV-.js} +1 -1
  6. package/dist/{CheckboxesControl-PnQ9Adbm.js → CheckboxesControl-DeDkOQTP.js} +3 -3
  7. package/dist/{ComboBoxControl-Bx9k_xcF.js → ComboBoxControl-CS3HULei.js} +2 -2
  8. package/dist/{DateControl-CFDyvByp.js → DateControl-DeuREfXO.js} +1 -1
  9. package/dist/{DateTimeControl-6xLdTDKD.js → DateTimeControl-Bv15fo80.js} +2 -2
  10. package/dist/{DateTimeFormatInput-DN13KoIx.js → DateTimeFormatInput-CTOVceJH.js} +3 -3
  11. package/dist/DateTimeFormatPickerControl-5fPMIUZs.js +43 -0
  12. package/dist/{DateTimeFormatPickerWithTypeControl-CK9zH_Pb.js → DateTimeFormatPickerWithTypeControl-yyIHxX6-.js} +19 -23
  13. package/dist/{DateTimeInput-CDUSsfXW.js → DateTimeInput-BPaZ_pEv.js} +6 -6
  14. package/dist/{Dropdown-VTgudgLJ.js → Dropdown-D6ytFIra.js} +2 -2
  15. package/dist/{DropdownControl-B8hshDBE.js → DropdownControl-Bl9djFfv.js} +2 -2
  16. package/dist/{HorizontalLayout-MsL7PmH3.js → HorizontalLayout-BmgysFCG.js} +1 -1
  17. package/dist/{InputField-fNsY8a05.js → InputField-D-drv5NW.js} +1 -1
  18. package/dist/{IntegerControl-ZSV_1jks.js → IntegerControl-CzusffS4.js} +1 -1
  19. package/dist/{IntervalControl-BedfdbyZ.js → IntervalControl-DBlPYbLt.js} +129 -130
  20. package/dist/{LoadingDropdown-DRC0PUle.js → LoadingDropdown-xAK7TsDc.js} +3 -3
  21. package/dist/{MultiSelectListBoxControl-lf35kyRi.js → MultiSelectListBoxControl-D1TD3jNm.js} +2 -2
  22. package/dist/{MultimodeTwinlistControl-CwPCFa9I.js → MultimodeTwinlistControl-BrluVu3Y.js} +5 -5
  23. package/dist/{MultiselectListBox-DXD5CLCh.js → MultiselectListBox-1nfMHeks.js} +2 -2
  24. package/dist/{NameFilter-ClFwXeRF.js → NameFilter-CUdwbsjT.js} +1 -1
  25. package/dist/{NumberControl-Cr7IXjEm.js → NumberControl-DEGlKs0O.js} +1 -1
  26. package/dist/{NumberControlBase.vue_vue_type_script_setup_true_lang-ILIV8gqr.js → NumberControlBase.vue_vue_type_script_setup_true_lang-C0B7QKut.js} +2 -2
  27. package/dist/{NumberInput-A5_w5ol4.js → NumberInput-dE-KEe9u.js} +1 -1
  28. package/dist/{OneOfDropdown-DlhjZGFa.js → OneOfDropdown-BMcupih8.js} +1 -1
  29. package/dist/{RadioControl-ClX2lEwk.js → RadioControl-Cgm2SatI.js} +2 -2
  30. package/dist/{RadioControlBase.vue_vue_type_script_setup_true_lang-Bv6jDZzK.js → RadioControlBase.vue_vue_type_script_setup_true_lang-n6oZHbxa.js} +3 -3
  31. package/dist/{RichTextControl-KJQSmoKv.js → RichTextControl-YEul6CJZ.js} +4 -4
  32. package/dist/{SectionHeading-D1h8Hr3u.js → SectionHeading-HNpa-JMB.js} +1 -1
  33. package/dist/{SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-CLPIgtdX.js → SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-DHWwwUrR.js} +696 -703
  34. package/dist/{SectionLayout-CVyuhnR5.js → SectionLayout-D-_-IdPp.js} +3 -3
  35. package/dist/{SettingsSubPanel-CjuhpEr4.js → SettingsSubPanel-CNXzO0_i.js} +1 -1
  36. package/dist/{SettingsSubPanelLayout-DGhJS__O.js → SettingsSubPanelLayout-C84okIEY.js} +4 -4
  37. package/dist/{SimpleButtonControl-CiUUyw8s.js → SimpleButtonControl-DbJCOykS.js} +2 -2
  38. package/dist/{SimpleTwinlistControl-D22uc8-j.js → SimpleTwinlistControl-CAaqVRDo.js} +2 -2
  39. package/dist/SingleSelectControl-Dn5eHuj1.js +55 -0
  40. package/dist/{SingleSelectListBoxControl-mafA0Or_.js → SingleSelectListBoxControl-DXBVcA1B.js} +3 -3
  41. package/dist/{SortListControl-CjaScQzv.js → SortListControl-B_e_Pieg.js} +50 -46
  42. package/dist/{StyledListItem-BoF85YFQ.js → StyledListItem-CGCkC79t.js} +1 -1
  43. package/dist/{TextAreaControl-C5eo1xkd.js → TextAreaControl-DF-7_-DW.js} +1 -1
  44. package/dist/{TextControl-CcC2bMdB.js → TextControl-FEepT6DT.js} +1 -1
  45. package/dist/{TextControl.vue_vue_type_script_setup_true_lang-JuMgL8lA.js → TextControl.vue_vue_type_script_setup_true_lang-Dd8il0B5.js} +12 -16
  46. package/dist/{TimeControl-CZIiQ1Iq.js → TimeControl-CL1jfXXP.js} +2 -2
  47. package/dist/{TwinlistControlBase-mEUGRSXm.js → TwinlistControlBase-DvXv0Vo6.js} +3 -3
  48. package/dist/{TwinlistLoadingInfo-D6z3t2c9.js → TwinlistLoadingInfo-CcOQiBV3.js} +4 -4
  49. package/dist/{TypedStringFilter-LQdmf8v7.js → TypedStringFilter-CjW7XKo7.js} +1 -1
  50. package/dist/{ValueSwitch-D6Wu1NDa.js → ValueSwitch-B-yL0b_A.js} +1 -1
  51. package/dist/{ValueSwitchControl-BbarTqJt.js → ValueSwitchControl-DeVtjzwE.js} +1 -1
  52. package/dist/{VerticalLayout-KMe-3TA0.js → VerticalLayout-c3McC0j1.js} +2 -2
  53. package/dist/{VerticalLayoutBase-Bd2TMmEZ.js → VerticalLayoutBase-Dgnqavoq.js} +1 -1
  54. package/dist/{ZonedDateTimeControl-Bs_bnndF.js → ZonedDateTimeControl-CkODiVzJ.js} +4 -4
  55. package/dist/{_baseEach-CABMvL7j.js → _baseEach-B-g2g11B.js} +2 -2
  56. package/dist/{_baseIteratee-DItkztCj.js → _baseIteratee-CHW73TMN.js} +3 -3
  57. package/dist/{_getTag-4mJMm5F3.js → _getTag-BWiFGABh.js} +1 -1
  58. package/dist/knime-jsonforms.css +1 -1
  59. package/dist/knime-jsonforms.js +32 -31
  60. package/dist/{localTimeUtils-DWYnLAB-.js → localTimeUtils-DrKyGLv2.js} +1 -1
  61. package/dist/{magic-string.es-Iz0jmxfz.js → magic-string.es-DLCZ-p-e.js} +1 -1
  62. package/dist/src/JsonFormsDialog.vue.d.ts +7 -2
  63. package/dist/src/higherOrderComponents/control/types.d.ts +4 -0
  64. package/dist/src/higherOrderComponents/control/util.d.ts +4 -0
  65. package/dist/src/index.d.ts +2 -1
  66. package/dist/src/renderers/defaultRenderers.d.ts +24 -0
  67. package/dist/src/renderers/simpleButtonRenderer.d.ts +12 -0
  68. package/dist/src/renderers/sortListRenderer.d.ts +12 -0
  69. package/dist/src/types/ChoicesUiSchema.d.ts +8 -4
  70. package/dist/src/types/provided.d.ts +10 -1
  71. package/dist/src/uiComponents/SimpleButtonControl.vue.d.ts +12 -0
  72. package/dist/src/uiComponents/SortListControl.vue.d.ts +8 -0
  73. package/dist/src/uiComponents/composables/useBuiltinValidations.d.ts +3 -6
  74. package/dist/src/uiComponents/composables/useHideOnNull.d.ts +1 -1
  75. package/dist/src/uiComponents/composables/usePossibleValues.d.ts +2 -2
  76. package/dist/src/uiComponents/composables/useProvidedState.d.ts +17 -2
  77. package/dist/src/uiComponents/index.d.ts +2 -1
  78. package/dist/{svgWithTitle-CJzZ_AF0.js → svgWithTitle-C1XM8U1L.js} +1 -1
  79. package/dist/testUtils/component.d.ts +16 -0
  80. package/dist/testing.js +3 -3
  81. package/dist/{toString-DzEZi8fD.js → toString-DfO6VEzj.js} +1 -1
  82. package/dist/useBuiltinValidations-bc9asSxB.js +73 -0
  83. package/dist/usePossibleValues-NHPCKPdi.js +17 -0
  84. package/package.json +3 -3
  85. package/dist/DateTimeFormatPickerControl-BEnoRr2q.js +0 -47
  86. package/dist/SingleSelectControl-LrEUX41i.js +0 -58
  87. package/dist/useBuiltinValidations-hN9BsKJH.js +0 -52
  88. package/dist/usePossibleValues-DY3q9YuR.js +0 -26
@@ -1,27 +1,27 @@
1
- import { defineComponent as u, ref as i, onMounted as T, openBlock as c, createElementBlock as v, createElementVNode as y, createCommentVNode as x, provide as C, computed as E, watch as P, createBlock as A, Suspense as w, withCtx as d, createVNode as l, renderSlot as h, unref as B, nextTick as j } from "vue";
2
- import { _ as S, p as F, F as M, s as O, U as I, i as R } from "./SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-CLPIgtdX.js";
3
- import { E as Z, L as ee, a as te, c as oe, e as se, b as ae, d as re, g as ne, h as de, j as le, l as ie, f as ce, m as ue, k as pe, t as me, w as fe } from "./SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-CLPIgtdX.js";
4
- import { default as ge } from "./SimpleButtonControl-CiUUyw8s.js";
5
- import { _ as De } from "./TextControl.vue_vue_type_script_setup_true_lang-JuMgL8lA.js";
6
- import { V as ye } from "./VerticalLayoutBase-Bd2TMmEZ.js";
7
- import { S as be } from "./SectionHeading-D1h8Hr3u.js";
8
- import { S as ke } from "./SettingsSubPanel-CjuhpEr4.js";
1
+ import { defineComponent as c, ref as i, onMounted as P, openBlock as u, createElementBlock as v, createElementVNode as y, createCommentVNode as T, provide as x, computed as C, watch as E, createBlock as A, Suspense as w, withCtx as d, createVNode as l, renderSlot as h, unref as B, nextTick as j } from "vue";
2
+ import { _ as S, p as F, F as M, s as O, U as I, i as R } from "./SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-DHWwwUrR.js";
3
+ import { E as Z, L as ee, a as te, c as oe, e as se, b as ae, d as re, g as ne, h as de, j as le, l as ie, f as ue, m as ce, k as pe, t as me, u as fe, w as _e } from "./SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-DHWwwUrR.js";
4
+ import { default as he } from "./SimpleButtonControl-DbJCOykS.js";
5
+ import { _ as ve } from "./TextControl.vue_vue_type_script_setup_true_lang-Dd8il0B5.js";
6
+ import { V as Se } from "./VerticalLayoutBase-Dgnqavoq.js";
7
+ import { S as be } from "./SectionHeading-HNpa-JMB.js";
8
+ import { S as Pe } from "./SettingsSubPanel-CNXzO0_i.js";
9
9
  const V = {
10
10
  key: 0,
11
11
  class: "loading-dialog skeleton-wrapper"
12
- }, $ = 200, N = /* @__PURE__ */ u({
12
+ }, $ = 200, N = /* @__PURE__ */ c({
13
13
  __name: "LoadingDialog",
14
14
  setup(r) {
15
15
  const s = i(!1);
16
- return T(() => {
16
+ return P(() => {
17
17
  setTimeout(() => {
18
18
  s.value = !0;
19
19
  }, $);
20
- }), (p, o) => s.value ? (c(), v("div", V, o[0] || (o[0] = [
20
+ }), (p, o) => s.value ? (u(), v("div", V, o[0] || (o[0] = [
21
21
  y("div", { class: "loading-dialog-content skeleton" }, null, -1)
22
- ]))) : x("", !0);
22
+ ]))) : T("", !0);
23
23
  }
24
- }), U = /* @__PURE__ */ S(N, [["__scopeId", "data-v-7dabb11d"]]), J = { class: "dialog" }, D = "EXPOSED_METHOD", G = /* @__PURE__ */ u({
24
+ }), U = /* @__PURE__ */ S(N, [["__scopeId", "data-v-7dabb11d"]]), J = { class: "dialog" }, D = "EXPOSED_METHOD", G = /* @__PURE__ */ c({
25
25
  __name: "JsonFormsDialog",
26
26
  props: {
27
27
  schema: {},
@@ -31,25 +31,25 @@ const V = {
31
31
  },
32
32
  emits: ["updateData", "trigger", "change", "alert", "stateProviderListener"],
33
33
  setup(r, { expose: s, emit: p }) {
34
- const o = p, b = (e, t, n) => {
34
+ const o = p, L = (e, t, n) => {
35
35
  var g;
36
36
  return t.type === I && ((g = t.context) == null ? void 0 : g.source) !== D && setTimeout(() => j(() => o("updateData", t.path))), n(e, t);
37
- }, L = (e) => {
37
+ }, b = (e) => {
38
38
  o("change", e);
39
39
  };
40
40
  Object.entries({
41
41
  trigger: (e) => o("trigger", e),
42
42
  addStateProviderListener: (e, t) => o("stateProviderListener", e, t),
43
43
  sendAlert: (e) => o("alert", e)
44
- }).forEach(([e, t]) => C(e, t));
44
+ }).forEach(([e, t]) => x(e, t));
45
45
  const a = i(null), m = [], f = (e, t) => {
46
46
  a.value.dispatch(
47
47
  R.update(e, () => t, {
48
48
  source: D
49
49
  })
50
50
  );
51
- }, k = E(() => a.value !== null);
52
- P(
51
+ }, k = C(() => a.value !== null);
52
+ E(
53
53
  () => k.value,
54
54
  (e) => e && m.forEach(
55
55
  ({ path: t, value: n }) => f(t, n)
@@ -60,12 +60,12 @@ const V = {
60
60
  }
61
61
  });
62
62
  const _ = i(null);
63
- return F(_), (e, t) => (c(), v("div", J, [
63
+ return F(_), (e, t) => (u(), v("div", J, [
64
64
  y("div", {
65
65
  ref_key: "subPanelTeleportDest",
66
66
  ref: _
67
67
  }, null, 512),
68
- (c(), A(w, null, {
68
+ (u(), A(w, null, {
69
69
  fallback: d(() => [
70
70
  l(U)
71
71
  ]),
@@ -80,8 +80,8 @@ const V = {
80
80
  schema: e.schema,
81
81
  uischema: e.uischema,
82
82
  renderers: e.renderers,
83
- middleware: b,
84
- onChange: L
83
+ middleware: L,
84
+ onChange: b
85
85
  }, null, 8, ["data", "schema", "uischema", "renderers"]),
86
86
  h(e.$slots, "bottom", {}, void 0, !0)
87
87
  ]),
@@ -92,12 +92,12 @@ const V = {
92
92
  }))
93
93
  ]));
94
94
  }
95
- }), z = /* @__PURE__ */ S(G, [["__scopeId", "data-v-1a67a46b"]]), H = {
95
+ }), z = /* @__PURE__ */ S(G, [["__scopeId", "data-v-206f257a"]]), H = {
96
96
  layout: {
97
97
  type: Object,
98
98
  required: !0
99
99
  }
100
- }, K = (r) => u(r, {
100
+ }, K = (r) => c(r, {
101
101
  props: H
102
102
  });
103
103
  export {
@@ -106,10 +106,10 @@ export {
106
106
  z as JsonFormsDialog,
107
107
  ee as LabeledControl,
108
108
  be as SectionHeading,
109
- ke as SettingsSubPanel,
110
- ge as SimpleButtonControl,
111
- De as TextControl,
112
- ye as VerticalLayoutBase,
109
+ Pe as SettingsSubPanel,
110
+ he as SimpleButtonControl,
111
+ ve as TextControl,
112
+ Se as VerticalLayoutBase,
113
113
  te as controlProps,
114
114
  oe as controlToRenderer,
115
115
  se as controls,
@@ -121,9 +121,10 @@ export {
121
121
  le as inputFormats,
122
122
  H as layoutProps,
123
123
  ie as layoutToRenderer,
124
- ce as layouts,
125
- ue as mapControls,
124
+ ue as layouts,
125
+ ce as mapControls,
126
126
  pe as priorityRanks,
127
127
  me as toRenderers,
128
- fe as withLabel
128
+ fe as useProvidedState,
129
+ _e as withLabel
129
130
  };
@@ -1,4 +1,4 @@
1
- import { r as q, t as k, g as F, a as Z, b as j, c as z, d as _, i as V, e as K, s as A, l as J, f as ee, h as L, j as te, k as re, m as ne, n as I, o as P, p as ae } from "./DateTimeInput-CDUSsfXW.js";
1
+ import { r as q, t as k, g as F, a as Z, b as j, c as z, d as _, i as V, e as K, s as A, l as J, f as ee, h as L, j as te, k as re, m as ne, n as I, o as P, p as ae } from "./DateTimeInput-BPaZ_pEv.js";
2
2
  var ie = 864e5;
3
3
  function oe(a) {
4
4
  q(1, arguments);
@@ -1,4 +1,4 @@
1
- import { M as ht } from "./SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-CLPIgtdX.js";
1
+ import { M as ht } from "./SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-DHWwwUrR.js";
2
2
  var q = { exports: {} };
3
3
  (function(E, t) {
4
4
  (function(e, n) {
@@ -1,6 +1,7 @@
1
1
  import { JsonSchema, UISchemaElement } from '@jsonforms/core';
2
2
  import { NamedRenderer } from './higherOrderComponents/types';
3
3
  import { AlertParams } from './types/alert';
4
+ import { StateProviderLocation } from './types/provided';
4
5
  declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
5
6
  schema: JsonSchema;
6
7
  uischema: UISchemaElement;
@@ -15,7 +16,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
15
16
  trigger: (id: any) => any;
16
17
  updateData: (path: string) => any;
17
18
  alert: (alert: AlertParams) => any;
18
- stateProviderListener: (id: any, callback: (value: any) => void) => any;
19
+ stateProviderListener: (identifier: StateProviderLocation & {
20
+ [key: string]: unknown;
21
+ }, callback: (value: any) => void) => any;
19
22
  }, string, import('vue').PublicProps, Readonly<{
20
23
  schema: JsonSchema;
21
24
  uischema: UISchemaElement;
@@ -28,7 +31,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
28
31
  onTrigger?: ((id: any) => any) | undefined;
29
32
  onUpdateData?: ((path: string) => any) | undefined;
30
33
  onAlert?: ((alert: AlertParams) => any) | undefined;
31
- onStateProviderListener?: ((id: any, callback: (value: any) => void) => any) | undefined;
34
+ onStateProviderListener?: ((identifier: StateProviderLocation & {
35
+ [key: string]: unknown;
36
+ }, callback: (value: any) => void) => any) | undefined;
32
37
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
33
38
  top?(_: {}): any;
34
39
  bottom?(_: {}): any;
@@ -8,6 +8,10 @@ import { ValidationSettings } from './validation/types';
8
8
  export type VueControlProps<D> = {
9
9
  control: {
10
10
  data: D;
11
+ uischema: {
12
+ providedOptions?: string[];
13
+ id?: string;
14
+ };
11
15
  } & Omit<ReturnType<typeof useJsonFormsControl>["control"]["value"], "data">;
12
16
  handleChange: (path: string, value: any) => void;
13
17
  changeValue: (newValue: D) => void;
@@ -4,6 +4,10 @@ export declare const controlProps: {
4
4
  control: {
5
5
  type: PropType<{
6
6
  data: any;
7
+ uischema: {
8
+ providedOptions?: string[] | undefined;
9
+ id?: string | undefined;
10
+ };
7
11
  } & Omit<{
8
12
  uischema: import('@jsonforms/core').ControlElement;
9
13
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -1,7 +1,8 @@
1
1
  import { default as JsonFormsDialog } from './JsonFormsDialog.vue';
2
2
  import { AlertParams } from './types/alert';
3
3
  import { Provided } from './types/provided';
4
- export { JsonFormsDialog, type Provided, type AlertParams };
4
+ import { UiSchemaWithProvidedOptions } from './uiComponents/composables/useProvidedState';
5
+ export { JsonFormsDialog, type Provided, type AlertParams, type UiSchemaWithProvidedOptions, };
5
6
  export * from './higherOrderComponents';
6
7
  export * from './renderers';
7
8
  export * from './constants';
@@ -48,6 +48,10 @@ export declare const controls: {
48
48
  new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
49
49
  control: {
50
50
  data: string[];
51
+ uischema: {
52
+ providedOptions?: string[] | undefined;
53
+ id?: string | undefined;
54
+ };
51
55
  } & Omit<{
52
56
  uischema: import('@jsonforms/core').ControlElement;
53
57
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -89,6 +93,10 @@ export declare const controls: {
89
93
  }, Readonly<{
90
94
  control: {
91
95
  data: string[];
96
+ uischema: {
97
+ providedOptions?: string[] | undefined;
98
+ id?: string | undefined;
99
+ };
92
100
  } & Omit<{
93
101
  uischema: import('@jsonforms/core').ControlElement;
94
102
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -127,6 +135,10 @@ export declare const controls: {
127
135
  } & import('vue').ComponentOptionsBase<Readonly<{
128
136
  control: {
129
137
  data: string[];
138
+ uischema: {
139
+ providedOptions?: string[] | undefined;
140
+ id?: string | undefined;
141
+ };
130
142
  } & Omit<{
131
143
  uischema: import('@jsonforms/core').ControlElement;
132
144
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -193,6 +205,10 @@ export declare const controls: {
193
205
  control: <SettingValue>(__VLS_props: {
194
206
  control: {
195
207
  data: undefined;
208
+ uischema: {
209
+ providedOptions?: string[] | undefined;
210
+ id?: string | undefined;
211
+ };
196
212
  } & Omit<{
197
213
  uischema: import('@jsonforms/core').ControlElement;
198
214
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -233,6 +249,10 @@ export declare const controls: {
233
249
  props: {
234
250
  control: {
235
251
  data: undefined;
252
+ uischema: {
253
+ providedOptions?: string[] | undefined;
254
+ id?: string | undefined;
255
+ };
236
256
  } & Omit<{
237
257
  uischema: import('@jsonforms/core').ControlElement;
238
258
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -277,6 +297,10 @@ export declare const controls: {
277
297
  props: {
278
298
  control: {
279
299
  data: undefined;
300
+ uischema: {
301
+ providedOptions?: string[] | undefined;
302
+ id?: string | undefined;
303
+ };
280
304
  } & Omit<{
281
305
  uischema: import('@jsonforms/core').ControlElement;
282
306
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -3,6 +3,10 @@ export declare const simpleButtonRenderer: {
3
3
  control: <SettingValue>(__VLS_props: {
4
4
  control: {
5
5
  data: undefined;
6
+ uischema: {
7
+ providedOptions?: string[] | undefined;
8
+ id?: string | undefined;
9
+ };
6
10
  } & Omit<{
7
11
  uischema: import('@jsonforms/core').ControlElement;
8
12
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -43,6 +47,10 @@ export declare const simpleButtonRenderer: {
43
47
  props: {
44
48
  control: {
45
49
  data: undefined;
50
+ uischema: {
51
+ providedOptions?: string[] | undefined;
52
+ id?: string | undefined;
53
+ };
46
54
  } & Omit<{
47
55
  uischema: import('@jsonforms/core').ControlElement;
48
56
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -87,6 +95,10 @@ export declare const simpleButtonRenderer: {
87
95
  props: {
88
96
  control: {
89
97
  data: undefined;
98
+ uischema: {
99
+ providedOptions?: string[] | undefined;
100
+ id?: string | undefined;
101
+ };
90
102
  } & Omit<{
91
103
  uischema: import('@jsonforms/core').ControlElement;
92
104
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -4,6 +4,10 @@ export declare const sortListRenderer: {
4
4
  new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
5
5
  control: {
6
6
  data: string[];
7
+ uischema: {
8
+ providedOptions?: string[] | undefined;
9
+ id?: string | undefined;
10
+ };
7
11
  } & Omit<{
8
12
  uischema: import('@jsonforms/core').ControlElement;
9
13
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -45,6 +49,10 @@ export declare const sortListRenderer: {
45
49
  }, Readonly<{
46
50
  control: {
47
51
  data: string[];
52
+ uischema: {
53
+ providedOptions?: string[] | undefined;
54
+ id?: string | undefined;
55
+ };
48
56
  } & Omit<{
49
57
  uischema: import('@jsonforms/core').ControlElement;
50
58
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -83,6 +91,10 @@ export declare const sortListRenderer: {
83
91
  } & import('vue').ComponentOptionsBase<Readonly<{
84
92
  control: {
85
93
  data: string[];
94
+ uischema: {
95
+ providedOptions?: string[] | undefined;
96
+ id?: string | undefined;
97
+ };
86
98
  } & Omit<{
87
99
  uischema: import('@jsonforms/core').ControlElement;
88
100
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -1,16 +1,20 @@
1
+ import { ControlElement } from '@jsonforms/core';
2
+ import { UiSchemaWithProvidedOptions } from '../uiComponents/composables/useProvidedState';
3
+ import { StateProviderLocation } from './provided';
1
4
  export type IdAndText = {
2
5
  id: string;
3
6
  text: string;
4
7
  };
5
8
  export type PossibleValue<SpecialChoicesProps extends Record<string, any>> = IdAndText & SpecialChoicesProps;
6
- export type ChoicesUiSchemaOptions<SpcialChoicesProps extends Record<string, any> = {}> = {
7
- possibleValues?: PossibleValue<SpcialChoicesProps>[];
8
- choicesProvider?: string;
9
+ export type ChoicesUiSchemaOptions<SpecialChoicesProps extends Record<string, any> = {}> = {
10
+ possibleValues?: PossibleValue<SpecialChoicesProps>[];
11
+ choicesProvider?: StateProviderLocation;
9
12
  };
10
13
  export type IncludedExcludedLabelOptions = {
11
14
  includedLabel?: string;
12
15
  excludedLabel?: string;
13
16
  };
14
- export type ChoicesUiSchema<S extends Record<string, any> = {}> = {
17
+ export type ChoicesUiSchema<S extends Record<string, any> = {}> = ControlElement & {
15
18
  options?: ChoicesUiSchemaOptions<S>;
16
19
  };
20
+ export type ChoicesUiSchemaWithProvidedOptions<S extends Record<string, unknown> = {}> = UiSchemaWithProvidedOptions<ChoicesUiSchemaOptions<S>>;
@@ -1,5 +1,14 @@
1
1
  import { AlertParams } from './alert';
2
- type addStateProviderListener<T> = (id: any, callback: (data: T) => void) => void;
2
+ export type StateProviderLocation = ({
3
+ id: string;
4
+ } | {
5
+ scope: string;
6
+ }) & {
7
+ providedOptionName: string;
8
+ };
9
+ type addStateProviderListener<T> = (identifier: StateProviderLocation & {
10
+ [key: string]: unknown;
11
+ }, callback: (data: T) => void) => void;
3
12
  export type SettingsData = Record<string, object> & {
4
13
  view?: object;
5
14
  model?: object;
@@ -1,6 +1,10 @@
1
1
  declare const _default: <SettingValue>(__VLS_props: {
2
2
  control: {
3
3
  data: undefined;
4
+ uischema: {
5
+ providedOptions?: string[] | undefined;
6
+ id?: string | undefined;
7
+ };
4
8
  } & Omit<{
5
9
  uischema: import('@jsonforms/core').ControlElement;
6
10
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -41,6 +45,10 @@ declare const _default: <SettingValue>(__VLS_props: {
41
45
  props: {
42
46
  control: {
43
47
  data: undefined;
48
+ uischema: {
49
+ providedOptions?: string[] | undefined;
50
+ id?: string | undefined;
51
+ };
44
52
  } & Omit<{
45
53
  uischema: import('@jsonforms/core').ControlElement;
46
54
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -85,6 +93,10 @@ declare const _default: <SettingValue>(__VLS_props: {
85
93
  props: {
86
94
  control: {
87
95
  data: undefined;
96
+ uischema: {
97
+ providedOptions?: string[] | undefined;
98
+ id?: string | undefined;
99
+ };
88
100
  } & Omit<{
89
101
  uischema: import('@jsonforms/core').ControlElement;
90
102
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -2,6 +2,10 @@ export declare const DEFAULT_ANY_UNKNOWN_VALUES_ID = "<any unknown new column>";
2
2
  declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
3
3
  control: {
4
4
  data: string[];
5
+ uischema: {
6
+ providedOptions?: string[] | undefined;
7
+ id?: string | undefined;
8
+ };
5
9
  } & Omit<{
6
10
  uischema: import('@jsonforms/core').ControlElement;
7
11
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -33,6 +37,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
33
37
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
34
38
  control: {
35
39
  data: string[];
40
+ uischema: {
41
+ providedOptions?: string[] | undefined;
42
+ id?: string | undefined;
43
+ };
36
44
  } & Omit<{
37
45
  uischema: import('@jsonforms/core').ControlElement;
38
46
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -17,17 +17,14 @@ export type Validators<T, S> = {
17
17
  * @type {T} - type defining the available built-in validations by id-param pairs
18
18
  */
19
19
  export type BuiltinValidation<T, K extends keyof T> = {
20
- id: K;
21
20
  parameters: T[K];
22
21
  errorMessage: string;
23
22
  };
24
23
  /**
25
- * A list of built-in validations typed to T.
24
+ * An object of built-in validations typed to T.
26
25
  * @type {T} - type defining the available built-in validations by id-param pairs
27
26
  */
28
- export type BuiltinValidations<T> = Array<{
29
- [K in keyof T]: BuiltinValidation<T, K>;
30
- }[keyof T]>;
27
+ export type BuiltinValidations<T> = Record<keyof T, BuiltinValidation<T, keyof T>>;
31
28
  /**
32
29
  * Composable used within a control to define/handle its built-in validations.
33
30
  *
@@ -40,4 +37,4 @@ export type BuiltinValidations<T> = Array<{
40
37
  * @type {T} - type defining the available built-in validations by id-param pairs
41
38
  * @type {S} - type of the value to validate, i.e. the type of the data of the control
42
39
  */
43
- export declare const useBuiltinValidation: <T, S>(validators: Validators<T, S>, props: VueControlProps<S> | VueControlPropsForLabelContent<S>) => Ref<Partial<T>>;
40
+ export declare const useBuiltinValidation: <T extends Record<string, unknown>, S>(validators: Validators<T, S>, props: VueControlProps<S> | VueControlPropsForLabelContent<S>) => Ref<Partial<T>>;
@@ -8,7 +8,7 @@ declare const _default: ({ control, disabled, changeValue, controlElement, }: {
8
8
  focus?: () => void;
9
9
  } | null>;
10
10
  }) => {
11
- showCheckbox: import('vue').ComputedRef<any>;
11
+ showCheckbox: import('vue').ComputedRef<boolean>;
12
12
  showControl: import('vue').ComputedRef<boolean>;
13
13
  checkboxProps: import('vue').ComputedRef<{
14
14
  modelValue: boolean;
@@ -1,7 +1,7 @@
1
1
  import { Ref } from 'vue';
2
- import { ChoicesUiSchema, IdAndText, IncludedExcludedLabelOptions } from '../../types/ChoicesUiSchema';
2
+ import { ChoicesUiSchema, ChoicesUiSchemaWithProvidedOptions, IdAndText, IncludedExcludedLabelOptions } from '../../types/ChoicesUiSchema';
3
3
  export declare const usePossibleValues: <SpecialChoicesProps extends Record<string, any> = {}>(control: Ref<{
4
- uischema: ChoicesUiSchema<SpecialChoicesProps>;
4
+ uischema: ChoicesUiSchemaWithProvidedOptions<SpecialChoicesProps>;
5
5
  }>) => {
6
6
  possibleValues: Ref<import('../../types/ChoicesUiSchema').PossibleValue<SpecialChoicesProps>[] | null, import('../../types/ChoicesUiSchema').PossibleValue<SpecialChoicesProps>[] | null>;
7
7
  };
@@ -1,3 +1,18 @@
1
- import { MaybeRef, Ref } from 'vue';
2
- declare const _default: <T>(stateProviderId: MaybeRef<string | undefined>, defaultValue: T) => Ref<T, T>;
1
+ import { Ref } from 'vue';
2
+ export type UiSchemaWithProvidedOptions<T extends Record<string, unknown>> = {
3
+ options?: T;
4
+ providedOptions?: string[];
5
+ } & ({
6
+ scope: string;
7
+ } | {
8
+ id: string;
9
+ });
10
+ type NonUndefined<T> = T extends undefined ? never : T;
11
+ type Join<K, P> = K extends string ? P extends string ? `${K}${"" extends P ? "" : "."}${P}` : never : never;
12
+ type Prev = [never, 0, 1];
13
+ export type Paths<T, D extends number = 2> = [D] extends [never] ? never : T extends object ? {
14
+ [K in keyof T]-?: K extends string ? `${K}` | Join<K, Paths<T[K], Prev[D]>> : never;
15
+ }[keyof T] : "";
16
+ export type ExtractNestedValue<T, P extends string> = P extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? ExtractNestedValue<T[Key], Rest> : never : P extends keyof T ? T[P] : never;
17
+ declare const _default: <U extends UiSchemaWithProvidedOptions<Record<string, unknown>>, K_3 extends NonUndefined<U["options"]> extends infer T ? T extends NonUndefined<U["options"]> ? T extends object ? { [K in keyof T]-?: K extends string ? `${K}` | Join<K, T[K] extends infer T_1 ? T_1 extends T[K] ? T_1 extends object ? { [K_1 in keyof T_1]-?: K_1 extends string ? `${K_1}` | Join<K_1, T_1[K_1] extends infer T_2 ? T_2 extends T_1[K_1] ? T_2 extends object ? { [K_2 in keyof T_2]-?: K_2 extends string ? `${K_2}` | Join<K_2, never> : never; }[keyof T_2] : "" : never : never> : never; }[keyof T_1] : "" : never : never> : never; }[keyof T] : "" : never : never, D = ExtractNestedValue<NonUndefined<U["options"]>, K_3> | null>(uischema: Ref<U>, providedOptionName: K_3, defaultValue?: D | null) => Ref<NonUndefined<D>, NonUndefined<D>>;
3
18
  export default _default;
@@ -1,3 +1,4 @@
1
1
  import { default as SimpleButtonControl } from './SimpleButtonControl.vue';
2
2
  import { default as TextControl } from './TextControl.vue';
3
- export { TextControl, SimpleButtonControl };
3
+ import { default as useProvidedState } from './composables/useProvidedState';
4
+ export { TextControl, SimpleButtonControl, useProvidedState };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as r, openBlock as c, createBlock as s, unref as a, h as i } from "vue";
2
2
  import { R as d } from "./reload-BVbCGubF.js";
3
- import { _ } from "./SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-CLPIgtdX.js";
3
+ import { _ } from "./SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-DHWwwUrR.js";
4
4
  const p = /* @__PURE__ */ r({
5
5
  __name: "LoadingIcon",
6
6
  setup(t) {
@@ -29,6 +29,10 @@ export declare const mountJsonFormsControl: <D>(component: VueControl<D>, { prop
29
29
  wrapper: import('@vue/test-utils').VueWrapper<({} | ({
30
30
  control: {
31
31
  data: D;
32
+ uischema: {
33
+ providedOptions?: string[] | undefined;
34
+ id?: string | undefined;
35
+ };
32
36
  } & Omit<{
33
37
  uischema: import('@jsonforms/core').ControlElement;
34
38
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -68,6 +72,10 @@ export declare const mountJsonFormsControl: <D>(component: VueControl<D>, { prop
68
72
  }, Readonly<ExtractPropTypes<{}>>, {}, {}, import('vue').ComputedOptions, import('vue').MethodOptions, {}> | VueControlProps<D>), import('vue').ComponentPublicInstance<{} | ({
69
73
  control: {
70
74
  data: D;
75
+ uischema: {
76
+ providedOptions?: string[] | undefined;
77
+ id?: string | undefined;
78
+ };
71
79
  } & Omit<{
72
80
  uischema: import('@jsonforms/core').ControlElement;
73
81
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -114,6 +122,10 @@ export declare const mountJsonFormsControl: <D>(component: VueControl<D>, { prop
114
122
  labelForId?: null | undefined;
115
123
  control: {
116
124
  data: D;
125
+ uischema: {
126
+ providedOptions?: string[] | undefined;
127
+ id?: string | undefined;
128
+ };
117
129
  } & Omit<{
118
130
  uischema: import('@jsonforms/core').ControlElement;
119
131
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
@@ -180,6 +192,10 @@ export declare const mountJsonFormsControlLabelContent: <D>(component: VueContro
180
192
  labelForId: string;
181
193
  control: {
182
194
  data: D;
195
+ uischema: {
196
+ providedOptions?: string[] | undefined;
197
+ id?: string | undefined;
198
+ };
183
199
  } & Omit<{
184
200
  uischema: import('@jsonforms/core').ControlElement;
185
201
  schema: NonNullable<import('@jsonforms/core').JsonSchema>;
package/dist/testing.js CHANGED
@@ -3,8 +3,8 @@ var L_ = (e, t, n) => t in e ? j_(e, t, { enumerable: !0, configurable: !0, writ
3
3
  var G = (e, t, n) => L_(e, typeof t != "symbol" ? t + "" : t, n);
4
4
  import * as nh from "vue";
5
5
  import { initDirectivesForSSR as F_, nextTick as fo, defineComponent as ui, computed as kr, h as xn, shallowReactive as B_, reactive as V_, ref as rh, createApp as q_, transformVNodeArgs as W_, setDevtoolsHook as U_, Transition as z_, BaseTransition as K_, TransitionGroup as X_, isRef as G_ } from "vue";
6
- import { n as J_, o as H_, b as Y_ } from "./SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-CLPIgtdX.js";
7
- import { b as Q_ } from "./_baseIteratee-DItkztCj.js";
6
+ import { n as J_, o as H_, b as Y_ } from "./SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-DHWwwUrR.js";
7
+ import { b as Q_ } from "./_baseIteratee-CHW73TMN.js";
8
8
  function Z_(e, t) {
9
9
  return e > t;
10
10
  }
@@ -9512,7 +9512,7 @@ function Bw(e, t) {
9512
9512
  return s + 1;
9513
9513
  }
9514
9514
  async function Vw(e, t) {
9515
- const n = (await import("./magic-string.es-Iz0jmxfz.js")).default, r = new Set(t.map((i) => i.file));
9515
+ const n = (await import("./magic-string.es-DLCZ-p-e.js")).default, r = new Set(t.map((i) => i.file));
9516
9516
  await Promise.all(
9517
9517
  Array.from(r).map(async (i) => {
9518
9518
  const s = t.filter((c) => c.file === i), o = await e.readSnapshotFile(i), a = new n(o);
@@ -1,4 +1,4 @@
1
- import { S as s, n as g } from "./SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-CLPIgtdX.js";
1
+ import { S as s, n as g } from "./SectionHeading.vue_vue_type_style_index_0_scoped_625edfbe_lang-DHWwwUrR.js";
2
2
  import { i as l } from "./isArray-WzO_os3q.js";
3
3
  function p(n, r) {
4
4
  for (var t = -1, i = n == null ? 0 : n.length, o = Array(i); ++t < i; )