@knime/jsonforms 1.21.12 → 1.21.14

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 (96) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{AnyOfTwinlist-okh3acrL.js → AnyOfTwinlist-CV39JeCp.js} +1 -1
  3. package/dist/{CheckboxControl-WvUWHssa.js → CheckboxControl-CS4nuJTP.js} +1 -1
  4. package/dist/{CheckboxesControl-FdF0BBj6.js → CheckboxesControl-DXJMkZ49.js} +2 -2
  5. package/dist/{ColorControl-DoojVQVN.js → ColorControl-CpBVJh38.js} +1 -1
  6. package/dist/{ColorPreviewControl-BbltK_sQ.js → ColorPreviewControl-0VK3OqwY.js} +1 -1
  7. package/dist/{ComboBoxControl-CUld4KT6.js → ComboBoxControl-avfNedsG.js} +4 -4
  8. package/dist/DateControl-B8E0JEIV.js +42 -0
  9. package/dist/DateTimeControl-DPjGzRqg.js +78 -0
  10. package/dist/{DateTimeFormatPickerControl-DIKJ38Cu.js → DateTimeFormatPickerControl-Cx3yfT3O.js} +1 -1
  11. package/dist/DateTimeFormatPickerWithTypeControl-CodEVQG_.js +586 -0
  12. package/dist/{DropdownControl-C5lnjQYg.js → DropdownControl-DEggcwK1.js} +2 -2
  13. package/dist/{ExecutorCoresControl-CfgW_CAA.js → ExecutorCoresControl-CvCVcaHM.js} +1 -1
  14. package/dist/{ExecutorMemoryControl-DQ5K142Z.js → ExecutorMemoryControl-CpbVJNq4.js} +1 -1
  15. package/dist/{FileUploadControl-BHA9VMk6.js → FileUploadControl-CNUi9QfR.js} +21 -21
  16. package/dist/{GridSelectionControl-_y030flL.js → GridSelectionControl-HV2yNE4R.js} +14 -14
  17. package/dist/{HorizontalLayout-aR7lYnE1.js → HorizontalLayout-Cqf3hzxv.js} +1 -1
  18. package/dist/{IntegerControl-BiWKa6qP.js → IntegerControl-Ba5QkLCa.js} +1 -1
  19. package/dist/IntervalControl-DlLV8RQr.js +48 -0
  20. package/dist/{LinkControl-CloaPEeg.js → LinkControl-COH9jvPg.js} +4 -4
  21. package/dist/{LoadingDropdown.vue_vue_type_script_setup_true_lang-CIHUkMU_.js → LoadingDropdown.vue_vue_type_script_setup_true_lang-Cir2ym2M.js} +5 -5
  22. package/dist/{ManualTwinlistControl-C8duERky.js → ManualTwinlistControl-jJGxlq9j.js} +3 -3
  23. package/dist/{MultiSelectListBoxControl-BVd9aG_L.js → MultiSelectListBoxControl-DcWDraNF.js} +12 -12
  24. package/dist/{MultimodeTwinlistControl-Cpn3Obqv.js → MultimodeTwinlistControl-B-rEhgKQ.js} +1 -1
  25. package/dist/{MultimodeTwinlistControl.vue_vue_type_script_setup_true_lang-BWDpSwd8.js → MultimodeTwinlistControl.vue_vue_type_script_setup_true_lang-yhmiIg95.js} +5 -5
  26. package/dist/{NameFilter-DiGEe3xM.js → NameFilter-BFKNf9cO.js} +1 -1
  27. package/dist/{NumberControl-CLqg9R1h.js → NumberControl-BAxGZy_4.js} +1 -1
  28. package/dist/{NumberControlBase.vue_vue_type_script_setup_true_lang-BmD_chMa.js → NumberControlBase.vue_vue_type_script_setup_true_lang-Dlxx71hk.js} +2 -2
  29. package/dist/{OneOfDropdown-C-uZgb2n.js → OneOfDropdown-DcetHKT5.js} +4 -4
  30. package/dist/{RadioButtonsWithDescriptionControl-B-7qAPKi.js → RadioButtonsWithDescriptionControl-pZ0gJ6iz.js} +4 -4
  31. package/dist/{RadioControl-1uSlBli9.js → RadioControl-B8-nxddP.js} +1 -1
  32. package/dist/{RadioControlBase.vue_vue_type_script_setup_true_lang-D9p-74CQ.js → RadioControlBase.vue_vue_type_script_setup_true_lang-8xWE-iQR.js} +8 -8
  33. package/dist/ResourceControlBase-ZMTuwwL2.js +86 -0
  34. package/dist/{RichTextControl-DP_G9eeL.js → RichTextControl-kptCYz2A.js} +5874 -4964
  35. package/dist/{SectionHeading-DXTZxEqf.js → SectionHeading-MlqCj5BS.js} +1 -1
  36. package/dist/{SectionLayout-7ccuUrYw.js → SectionLayout-nV1GnghP.js} +3 -3
  37. package/dist/SettingsSubPanel-Z6urYwz1.js +5 -0
  38. package/dist/{SettingsSubPanelLayout-yLYlXH0u.js → SettingsSubPanelLayout-BNMJbUsL.js} +4 -4
  39. package/dist/{SimpleButtonControl-CDWXL2xf.js → SimpleButtonControl-DZFYl2H3.js} +8 -8
  40. package/dist/SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js +27089 -0
  41. package/dist/{SimpleTwinlistControl-BNCs9d3G.js → SimpleTwinlistControl-Ds2BQOoO.js} +2 -2
  42. package/dist/{SingleSelectControl-C6_AaIOD.js → SingleSelectControl-CLv_Mah-.js} +2 -2
  43. package/dist/{SingleSelectListBoxControl-SaXGIZu1.js → SingleSelectListBoxControl-DM_5t3Nv.js} +3 -3
  44. package/dist/{SortListControl-CE-fFPEt.js → SortListControl-COd0WHwd.js} +1 -1
  45. package/dist/{StyledListItem-CVxAhfg9.js → StyledListItem-D3NbpWl3.js} +1 -1
  46. package/dist/{TeamAndSpacesControl-BbnSrDDM.js → TeamAndSpacesControl-A8mWrSE4.js} +1 -1
  47. package/dist/{TeamResourceControl-BzK-poDQ.js → TeamResourceControl-CAgwzjRZ.js} +1 -1
  48. package/dist/{TextAreaControl-CV31xMV2.js → TextAreaControl-DRBGqA7a.js} +1 -1
  49. package/dist/{TextControl-Cd8b0ciV.js → TextControl--Tw-AE3y.js} +1 -1
  50. package/dist/{TextControl.vue_vue_type_script_setup_true_lang-Dy33yTWA.js → TextControl.vue_vue_type_script_setup_true_lang-PdbUWJUv.js} +2 -2
  51. package/dist/TimeControl-D_hEPt2Z.js +69 -0
  52. package/dist/TimeframesControl-EKcriaC8.js +345 -0
  53. package/dist/{TwinlistControlBase.vue_vue_type_script_setup_true_lang-CEd5Mao3.js → TwinlistControlBase.vue_vue_type_script_setup_true_lang-BRq0ANwm.js} +2 -2
  54. package/dist/{TypedStringFilter-NxkEmoJG.js → TypedStringFilter-UUuSnJNk.js} +1 -1
  55. package/dist/{ValueSwitchControl-DSQYeBjc.js → ValueSwitchControl-BwERUIyr.js} +1 -1
  56. package/dist/{VerticalLayout-B0nfyfhR.js → VerticalLayout-BET3pZ_K.js} +2 -2
  57. package/dist/{VerticalLayoutBase-CsDLPDdW.js → VerticalLayoutBase-HYtDwVLA.js} +1 -1
  58. package/dist/ZonedDateTimeControl-CsbZwGMX.js +77 -0
  59. package/dist/{_Uint8Array-CZYa_ni2.js → _Uint8Array-DJimCh8a.js} +5 -7
  60. package/dist/classApi-CHpAZrj3.js +3328 -0
  61. package/dist/knime-jsonforms.css +1 -1
  62. package/dist/knime-jsonforms.js +7 -7
  63. package/dist/plainDateTimeUtils-CR0UhpkD.js +52 -0
  64. package/dist/src/composables/usePlainDateTimeBatch.d.ts +31 -0
  65. package/dist/src/uiComponents/DateControl.vue.d.ts +1 -1
  66. package/dist/src/uiComponents/DateTimeControl.vue.d.ts +1 -1
  67. package/dist/src/uiComponents/TimeControl.vue.d.ts +1 -1
  68. package/dist/src/utils/plainDateTimeUtils.d.ts +66 -0
  69. package/dist/testing.js +4285 -3982
  70. package/dist/{toString-CLKrIkFV.js → toString-B8vqfiDe.js} +3 -4
  71. package/dist/{useBuiltinValidations-DiMyBW0e.js → useBuiltinValidations-CzYsm8oq.js} +1 -1
  72. package/dist/useDropdownNavigation-CdrbT-CQ.js +2003 -0
  73. package/dist/usePlainDateTimeBatch-Bd2G-GY9.js +34 -0
  74. package/dist/{usePossibleValues--Oc7RF2X.js → usePossibleValues-CGt7yrJ6.js} +1 -1
  75. package/dist/{useUnknownValuesInTwinlist-Tb5xfKVI.js → useUnknownValuesInTwinlist-Bez1tY4_.js} +1 -1
  76. package/package.json +7 -11
  77. package/dist/DateControl-BY2P3mI9.js +0 -35
  78. package/dist/DateTimeControl-y0PRMQPw.js +0 -44
  79. package/dist/DateTimeFormatPickerWithTypeControl-BxT897aw.js +0 -464
  80. package/dist/IntervalControl-VJCTzAIh.js +0 -751
  81. package/dist/ResourceControlBase-Dc_hzlRC.js +0 -69
  82. package/dist/SettingsSubPanel-x2JfGeo0.js +0 -5
  83. package/dist/SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-BDEWXlve.js +0 -28302
  84. package/dist/TimeControl-BVtkHiqK.js +0 -35
  85. package/dist/TimePartInput-BXq9OsnT.js +0 -254
  86. package/dist/TimeframesControl-Cj7ecpdC.js +0 -87
  87. package/dist/Tooltip-ClY9sTfM.js +0 -24
  88. package/dist/ValueSwitch-CZZKbbiG.js +0 -130
  89. package/dist/ZonedDateTimeControl-CuS1pIG-.js +0 -66
  90. package/dist/_baseIteratee-BHa5eKgU.js +0 -308
  91. package/dist/arrow-dropdown-DMFBPPcK.js +0 -17
  92. package/dist/floating-ui.vue-Bk6u3tWN.js +0 -1060
  93. package/dist/localTimeUtils-BKrpWptT.js +0 -12315
  94. package/dist/popper-iehk3xNV.js +0 -923
  95. package/dist/src/utils/localTimeUtils.d.ts +0 -18
  96. package/dist/useDropdownNavigation-EOwf_fL0.js +0 -946
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as s, toRef as l, openBlock as a, createBlock as r, mergeProps as i, unref as p } from "vue";
2
- import { u as c } from "./usePossibleValues--Oc7RF2X.js";
3
- import { _ as u } from "./TwinlistControlBase.vue_vue_type_script_setup_true_lang-CEd5Mao3.js";
2
+ import { u as c } from "./usePossibleValues-CGt7yrJ6.js";
3
+ import { _ as u } from "./TwinlistControlBase.vue_vue_type_script_setup_true_lang-BRq0ANwm.js";
4
4
  const y = /* @__PURE__ */ s({
5
5
  __name: "SimpleTwinlistControl",
6
6
  props: {
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as x, computed as c, toRef as y, openBlock as _, createBlock as v } from "vue";
2
- import { u as $ } from "./usePossibleValues--Oc7RF2X.js";
3
- import { _ as F } from "./LoadingDropdown.vue_vue_type_script_setup_true_lang-CIHUkMU_.js";
2
+ import { u as $ } from "./usePossibleValues-CGt7yrJ6.js";
3
+ import { _ as F } from "./LoadingDropdown.vue_vue_type_script_setup_true_lang-Cir2ym2M.js";
4
4
  const i = "__special__", a = "__regular__", P = /* @__PURE__ */ x({
5
5
  __name: "SingleSelectControl",
6
6
  props: {
@@ -1,7 +1,7 @@
1
1
  import { resolveComponent as x, openBlock as a, createElementBlock as c, normalizeClass as u, createElementVNode as V, normalizeStyle as h, Fragment as p, renderList as y, createBlock as f, defineComponent as I, toRef as g, unref as o, createCommentVNode as v } from "vue";
2
- import { u as S } from "./usePossibleValues--Oc7RF2X.js";
3
- import { S as C } from "./StyledListItem-CVxAhfg9.js";
4
- import { _ as L, R as B } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-BDEWXlve.js";
2
+ import { u as S } from "./usePossibleValues-CGt7yrJ6.js";
3
+ import { S as C } from "./StyledListItem-D3NbpWl3.js";
4
+ import { _ as L, Q as B } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
5
5
  const w = 40, H = 38, T = 36, K = 35, k = {
6
6
  name: "ListBox",
7
7
  components: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as g, computed as i, onMounted as x, watch as k, openBlock as I, createBlock as U, unref as y } from "vue";
2
- import { u as L, au as F } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-BDEWXlve.js";
2
+ import { u as L, an as F } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
3
3
  function S(e, n, t, l) {
4
4
  for (var o = e.length, u = t + -1; ++u < o; )
5
5
  if (n(e[u], u, e))
@@ -1,5 +1,5 @@
1
1
  import { openBlock as s, createElementBlock as n, mergeProps as d, withModifiers as o, renderSlot as a, createTextVNode as m, toDisplayString as f } from "vue";
2
- import { _ as u } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-BDEWXlve.js";
2
+ import { _ as u } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
3
3
  const r = {
4
4
  name: "StyledListItem",
5
5
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as T, ref as r, computed as l, openBlock as I, createElementBlock as y, createElementVNode as m, createVNode as v, unref as b } from "vue";
2
- import { a3 as V, _ as C } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-BDEWXlve.js";
2
+ import { W as V, _ as C } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
3
3
  const B = { class: "team-and-space" }, F = { class: "team" }, N = { class: "space" }, x = /* @__PURE__ */ T({
4
4
  __name: "TeamAndSpacesControl",
5
5
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as l, computed as t, openBlock as u, createBlock as s, mergeProps as d } from "vue";
2
- import { R as p } from "./ResourceControlBase-Dc_hzlRC.js";
2
+ import { R as p } from "./ResourceControlBase-ZMTuwwL2.js";
3
3
  const x = /* @__PURE__ */ l({
4
4
  __name: "TeamResourceControl",
5
5
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as a, openBlock as o, createBlock as l, unref as n } from "vue";
2
- import { av as t } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-BDEWXlve.js";
2
+ import { ao as t } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
3
3
  const u = /* @__PURE__ */ a({
4
4
  __name: "TextAreaControl",
5
5
  props: {
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./TextControl.vue_vue_type_script_setup_true_lang-Dy33yTWA.js";
1
+ import { _ as f } from "./TextControl.vue_vue_type_script_setup_true_lang-PdbUWJUv.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as m, computed as i, useTemplateRef as h, openBlock as f, createBlock as b, unref as l } from "vue";
2
- import { u, z as x } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-BDEWXlve.js";
3
- import { u as F } from "./useBuiltinValidations-DiMyBW0e.js";
2
+ import { u, C as x } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
3
+ import { u as F } from "./useBuiltinValidations-CzYsm8oq.js";
4
4
  const B = /* @__PURE__ */ m({
5
5
  __name: "TextControl",
6
6
  props: {
@@ -0,0 +1,69 @@
1
+ import { defineComponent as b, computed as u, ref as V, openBlock as x, createBlock as v, unref as F } from "vue";
2
+ import { V as G } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
3
+ import { p as m } from "./plainDateTimeUtils-CR0UhpkD.js";
4
+ import { U as c } from "./classApi-CHpAZrj3.js";
5
+ const I = /* @__PURE__ */ b({
6
+ __name: "TimeControl",
7
+ props: {
8
+ control: {},
9
+ handleChange: { type: Function },
10
+ changeValue: { type: Function },
11
+ disabled: { type: Boolean },
12
+ isValid: { type: Boolean },
13
+ onRegisterValidation: { type: Function },
14
+ labelForId: {}
15
+ },
16
+ setup(a) {
17
+ const n = a, f = u(() => n.control.uischema.options), p = u(
18
+ () => m.getMaxGranularity(f.value)
19
+ ), y = (t) => {
20
+ if (!t)
21
+ return null;
22
+ if (/(Z|[+-]\d{2}:?\d{2})$/.test(t))
23
+ try {
24
+ return c.Instant.from(t).toZonedDateTimeISO("UTC").toPlainTime();
25
+ } catch {
26
+ return null;
27
+ }
28
+ try {
29
+ return c.PlainTime.from(t);
30
+ } catch {
31
+ try {
32
+ return c.PlainDateTime.from(t).toPlainTime();
33
+ } catch {
34
+ return null;
35
+ }
36
+ }
37
+ }, g = (t, e) => t === null ? "" : e === "minute" ? t.toString({ smallestUnit: "minute" }) : e === "second" ? t.toString({ smallestUnit: "second" }) : t.toString({ fractionalSecondDigits: 3 }), s = u(
38
+ () => y(n.control.data)
39
+ ), o = V(
40
+ m.detectGranularity(n.control.data)
41
+ );
42
+ let r, i, l = !1;
43
+ const h = () => {
44
+ l = !1;
45
+ const t = r === void 0 ? s.value : r, e = i ?? o.value;
46
+ r = void 0, i = void 0, o.value = e, n.changeValue(g(t, e));
47
+ }, d = () => {
48
+ l || (l = !0, queueMicrotask(h));
49
+ }, T = (t) => {
50
+ r = t, d();
51
+ }, U = (t) => {
52
+ i = t, d();
53
+ };
54
+ return (t, e) => (x(), v(F(G), {
55
+ id: a.labelForId,
56
+ "model-value": s.value,
57
+ granularity: o.value,
58
+ ariaLabel: n.control.label,
59
+ "max-granularity": p.value,
60
+ disabled: a.disabled,
61
+ error: !a.isValid,
62
+ "onUpdate:modelValue": T,
63
+ "onUpdate:granularity": U
64
+ }, null, 8, ["id", "model-value", "granularity", "ariaLabel", "max-granularity", "disabled", "error"]));
65
+ }
66
+ });
67
+ export {
68
+ I as default
69
+ };
@@ -0,0 +1,345 @@
1
+ import { openBlock as g, createElementBlock as V, createElementVNode as d, resolveComponent as x, normalizeClass as f, createCommentVNode as T, withModifiers as h, createVNode as u, defineComponent as M, unref as m, withCtx as I } from "vue";
2
+ /* empty css */
3
+ import { _ as N, am as b } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
4
+ const y = {
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ fill: "none",
7
+ stroke: "#000",
8
+ "stroke-linejoin": "round",
9
+ viewBox: "0 0 32 32"
10
+ };
11
+ function B(t, e) {
12
+ return g(), V("svg", y, [...e[0] || (e[0] = [
13
+ d("path", { d: "M28.7 9.7 16 22.3 3.3 9.7" }, null, -1)
14
+ ])]);
15
+ }
16
+ const A = { render: B }, S = (t) => Math.max(Math.floor(Math.log10(Math.abs(t))), 0) + 1, C = 200, k = 50, F = 1, R = {
17
+ name: "TimePartInput",
18
+ components: {
19
+ ArrowIcon: A
20
+ },
21
+ props: {
22
+ modelValue: {
23
+ default: 0,
24
+ type: [Number, String]
25
+ },
26
+ id: {
27
+ type: String,
28
+ default: null
29
+ },
30
+ min: {
31
+ default: Number.MIN_SAFE_INTEGER,
32
+ type: Number
33
+ },
34
+ max: {
35
+ default: Number.MAX_SAFE_INTEGER,
36
+ type: Number
37
+ },
38
+ /**
39
+ * Minimum number of digits shown, non existent digits will be filled with zeros (0)
40
+ * e.g 3 -> 001, no leading zeros with the default 0
41
+ */
42
+ minDigits: {
43
+ default: 0,
44
+ type: Number
45
+ },
46
+ /**
47
+ * Validity controlled by the parent component to be flexible.
48
+ */
49
+ isValid: {
50
+ default: !0,
51
+ type: Boolean
52
+ },
53
+ inputClasses: {
54
+ default: "",
55
+ type: String
56
+ },
57
+ disabled: {
58
+ default: !1,
59
+ type: Boolean
60
+ },
61
+ compact: {
62
+ default: !1,
63
+ type: Boolean
64
+ }
65
+ },
66
+ emits: ["update:modelValue", "bounds"],
67
+ data() {
68
+ return {
69
+ clicked: !1,
70
+ // false to prevent unintended 'mouseup' or 'mouseleave' events.
71
+ hovered: !1,
72
+ // if the input field is currently hovered or not
73
+ /* @type {String|Number} */
74
+ localValue: this.modelValue
75
+ // value with leading zeros
76
+ };
77
+ },
78
+ computed: {
79
+ stepSize() {
80
+ return F;
81
+ },
82
+ inputClassList() {
83
+ let t = this.inputClasses;
84
+ return this.hovered && (t += " hover"), t;
85
+ }
86
+ },
87
+ watch: {
88
+ modelValue: {
89
+ handler(t) {
90
+ this.localValue = this.padValue(t);
91
+ },
92
+ immediate: !0
93
+ }
94
+ },
95
+ /**
96
+ * The reference to the timeout which is set when
97
+ * a user clicks one of the numeric spinner wheels. This
98
+ * Timeout will trigger the spinnerArrowInterval.
99
+ */
100
+ spinnerArrowTimeout: null,
101
+ /**
102
+ * This interval rapid calls the change value method until the
103
+ * user releases the mouse.
104
+ */
105
+ spinnerArrowInterval: null,
106
+ mounted() {
107
+ this.initialValue = this.modelValue;
108
+ },
109
+ methods: {
110
+ /**
111
+ * Check min/max limits and return details about it
112
+ * @param {Number} value - value to check for min/max bounds
113
+ * @returns {Object} - bounds info object also used for @bounds event
114
+ */
115
+ limitBounds(t) {
116
+ return t < this.min ? {
117
+ type: "min",
118
+ limit: this.min,
119
+ input: t,
120
+ value: this.min
121
+ } : t > this.max ? {
122
+ type: "max",
123
+ limit: this.max,
124
+ input: t,
125
+ value: this.max
126
+ } : {
127
+ value: t
128
+ };
129
+ },
130
+ /**
131
+ * Pad with zeros based on minDigits prop
132
+ *
133
+ * @param {Number} value
134
+ * @returns {String|Number}
135
+ */
136
+ padValue(t) {
137
+ if (isNaN(t) || !t && t !== 0 || t < 0)
138
+ return t;
139
+ const e = t.toString(10);
140
+ return this.minDigits < 1 ? e : e.padStart(this.minDigits, "0");
141
+ },
142
+ getValue() {
143
+ return parseInt(this.$refs.input.value, 10);
144
+ },
145
+ onBlur() {
146
+ this.localValue = this.padValue(this.modelValue);
147
+ },
148
+ onInput(t) {
149
+ const e = t.target.value, n = parseInt(e, 10);
150
+ if (e === "")
151
+ this.localValue = "";
152
+ else {
153
+ const o = n.toString(10).length;
154
+ if (e === "")
155
+ return;
156
+ if (isNaN(n) || o > S(this.max)) {
157
+ this.$refs.input.value = this.padValue(this.localValue);
158
+ return;
159
+ }
160
+ }
161
+ const r = this.limitBounds(n);
162
+ r.type ? this.$emit("bounds", r) : this.$emit("update:modelValue", r.value);
163
+ },
164
+ validate(t) {
165
+ let e = !0, n;
166
+ return t = typeof t > "u" ? this.getValue() : t, typeof t != "number" || isNaN(t) ? (e = !1, n = "Current value is not a number.") : (this.min > t || this.max < t) && (e = !1, n = "Current value is outside allowed range."), { isValid: e, errorMessage: n };
167
+ },
168
+ /**
169
+ * Change value updates the actual value of the input field if a valid new value
170
+ * can be found. It prevents users from further invalidating the value in the input
171
+ * by moving in the wrong direction (lower than min/higher than max).
172
+ *
173
+ * @param {Number} increment - the amount by which to change the current value.
174
+ * @returns {undefined}
175
+ */
176
+ changeValue(t) {
177
+ let e = this.getValue();
178
+ this.validate(e).isValid || (e < this.min ? e = this.min : e > this.max ? e = this.max : e = this.initialValue);
179
+ let n = e + t;
180
+ if (n = Math.round(n * 10) / 10, this.validate(n).isValid)
181
+ this.$refs.input.value = this.padValue(n), this.onInput({ target: this.$refs.input });
182
+ else {
183
+ const r = this.limitBounds(n);
184
+ r.type && this.$emit("bounds", r);
185
+ }
186
+ },
187
+ /**
188
+ * This method is the callback handler for mouse events on the input field controls.
189
+ * It is fired when either the up-arrow or down-arrow is pressed by the user. It manages
190
+ * both mousedown and mouseup events. It clears any existing timeouts or intervals which
191
+ * may have been set previously. It also recognizes when the mouse leaves the button
192
+ * (which could cause a mouseup event to be missed) and therefore uses the this.clicked
193
+ * data property to ensure it doesn't get stuck in an interval.
194
+ *
195
+ * @param {Event} e - the DOM event object which triggered the handler.
196
+ * @param {String} type - the type of button pressed (either 'increased' or 'decreased').
197
+ * @returns {undefined}
198
+ */
199
+ mouseEvent(t, e) {
200
+ if (this.disabled)
201
+ return;
202
+ clearTimeout(this.spinnerArrowInterval), clearInterval(this.spinnerArrowTimeout);
203
+ let n = this.stepSize;
204
+ if (e === "decrease" && (n *= -1), t.type === "mousedown") {
205
+ this.clicked = !0, this.spinnerArrowTimeout = setTimeout(() => {
206
+ this.spinnerArrowInterval = setInterval(() => {
207
+ this.changeValue(n);
208
+ }, k);
209
+ }, C);
210
+ return;
211
+ }
212
+ this.clicked && (this.clicked = !1, this.changeValue(n));
213
+ },
214
+ toggleHover() {
215
+ this.hovered = !this.hovered;
216
+ }
217
+ }
218
+ }, U = ["id", "value", "min", "max", "step", "disabled"], D = {
219
+ key: 0,
220
+ class: "invalid-marker"
221
+ };
222
+ function L(t, e, n, r, o, l) {
223
+ const s = x("ArrowIcon");
224
+ return g(), V("div", {
225
+ class: f(["wrapper", { disabled: n.disabled, compact: n.compact }])
226
+ }, [
227
+ d("input", {
228
+ id: n.id,
229
+ ref: "input",
230
+ type: "number",
231
+ role: "spinButton",
232
+ value: o.localValue,
233
+ min: n.min,
234
+ max: n.max,
235
+ step: l.stepSize,
236
+ class: f(l.inputClassList),
237
+ disabled: n.disabled,
238
+ onInput: e[0] || (e[0] = (...i) => l.onInput && l.onInput(...i)),
239
+ onBlur: e[1] || (e[1] = (...i) => l.onBlur && l.onBlur(...i)),
240
+ onMouseenter: e[2] || (e[2] = (...i) => l.toggleHover && l.toggleHover(...i)),
241
+ onMouseleave: e[3] || (e[3] = (...i) => l.toggleHover && l.toggleHover(...i))
242
+ }, null, 42, U),
243
+ n.isValid ? T("", !0) : (g(), V("span", D)),
244
+ d("span", {
245
+ class: f(["increase", { disabled: n.disabled }]),
246
+ onMousedown: e[4] || (e[4] = h((i) => l.mouseEvent(i, "increase"), ["prevent"])),
247
+ onMouseup: e[5] || (e[5] = h((i) => l.mouseEvent(i, "increase"), ["prevent"])),
248
+ onMouseleave: e[6] || (e[6] = (i) => l.mouseEvent(i, "increase"))
249
+ }, [
250
+ u(s)
251
+ ], 34),
252
+ d("span", {
253
+ class: f(["decrease", { disabled: n.disabled }]),
254
+ onMousedown: e[7] || (e[7] = h((i) => l.mouseEvent(i, "decrease"), ["prevent"])),
255
+ onMouseup: e[8] || (e[8] = h((i) => l.mouseEvent(i, "decrease"), ["prevent"])),
256
+ onMouseleave: e[9] || (e[9] = (i) => l.mouseEvent(i, "decrease"))
257
+ }, [
258
+ u(s)
259
+ ], 34)
260
+ ], 2);
261
+ }
262
+ const v = /* @__PURE__ */ N(R, [["render", L], ["__scopeId", "data-v-bf742de5"]]), H = { class: "timeframe" }, P = { class: "input-wrapper" }, z = { class: "input-wrapper" }, G = /* @__PURE__ */ M({
263
+ __name: "TimeframesControl",
264
+ props: {
265
+ control: {},
266
+ handleChange: { type: Function },
267
+ changeValue: { type: Function },
268
+ disabled: { type: Boolean },
269
+ isValid: { type: Boolean },
270
+ onRegisterValidation: { type: Function },
271
+ labelForId: {}
272
+ },
273
+ setup(t) {
274
+ const n = ["hh", "mm", "ss"].length, r = t, o = (l, s, i) => {
275
+ const a = l?.value ?? l, c = Number(a), E = Number.isNaN(c) ? 0 : c, p = (r.control.data?.[s] ?? "00:00:00").split(":");
276
+ for (; p.length < n; )
277
+ p.push("00");
278
+ p[i] = String(E).padStart(2, "0"), s === "end" && (p[2] = "59");
279
+ const w = {
280
+ ...r.control.data,
281
+ [s]: p.slice(0, n).join(":")
282
+ };
283
+ r.changeValue(w);
284
+ };
285
+ return (l, s) => (g(), V("div", H, [
286
+ u(m(b), { text: "Between" }, {
287
+ default: I(({ labelForId: i }) => [
288
+ d("div", P, [
289
+ u(m(v), {
290
+ id: i,
291
+ min: 0,
292
+ max: 23,
293
+ "min-digits": 2,
294
+ compact: "",
295
+ "model-value": parseInt((t.control.data?.start ?? "00:00:00").split(":")[0], 10),
296
+ "onUpdate:modelValue": s[0] || (s[0] = (a) => o(a, "start", 0)),
297
+ onBounds: s[1] || (s[1] = (a) => o(a, "start", 0))
298
+ }, null, 8, ["id", "model-value"]),
299
+ s[8] || (s[8] = d("span", null, ":", -1)),
300
+ u(m(v), {
301
+ min: 0,
302
+ max: 59,
303
+ "min-digits": 2,
304
+ compact: "",
305
+ "model-value": parseInt((t.control.data?.start ?? "00:00:00").split(":")[1], 10),
306
+ "onUpdate:modelValue": s[2] || (s[2] = (a) => o(a, "start", 1)),
307
+ onBounds: s[3] || (s[3] = (a) => o(a, "start", 1))
308
+ }, null, 8, ["model-value"])
309
+ ])
310
+ ]),
311
+ _: 1
312
+ }),
313
+ u(m(b), { text: "and" }, {
314
+ default: I(({ labelForId: i }) => [
315
+ d("div", z, [
316
+ u(m(v), {
317
+ id: i,
318
+ min: 0,
319
+ max: 23,
320
+ "min-digits": 2,
321
+ compact: "",
322
+ "model-value": parseInt((t.control.data?.end ?? "00:00:00").split(":")[0], 10),
323
+ "onUpdate:modelValue": s[4] || (s[4] = (a) => o(a, "end", 0)),
324
+ onBounds: s[5] || (s[5] = (a) => o(a, "end", 0))
325
+ }, null, 8, ["id", "model-value"]),
326
+ s[9] || (s[9] = d("span", null, ":", -1)),
327
+ u(m(v), {
328
+ min: 0,
329
+ max: 59,
330
+ "min-digits": 2,
331
+ compact: "",
332
+ "model-value": parseInt((t.control.data?.end ?? "00:00:00").split(":")[1], 10),
333
+ "onUpdate:modelValue": s[6] || (s[6] = (a) => o(a, "end", 1)),
334
+ onBounds: s[7] || (s[7] = (a) => o(a, "end", 1))
335
+ }, null, 8, ["model-value"])
336
+ ])
337
+ ]),
338
+ _: 1
339
+ })
340
+ ]));
341
+ }
342
+ }), X = /* @__PURE__ */ N(G, [["__scopeId", "data-v-fef66a7b"]]);
343
+ export {
344
+ X as default
345
+ };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as c, toRef as r, computed as t, openBlock as b, createBlock as m, unref as n } from "vue";
2
- import { a6 as p } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-BDEWXlve.js";
3
- import { a as y } from "./usePossibleValues--Oc7RF2X.js";
2
+ import { Z as p } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
3
+ import { a as y } from "./usePossibleValues-CGt7yrJ6.js";
4
4
  import { t as f } from "./toKdsPossibleValues-BklBg3gG.js";
5
5
  const L = /* @__PURE__ */ c({
6
6
  __name: "TwinlistControlBase",
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as a, computed as l, openBlock as p, createBlock as s, mergeProps as r } from "vue";
2
- import { _ as i } from "./MultimodeTwinlistControl.vue_vue_type_script_setup_true_lang-BWDpSwd8.js";
2
+ import { _ as i } from "./MultimodeTwinlistControl.vue_vue_type_script_setup_true_lang-yhmiIg95.js";
3
3
  const y = /* @__PURE__ */ a({
4
4
  __name: "TypedStringFilter",
5
5
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o, openBlock as n, createBlock as t, mergeProps as a } from "vue";
2
- import { _ as p } from "./RadioControlBase.vue_vue_type_script_setup_true_lang-D9p-74CQ.js";
2
+ import { _ as p } from "./RadioControlBase.vue_vue_type_script_setup_true_lang-8xWE-iQR.js";
3
3
  const s = /* @__PURE__ */ o({
4
4
  __name: "ValueSwitchControl",
5
5
  props: {
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as n, openBlock as a, createBlock as t, withCtx as r, unref as u } from "vue";
2
- import { a as m } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-BDEWXlve.js";
3
- import { V as o } from "./VerticalLayoutBase-CsDLPDdW.js";
2
+ import { a as m } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
3
+ import { V as o } from "./VerticalLayoutBase-HYtDwVLA.js";
4
4
  const f = /* @__PURE__ */ n({
5
5
  __name: "VerticalLayout",
6
6
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as n, openBlock as t, createElementBlock as r, Fragment as c, renderList as l, renderSlot as _ } from "vue";
2
- import { _ as m } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-BDEWXlve.js";
2
+ import { _ as m } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
3
3
  const u = { class: "vertical-layout" }, i = /* @__PURE__ */ n({
4
4
  __name: "VerticalLayoutBase",
5
5
  props: {
@@ -0,0 +1,77 @@
1
+ import { defineComponent as f, computed as n, openBlock as h, createElementBlock as T, createElementVNode as U, createVNode as r, unref as a } from "vue";
2
+ import { T as x, V as C, W as D, _ as B } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
3
+ import { u as F } from "./usePlainDateTimeBatch-Bd2G-GY9.js";
4
+ import { p as u } from "./plainDateTimeUtils-CR0UhpkD.js";
5
+ const L = { class: "layout-container" }, _ = { class: "date-time-row" }, $ = /* @__PURE__ */ f({
6
+ __name: "ZonedDateTimeControl",
7
+ props: {
8
+ control: {},
9
+ handleChange: { type: Function },
10
+ changeValue: { type: Function },
11
+ disabled: { type: Boolean },
12
+ isValid: { type: Boolean },
13
+ onRegisterValidation: { type: Function },
14
+ labelForId: {}
15
+ },
16
+ setup(l) {
17
+ const e = l, d = n(() => e.control.uischema.options), m = n(
18
+ () => u.getMaxGranularity(d.value)
19
+ ), {
20
+ datePart: c,
21
+ timePart: b,
22
+ granularity: p,
23
+ onDateChange: g,
24
+ onTimeChange: V,
25
+ onGranularityChange: y
26
+ } = F({
27
+ getDateTime: () => e.control.data.dateTime,
28
+ commit: (t, o, i) => {
29
+ e.changeValue({
30
+ ...e.control.data,
31
+ dateTime: u.toString(t, o, i)
32
+ });
33
+ }
34
+ }), s = n({
35
+ get: () => e.control.data.timeZone,
36
+ set: (t) => {
37
+ e.changeValue({
38
+ ...e.control.data,
39
+ timeZone: t
40
+ });
41
+ }
42
+ }), v = n(() => d.value?.possibleValues ?? []);
43
+ return (t, o) => (h(), T("div", L, [
44
+ U("div", _, [
45
+ r(a(x), {
46
+ id: l.labelForId,
47
+ ariaLabel: `${e.control.label} date`,
48
+ "model-value": a(c),
49
+ disabled: l.disabled,
50
+ error: !l.isValid,
51
+ "onUpdate:modelValue": a(g)
52
+ }, null, 8, ["id", "ariaLabel", "model-value", "disabled", "error", "onUpdate:modelValue"]),
53
+ r(a(C), {
54
+ ariaLabel: `${e.control.label} time`,
55
+ "model-value": a(b),
56
+ granularity: a(p),
57
+ "max-granularity": m.value,
58
+ disabled: l.disabled,
59
+ error: !l.isValid,
60
+ "onUpdate:modelValue": a(V),
61
+ "onUpdate:granularity": a(y)
62
+ }, null, 8, ["ariaLabel", "model-value", "granularity", "max-granularity", "disabled", "error", "onUpdate:modelValue", "onUpdate:granularity"])
63
+ ]),
64
+ r(a(D), {
65
+ modelValue: s.value,
66
+ "onUpdate:modelValue": o[0] || (o[0] = (i) => s.value = i),
67
+ error: !l.isValid,
68
+ "possible-values": v.value,
69
+ disabled: l.disabled,
70
+ ariaLabel: "Timezone"
71
+ }, null, 8, ["modelValue", "error", "possible-values", "disabled"])
72
+ ]));
73
+ }
74
+ }), k = /* @__PURE__ */ B($, [["__scopeId", "data-v-22b97ae1"]]);
75
+ export {
76
+ k as default
77
+ };
@@ -1,5 +1,5 @@
1
1
  import { i as V } from "./isArray-WzO_os3q.js";
2
- import { D as K, G as v, H as i, C, I as Y } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-BDEWXlve.js";
2
+ import { y as K, G as v, H as i, x as C, I as Y } from "./SimpleButtonControl.vue_vue_type_style_index_0_scoped_17a4a240_lang-zrzBlOHh.js";
3
3
  var Z = "[object AsyncFunction]", Q = "[object Function]", tt = "[object GeneratorFunction]", et = "[object Proxy]";
4
4
  function L(t) {
5
5
  if (!K(t))
@@ -337,13 +337,11 @@ export {
337
337
  yt as e,
338
338
  Ot as f,
339
339
  or as g,
340
- vt as h,
340
+ h,
341
341
  Ct as i,
342
342
  mt as j,
343
343
  le as k,
344
- he as l,
345
- h as m,
346
- re as n,
347
- ce as o,
348
- D as p
344
+ re as l,
345
+ D as n,
346
+ ce as o
349
347
  };