@qikdev/vue-ui 0.2.21 → 0.2.25

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.
package/dist/lib.es.js CHANGED
@@ -30,9 +30,9 @@ var __objRest = (source, exclude) => {
30
30
  }
31
31
  return target;
32
32
  };
33
- import { openBlock, createElementBlock, renderSlot, resolveComponent, normalizeClass, Fragment, createVNode, withCtx, renderList, toDisplayString, withDirectives, createBlock, resolveDynamicComponent, vShow, withModifiers, createTextVNode, createCommentVNode, createElementVNode, mergeProps, toHandlers, pushScopeId, popScopeId, normalizeStyle, Teleport, vModelText, vModelSelect, withKeys, TransitionGroup, defineComponent, h, nextTick, vModelDynamic, vModelCheckbox, reactive, watch } from "vue";
33
+ import { openBlock, createElementBlock, renderSlot, resolveComponent, normalizeClass, Fragment, createVNode, withCtx, renderList, toDisplayString, withDirectives, createBlock, resolveDynamicComponent, vShow, withModifiers, createTextVNode, createCommentVNode, createElementVNode, mergeProps, toHandlers, vModelSelect, pushScopeId, popScopeId, normalizeStyle, Teleport, vModelText, withKeys, TransitionGroup, defineComponent, h, nextTick, vModelDynamic, reactive, watch } from "vue";
34
34
  import { EventDispatcher } from "@qikdev/sdk";
35
- const version$1 = "0.2.21";
35
+ const version$1 = "0.2.25";
36
36
  var flexColumn_vue_vue_type_style_index_0_scoped_true_lang = "";
37
37
  var _export_sfc = (sfc, props2) => {
38
38
  const target = sfc.__vccOpts || sfc;
@@ -41,104 +41,104 @@ var _export_sfc = (sfc, props2) => {
41
41
  }
42
42
  return target;
43
43
  };
44
- const _sfc_main$1m = {};
44
+ const _sfc_main$1n = {};
45
45
  const _hoisted_1$12 = { class: "flex-column" };
46
- function _sfc_render$1m(_ctx, _cache, $props, $setup, $data, $options) {
46
+ function _sfc_render$1n(_ctx, _cache, $props, $setup, $data, $options) {
47
47
  return openBlock(), createElementBlock("div", _hoisted_1$12, [
48
48
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
49
49
  ]);
50
50
  }
51
- var FlexColumn = /* @__PURE__ */ _export_sfc(_sfc_main$1m, [["render", _sfc_render$1m], ["__scopeId", "data-v-203ea86f"]]);
51
+ var FlexColumn = /* @__PURE__ */ _export_sfc(_sfc_main$1n, [["render", _sfc_render$1n], ["__scopeId", "data-v-203ea86f"]]);
52
52
  var flexBody_vue_vue_type_style_index_0_scoped_true_lang = "";
53
- const _sfc_main$1l = {};
53
+ const _sfc_main$1m = {};
54
54
  const _hoisted_1$11 = { class: "flex-column-body" };
55
- function _sfc_render$1l(_ctx, _cache, $props, $setup, $data, $options) {
55
+ function _sfc_render$1m(_ctx, _cache, $props, $setup, $data, $options) {
56
56
  return openBlock(), createElementBlock("div", _hoisted_1$11, [
57
57
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
58
58
  ]);
59
59
  }
60
- var FlexBody = /* @__PURE__ */ _export_sfc(_sfc_main$1l, [["render", _sfc_render$1l], ["__scopeId", "data-v-64850355"]]);
60
+ var FlexBody = /* @__PURE__ */ _export_sfc(_sfc_main$1m, [["render", _sfc_render$1m], ["__scopeId", "data-v-64850355"]]);
61
61
  var flexHeader_vue_vue_type_style_index_0_scoped_true_lang = "";
62
- const _sfc_main$1k = {};
62
+ const _sfc_main$1l = {};
63
63
  const _hoisted_1$10 = { class: "flex-column-header" };
64
- function _sfc_render$1k(_ctx, _cache, $props, $setup, $data, $options) {
64
+ function _sfc_render$1l(_ctx, _cache, $props, $setup, $data, $options) {
65
65
  return openBlock(), createElementBlock("div", _hoisted_1$10, [
66
66
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
67
67
  ]);
68
68
  }
69
- var FlexHeader = /* @__PURE__ */ _export_sfc(_sfc_main$1k, [["render", _sfc_render$1k], ["__scopeId", "data-v-10b28f00"]]);
69
+ var FlexHeader = /* @__PURE__ */ _export_sfc(_sfc_main$1l, [["render", _sfc_render$1l], ["__scopeId", "data-v-10b28f00"]]);
70
70
  var flexFooter_vue_vue_type_style_index_0_scoped_true_lang = "";
71
- const _sfc_main$1j = {};
71
+ const _sfc_main$1k = {};
72
72
  const _hoisted_1$$ = { class: "flex-column-footer" };
73
- function _sfc_render$1j(_ctx, _cache, $props, $setup, $data, $options) {
73
+ function _sfc_render$1k(_ctx, _cache, $props, $setup, $data, $options) {
74
74
  return openBlock(), createElementBlock("div", _hoisted_1$$, [
75
75
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
76
76
  ]);
77
77
  }
78
- var FlexFooter = /* @__PURE__ */ _export_sfc(_sfc_main$1j, [["render", _sfc_render$1j], ["__scopeId", "data-v-68216a72"]]);
78
+ var FlexFooter = /* @__PURE__ */ _export_sfc(_sfc_main$1k, [["render", _sfc_render$1k], ["__scopeId", "data-v-68216a72"]]);
79
79
  var flexCell_vue_vue_type_style_index_0_scoped_true_lang = "";
80
- const _sfc_main$1i = {};
80
+ const _sfc_main$1j = {};
81
81
  const _hoisted_1$_ = { class: "flex-cell" };
82
- function _sfc_render$1i(_ctx, _cache, $props, $setup, $data, $options) {
82
+ function _sfc_render$1j(_ctx, _cache, $props, $setup, $data, $options) {
83
83
  return openBlock(), createElementBlock("div", _hoisted_1$_, [
84
84
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
85
85
  ]);
86
86
  }
87
- var FlexCell = /* @__PURE__ */ _export_sfc(_sfc_main$1i, [["render", _sfc_render$1i], ["__scopeId", "data-v-644bb279"]]);
87
+ var FlexCell = /* @__PURE__ */ _export_sfc(_sfc_main$1j, [["render", _sfc_render$1j], ["__scopeId", "data-v-644bb279"]]);
88
88
  var flexRow_vue_vue_type_style_index_0_scoped_true_lang = "";
89
- const _sfc_main$1h = {};
89
+ const _sfc_main$1i = {};
90
90
  const _hoisted_1$Z = { class: "flex-row" };
91
- function _sfc_render$1h(_ctx, _cache, $props, $setup, $data, $options) {
91
+ function _sfc_render$1i(_ctx, _cache, $props, $setup, $data, $options) {
92
92
  return openBlock(), createElementBlock("div", _hoisted_1$Z, [
93
93
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
94
94
  ]);
95
95
  }
96
- var FlexRow = /* @__PURE__ */ _export_sfc(_sfc_main$1h, [["render", _sfc_render$1h], ["__scopeId", "data-v-5b76ad1f"]]);
96
+ var FlexRow = /* @__PURE__ */ _export_sfc(_sfc_main$1i, [["render", _sfc_render$1i], ["__scopeId", "data-v-5b76ad1f"]]);
97
97
  var flexSpacer_vue_vue_type_style_index_0_scoped_true_lang = "";
98
- const _sfc_main$1g = {};
98
+ const _sfc_main$1h = {};
99
99
  const _hoisted_1$Y = { class: "flex-spacer" };
100
- function _sfc_render$1g(_ctx, _cache, $props, $setup, $data, $options) {
100
+ function _sfc_render$1h(_ctx, _cache, $props, $setup, $data, $options) {
101
101
  return openBlock(), createElementBlock("div", _hoisted_1$Y);
102
102
  }
103
- var FlexSpacer = /* @__PURE__ */ _export_sfc(_sfc_main$1g, [["render", _sfc_render$1g], ["__scopeId", "data-v-35b15579"]]);
103
+ var FlexSpacer = /* @__PURE__ */ _export_sfc(_sfc_main$1h, [["render", _sfc_render$1h], ["__scopeId", "data-v-35b15579"]]);
104
104
  var panel_vue_vue_type_style_index_0_scoped_true_lang = "";
105
- const _sfc_main$1f = {};
105
+ const _sfc_main$1g = {};
106
106
  const _hoisted_1$X = { class: "panel" };
107
- function _sfc_render$1f(_ctx, _cache, $props, $setup, $data, $options) {
107
+ function _sfc_render$1g(_ctx, _cache, $props, $setup, $data, $options) {
108
108
  return openBlock(), createElementBlock("div", _hoisted_1$X, [
109
109
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
110
110
  ]);
111
111
  }
112
- var Panel = /* @__PURE__ */ _export_sfc(_sfc_main$1f, [["render", _sfc_render$1f], ["__scopeId", "data-v-50ae77fc"]]);
112
+ var Panel = /* @__PURE__ */ _export_sfc(_sfc_main$1g, [["render", _sfc_render$1g], ["__scopeId", "data-v-50ae77fc"]]);
113
113
  var panelBody_vue_vue_type_style_index_0_scoped_true_lang = "";
114
- const _sfc_main$1e = {};
114
+ const _sfc_main$1f = {};
115
115
  const _hoisted_1$W = { class: "panel-body" };
116
- function _sfc_render$1e(_ctx, _cache, $props, $setup, $data, $options) {
116
+ function _sfc_render$1f(_ctx, _cache, $props, $setup, $data, $options) {
117
117
  return openBlock(), createElementBlock("div", _hoisted_1$W, [
118
118
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
119
119
  ]);
120
120
  }
121
- var PanelBody = /* @__PURE__ */ _export_sfc(_sfc_main$1e, [["render", _sfc_render$1e], ["__scopeId", "data-v-c82dca76"]]);
121
+ var PanelBody = /* @__PURE__ */ _export_sfc(_sfc_main$1f, [["render", _sfc_render$1f], ["__scopeId", "data-v-c82dca76"]]);
122
122
  var panelHeader_vue_vue_type_style_index_0_scoped_true_lang = "";
123
- const _sfc_main$1d = {};
123
+ const _sfc_main$1e = {};
124
124
  const _hoisted_1$V = { class: "panel-header" };
125
- function _sfc_render$1d(_ctx, _cache, $props, $setup, $data, $options) {
125
+ function _sfc_render$1e(_ctx, _cache, $props, $setup, $data, $options) {
126
126
  return openBlock(), createElementBlock("div", _hoisted_1$V, [
127
127
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
128
128
  ]);
129
129
  }
130
- var PanelHeader = /* @__PURE__ */ _export_sfc(_sfc_main$1d, [["render", _sfc_render$1d], ["__scopeId", "data-v-13bf11da"]]);
130
+ var PanelHeader = /* @__PURE__ */ _export_sfc(_sfc_main$1e, [["render", _sfc_render$1e], ["__scopeId", "data-v-13bf11da"]]);
131
131
  var panelFooter_vue_vue_type_style_index_0_scoped_true_lang = "";
132
- const _sfc_main$1c = {};
132
+ const _sfc_main$1d = {};
133
133
  const _hoisted_1$U = { class: "panel-footer" };
134
- function _sfc_render$1c(_ctx, _cache, $props, $setup, $data, $options) {
134
+ function _sfc_render$1d(_ctx, _cache, $props, $setup, $data, $options) {
135
135
  return openBlock(), createElementBlock("div", _hoisted_1$U, [
136
136
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
137
137
  ]);
138
138
  }
139
- var PanelFooter = /* @__PURE__ */ _export_sfc(_sfc_main$1c, [["render", _sfc_render$1c], ["__scopeId", "data-v-b4f4786a"]]);
139
+ var PanelFooter = /* @__PURE__ */ _export_sfc(_sfc_main$1d, [["render", _sfc_render$1d], ["__scopeId", "data-v-b4f4786a"]]);
140
140
  var tabset_vue_vue_type_style_index_0_scoped_true_lang = "";
141
- const _sfc_main$1b = {
141
+ const _sfc_main$1c = {
142
142
  props: {
143
143
  vertical: {
144
144
  type: Boolean
@@ -169,7 +169,7 @@ const _sfc_main$1b = {
169
169
  };
170
170
  const _hoisted_1$T = ["onClick"];
171
171
  const _hoisted_2$J = ["onClick"];
172
- function _sfc_render$1b(_ctx, _cache, $props, $setup, $data, $options) {
172
+ function _sfc_render$1c(_ctx, _cache, $props, $setup, $data, $options) {
173
173
  const _component_flex_body = resolveComponent("flex-body");
174
174
  const _component_flex_column = resolveComponent("flex-column");
175
175
  const _component_flex_row = resolveComponent("flex-row");
@@ -250,8 +250,8 @@ function _sfc_render$1b(_ctx, _cache, $props, $setup, $data, $options) {
250
250
  ], 64))
251
251
  ], 2);
252
252
  }
253
- var UXTabset = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["render", _sfc_render$1b], ["__scopeId", "data-v-2a0551fe"]]);
254
- const _sfc_main$1a = {
253
+ var UXTabset = /* @__PURE__ */ _export_sfc(_sfc_main$1c, [["render", _sfc_render$1c], ["__scopeId", "data-v-2a0551fe"]]);
254
+ const _sfc_main$1b = {
255
255
  props: {
256
256
  heading: {
257
257
  type: String,
@@ -278,7 +278,7 @@ const _sfc_main$1a = {
278
278
  }
279
279
  }
280
280
  };
281
- function _sfc_render$1a(_ctx, _cache, $props, $setup, $data, $options) {
281
+ function _sfc_render$1b(_ctx, _cache, $props, $setup, $data, $options) {
282
282
  const _component_flex_column = resolveComponent("flex-column");
283
283
  return openBlock(), createBlock(_component_flex_column, null, {
284
284
  default: withCtx(() => [
@@ -287,7 +287,7 @@ function _sfc_render$1a(_ctx, _cache, $props, $setup, $data, $options) {
287
287
  _: 3
288
288
  });
289
289
  }
290
- var UXTab = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["render", _sfc_render$1a]]);
290
+ var UXTab = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["render", _sfc_render$1b]]);
291
291
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
292
292
  var isArray$5 = Array.isArray;
293
293
  var isArray_1 = isArray$5;
@@ -703,16 +703,16 @@ function baseToString$1(value) {
703
703
  }
704
704
  var _baseToString = baseToString$1;
705
705
  var baseToString = _baseToString;
706
- function toString$1(value) {
706
+ function toString$3(value) {
707
707
  return value == null ? "" : baseToString(value);
708
708
  }
709
- var toString_1 = toString$1;
710
- var isArray$2 = isArray_1, isKey = _isKey, stringToPath = _stringToPath, toString = toString_1;
709
+ var toString_1 = toString$3;
710
+ var isArray$2 = isArray_1, isKey = _isKey, stringToPath = _stringToPath, toString$2 = toString_1;
711
711
  function castPath$1(value, object) {
712
712
  if (isArray$2(value)) {
713
713
  return value;
714
714
  }
715
- return isKey(value, object) ? [value] : stringToPath(toString(value));
715
+ return isKey(value, object) ? [value] : stringToPath(toString$2(value));
716
716
  }
717
717
  var _castPath = castPath$1;
718
718
  var isSymbol$1 = isSymbol_1;
@@ -755,7 +755,7 @@ var TableCellMixin = {
755
755
  }
756
756
  };
757
757
  var Thumbnail_vue_vue_type_style_index_0_scoped_true_lang = "";
758
- const _sfc_main$19 = {
758
+ const _sfc_main$1a = {
759
759
  mixins: [TableCellMixin],
760
760
  computed: {
761
761
  imageSource() {
@@ -773,7 +773,7 @@ const _sfc_main$19 = {
773
773
  }
774
774
  };
775
775
  const _hoisted_1$S = { class: "table-image-cell" };
776
- function _sfc_render$19(_ctx, _cache, $props, $setup, $data, $options) {
776
+ function _sfc_render$1a(_ctx, _cache, $props, $setup, $data, $options) {
777
777
  const _component_ux_image = resolveComponent("ux-image");
778
778
  const _component_ux_icon = resolveComponent("ux-icon");
779
779
  return openBlock(), createElementBlock("td", _hoisted_1$S, [
@@ -794,9 +794,9 @@ function _sfc_render$19(_ctx, _cache, $props, $setup, $data, $options) {
794
794
  }))
795
795
  ]);
796
796
  }
797
- var ThumbnailCell = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["render", _sfc_render$19], ["__scopeId", "data-v-246a2688"]]);
797
+ var ThumbnailCell = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["render", _sfc_render$1a], ["__scopeId", "data-v-246a2688"]]);
798
798
  var Currency_vue_vue_type_style_index_0_scoped_true_lang = "";
799
- const _sfc_main$18 = {
799
+ const _sfc_main$19 = {
800
800
  mixins: [TableCellMixin],
801
801
  computed: {
802
802
  string() {
@@ -819,14 +819,14 @@ const _sfc_main$18 = {
819
819
  }
820
820
  }
821
821
  };
822
- function _sfc_render$18(_ctx, _cache, $props, $setup, $data, $options) {
822
+ function _sfc_render$19(_ctx, _cache, $props, $setup, $data, $options) {
823
823
  return openBlock(), createElementBlock("td", {
824
824
  class: normalizeClass(["table-currency-cell", { credit: $options.credit, empty: $options.empty, debit: $options.debit }])
825
825
  }, toDisplayString($options.string), 3);
826
826
  }
827
- var CurrencyCell = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["render", _sfc_render$18], ["__scopeId", "data-v-33a0b926"]]);
827
+ var CurrencyCell = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["render", _sfc_render$19], ["__scopeId", "data-v-33a0b926"]]);
828
828
  var Button_vue_vue_type_style_index_0_scoped_true_lang = "";
829
- const _sfc_main$17 = {
829
+ const _sfc_main$18 = {
830
830
  data() {
831
831
  return {
832
832
  processing: false
@@ -845,13 +845,13 @@ const _sfc_main$17 = {
845
845
  methods: {
846
846
  async clicked() {
847
847
  this.processing = true;
848
- await this.button.action(this.row);
848
+ await this.button.action(this.row, this.column);
849
849
  this.processing = false;
850
850
  }
851
851
  }
852
852
  };
853
853
  const _hoisted_1$R = { class: "table-button-cell" };
854
- function _sfc_render$17(_ctx, _cache, $props, $setup, $data, $options) {
854
+ function _sfc_render$18(_ctx, _cache, $props, $setup, $data, $options) {
855
855
  const _component_ux_icon = resolveComponent("ux-icon");
856
856
  const _component_ux_button = resolveComponent("ux-button");
857
857
  return openBlock(), createElementBlock("td", _hoisted_1$R, [
@@ -875,7 +875,7 @@ function _sfc_render$17(_ctx, _cache, $props, $setup, $data, $options) {
875
875
  }, 8, ["color", "size", "loading", "onClick"])
876
876
  ]);
877
877
  }
878
- var ButtonCell = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["render", _sfc_render$17], ["__scopeId", "data-v-1c498011"]]);
878
+ var ButtonCell = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["render", _sfc_render$18], ["__scopeId", "data-v-36768853"]]);
879
879
  class LuxonError extends Error {
880
880
  }
881
881
  class InvalidDateTimeError extends LuxonError {
@@ -4709,7 +4709,7 @@ function friendlyDateTime(dateTimeish) {
4709
4709
  }
4710
4710
  }
4711
4711
  var DateCell_vue_vue_type_style_index_0_scoped_true_lang = "";
4712
- const _sfc_main$16 = {
4712
+ const _sfc_main$17 = {
4713
4713
  mixins: [TableCellMixin],
4714
4714
  computed: {
4715
4715
  hasValue() {
@@ -4735,7 +4735,7 @@ const _hoisted_2$I = { key: 0 };
4735
4735
  const _hoisted_3$A = { class: "off" };
4736
4736
  const _hoisted_4$w = { class: "on" };
4737
4737
  const _hoisted_5$p = { class: "spacer" };
4738
- function _sfc_render$16(_ctx, _cache, $props, $setup, $data, $options) {
4738
+ function _sfc_render$17(_ctx, _cache, $props, $setup, $data, $options) {
4739
4739
  return openBlock(), createElementBlock("td", _hoisted_1$Q, [
4740
4740
  $options.hasValue ? (openBlock(), createElementBlock("div", _hoisted_2$I, [
4741
4741
  createElementVNode("span", _hoisted_3$A, toDisplayString($options.readable), 1),
@@ -4744,9 +4744,9 @@ function _sfc_render$16(_ctx, _cache, $props, $setup, $data, $options) {
4744
4744
  ])) : createCommentVNode("", true)
4745
4745
  ]);
4746
4746
  }
4747
- var DateCell = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["render", _sfc_render$16], ["__scopeId", "data-v-3687693f"]]);
4747
+ var DateCell = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["render", _sfc_render$17], ["__scopeId", "data-v-3687693f"]]);
4748
4748
  var BooleanCell_vue_vue_type_style_index_0_scoped_true_lang = "";
4749
- const _sfc_main$15 = {
4749
+ const _sfc_main$16 = {
4750
4750
  mixins: [TableCellMixin],
4751
4751
  computed: {
4752
4752
  boolean() {
@@ -4754,7 +4754,7 @@ const _sfc_main$15 = {
4754
4754
  }
4755
4755
  }
4756
4756
  };
4757
- function _sfc_render$15(_ctx, _cache, $props, $setup, $data, $options) {
4757
+ function _sfc_render$16(_ctx, _cache, $props, $setup, $data, $options) {
4758
4758
  const _component_ux_icon = resolveComponent("ux-icon");
4759
4759
  return openBlock(), createElementBlock("td", {
4760
4760
  class: normalizeClass(["table-boolean-cell", { true: $options.boolean, false: !$options.boolean }])
@@ -4764,9 +4764,9 @@ function _sfc_render$15(_ctx, _cache, $props, $setup, $data, $options) {
4764
4764
  }, null, 8, ["icon"])
4765
4765
  ], 2);
4766
4766
  }
4767
- var BooleanCell = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["render", _sfc_render$15], ["__scopeId", "data-v-27f127ae"]]);
4767
+ var BooleanCell = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["render", _sfc_render$16], ["__scopeId", "data-v-27f127ae"]]);
4768
4768
  var SecurityCell_vue_vue_type_style_index_0_scoped_true_lang = "";
4769
- const _sfc_main$14 = {
4769
+ const _sfc_main$15 = {
4770
4770
  mixins: [TableCellMixin],
4771
4771
  computed: {
4772
4772
  public() {
@@ -4777,7 +4777,7 @@ const _sfc_main$14 = {
4777
4777
  }
4778
4778
  }
4779
4779
  };
4780
- function _sfc_render$14(_ctx, _cache, $props, $setup, $data, $options) {
4780
+ function _sfc_render$15(_ctx, _cache, $props, $setup, $data, $options) {
4781
4781
  const _component_ux_icon = resolveComponent("ux-icon");
4782
4782
  return openBlock(), createElementBlock("td", {
4783
4783
  class: normalizeClass(["table-security-cell", $options.security])
@@ -4787,9 +4787,9 @@ function _sfc_render$14(_ctx, _cache, $props, $setup, $data, $options) {
4787
4787
  }, null, 8, ["icon"])
4788
4788
  ], 2);
4789
4789
  }
4790
- var SecurityCell = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["render", _sfc_render$14], ["__scopeId", "data-v-51f8608e"]]);
4790
+ var SecurityCell = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["render", _sfc_render$15], ["__scopeId", "data-v-51f8608e"]]);
4791
4791
  var URLCell_vue_vue_type_style_index_0_scoped_true_lang = "";
4792
- const _sfc_main$13 = {
4792
+ const _sfc_main$14 = {
4793
4793
  mixins: [TableCellMixin],
4794
4794
  methods: {
4795
4795
  open() {
@@ -4804,7 +4804,7 @@ const _sfc_main$13 = {
4804
4804
  };
4805
4805
  const _hoisted_1$P = { class: "table-url-cell" };
4806
4806
  const _hoisted_2$H = ["href"];
4807
- function _sfc_render$13(_ctx, _cache, $props, $setup, $data, $options) {
4807
+ function _sfc_render$14(_ctx, _cache, $props, $setup, $data, $options) {
4808
4808
  const _component_ux_icon = resolveComponent("ux-icon");
4809
4809
  return openBlock(), createElementBlock("td", _hoisted_1$P, [
4810
4810
  createElementVNode("a", {
@@ -4820,9 +4820,9 @@ function _sfc_render$13(_ctx, _cache, $props, $setup, $data, $options) {
4820
4820
  ], 8, _hoisted_2$H)
4821
4821
  ]);
4822
4822
  }
4823
- var URLCell = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["render", _sfc_render$13], ["__scopeId", "data-v-17cf3a86"]]);
4823
+ var URLCell = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["render", _sfc_render$14], ["__scopeId", "data-v-17cf3a86"]]);
4824
4824
  var Value_vue_vue_type_style_index_0_scoped_true_lang = "";
4825
- const _sfc_main$12 = {
4825
+ const _sfc_main$13 = {
4826
4826
  props: {
4827
4827
  multi: {
4828
4828
  type: Boolean
@@ -4871,7 +4871,7 @@ const _sfc_main$12 = {
4871
4871
  }
4872
4872
  };
4873
4873
  const _hoisted_1$O = /* @__PURE__ */ createTextVNode(",\xA0");
4874
- function _sfc_render$12(_ctx, _cache, $props, $setup, $data, $options) {
4874
+ function _sfc_render$13(_ctx, _cache, $props, $setup, $data, $options) {
4875
4875
  return $options.reference ? (openBlock(), createElementBlock("a", {
4876
4876
  key: 0,
4877
4877
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => $options.clicked($props.value), ["stop", "prevent"]))
@@ -4884,7 +4884,7 @@ function _sfc_render$12(_ctx, _cache, $props, $setup, $data, $options) {
4884
4884
  ], 64)) : createCommentVNode("", true)
4885
4885
  ], 64));
4886
4886
  }
4887
- var ValueRenderer = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["render", _sfc_render$12], ["__scopeId", "data-v-255b9ec8"]]);
4887
+ var ValueRenderer = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["render", _sfc_render$13], ["__scopeId", "data-v-255b9ec8"]]);
4888
4888
  var TableCell_vue_vue_type_style_index_0_scoped_true_lang = "";
4889
4889
  function extract(row, path) {
4890
4890
  if (!row) {
@@ -4909,7 +4909,7 @@ function extract(row, path) {
4909
4909
  return extract(stub, remainder);
4910
4910
  }
4911
4911
  }
4912
- const _sfc_main$11 = {
4912
+ const _sfc_main$12 = {
4913
4913
  data() {
4914
4914
  return {
4915
4915
  component: null
@@ -5007,7 +5007,7 @@ const _hoisted_1$N = {
5007
5007
  };
5008
5008
  const _hoisted_2$G = { class: "value" };
5009
5009
  const _hoisted_3$z = { class: "value" };
5010
- function _sfc_render$11(_ctx, _cache, $props, $setup, $data, $options) {
5010
+ function _sfc_render$12(_ctx, _cache, $props, $setup, $data, $options) {
5011
5011
  const _component_value_renderer = resolveComponent("value-renderer");
5012
5012
  return $data.component ? (openBlock(), createBlock(resolveDynamicComponent($data.component), {
5013
5013
  key: 0,
@@ -5042,8 +5042,8 @@ function _sfc_render$11(_ctx, _cache, $props, $setup, $data, $options) {
5042
5042
  }, null, 8, ["type", "value"]))
5043
5043
  ]));
5044
5044
  }
5045
- var TableCell = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["render", _sfc_render$11], ["__scopeId", "data-v-44c51175"]]);
5046
- const _sfc_main$10 = {
5045
+ var TableCell = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["render", _sfc_render$12], ["__scopeId", "data-v-44c51175"]]);
5046
+ const _sfc_main$11 = {
5047
5047
  components: {
5048
5048
  TableCell
5049
5049
  },
@@ -5098,7 +5098,7 @@ const _sfc_main$10 = {
5098
5098
  }
5099
5099
  }
5100
5100
  };
5101
- function _sfc_render$10(_ctx, _cache, $props, $setup, $data, $options) {
5101
+ function _sfc_render$11(_ctx, _cache, $props, $setup, $data, $options) {
5102
5102
  const _component_ux_checkbox = resolveComponent("ux-checkbox");
5103
5103
  const _component_table_cell = resolveComponent("table-cell");
5104
5104
  const _component_ux_icon = resolveComponent("ux-icon");
@@ -5140,7 +5140,7 @@ function _sfc_render$10(_ctx, _cache, $props, $setup, $data, $options) {
5140
5140
  ])
5141
5141
  ], 2);
5142
5142
  }
5143
- var TableRow = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["render", _sfc_render$10]]);
5143
+ var TableRow = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["render", _sfc_render$11]]);
5144
5144
  var RememberScrollMixin = {
5145
5145
  data() {
5146
5146
  return {
@@ -5171,7 +5171,7 @@ var RememberScrollMixin = {
5171
5171
  }
5172
5172
  };
5173
5173
  var Table_vue_vue_type_style_index_0_scoped_true_lang = "";
5174
- const _sfc_main$$ = {
5174
+ const _sfc_main$10 = {
5175
5175
  mixins: [RememberScrollMixin],
5176
5176
  components: {
5177
5177
  TableRow,
@@ -5426,7 +5426,7 @@ const _hoisted_8$9 = {
5426
5426
  key: 1,
5427
5427
  class: "last shrink"
5428
5428
  };
5429
- function _sfc_render$$(_ctx, _cache, $props, $setup, $data, $options) {
5429
+ function _sfc_render$10(_ctx, _cache, $props, $setup, $data, $options) {
5430
5430
  const _component_ux_checkbox = resolveComponent("ux-checkbox");
5431
5431
  const _component_ux_list_item = resolveComponent("ux-list-item");
5432
5432
  const _component_ux_list = resolveComponent("ux-list");
@@ -5550,841 +5550,1142 @@ function _sfc_render$$(_ctx, _cache, $props, $setup, $data, $options) {
5550
5550
  ], 512)
5551
5551
  ]);
5552
5552
  }
5553
- var NativeTable = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["render", _sfc_render$$], ["__scopeId", "data-v-03eb874f"]]);
5554
- var avatar_vue_vue_type_style_index_0_lang = "";
5555
- const _sfc_main$_ = {
5556
- props: {
5557
- id: {
5558
- type: [Object, String]
5559
- }
5560
- },
5561
- computed: {
5562
- stringID() {
5563
- return this.$sdk.utils.id(this.id);
5564
- },
5565
- url() {
5553
+ var NativeTable = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["render", _sfc_render$10], ["__scopeId", "data-v-03eb874f"]]);
5554
+ var safeJsonStringify$1 = { exports: {} };
5555
+ var hasProp = Object.prototype.hasOwnProperty;
5556
+ function throwsMessage(err) {
5557
+ return "[Throws: " + (err ? err.message : "?") + "]";
5558
+ }
5559
+ function safeGetValueFromPropertyOnObject(obj, property) {
5560
+ if (hasProp.call(obj, property)) {
5561
+ try {
5562
+ return obj[property];
5563
+ } catch (err) {
5564
+ return throwsMessage(err);
5566
5565
  }
5567
5566
  }
5568
- };
5569
- const _hoisted_1$L = { class: "avatar" };
5570
- function _sfc_render$_(_ctx, _cache, $props, $setup, $data, $options) {
5571
- return openBlock(), createElementBlock("div", _hoisted_1$L);
5567
+ return obj[property];
5572
5568
  }
5573
- var Avatar = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["render", _sfc_render$_]]);
5574
- var spinner_vue_vue_type_style_index_0_scoped_true_lang = "";
5575
- const _sfc_main$Z = {
5576
- props: {
5577
- large: {
5578
- type: Boolean
5569
+ function ensureProperties(obj) {
5570
+ var seen = [];
5571
+ function visit(obj2) {
5572
+ if (obj2 === null || typeof obj2 !== "object") {
5573
+ return obj2;
5579
5574
  }
5575
+ if (seen.indexOf(obj2) !== -1) {
5576
+ return "[Circular]";
5577
+ }
5578
+ seen.push(obj2);
5579
+ if (typeof obj2.toJSON === "function") {
5580
+ try {
5581
+ var fResult = visit(obj2.toJSON());
5582
+ seen.pop();
5583
+ return fResult;
5584
+ } catch (err) {
5585
+ return throwsMessage(err);
5586
+ }
5587
+ }
5588
+ if (Array.isArray(obj2)) {
5589
+ var aResult = obj2.map(visit);
5590
+ seen.pop();
5591
+ return aResult;
5592
+ }
5593
+ var result = Object.keys(obj2).reduce(function(result2, prop) {
5594
+ result2[prop] = visit(safeGetValueFromPropertyOnObject(obj2, prop));
5595
+ return result2;
5596
+ }, {});
5597
+ seen.pop();
5598
+ return result;
5580
5599
  }
5600
+ return visit(obj);
5601
+ }
5602
+ safeJsonStringify$1.exports = function(data, replacer, space) {
5603
+ return JSON.stringify(ensureProperties(data), replacer, space);
5581
5604
  };
5582
- const _withScopeId$7 = (n2) => (pushScopeId("data-v-27f20370"), n2 = n2(), popScopeId(), n2);
5583
- const _hoisted_1$K = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ createElementVNode("i", { class: "fa fa-spin fa-spinner" }, null, -1));
5584
- const _hoisted_2$E = [
5585
- _hoisted_1$K
5586
- ];
5587
- function _sfc_render$Z(_ctx, _cache, $props, $setup, $data, $options) {
5588
- return openBlock(), createElementBlock("div", {
5589
- class: normalizeClass(["ux-spinner", { large: $props.large }])
5590
- }, _hoisted_2$E, 2);
5605
+ safeJsonStringify$1.exports.ensureProperties = ensureProperties;
5606
+ var safeJsonStringify = safeJsonStringify$1.exports;
5607
+ function isUndefined$6(v, type) {
5608
+ return v === void 0 || v === null || type == "date" && v.toString && v.toString() === "Invalid Date";
5591
5609
  }
5592
- var Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["render", _sfc_render$Z], ["__scopeId", "data-v-27f20370"]]);
5593
- var button_vue_vue_type_style_index_0_scoped_true_lang = "";
5594
- const _sfc_main$Y = {
5595
- components: {
5596
- Spinner
5597
- },
5610
+ function isNotEmpty(value) {
5611
+ return value !== void 0 && value !== null;
5612
+ }
5613
+ var InputMixin = {
5598
5614
  props: {
5599
- to: {
5600
- type: [Object, String]
5615
+ field: {
5616
+ type: Object,
5617
+ default() {
5618
+ return {};
5619
+ }
5601
5620
  },
5602
- icon: {
5603
- type: Boolean
5621
+ parentModel: {
5622
+ type: Object
5623
+ }
5624
+ },
5625
+ data() {
5626
+ return {
5627
+ value: this.modelValue
5628
+ };
5629
+ },
5630
+ watch: {
5631
+ modelValue(val, old) {
5632
+ var cleanedValue = this.cleanInput(val);
5633
+ var cleanedModel = this.cleanInput(this.model);
5634
+ if (safeJsonStringify(cleanedValue) != safeJsonStringify(cleanedModel)) {
5635
+ this.model = cleanedValue;
5636
+ }
5637
+ }
5638
+ },
5639
+ mounted() {
5640
+ this.checkAutofocus();
5641
+ },
5642
+ inject: ["form", "fieldPath"],
5643
+ computed: {
5644
+ optionLookup() {
5645
+ var self2 = this;
5646
+ return self2.options.reduce(function(set, option2) {
5647
+ const key = self2.getValue(option2);
5648
+ set[key] = option2;
5649
+ return set;
5650
+ }, {});
5604
5651
  },
5605
- color: {
5606
- type: String,
5607
- default: "default"
5652
+ selectableOptions() {
5653
+ return this.options;
5608
5654
  },
5609
- bgColor: {
5610
- type: String
5655
+ required() {
5656
+ return this.minimum;
5611
5657
  },
5612
- fgColor: {
5613
- type: String
5658
+ model: {
5659
+ get() {
5660
+ var cleaned = this.cleanOutput(this.value);
5661
+ return cleaned;
5662
+ },
5663
+ set(val) {
5664
+ this.value = this.cleanInput(val);
5665
+ this.checkAutofocus();
5666
+ this.dispatch();
5667
+ }
5614
5668
  },
5615
- tag: {
5616
- type: String
5669
+ options() {
5670
+ var self2 = this;
5671
+ return (this.field.options || []).reduce(function(set, option2) {
5672
+ if (!option2) {
5673
+ return set;
5674
+ }
5675
+ const value = self2.getValue(option2);
5676
+ const title = option2.title || option2.name || option2.label || value;
5677
+ var output = {
5678
+ title,
5679
+ value,
5680
+ source: option2
5681
+ };
5682
+ if (self2.field.type == "reference") {
5683
+ output._id = value;
5684
+ }
5685
+ set.push(output);
5686
+ return set;
5687
+ }, []);
5617
5688
  },
5618
- href: {
5619
- type: String
5689
+ prefix() {
5690
+ return this.field.suffix;
5620
5691
  },
5621
- target: {
5622
- type: String
5692
+ suffix() {
5693
+ return this.field.suffix;
5623
5694
  },
5624
- loading: {
5625
- type: Boolean
5695
+ type() {
5696
+ return this.field.type || "string";
5626
5697
  },
5627
- active: {
5628
- type: Boolean
5698
+ key() {
5699
+ return this.field.key;
5629
5700
  },
5630
- disabled: {
5631
- type: Boolean
5701
+ isGroup() {
5702
+ return this.type === "group";
5632
5703
  },
5633
- block: {
5634
- type: Boolean
5704
+ asObject() {
5705
+ return this.isGroup && !!this.field.asObject;
5635
5706
  },
5636
- size: {
5637
- type: String,
5638
- default: "md"
5639
- }
5640
- },
5641
- computed: {
5642
- style() {
5643
- var object = {};
5644
- if (this.bgColor) {
5645
- object["backgroundColor"] = this.bgColor;
5646
- }
5647
- if (this.fgColor) {
5648
- object["color"] = this.fgColor;
5649
- }
5650
- return object;
5707
+ layoutGroup() {
5708
+ return this.isGroup && !this.field.asObject;
5651
5709
  },
5652
- classes() {
5653
- var array = [];
5654
- array.push(`ux-btn-${this.size}`);
5655
- if (this.block) {
5656
- array.push(`ux-btn-block`);
5710
+ canAddValue() {
5711
+ if (this.singleValue) {
5712
+ return;
5657
5713
  }
5658
- if (this.loading) {
5659
- array.push(`ux-btn-loading`);
5714
+ return this.maximum === 0 || this.numValues < this.maximum;
5715
+ },
5716
+ canRemoveValue() {
5717
+ return this.numValues > this.minimum;
5718
+ },
5719
+ widget() {
5720
+ return this.field.widget;
5721
+ },
5722
+ singleValue() {
5723
+ if (this.asObject) {
5724
+ var isSingle = this.minimum === 1 && this.maximum === 1;
5725
+ return isSingle;
5726
+ } else {
5727
+ return this.maximum === 1;
5660
5728
  }
5661
- if (this.active) {
5662
- array.push(`ux-btn-active`);
5729
+ },
5730
+ multiValue() {
5731
+ return !this.singleValue;
5732
+ },
5733
+ label() {
5734
+ return this.field.title;
5735
+ },
5736
+ title() {
5737
+ return this.label;
5738
+ },
5739
+ plural() {
5740
+ return this.field.plural;
5741
+ },
5742
+ description() {
5743
+ return this.field.description;
5744
+ },
5745
+ placeholder() {
5746
+ return this.field.placeholder || this.field.hint;
5747
+ },
5748
+ addLabel() {
5749
+ if (this.numValues) {
5750
+ return `Add another ${this.label}`;
5751
+ } else {
5752
+ return `Add ${this.label}`;
5663
5753
  }
5664
- if (this.icon) {
5665
- array.push(`ux-btn-icon`);
5754
+ },
5755
+ removeLabel() {
5756
+ return `Remove`;
5757
+ },
5758
+ numValues() {
5759
+ if (this.singleValue) {
5760
+ return 1;
5666
5761
  }
5667
- array.push(`ux-btn-color-${this.color}`);
5668
- if (this.disabled) {
5669
- array.push(`ux-btn-disabled`);
5762
+ return (this.value || []).length || 0;
5763
+ },
5764
+ showLabel() {
5765
+ return this.field.title;
5766
+ },
5767
+ showDescription() {
5768
+ return this.description;
5769
+ },
5770
+ fields() {
5771
+ var subFields = this.field.fields;
5772
+ if (subFields && subFields.length) {
5773
+ return subFields;
5670
5774
  }
5671
- return array;
5672
5775
  },
5673
- element() {
5674
- switch (this.tag) {
5675
- case "span":
5676
- return this.tag;
5677
- case "submit":
5678
- return "button";
5679
- default:
5680
- if (this.to || this.href) {
5681
- return "ux-link";
5682
- }
5683
- return this.tag || "button";
5776
+ minimum() {
5777
+ if (this.layoutGroup) {
5778
+ return 1;
5684
5779
  }
5685
- }
5686
- }
5687
- };
5688
- const _hoisted_1$J = { class: "ux-btn-text" };
5689
- function _sfc_render$Y(_ctx, _cache, $props, $setup, $data, $options) {
5690
- const _component_spinner = resolveComponent("spinner");
5691
- return openBlock(), createBlock(resolveDynamicComponent($options.element), {
5692
- active: $props.active,
5693
- loading: $props.loading,
5694
- to: $props.to,
5695
- href: $props.href,
5696
- target: $props.target,
5697
- style: normalizeStyle($options.style),
5698
- class: normalizeClass([$options.classes, "ux-btn"]),
5699
- disabled: $props.disabled
5700
- }, {
5701
- default: withCtx(() => [
5702
- $props.loading ? (openBlock(), createBlock(_component_spinner, { key: 0 })) : createCommentVNode("", true),
5703
- createElementVNode("span", _hoisted_1$J, [
5704
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
5705
- ])
5706
- ]),
5707
- _: 3
5708
- }, 8, ["active", "loading", "to", "href", "target", "style", "class", "disabled"]);
5709
- }
5710
- var UXButton = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$Y], ["__scopeId", "data-v-56c95efc"]]);
5711
- var checkbox_vue_vue_type_style_index_0_scoped_true_lang$1 = "";
5712
- const _sfc_main$X = {
5713
- props: {
5714
- value: {
5715
- type: Boolean,
5716
- default() {
5717
- return false;
5780
+ var int2 = parseInt(this.field.minimum || 0);
5781
+ if (isNaN(int2)) {
5782
+ int2 = 0;
5718
5783
  }
5719
- }
5720
- },
5721
- computed: {
5722
- classes() {
5723
- var array = [];
5724
- if (this.value) {
5725
- array.push(`ux-checkbox-true`);
5726
- } else {
5727
- array.push(`ux-checkbox-false`);
5784
+ int2 = Math.max(int2, 0);
5785
+ int2 = this.maximum ? Math.min(int2, this.maximum) : int2;
5786
+ return parseInt(int2);
5787
+ },
5788
+ maximum() {
5789
+ if (this.layoutGroup) {
5790
+ return 1;
5728
5791
  }
5729
- return array;
5730
- }
5731
- }
5732
- };
5733
- function _sfc_render$X(_ctx, _cache, $props, $setup, $data, $options) {
5734
- const _component_ux_icon = resolveComponent("ux-icon");
5735
- return openBlock(), createElementBlock("button", {
5736
- class: normalizeClass(["ux-checkbox", $options.classes])
5737
- }, [
5738
- createVNode(_component_ux_icon, {
5739
- class: "icon",
5740
- icon: "fa-check"
5741
- })
5742
- ], 2);
5743
- }
5744
- var UXCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["render", _sfc_render$X], ["__scopeId", "data-v-6b7b7539"]]);
5745
- var switch_vue_vue_type_style_index_0_scoped_true_lang$1 = "";
5746
- const _sfc_main$W = {
5747
- props: {
5748
- value: {
5749
- type: Boolean,
5750
- default() {
5751
- return false;
5792
+ var int2 = parseInt(this.field.maximum || 0);
5793
+ if (isNaN(int2)) {
5794
+ int2 = 0;
5752
5795
  }
5796
+ int2 = Math.max(int2, 0);
5797
+ return parseInt(int2);
5753
5798
  },
5754
- loading: {
5755
- type: Boolean,
5756
- default() {
5757
- return false;
5799
+ ask() {
5800
+ var int2 = parseInt(this.field.ask);
5801
+ int2 = Math.max(int2, this.minimum);
5802
+ if (this.maximum) {
5803
+ int2 = Math.min(int2, this.maximum);
5758
5804
  }
5805
+ return int2;
5759
5806
  }
5760
5807
  },
5761
- computed: {
5762
- classes() {
5763
- var array = [];
5764
- if (this.value) {
5765
- array.push(`ux-switch-true`);
5766
- } else {
5767
- array.push(`ux-switch-false`);
5808
+ methods: {
5809
+ cleanTextInput(val, type, instance) {
5810
+ switch (type) {
5811
+ case "url":
5812
+ val = instance.$sdk.utils.parseURL(val);
5813
+ break;
5814
+ case "key":
5815
+ val = String(instance.$sdk.utils.machineName(val)).trim();
5816
+ break;
5817
+ case "integer":
5818
+ val = parseInt(String(val).replace(/[^0-9-]/g, ""));
5819
+ if (isNaN(val)) {
5820
+ val = void 0;
5821
+ }
5822
+ break;
5823
+ case "number":
5824
+ case "decimal":
5825
+ case "float":
5826
+ val = Number(String(val).replace(/[^0-9.-]/g, ""));
5827
+ if (isNaN(val)) {
5828
+ val = void 0;
5829
+ }
5830
+ break;
5768
5831
  }
5769
- if (this.loading) {
5770
- array.push(`ux-switch-loading`);
5832
+ return val;
5833
+ },
5834
+ checkAutofocus() {
5835
+ if (this.field.autofocus) {
5836
+ if (this.value) {
5837
+ return;
5838
+ }
5839
+ this.$nextTick(function() {
5840
+ this.refocus();
5841
+ });
5771
5842
  }
5772
- return array;
5773
- }
5774
- }
5775
- };
5776
- function _sfc_render$W(_ctx, _cache, $props, $setup, $data, $options) {
5777
- const _component_ux_icon = resolveComponent("ux-icon");
5778
- return openBlock(), createElementBlock("a", {
5779
- class: normalizeClass(["ux-switch", $options.classes])
5780
- }, [
5781
- createElementVNode("span", null, [
5782
- createVNode(_component_ux_icon, {
5783
- spin: "",
5784
- icon: "fa-spinner"
5785
- })
5786
- ])
5787
- ], 2);
5788
- }
5789
- var UXSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["render", _sfc_render$W], ["__scopeId", "data-v-57a418e1"]]);
5790
- var link_vue_vue_type_style_index_0_scoped_true_lang = "";
5791
- const _sfc_main$V = {
5792
- props: {
5793
- to: {
5794
- type: [Object, String]
5795
- },
5796
- href: {
5797
- type: String
5798
- },
5799
- target: {
5800
- type: String
5801
5843
  },
5802
- disabled: {
5803
- type: Boolean
5804
- }
5805
- },
5806
- methods: {
5807
- clicked(event) {
5808
- var self2 = this;
5809
- if (self2.to) {
5810
- if (self2.buildMode || self2.nuxtMode) {
5811
- event.preventDefault();
5812
- event.stopImmediatePropagation();
5813
- return self2.$sdk.app.to(self2.to);
5814
- }
5844
+ getValue(option2) {
5845
+ if (!option2) {
5846
+ return this.cleanTextInput(option2);
5815
5847
  }
5816
- if (self2.href) {
5817
- if (self2.buildMode || self2.nuxtMode) {
5818
- event.preventDefault();
5819
- event.stopImmediatePropagation();
5820
- return;
5821
- }
5848
+ var value = this.cleanTextInput(option2._id || option2.value);
5849
+ var hasValue = isNotEmpty(value);
5850
+ if (!hasValue && option2.title && !this.returnObject) {
5851
+ value = option2.title;
5822
5852
  }
5823
- }
5824
- },
5825
- computed: {
5826
- actualHref() {
5827
- if (this.href) {
5828
- return this.href;
5853
+ value = this.cleanTextInput(value);
5854
+ return isNotEmpty(value) ? value : option2;
5855
+ },
5856
+ getLabel(option2) {
5857
+ if (!option2) {
5858
+ return;
5829
5859
  }
5830
- if (this.nuxtMode) {
5831
- return this.$sdk.app.createHref(this.to);
5860
+ var label = option2.title || option2.name || option2.label;
5861
+ if (typeof label == "object") {
5862
+ return "(no title)";
5863
+ } else {
5864
+ return label;
5832
5865
  }
5833
5866
  },
5834
- nuxtMode() {
5835
- return this.to && this.$sdk.nuxt && this.$sdk.app && this.$sdk.app.createHref;
5867
+ touch() {
5868
+ this.$emit("touched");
5836
5869
  },
5837
- buildMode() {
5838
- return !!this.$sdk && this.$sdk.app && this.$sdk.app.builder;
5870
+ getNewDefaultEntry() {
5871
+ return void 0;
5839
5872
  },
5840
- class() {
5841
- var array = [];
5842
- if (this.disabled) {
5843
- array.push("disabled");
5873
+ add() {
5874
+ if (!this.canAddValue) {
5875
+ return;
5844
5876
  }
5845
- if (this.href || this.to) {
5846
- array.push("haslink");
5877
+ var defaultEntry = this.cleanInputValue(this.getNewDefaultEntry());
5878
+ if (!this.value || !Array.isArray(this.value)) {
5879
+ this.value = [];
5847
5880
  }
5848
- return array;
5881
+ this.value.push(defaultEntry);
5882
+ this.dispatch();
5883
+ this.$nextTick(function() {
5884
+ this.refocus();
5885
+ });
5886
+ this.touch();
5849
5887
  },
5850
- element() {
5851
- if (this.nuxtMode) {
5852
- return "a";
5853
- }
5854
- if (this.buildMode) {
5855
- return "a";
5856
- }
5857
- if (this.to) {
5858
- return `router-link`;
5859
- }
5860
- return "a";
5861
- }
5862
- }
5863
- };
5864
- function _sfc_render$V(_ctx, _cache, $props, $setup, $data, $options) {
5865
- return openBlock(), createBlock(resolveDynamicComponent($options.element), {
5866
- onClick: $options.clicked,
5867
- to: $props.to,
5868
- href: $options.actualHref,
5869
- target: $props.target,
5870
- class: normalizeClass([$options.class, "ux-link"])
5871
- }, {
5872
- default: withCtx(() => [
5873
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
5874
- ]),
5875
- _: 3
5876
- }, 8, ["onClick", "to", "href", "target", "class"]);
5877
- }
5878
- var UXLink = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["render", _sfc_render$V], ["__scopeId", "data-v-8b82829a"]]);
5879
- var icon_vue_vue_type_style_index_0_scoped_true_lang = "";
5880
- const _sfc_main$U = {
5881
- props: {
5882
- icon: {
5883
- type: [Object, String]
5888
+ remove(entry) {
5889
+ var index2 = this.model.indexOf(entry);
5890
+ this.value.splice(index2, 1);
5891
+ this.dispatch();
5892
+ this.touch();
5884
5893
  },
5885
- spin: {
5886
- type: Boolean
5894
+ dispatch() {
5895
+ this.$emit("update:modelValue", this.value);
5887
5896
  },
5888
- left: {
5889
- type: Boolean
5897
+ cleanInputValue(val) {
5898
+ return val;
5890
5899
  },
5891
- right: {
5892
- type: Boolean
5893
- }
5894
- },
5895
- computed: {
5896
- classes() {
5897
- var array = [];
5898
- array.push(this.icon);
5899
- if (this.spin) {
5900
- array.push(`fa-spin`);
5901
- }
5902
- if (this.left) {
5903
- array.push("ux-icon-left");
5900
+ cleanOutputValue(val) {
5901
+ return val;
5902
+ },
5903
+ cleanOutput(val) {
5904
+ var self2 = this;
5905
+ if (isUndefined$6(val, self2.field.type)) {
5906
+ if (self2.multiValue) {
5907
+ val = [];
5908
+ } else {
5909
+ val = void 0;
5910
+ }
5911
+ } else {
5912
+ if (self2.multiValue) {
5913
+ if (!Array.isArray(val)) {
5914
+ val = [];
5915
+ }
5916
+ val.forEach(function(v, i2) {
5917
+ val[i2] = self2.cleanOutputValue(v);
5918
+ });
5919
+ } else {
5920
+ val = self2.cleanOutputValue(val);
5921
+ }
5904
5922
  }
5905
- if (this.right) {
5906
- array.push("ux-icon-right");
5923
+ return val;
5924
+ },
5925
+ cleanInput(val) {
5926
+ var self2 = this;
5927
+ if (self2.multiValue) {
5928
+ if (!val) {
5929
+ val = [];
5930
+ }
5931
+ if (!Array.isArray(val)) {
5932
+ val = [val];
5933
+ }
5934
+ if (self2.maximum) {
5935
+ if (val.length > self2.maximum) {
5936
+ val.length = self2.maximum;
5937
+ }
5938
+ }
5939
+ while (val.length < self2.minimum) {
5940
+ val.push(self2.cleanInputValue(self2.getNewDefaultEntry()));
5941
+ }
5942
+ val = val.map(function(v) {
5943
+ var d = self2.cleanInputValue(v);
5944
+ return d;
5945
+ });
5946
+ } else {
5947
+ if (val) {
5948
+ val = self2.cleanInputValue(val);
5949
+ }
5907
5950
  }
5908
- return array;
5951
+ return val;
5909
5952
  },
5910
- element() {
5911
- return "i";
5953
+ refocus() {
5954
+ var elements = this.$refs.input;
5955
+ if (!elements) {
5956
+ return;
5957
+ }
5958
+ var input;
5959
+ if (Array.isArray(elements)) {
5960
+ input = elements[elements.length - 1];
5961
+ } else {
5962
+ input = elements;
5963
+ }
5964
+ if (input) {
5965
+ input.focus();
5966
+ }
5912
5967
  }
5913
5968
  }
5914
5969
  };
5915
- function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
5916
- return openBlock(), createBlock(resolveDynamicComponent($options.element), {
5917
- class: normalizeClass(["ux-icon fa", $options.classes])
5918
- }, null, 8, ["class"]);
5970
+ var select_vue_vue_type_style_index_0_scoped_true_lang = "";
5971
+ function isUndefined$5(entry) {
5972
+ return entry === void 0 || typeof entry === "undefined" || entry === null || String(entry) === "null" || String(entry) === "undefined";
5919
5973
  }
5920
- var UXIcon = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["render", _sfc_render$U], ["__scopeId", "data-v-1764a3d0"]]);
5921
- var UXMenuService = {
5922
- cache: {}
5923
- };
5924
- var menu_vue_vue_type_style_index_0_scoped_true_lang = "";
5925
- const _sfc_main$T = {
5974
+ const _sfc_main$$ = {
5926
5975
  props: {
5927
- group: {
5976
+ title: {
5928
5977
  type: String
5929
5978
  },
5930
- right: {
5931
- type: Boolean,
5932
- default: false
5933
- },
5934
- bottom: {
5935
- type: Boolean,
5936
- default: false
5937
- },
5938
- stop: {
5939
- type: Boolean,
5940
- default: false
5941
- },
5942
- closeOnClick: {
5943
- type: Boolean,
5979
+ modelValue: {}
5980
+ },
5981
+ mixins: [InputMixin],
5982
+ created() {
5983
+ this.model = this.model;
5984
+ },
5985
+ methods: {
5986
+ cleanOutput(val) {
5987
+ var self2 = this;
5988
+ if (isUndefined$5(val)) {
5989
+ if (self2.multiValue) {
5990
+ val = [];
5991
+ } else {
5992
+ val = void 0;
5993
+ }
5994
+ } else {
5995
+ if (self2.multiValue) {
5996
+ val = (val || []).filter(function(i2) {
5997
+ return i2 !== void 0 && i2 !== null;
5998
+ }).map(function(i2) {
5999
+ return self2.getValue(i2);
6000
+ });
6001
+ } else {
6002
+ val = self2.getValue(val);
6003
+ }
6004
+ }
6005
+ return val;
6006
+ },
6007
+ cleanInput(val) {
6008
+ var self2 = this;
6009
+ if (self2.multiValue) {
6010
+ if (!val) {
6011
+ val = [];
6012
+ }
6013
+ if (!Array.isArray(val)) {
6014
+ val = [val];
6015
+ }
6016
+ if (self2.maximum) {
6017
+ if (val.length > self2.maximum) {
6018
+ val.length = self2.maximum;
6019
+ }
6020
+ }
6021
+ val = val.filter(function(v) {
6022
+ return v !== void 0 && v !== null;
6023
+ }).map(function(v) {
6024
+ var valueKey2 = self2.getValue(v);
6025
+ return self2.returnObject ? self2.optionLookup[valueKey2] : valueKey2;
6026
+ });
6027
+ } else {
6028
+ var valueKey = self2.getValue(val);
6029
+ val = self2.returnObject ? self2.optionLookup[valueKey] : valueKey;
6030
+ switch (val) {
6031
+ case "":
6032
+ switch (self2.type) {
6033
+ case "decimal":
6034
+ case "float":
6035
+ case "number":
6036
+ case "integer":
6037
+ val = void 0;
6038
+ break;
6039
+ }
6040
+ break;
6041
+ }
6042
+ }
6043
+ return val;
6044
+ }
6045
+ },
6046
+ computed: {
6047
+ returnObject() {
6048
+ return this.type == "reference";
6049
+ },
6050
+ classes() {
6051
+ var array = [];
6052
+ if (this.multiValue) {
6053
+ array.push("multiple");
6054
+ } else {
6055
+ array.push("single");
6056
+ }
6057
+ return array;
6058
+ },
6059
+ optionLookup() {
6060
+ var self2 = this;
6061
+ return self2.options.reduce(function(set, option2) {
6062
+ const key = self2.getValue(option2);
6063
+ set[key] = option2;
6064
+ return set;
6065
+ }, {});
6066
+ },
6067
+ summary() {
6068
+ return this.model ? this.getLabel(this.optionLookup[this.model]) : this.title || "Click to select";
6069
+ },
6070
+ selectableOptions() {
6071
+ return this.options;
6072
+ }
6073
+ }
6074
+ };
6075
+ const _hoisted_1$L = {
6076
+ key: 0,
6077
+ class: "ux-field-title"
6078
+ };
6079
+ const _hoisted_2$E = {
6080
+ key: 0,
6081
+ class: "ux-required-marker"
6082
+ };
6083
+ const _hoisted_3$x = {
6084
+ key: 1,
6085
+ class: "ux-field-description"
6086
+ };
6087
+ const _hoisted_4$u = {
6088
+ key: 2,
6089
+ class: "ui-select-button"
6090
+ };
6091
+ const _hoisted_5$n = ["multiple"];
6092
+ const _hoisted_6$i = {
6093
+ key: 0,
6094
+ value: ""
6095
+ };
6096
+ const _hoisted_7$f = ["value"];
6097
+ function _sfc_render$$(_ctx, _cache, $props, $setup, $data, $options) {
6098
+ const _component_ux_button = resolveComponent("ux-button");
6099
+ return openBlock(), createElementBlock("div", {
6100
+ class: normalizeClass(["native-select", $options.classes])
6101
+ }, [
6102
+ _ctx.showLabel ? (openBlock(), createElementBlock("label", _hoisted_1$L, [
6103
+ createTextVNode(toDisplayString(_ctx.label) + " ", 1),
6104
+ _ctx.required ? (openBlock(), createElementBlock("span", _hoisted_2$E, "*")) : createCommentVNode("", true)
6105
+ ])) : createCommentVNode("", true),
6106
+ _ctx.showDescription ? (openBlock(), createElementBlock("div", _hoisted_3$x, toDisplayString(_ctx.description), 1)) : createCommentVNode("", true),
6107
+ _ctx.singleValue ? (openBlock(), createElementBlock("div", _hoisted_4$u, [
6108
+ renderSlot(_ctx.$slots, "default", {}, () => [
6109
+ createVNode(_component_ux_button, { tag: "div" }, {
6110
+ default: withCtx(() => [
6111
+ createTextVNode(toDisplayString($options.summary), 1)
6112
+ ]),
6113
+ _: 1
6114
+ })
6115
+ ], true)
6116
+ ])) : createCommentVNode("", true),
6117
+ withDirectives(createElementVNode("select", {
6118
+ onFocus: _cache[0] || (_cache[0] = (...args) => _ctx.touch && _ctx.touch(...args)),
6119
+ multiple: _ctx.multiValue,
6120
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.model = $event)
6121
+ }, [
6122
+ _ctx.singleValue && !_ctx.minimum ? (openBlock(), createElementBlock("option", _hoisted_6$i, "None")) : createCommentVNode("", true),
6123
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.selectableOptions, (option2) => {
6124
+ return openBlock(), createElementBlock("option", {
6125
+ value: option2.value
6126
+ }, toDisplayString(option2.title), 9, _hoisted_7$f);
6127
+ }), 256))
6128
+ ], 40, _hoisted_5$n), [
6129
+ [vModelSelect, _ctx.model]
6130
+ ])
6131
+ ], 2);
6132
+ }
6133
+ var NativeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["render", _sfc_render$$], ["__scopeId", "data-v-a06c20f2"]]);
6134
+ var Pager_vue_vue_type_style_index_0_scoped_true_lang = "";
6135
+ const _sfc_main$_ = {
6136
+ props: {
6137
+ total: {
6138
+ type: Number,
5944
6139
  default() {
5945
- return true;
6140
+ return 0;
5946
6141
  }
5947
6142
  },
5948
- modelValue: {
5949
- type: Boolean,
6143
+ page: {
6144
+ type: Object,
5950
6145
  default() {
5951
- return false;
6146
+ return {
6147
+ size: 50,
6148
+ index: 1
6149
+ };
6150
+ }
6151
+ }
6152
+ },
6153
+ components: {
6154
+ NativeSelect
6155
+ },
6156
+ watch: {
6157
+ totalPages() {
6158
+ this.currentPage = 0;
6159
+ }
6160
+ },
6161
+ computed: {
6162
+ perPage: {
6163
+ get() {
6164
+ return this.pageModel.size;
6165
+ },
6166
+ set(i2) {
6167
+ i2 = Math.max(i2, 1);
6168
+ this.pageModel.size = i2;
6169
+ this.dispatch();
6170
+ }
6171
+ },
6172
+ pageField() {
6173
+ return {
6174
+ type: "integer",
6175
+ maximum: 1,
6176
+ minimum: 1,
6177
+ options: Array(this.totalPages).fill(1).map((x, y) => x + y)
6178
+ };
6179
+ },
6180
+ totalPages() {
6181
+ return Math.ceil(this.total / this.perPage);
6182
+ },
6183
+ startIndex() {
6184
+ return (this.currentPage - 1) * this.pageModel.size;
6185
+ },
6186
+ displayStartIndex() {
6187
+ return this.total ? this.startIndex + 1 : 0;
6188
+ },
6189
+ endIndex() {
6190
+ return Math.min(this.startIndex + this.pageModel.size, this.total);
6191
+ },
6192
+ currentPage: {
6193
+ get() {
6194
+ return this.pageModel.index;
6195
+ },
6196
+ set(index2) {
6197
+ if (this.totalPages) {
6198
+ index2 = Math.min(this.totalPages, index2);
6199
+ }
6200
+ index2 = Math.max(index2, 1);
6201
+ this.pageModel.index = index2;
6202
+ this.dispatch();
5952
6203
  }
5953
6204
  }
5954
6205
  },
6206
+ methods: {
6207
+ dispatch() {
6208
+ return this.$emit("update:page", this.pageModel);
6209
+ },
6210
+ previousPage() {
6211
+ this.currentPage--;
6212
+ },
6213
+ nextPage() {
6214
+ this.currentPage++;
6215
+ }
6216
+ },
5955
6217
  data() {
5956
6218
  return {
5957
- outerStyle: {},
5958
- innerStyle: {},
5959
- isExpanded: this.modelValue,
5960
- triggerEvent: null,
5961
- refMenu: null,
5962
- mounted: false
6219
+ pageModel: this.page,
6220
+ perPageField: {
6221
+ minimum: 1,
6222
+ maximum: 1,
6223
+ options: [
6224
+ {
6225
+ title: "50 per page",
6226
+ value: 50
6227
+ },
6228
+ {
6229
+ title: "100 per page",
6230
+ value: 100
6231
+ },
6232
+ {
6233
+ title: "250 per page",
6234
+ value: 250
6235
+ },
6236
+ {
6237
+ title: "500 per page",
6238
+ value: 500
6239
+ }
6240
+ ]
6241
+ }
5963
6242
  };
5964
- },
5965
- watch: {
5966
- modelValue(m) {
5967
- this.expanded = m;
6243
+ }
6244
+ };
6245
+ function _sfc_render$_(_ctx, _cache, $props, $setup, $data, $options) {
6246
+ const _component_native_select = resolveComponent("native-select");
6247
+ const _component_flex_cell = resolveComponent("flex-cell");
6248
+ const _component_ux_icon = resolveComponent("ux-icon");
6249
+ const _component_ux_button = resolveComponent("ux-button");
6250
+ const _component_flex_row = resolveComponent("flex-row");
6251
+ return openBlock(), createBlock(_component_flex_row, {
6252
+ center: "",
6253
+ gap: ""
6254
+ }, {
6255
+ default: withCtx(() => [
6256
+ createVNode(_component_flex_cell, {
6257
+ shrink: "",
6258
+ class: "text"
6259
+ }, {
6260
+ default: withCtx(() => [
6261
+ createVNode(_component_native_select, {
6262
+ modelValue: $options.perPage,
6263
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $options.perPage = $event),
6264
+ field: $data.perPageField
6265
+ }, {
6266
+ default: withCtx(() => [
6267
+ _ctx.$device.breakpoint.xs ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
6268
+ createTextVNode(toDisplayString($options.displayStartIndex) + "-" + toDisplayString($options.endIndex) + " of " + toDisplayString($props.total), 1)
6269
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
6270
+ createTextVNode("Showing " + toDisplayString($options.displayStartIndex) + " to " + toDisplayString($options.endIndex) + " of " + toDisplayString($props.total) + " total", 1)
6271
+ ], 64))
6272
+ ]),
6273
+ _: 1
6274
+ }, 8, ["modelValue", "field"])
6275
+ ]),
6276
+ _: 1
6277
+ }),
6278
+ createVNode(_component_flex_cell),
6279
+ $options.totalPages > 1 ? (openBlock(), createBlock(_component_flex_cell, {
6280
+ key: 0,
6281
+ shrink: ""
6282
+ }, {
6283
+ default: withCtx(() => [
6284
+ createVNode(_component_flex_row, {
6285
+ gap: "",
6286
+ center: ""
6287
+ }, {
6288
+ default: withCtx(() => [
6289
+ createVNode(_component_flex_cell, {
6290
+ shrink: "",
6291
+ class: "text"
6292
+ }, {
6293
+ default: withCtx(() => [
6294
+ createVNode(_component_native_select, {
6295
+ modelValue: $options.currentPage,
6296
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $options.currentPage = $event),
6297
+ field: $options.pageField
6298
+ }, {
6299
+ default: withCtx(() => [
6300
+ _ctx.$device.breakpoint.xs ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
6301
+ createTextVNode(toDisplayString($options.currentPage) + "/" + toDisplayString($options.totalPages), 1)
6302
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
6303
+ createTextVNode("Page " + toDisplayString($options.currentPage) + " of " + toDisplayString($options.totalPages), 1)
6304
+ ], 64))
6305
+ ]),
6306
+ _: 1
6307
+ }, 8, ["modelValue", "field"])
6308
+ ]),
6309
+ _: 1
6310
+ }),
6311
+ createVNode(_component_flex_cell, { shrink: "" }, {
6312
+ default: withCtx(() => [
6313
+ createVNode(_component_ux_button, {
6314
+ icon: "",
6315
+ onClick: _cache[2] || (_cache[2] = ($event) => $options.previousPage())
6316
+ }, {
6317
+ default: withCtx(() => [
6318
+ createVNode(_component_ux_icon, { icon: "fa-arrow-left" })
6319
+ ]),
6320
+ _: 1
6321
+ })
6322
+ ]),
6323
+ _: 1
6324
+ }),
6325
+ createVNode(_component_flex_cell, { shrink: "" }, {
6326
+ default: withCtx(() => [
6327
+ createVNode(_component_ux_button, {
6328
+ icon: "",
6329
+ onClick: _cache[3] || (_cache[3] = ($event) => $options.nextPage())
6330
+ }, {
6331
+ default: withCtx(() => [
6332
+ createVNode(_component_ux_icon, { icon: "fa-arrow-right" })
6333
+ ]),
6334
+ _: 1
6335
+ })
6336
+ ]),
6337
+ _: 1
6338
+ })
6339
+ ]),
6340
+ _: 1
6341
+ })
6342
+ ]),
6343
+ _: 1
6344
+ })) : createCommentVNode("", true)
6345
+ ]),
6346
+ _: 1
6347
+ });
6348
+ }
6349
+ var Pager$1 = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["render", _sfc_render$_], ["__scopeId", "data-v-93d2aed8"]]);
6350
+ var avatar_vue_vue_type_style_index_0_lang = "";
6351
+ const _sfc_main$Z = {
6352
+ props: {
6353
+ id: {
6354
+ type: [Object, String]
5968
6355
  }
5969
6356
  },
5970
- mounted() {
5971
- this.refMenu = this.$refs.menu;
5972
- this.mounted = true;
6357
+ computed: {
6358
+ stringID() {
6359
+ return this.$sdk.utils.id(this.id);
6360
+ },
6361
+ url() {
6362
+ }
6363
+ }
6364
+ };
6365
+ const _hoisted_1$K = { class: "avatar" };
6366
+ function _sfc_render$Z(_ctx, _cache, $props, $setup, $data, $options) {
6367
+ return openBlock(), createElementBlock("div", _hoisted_1$K);
6368
+ }
6369
+ var Avatar = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["render", _sfc_render$Z]]);
6370
+ var spinner_vue_vue_type_style_index_0_scoped_true_lang = "";
6371
+ const _sfc_main$Y = {
6372
+ props: {
6373
+ large: {
6374
+ type: Boolean
6375
+ }
6376
+ }
6377
+ };
6378
+ const _withScopeId$7 = (n2) => (pushScopeId("data-v-27f20370"), n2 = n2(), popScopeId(), n2);
6379
+ const _hoisted_1$J = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ createElementVNode("i", { class: "fa fa-spin fa-spinner" }, null, -1));
6380
+ const _hoisted_2$D = [
6381
+ _hoisted_1$J
6382
+ ];
6383
+ function _sfc_render$Y(_ctx, _cache, $props, $setup, $data, $options) {
6384
+ return openBlock(), createElementBlock("div", {
6385
+ class: normalizeClass(["ux-spinner", { large: $props.large }])
6386
+ }, _hoisted_2$D, 2);
6387
+ }
6388
+ var Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$Y], ["__scopeId", "data-v-27f20370"]]);
6389
+ var button_vue_vue_type_style_index_0_scoped_true_lang = "";
6390
+ const _sfc_main$X = {
6391
+ components: {
6392
+ Spinner
5973
6393
  },
5974
- beforeUnmount() {
5975
- this.removeListeners();
5976
- this.refMenu = null;
5977
- this.mounted = false;
5978
- if (UXMenuService.cache[this.group] === this) {
5979
- UXMenuService.cache[this.group] = null;
6394
+ props: {
6395
+ to: {
6396
+ type: [Object, String]
6397
+ },
6398
+ icon: {
6399
+ type: Boolean
6400
+ },
6401
+ color: {
6402
+ type: String,
6403
+ default: "default"
6404
+ },
6405
+ bgColor: {
6406
+ type: String
6407
+ },
6408
+ fgColor: {
6409
+ type: String
6410
+ },
6411
+ tag: {
6412
+ type: String
6413
+ },
6414
+ href: {
6415
+ type: String
6416
+ },
6417
+ target: {
6418
+ type: String
6419
+ },
6420
+ loading: {
6421
+ type: Boolean
6422
+ },
6423
+ active: {
6424
+ type: Boolean
6425
+ },
6426
+ disabled: {
6427
+ type: Boolean
6428
+ },
6429
+ block: {
6430
+ type: Boolean
6431
+ },
6432
+ size: {
6433
+ type: String,
6434
+ default: "md"
5980
6435
  }
5981
6436
  },
5982
- methods: {
5983
- removeListeners() {
5984
- document.removeEventListener("click", this.globalClick);
5985
- if (this.refMenu) {
5986
- this.refMenu.removeEventListener("click", this.immediateClick);
6437
+ computed: {
6438
+ style() {
6439
+ var object = {};
6440
+ if (this.bgColor) {
6441
+ object["backgroundColor"] = this.bgColor;
5987
6442
  }
5988
- },
5989
- addEventListeners() {
5990
- document.addEventListener("click", this.globalClick);
5991
- if (this.refMenu) {
5992
- this.refMenu.addEventListener("click", this.immediateClick);
6443
+ if (this.fgColor) {
6444
+ object["color"] = this.fgColor;
5993
6445
  }
6446
+ return object;
5994
6447
  },
5995
- immediateClick(event) {
5996
- if (this.expanded) {
5997
- if (this.closeOnClick) {
5998
- event.stopImmediatePropagation();
5999
- this.expanded = false;
6000
- }
6448
+ classes() {
6449
+ var array = [];
6450
+ array.push(`ux-btn-${this.size}`);
6451
+ if (this.block) {
6452
+ array.push(`ux-btn-block`);
6001
6453
  }
6002
- },
6003
- globalClick(event) {
6004
- if (this.triggerEvent === event) {
6005
- return;
6454
+ if (this.loading) {
6455
+ array.push(`ux-btn-loading`);
6006
6456
  }
6007
- var parentElement = this.$refs.menu;
6008
- var childElement = event.srcElement;
6009
- if (parentElement && parentElement.contains(childElement)) {
6010
- if (this.closeOnClick) {
6011
- this.expanded = false;
6012
- }
6013
- } else {
6014
- this.expanded = false;
6457
+ if (this.active) {
6458
+ array.push(`ux-btn-active`);
6015
6459
  }
6016
- },
6017
- position() {
6018
- const rect = this.$el.getBoundingClientRect();
6019
- this.outerStyle.left = `${rect.left + window.scrollX}px`;
6020
- this.outerStyle.top = `${rect.bottom + window.scrollY}px`;
6021
- if (this.right) {
6022
- this.innerStyle.right = `-${rect.width}px`;
6460
+ if (this.icon) {
6461
+ array.push(`ux-btn-icon`);
6023
6462
  }
6024
- if (this.bottom) {
6025
- this.innerStyle.bottom = `${rect.height}px`;
6463
+ array.push(`ux-btn-color-${this.color}`);
6464
+ if (this.disabled) {
6465
+ array.push(`ux-btn-disabled`);
6026
6466
  }
6027
- var zIndex = this.getMaxZIndex();
6028
- this.outerStyle.zIndex = zIndex;
6029
- },
6030
- getMaxZIndex() {
6031
- return Math.max(...Array.from(document.querySelectorAll("body *"), (el) => parseFloat(window.getComputedStyle(el).zIndex)).filter((zIndex) => !Number.isNaN(zIndex)), 0);
6467
+ return array;
6032
6468
  },
6033
- close() {
6034
- this.expanded = false;
6469
+ element() {
6470
+ switch (this.tag) {
6471
+ case "span":
6472
+ return this.tag;
6473
+ case "submit":
6474
+ return "button";
6475
+ default:
6476
+ if (this.to || this.href) {
6477
+ return "ux-link";
6478
+ }
6479
+ return this.tag || "button";
6480
+ }
6481
+ }
6482
+ }
6483
+ };
6484
+ const _hoisted_1$I = { class: "ux-btn-text" };
6485
+ function _sfc_render$X(_ctx, _cache, $props, $setup, $data, $options) {
6486
+ const _component_spinner = resolveComponent("spinner");
6487
+ return openBlock(), createBlock(resolveDynamicComponent($options.element), {
6488
+ active: $props.active,
6489
+ loading: $props.loading,
6490
+ to: $props.to,
6491
+ href: $props.href,
6492
+ target: $props.target,
6493
+ style: normalizeStyle($options.style),
6494
+ class: normalizeClass([$options.classes, "ux-btn"]),
6495
+ disabled: $props.disabled
6496
+ }, {
6497
+ default: withCtx(() => [
6498
+ $props.loading ? (openBlock(), createBlock(_component_spinner, { key: 0 })) : createCommentVNode("", true),
6499
+ createElementVNode("span", _hoisted_1$I, [
6500
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
6501
+ ])
6502
+ ]),
6503
+ _: 3
6504
+ }, 8, ["active", "loading", "to", "href", "target", "style", "class", "disabled"]);
6505
+ }
6506
+ var UXButton = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["render", _sfc_render$X], ["__scopeId", "data-v-56c95efc"]]);
6507
+ var checkbox_vue_vue_type_style_index_0_scoped_true_lang$1 = "";
6508
+ const _sfc_main$W = {
6509
+ props: {
6510
+ value: {
6511
+ type: Boolean,
6512
+ default() {
6513
+ return false;
6514
+ }
6035
6515
  }
6036
6516
  },
6037
6517
  computed: {
6038
- expanded: {
6039
- get() {
6040
- return this.isExpanded;
6041
- },
6042
- set(v) {
6043
- var previousActivatedEntity;
6044
- if (this.group) {
6045
- previousActivatedEntity = UXMenuService.cache[this.group];
6046
- }
6047
- if (this.isExpanded != v) {
6048
- this.isExpanded = v;
6049
- if (v) {
6050
- this.position();
6051
- this.addEventListeners();
6052
- UXMenuService.cache[this.group] = this;
6053
- if (previousActivatedEntity && previousActivatedEntity != this) {
6054
- previousActivatedEntity.expanded = false;
6055
- }
6056
- } else {
6057
- this.removeListeners();
6058
- }
6059
- this.$emit("update:modelValue", v);
6060
- }
6518
+ classes() {
6519
+ var array = [];
6520
+ if (this.value) {
6521
+ array.push(`ux-checkbox-true`);
6522
+ } else {
6523
+ array.push(`ux-checkbox-false`);
6061
6524
  }
6062
- },
6063
- on() {
6064
- var self2 = this;
6065
- return {
6066
- click(event) {
6067
- if (self2.stop) {
6068
- event.stopImmediatePropagation();
6069
- }
6070
- self2.triggerEvent = event;
6071
- self2.expanded = !self2.expanded;
6072
- }
6073
- };
6525
+ return array;
6074
6526
  }
6075
6527
  }
6076
6528
  };
6077
- function _sfc_render$T(_ctx, _cache, $props, $setup, $data, $options) {
6078
- return openBlock(), createElementBlock("div", {
6079
- class: normalizeClass(["ux-menu", { right: $props.right }])
6529
+ function _sfc_render$W(_ctx, _cache, $props, $setup, $data, $options) {
6530
+ const _component_ux_icon = resolveComponent("ux-icon");
6531
+ return openBlock(), createElementBlock("button", {
6532
+ class: normalizeClass(["ux-checkbox", $options.classes])
6080
6533
  }, [
6081
- createElementVNode("span", null, [
6082
- renderSlot(_ctx.$slots, "activator", { on: $options.on }, void 0, true)
6083
- ]),
6084
- (openBlock(), createBlock(Teleport, { to: "body" }, [
6085
- $data.isExpanded ? (openBlock(), createElementBlock("div", {
6086
- key: 0,
6087
- class: "ux-menu-outer",
6088
- style: normalizeStyle($data.outerStyle)
6089
- }, [
6090
- createElementVNode("div", {
6091
- class: "ux-menu-panel",
6092
- ref: "menu",
6093
- style: normalizeStyle($data.innerStyle)
6094
- }, [
6095
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
6096
- ], 4)
6097
- ], 4)) : createCommentVNode("", true)
6098
- ]))
6534
+ createVNode(_component_ux_icon, {
6535
+ class: "icon",
6536
+ icon: "fa-check"
6537
+ })
6099
6538
  ], 2);
6100
6539
  }
6101
- var UXMenu = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["render", _sfc_render$T], ["__scopeId", "data-v-29d476a2"]]);
6102
- const _sfc_main$S = {
6103
- name: "menulist",
6540
+ var UXCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["render", _sfc_render$W], ["__scopeId", "data-v-6b7b7539"]]);
6541
+ var switch_vue_vue_type_style_index_0_scoped_true_lang$1 = "";
6542
+ const _sfc_main$V = {
6104
6543
  props: {
6105
- items: {
6106
- type: Array,
6544
+ value: {
6545
+ type: Boolean,
6107
6546
  default() {
6108
- return [];
6547
+ return false;
6109
6548
  }
6110
6549
  },
6111
- expandOn: {
6112
- type: String,
6113
- default: "none"
6550
+ loading: {
6551
+ type: Boolean,
6552
+ default() {
6553
+ return false;
6554
+ }
6114
6555
  }
6115
6556
  },
6116
6557
  computed: {
6117
- filteredItems() {
6118
- return this.items.filter(function(item) {
6119
- return !item.disabled;
6120
- });
6121
- }
6122
- },
6123
- methods: {
6124
- toggle(item) {
6125
- item.expanded = !item.expanded;
6126
- item.collapsed = !item.expanded;
6558
+ classes() {
6559
+ var array = [];
6560
+ if (this.value) {
6561
+ array.push(`ux-switch-true`);
6562
+ } else {
6563
+ array.push(`ux-switch-false`);
6564
+ }
6565
+ if (this.loading) {
6566
+ array.push(`ux-switch-loading`);
6567
+ }
6568
+ return array;
6127
6569
  }
6128
- },
6129
- data() {
6130
- return {};
6131
6570
  }
6132
6571
  };
6133
- function _sfc_render$S(_ctx, _cache, $props, $setup, $data, $options) {
6134
- const _component_ux_link = resolveComponent("ux-link");
6135
- const _component_menulist = resolveComponent("menulist", true);
6136
- return openBlock(), createElementBlock("ul", null, [
6137
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.filteredItems, (item) => {
6138
- var _a;
6139
- return openBlock(), createElementBlock("li", {
6140
- class: normalizeClass({ expanded: item.expanded, collapsed: item.collapsed })
6141
- }, [
6142
- $props.expandOn === "click" && ((_a = item.items) == null ? void 0 : _a.length) ? (openBlock(), createBlock(_component_ux_link, {
6143
- key: 0,
6144
- onClick: withModifiers(($event) => $options.toggle(item), ["stop", "prevent"]),
6145
- class: normalizeClass(item.class)
6146
- }, {
6147
- default: withCtx(() => [
6148
- createTextVNode(toDisplayString(item.title), 1)
6149
- ]),
6150
- _: 2
6151
- }, 1032, ["onClick", "class"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
6152
- item.type === "url" ? (openBlock(), createBlock(_component_ux_link, {
6153
- key: 0,
6154
- class: normalizeClass(item.class),
6155
- target: item.target,
6156
- href: item.href || item.url
6157
- }, {
6158
- default: withCtx(() => [
6159
- createTextVNode(toDisplayString(item.title), 1)
6160
- ]),
6161
- _: 2
6162
- }, 1032, ["class", "target", "href"])) : item.type === "route" ? (openBlock(), createBlock(_component_ux_link, {
6163
- key: 1,
6164
- class: normalizeClass(item.class),
6165
- to: { name: item.route }
6166
- }, {
6167
- default: withCtx(() => [
6168
- createTextVNode(toDisplayString(item.title), 1)
6169
- ]),
6170
- _: 2
6171
- }, 1032, ["class", "to"])) : createCommentVNode("", true)
6172
- ], 64)),
6173
- item.items && item.items.length ? (openBlock(), createBlock(_component_menulist, {
6174
- key: 2,
6175
- items: item.items
6176
- }, null, 8, ["items"])) : createCommentVNode("", true)
6177
- ], 2);
6178
- }), 256))
6179
- ]);
6572
+ function _sfc_render$V(_ctx, _cache, $props, $setup, $data, $options) {
6573
+ const _component_ux_icon = resolveComponent("ux-icon");
6574
+ return openBlock(), createElementBlock("a", {
6575
+ class: normalizeClass(["ux-switch", $options.classes])
6576
+ }, [
6577
+ createElementVNode("span", null, [
6578
+ createVNode(_component_ux_icon, {
6579
+ spin: "",
6580
+ icon: "fa-spinner"
6581
+ })
6582
+ ])
6583
+ ], 2);
6180
6584
  }
6181
- var UXMenuList = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["render", _sfc_render$S]]);
6182
- var image_vue_vue_type_style_index_0_scoped_true_lang = "";
6183
- const _sfc_main$R = {
6585
+ var UXSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["render", _sfc_render$V], ["__scopeId", "data-v-57a418e1"]]);
6586
+ var link_vue_vue_type_style_index_0_scoped_true_lang = "";
6587
+ const _sfc_main$U = {
6184
6588
  props: {
6185
- item: {
6186
- type: Object
6589
+ to: {
6590
+ type: [Object, String]
6187
6591
  },
6188
- alt: {
6592
+ href: {
6189
6593
  type: String
6190
6594
  },
6191
- width: {
6192
- type: Number
6193
- },
6194
- height: {
6195
- type: Number
6196
- },
6197
- inline: {
6198
- type: Boolean
6199
- },
6200
- quality: {
6201
- type: Number
6202
- },
6203
- contain: {
6204
- type: Boolean,
6205
- default: true
6206
- },
6207
- preview: {
6208
- type: Boolean,
6209
- default: false
6210
- },
6211
- crop: {
6212
- type: Boolean
6213
- },
6214
- format: {
6595
+ target: {
6215
6596
  type: String
6216
6597
  },
6217
- upscale: {
6218
- type: Boolean,
6219
- default: true
6220
- },
6221
- type: {
6222
- type: String,
6223
- default: "image"
6224
- },
6225
- svg: {
6598
+ disabled: {
6226
6599
  type: Boolean
6227
6600
  }
6228
6601
  },
6229
- data() {
6230
- return {
6231
- model: this.item
6232
- };
6233
- },
6234
- computed: {
6235
- altText() {
6236
- return this.alt || this.model.title;
6237
- },
6238
- className() {
6239
- var classes = [];
6240
- if (this.portrait) {
6241
- classes.push("img-portrait");
6242
- }
6243
- return classes.join(" ");
6244
- },
6245
- isSvg() {
6246
- var _a;
6247
- if (this.svg) {
6248
- return true;
6249
- }
6250
- switch ((_a = this.item) == null ? void 0 : _a.fileMime) {
6251
- case "image/svg+xml":
6252
- case "image/svg":
6253
- return true;
6254
- }
6255
- },
6256
- portrait() {
6257
- return this.crop ? this.dimensionHeight > this.dimensionWidth : this.modelHeight > this.modelWidth;
6258
- },
6259
- imageWidth() {
6260
- return parseInt(this.width);
6261
- },
6262
- imageHeight() {
6263
- return parseInt(this.height);
6264
- },
6265
- modelWidth() {
6266
- var _a;
6267
- return parseInt((_a = this.model) == null ? void 0 : _a.width);
6268
- },
6269
- modelHeight() {
6270
- var _a;
6271
- return parseInt((_a = this.model) == null ? void 0 : _a.height);
6272
- },
6273
- id() {
6274
- return this.$sdk.utils.id(this.model);
6275
- },
6276
- params() {
6277
- var params = {};
6278
- params.access_token = this.$sdk.auth.getCurrentToken();
6279
- if (this.imageWidth) {
6280
- params.w = this.imageWidth ? this.imageWidth : null;
6281
- }
6282
- if (this.imageHeight) {
6283
- params.h = this.imageHeight ? this.imageHeight : null;
6284
- }
6285
- if (this.crop) {
6286
- params.c = true;
6287
- } else {
6288
- if (!this.contain) {
6289
- params.c = this.imageWidth && this.imageHeight;
6602
+ methods: {
6603
+ clicked(event) {
6604
+ var self2 = this;
6605
+ if (self2.to) {
6606
+ if (self2.buildMode || self2.nuxtMode) {
6607
+ event.preventDefault();
6608
+ event.stopImmediatePropagation();
6609
+ return self2.$sdk.app.to(self2.to);
6290
6610
  }
6291
6611
  }
6292
- if (this.quality) {
6293
- params.q = parseInt(this.quality);
6612
+ if (self2.href) {
6613
+ if (self2.buildMode || self2.nuxtMode) {
6614
+ event.preventDefault();
6615
+ event.stopImmediatePropagation();
6616
+ return;
6617
+ }
6294
6618
  }
6295
- if (this.upscale) {
6296
- params.u = true;
6619
+ }
6620
+ },
6621
+ computed: {
6622
+ actualHref() {
6623
+ if (this.href) {
6624
+ return this.href;
6297
6625
  }
6298
- if (this.format) {
6299
- params.f = this.format;
6626
+ if (this.nuxtMode) {
6627
+ return this.$sdk.app.createHref(this.to);
6300
6628
  }
6301
- return params;
6302
6629
  },
6303
- src() {
6304
- return this.$sdk.api.generateEndpointURL(`/${this.type}/${this.id}`, this.params, { file: true });
6630
+ nuxtMode() {
6631
+ return this.to && this.$sdk.nuxt && this.$sdk.app && this.$sdk.app.createHref;
6305
6632
  },
6306
- previewSrc() {
6307
- var params = Object.assign({}, this.params);
6308
- params.w = 50;
6309
- delete params.h;
6310
- return this.$sdk.api.generateEndpointURL(`/${this.type}/${this.id}`, params, { file: true });
6633
+ buildMode() {
6634
+ return !!this.$sdk && this.$sdk.app && this.$sdk.app.builder;
6311
6635
  },
6312
- imageStyle() {
6313
- var style = {};
6314
- if (!this.crop) {
6315
- style["object-fit"] = "contain";
6316
- }
6317
- if (this.inline) {
6318
- style.maxWidth = "100%";
6319
- } else {
6320
- style.width = "100%";
6321
- style.height = "100%";
6322
- style.top = `0`;
6323
- style.left = `0`;
6324
- style.position = "absolute";
6636
+ class() {
6637
+ var array = [];
6638
+ if (this.disabled) {
6639
+ array.push("disabled");
6325
6640
  }
6326
- return style;
6327
- },
6328
- dimensionWidth() {
6329
- return this.imageWidth && this.imageHeight ? this.imageWidth : this.modelWidth;
6330
- },
6331
- dimensionHeight() {
6332
- return this.imageWidth && this.imageHeight ? this.imageHeight : this.modelHeight;
6641
+ if (this.href || this.to) {
6642
+ array.push("haslink");
6643
+ }
6644
+ return array;
6333
6645
  },
6334
- style() {
6335
- var _a, _b, _c;
6336
- var style = {};
6337
- if (this.inline) {
6338
- style.display = "inline-block";
6339
- } else {
6340
- if (this.dimensionHeight && this.dimensionWidth) {
6341
- style.height = 0;
6342
- style.overflow = "hidden";
6343
- style.paddingBottom = `${this.dimensionHeight / this.dimensionWidth * 100}%`;
6344
- style.position = "relative";
6345
- }
6646
+ element() {
6647
+ if (this.nuxtMode) {
6648
+ return "a";
6346
6649
  }
6347
- var colors = (_c = (_b = (_a = this.model) == null ? void 0 : _a.fileMeta) == null ? void 0 : _b.colors) == null ? void 0 : _c.colors;
6348
- if (colors && colors.length) {
6349
- style.backgroundColor = colors[0];
6650
+ if (this.buildMode) {
6651
+ return "a";
6350
6652
  }
6351
- if (this.isSvg)
6352
- ;
6353
- else {
6354
- if (this.preview) {
6355
- style.backgroundImage = `url(${this.previewSrc})`;
6356
- }
6653
+ if (this.to) {
6654
+ return `router-link`;
6357
6655
  }
6358
- return style;
6656
+ return "a";
6359
6657
  }
6360
6658
  }
6361
6659
  };
6362
- const _hoisted_1$I = ["alt", "data"];
6363
- const _hoisted_2$D = ["alt", "src"];
6364
- function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
6365
- return openBlock(), createElementBlock("div", {
6366
- class: normalizeClass(["ux-image", $options.className]),
6367
- style: normalizeStyle($options.style)
6368
- }, [
6369
- $props.svg ? (openBlock(), createElementBlock("object", {
6370
- key: 0,
6371
- alt: $options.altText,
6372
- type: "image/svg+xml",
6373
- data: $options.src
6374
- }, null, 8, _hoisted_1$I)) : (openBlock(), createElementBlock("img", {
6375
- key: 1,
6376
- alt: $options.altText,
6377
- style: normalizeStyle($options.imageStyle),
6378
- src: $options.src
6379
- }, null, 12, _hoisted_2$D))
6380
- ], 6);
6660
+ function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
6661
+ return openBlock(), createBlock(resolveDynamicComponent($options.element), {
6662
+ onClick: $options.clicked,
6663
+ to: $props.to,
6664
+ href: $options.actualHref,
6665
+ target: $props.target,
6666
+ class: normalizeClass([$options.class, "ux-link"])
6667
+ }, {
6668
+ default: withCtx(() => [
6669
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
6670
+ ]),
6671
+ _: 3
6672
+ }, 8, ["onClick", "to", "href", "target", "class"]);
6381
6673
  }
6382
- var UXImage = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["render", _sfc_render$R], ["__scopeId", "data-v-a7872864"]]);
6383
- var progressbar_vue_vue_type_style_index_0_scoped_true_lang = "";
6384
- const _sfc_main$Q = {
6674
+ var UXLink = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["render", _sfc_render$U], ["__scopeId", "data-v-8b82829a"]]);
6675
+ var icon_vue_vue_type_style_index_0_scoped_true_lang = "";
6676
+ const _sfc_main$T = {
6385
6677
  props: {
6386
- value: {
6387
- type: Number
6678
+ icon: {
6679
+ type: [Object, String]
6680
+ },
6681
+ spin: {
6682
+ type: Boolean
6683
+ },
6684
+ left: {
6685
+ type: Boolean
6686
+ },
6687
+ right: {
6688
+ type: Boolean
6388
6689
  }
6389
6690
  },
6390
6691
  computed: {
@@ -6402,739 +6703,654 @@ const _sfc_main$Q = {
6402
6703
  }
6403
6704
  return array;
6404
6705
  },
6405
- percent() {
6406
- return this.value;
6407
- },
6408
- barStyle() {
6409
- return {
6410
- width: `${this.percent}%`
6411
- };
6412
- },
6413
6706
  element() {
6414
6707
  return "i";
6415
6708
  }
6416
6709
  }
6417
6710
  };
6418
- const _withScopeId$6 = (n2) => (pushScopeId("data-v-317a7690"), n2 = n2(), popScopeId(), n2);
6419
- const _hoisted_1$H = { class: "ux-progress" };
6420
- const _hoisted_2$C = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ createElementVNode("div", { class: "ux-progress-bg" }, null, -1));
6421
- function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
6422
- return openBlock(), createElementBlock("div", _hoisted_1$H, [
6423
- _hoisted_2$C,
6424
- createElementVNode("div", {
6425
- class: "ux-progress-fg",
6426
- style: normalizeStyle($options.barStyle)
6427
- }, null, 4)
6428
- ]);
6429
- }
6430
- var ProgressBar = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["render", _sfc_render$Q], ["__scopeId", "data-v-317a7690"]]);
6431
- var list_vue_vue_type_style_index_0_scoped_true_lang = "";
6432
- const _sfc_main$P = {};
6433
- const _hoisted_1$G = { class: "ux-list" };
6434
- function _sfc_render$P(_ctx, _cache) {
6435
- return openBlock(), createElementBlock("ul", _hoisted_1$G, [
6436
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
6437
- ]);
6438
- }
6439
- var UXList = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", _sfc_render$P], ["__scopeId", "data-v-98e1e4e2"]]);
6440
- var listItem_vue_vue_type_style_index_0_scoped_true_lang = "";
6441
- const _sfc_main$O = {};
6442
- const _hoisted_1$F = { class: "ux-list-item" };
6443
- function _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {
6444
- return openBlock(), createElementBlock("div", _hoisted_1$F, [
6445
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
6446
- ]);
6447
- }
6448
- var UXListItem = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", _sfc_render$O], ["__scopeId", "data-v-0e73c260"]]);
6449
- var daterange_vue_vue_type_style_index_0_scoped_true_lang$1 = "";
6450
- function checkDate(d) {
6451
- var date = new Date(d);
6452
- if (date instanceof Date && !isNaN(date)) {
6453
- return date;
6454
- }
6455
- return;
6456
- }
6457
- const _sfc_main$N = {
6458
- props: {
6459
- modelValue: {
6460
- type: Object
6461
- }
6462
- },
6463
- data() {
6464
- return {
6465
- model: this.modelValue
6466
- };
6467
- },
6468
- computed: {
6469
- startDate: {
6470
- get() {
6471
- var _a;
6472
- return (_a = checkDate(this.model.startDate)) == null ? void 0 : _a.toISOString().slice(0, 10);
6473
- },
6474
- set(d) {
6475
- d = checkDate(d);
6476
- if (d) {
6477
- this.model.startDate = d;
6478
- } else {
6479
- this.model.startDate = void 0;
6480
- }
6481
- }
6482
- },
6483
- endDate: {
6484
- get() {
6485
- var _a;
6486
- return (_a = checkDate(this.model.endDate)) == null ? void 0 : _a.toISOString().slice(0, 10);
6487
- },
6488
- set(d) {
6489
- d = checkDate(d);
6490
- if (checkDate(d)) {
6491
- this.model.endDate = d;
6492
- } else {
6493
- this.model.endDate = void 0;
6494
- }
6495
- }
6496
- }
6497
- },
6498
- watch: {
6499
- model(m) {
6500
- this.$emit("updated:modelValue", m);
6501
- },
6502
- modelValue(m) {
6503
- this.model = m;
6504
- }
6505
- }
6506
- };
6507
- const _withScopeId$5 = (n2) => (pushScopeId("data-v-61cbf45e"), n2 = n2(), popScopeId(), n2);
6508
- const _hoisted_1$E = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("label", null, "From Date", -1));
6509
- const _hoisted_2$B = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("label", null, "To Date", -1));
6510
- function _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {
6511
- const _component_flex_cell = resolveComponent("flex-cell");
6512
- const _component_flex_row = resolveComponent("flex-row");
6513
- return openBlock(), createElementBlock("div", null, [
6514
- createVNode(_component_flex_row, {
6515
- wrap: "",
6516
- gap: "",
6517
- vcenter: ""
6518
- }, {
6519
- default: withCtx(() => [
6520
- createVNode(_component_flex_cell, { class: "cell" }, {
6521
- default: withCtx(() => [
6522
- createElementVNode("div", null, [
6523
- _hoisted_1$E,
6524
- withDirectives(createElementVNode("input", {
6525
- type: "date",
6526
- class: "ux-field-focus ux-text-input-multiple",
6527
- ref: "input",
6528
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $options.startDate = $event)
6529
- }, null, 512), [
6530
- [vModelText, $options.startDate]
6531
- ])
6532
- ])
6533
- ]),
6534
- _: 1
6535
- }),
6536
- createVNode(_component_flex_cell, { class: "cell" }, {
6537
- default: withCtx(() => [
6538
- createElementVNode("div", null, [
6539
- _hoisted_2$B,
6540
- withDirectives(createElementVNode("input", {
6541
- type: "date",
6542
- class: "ux-field-focus ux-text-input-multiple",
6543
- ref: "input",
6544
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $options.endDate = $event)
6545
- }, null, 512), [
6546
- [vModelText, $options.endDate]
6547
- ])
6548
- ])
6549
- ]),
6550
- _: 1
6551
- })
6552
- ]),
6553
- _: 1
6554
- })
6555
- ]);
6556
- }
6557
- var Daterange = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$N], ["__scopeId", "data-v-61cbf45e"]]);
6558
- var safeJsonStringify$1 = { exports: {} };
6559
- var hasProp = Object.prototype.hasOwnProperty;
6560
- function throwsMessage(err) {
6561
- return "[Throws: " + (err ? err.message : "?") + "]";
6562
- }
6563
- function safeGetValueFromPropertyOnObject(obj, property) {
6564
- if (hasProp.call(obj, property)) {
6565
- try {
6566
- return obj[property];
6567
- } catch (err) {
6568
- return throwsMessage(err);
6569
- }
6570
- }
6571
- return obj[property];
6572
- }
6573
- function ensureProperties(obj) {
6574
- var seen = [];
6575
- function visit(obj2) {
6576
- if (obj2 === null || typeof obj2 !== "object") {
6577
- return obj2;
6578
- }
6579
- if (seen.indexOf(obj2) !== -1) {
6580
- return "[Circular]";
6581
- }
6582
- seen.push(obj2);
6583
- if (typeof obj2.toJSON === "function") {
6584
- try {
6585
- var fResult = visit(obj2.toJSON());
6586
- seen.pop();
6587
- return fResult;
6588
- } catch (err) {
6589
- return throwsMessage(err);
6590
- }
6591
- }
6592
- if (Array.isArray(obj2)) {
6593
- var aResult = obj2.map(visit);
6594
- seen.pop();
6595
- return aResult;
6596
- }
6597
- var result = Object.keys(obj2).reduce(function(result2, prop) {
6598
- result2[prop] = visit(safeGetValueFromPropertyOnObject(obj2, prop));
6599
- return result2;
6600
- }, {});
6601
- seen.pop();
6602
- return result;
6603
- }
6604
- return visit(obj);
6711
+ function _sfc_render$T(_ctx, _cache, $props, $setup, $data, $options) {
6712
+ return openBlock(), createBlock(resolveDynamicComponent($options.element), {
6713
+ class: normalizeClass(["ux-icon fa", $options.classes])
6714
+ }, null, 8, ["class"]);
6605
6715
  }
6606
- safeJsonStringify$1.exports = function(data, replacer, space) {
6607
- return JSON.stringify(ensureProperties(data), replacer, space);
6716
+ var UXIcon = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["render", _sfc_render$T], ["__scopeId", "data-v-1764a3d0"]]);
6717
+ var UXMenuService = {
6718
+ cache: {}
6608
6719
  };
6609
- safeJsonStringify$1.exports.ensureProperties = ensureProperties;
6610
- var safeJsonStringify = safeJsonStringify$1.exports;
6611
- function isUndefined$6(v, type) {
6612
- return v === void 0 || v === null || type == "date" && v.toString && v.toString() === "Invalid Date";
6613
- }
6614
- function isNotEmpty(value) {
6615
- return value !== void 0 && value !== null;
6616
- }
6617
- var InputMixin = {
6720
+ var menu_vue_vue_type_style_index_0_scoped_true_lang = "";
6721
+ const _sfc_main$S = {
6618
6722
  props: {
6619
- field: {
6620
- type: Object,
6723
+ group: {
6724
+ type: String
6725
+ },
6726
+ right: {
6727
+ type: Boolean,
6728
+ default: false
6729
+ },
6730
+ bottom: {
6731
+ type: Boolean,
6732
+ default: false
6733
+ },
6734
+ stop: {
6735
+ type: Boolean,
6736
+ default: false
6737
+ },
6738
+ closeOnClick: {
6739
+ type: Boolean,
6621
6740
  default() {
6622
- return {};
6741
+ return true;
6623
6742
  }
6624
6743
  },
6625
- parentModel: {
6626
- type: Object
6744
+ modelValue: {
6745
+ type: Boolean,
6746
+ default() {
6747
+ return false;
6748
+ }
6627
6749
  }
6628
6750
  },
6629
6751
  data() {
6630
6752
  return {
6631
- value: this.modelValue
6753
+ outerStyle: {},
6754
+ innerStyle: {},
6755
+ isExpanded: this.modelValue,
6756
+ triggerEvent: null,
6757
+ refMenu: null,
6758
+ mounted: false
6632
6759
  };
6633
6760
  },
6634
6761
  watch: {
6635
- modelValue(val, old) {
6636
- var cleanedValue = this.cleanInput(val);
6637
- var cleanedModel = this.cleanInput(this.model);
6638
- if (safeJsonStringify(cleanedValue) != safeJsonStringify(cleanedModel)) {
6639
- this.model = cleanedValue;
6640
- }
6762
+ modelValue(m) {
6763
+ this.expanded = m;
6641
6764
  }
6642
6765
  },
6643
6766
  mounted() {
6644
- this.checkAutofocus();
6767
+ this.refMenu = this.$refs.menu;
6768
+ this.mounted = true;
6769
+ },
6770
+ beforeUnmount() {
6771
+ this.removeListeners();
6772
+ this.refMenu = null;
6773
+ this.mounted = false;
6774
+ if (UXMenuService.cache[this.group] === this) {
6775
+ UXMenuService.cache[this.group] = null;
6776
+ }
6777
+ },
6778
+ methods: {
6779
+ removeListeners() {
6780
+ document.removeEventListener("click", this.globalClick);
6781
+ if (this.refMenu) {
6782
+ this.refMenu.removeEventListener("click", this.immediateClick);
6783
+ }
6784
+ },
6785
+ addEventListeners() {
6786
+ document.addEventListener("click", this.globalClick);
6787
+ if (this.refMenu) {
6788
+ this.refMenu.addEventListener("click", this.immediateClick);
6789
+ }
6790
+ },
6791
+ immediateClick(event) {
6792
+ if (this.expanded) {
6793
+ if (this.closeOnClick) {
6794
+ event.stopImmediatePropagation();
6795
+ this.expanded = false;
6796
+ }
6797
+ }
6798
+ },
6799
+ globalClick(event) {
6800
+ if (this.triggerEvent === event) {
6801
+ return;
6802
+ }
6803
+ var parentElement = this.$refs.menu;
6804
+ var childElement = event.srcElement;
6805
+ if (parentElement && parentElement.contains(childElement)) {
6806
+ if (this.closeOnClick) {
6807
+ this.expanded = false;
6808
+ }
6809
+ } else {
6810
+ this.expanded = false;
6811
+ }
6812
+ },
6813
+ position() {
6814
+ const rect = this.$el.getBoundingClientRect();
6815
+ this.outerStyle.left = `${rect.left + window.scrollX}px`;
6816
+ this.outerStyle.top = `${rect.bottom + window.scrollY}px`;
6817
+ if (this.right) {
6818
+ this.innerStyle.right = `-${rect.width}px`;
6819
+ }
6820
+ if (this.bottom) {
6821
+ this.innerStyle.bottom = `${rect.height}px`;
6822
+ }
6823
+ var zIndex = this.getMaxZIndex();
6824
+ this.outerStyle.zIndex = zIndex;
6825
+ },
6826
+ getMaxZIndex() {
6827
+ return Math.max(...Array.from(document.querySelectorAll("body *"), (el) => parseFloat(window.getComputedStyle(el).zIndex)).filter((zIndex) => !Number.isNaN(zIndex)), 0);
6828
+ },
6829
+ close() {
6830
+ this.expanded = false;
6831
+ }
6645
6832
  },
6646
- inject: ["form", "fieldPath"],
6647
6833
  computed: {
6648
- optionLookup() {
6649
- var self2 = this;
6650
- return self2.options.reduce(function(set, option2) {
6651
- const key = self2.getValue(option2);
6652
- set[key] = option2;
6653
- return set;
6654
- }, {});
6834
+ expanded: {
6835
+ get() {
6836
+ return this.isExpanded;
6837
+ },
6838
+ set(v) {
6839
+ var previousActivatedEntity;
6840
+ if (this.group) {
6841
+ previousActivatedEntity = UXMenuService.cache[this.group];
6842
+ }
6843
+ if (this.isExpanded != v) {
6844
+ this.isExpanded = v;
6845
+ if (v) {
6846
+ this.position();
6847
+ this.addEventListeners();
6848
+ UXMenuService.cache[this.group] = this;
6849
+ if (previousActivatedEntity && previousActivatedEntity != this) {
6850
+ previousActivatedEntity.expanded = false;
6851
+ }
6852
+ } else {
6853
+ this.removeListeners();
6854
+ }
6855
+ this.$emit("update:modelValue", v);
6856
+ }
6857
+ }
6655
6858
  },
6656
- selectableOptions() {
6657
- return this.options;
6859
+ on() {
6860
+ var self2 = this;
6861
+ return {
6862
+ click(event) {
6863
+ if (self2.stop) {
6864
+ event.stopImmediatePropagation();
6865
+ }
6866
+ self2.triggerEvent = event;
6867
+ self2.expanded = !self2.expanded;
6868
+ }
6869
+ };
6870
+ }
6871
+ }
6872
+ };
6873
+ function _sfc_render$S(_ctx, _cache, $props, $setup, $data, $options) {
6874
+ return openBlock(), createElementBlock("div", {
6875
+ class: normalizeClass(["ux-menu", { right: $props.right }])
6876
+ }, [
6877
+ createElementVNode("span", null, [
6878
+ renderSlot(_ctx.$slots, "activator", { on: $options.on }, void 0, true)
6879
+ ]),
6880
+ (openBlock(), createBlock(Teleport, { to: "body" }, [
6881
+ $data.isExpanded ? (openBlock(), createElementBlock("div", {
6882
+ key: 0,
6883
+ class: "ux-menu-outer",
6884
+ style: normalizeStyle($data.outerStyle)
6885
+ }, [
6886
+ createElementVNode("div", {
6887
+ class: "ux-menu-panel",
6888
+ ref: "menu",
6889
+ style: normalizeStyle($data.innerStyle)
6890
+ }, [
6891
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
6892
+ ], 4)
6893
+ ], 4)) : createCommentVNode("", true)
6894
+ ]))
6895
+ ], 2);
6896
+ }
6897
+ var UXMenu = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["render", _sfc_render$S], ["__scopeId", "data-v-29d476a2"]]);
6898
+ const _sfc_main$R = {
6899
+ name: "menulist",
6900
+ props: {
6901
+ items: {
6902
+ type: Array,
6903
+ default() {
6904
+ return [];
6905
+ }
6658
6906
  },
6659
- required() {
6660
- return this.minimum;
6907
+ expandOn: {
6908
+ type: String,
6909
+ default: "none"
6910
+ }
6911
+ },
6912
+ computed: {
6913
+ filteredItems() {
6914
+ return this.items.filter(function(item) {
6915
+ return !item.disabled;
6916
+ });
6917
+ }
6918
+ },
6919
+ methods: {
6920
+ toggle(item) {
6921
+ item.expanded = !item.expanded;
6922
+ item.collapsed = !item.expanded;
6923
+ }
6924
+ },
6925
+ data() {
6926
+ return {};
6927
+ }
6928
+ };
6929
+ function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
6930
+ const _component_ux_link = resolveComponent("ux-link");
6931
+ const _component_menulist = resolveComponent("menulist", true);
6932
+ return openBlock(), createElementBlock("ul", null, [
6933
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.filteredItems, (item) => {
6934
+ var _a;
6935
+ return openBlock(), createElementBlock("li", {
6936
+ class: normalizeClass({ expanded: item.expanded, collapsed: item.collapsed })
6937
+ }, [
6938
+ $props.expandOn === "click" && ((_a = item.items) == null ? void 0 : _a.length) ? (openBlock(), createBlock(_component_ux_link, {
6939
+ key: 0,
6940
+ onClick: withModifiers(($event) => $options.toggle(item), ["stop", "prevent"]),
6941
+ class: normalizeClass(item.class)
6942
+ }, {
6943
+ default: withCtx(() => [
6944
+ createTextVNode(toDisplayString(item.title), 1)
6945
+ ]),
6946
+ _: 2
6947
+ }, 1032, ["onClick", "class"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
6948
+ item.type === "url" ? (openBlock(), createBlock(_component_ux_link, {
6949
+ key: 0,
6950
+ class: normalizeClass(item.class),
6951
+ target: item.target,
6952
+ href: item.href || item.url
6953
+ }, {
6954
+ default: withCtx(() => [
6955
+ createTextVNode(toDisplayString(item.title), 1)
6956
+ ]),
6957
+ _: 2
6958
+ }, 1032, ["class", "target", "href"])) : item.type === "route" ? (openBlock(), createBlock(_component_ux_link, {
6959
+ key: 1,
6960
+ class: normalizeClass(item.class),
6961
+ to: { name: item.route }
6962
+ }, {
6963
+ default: withCtx(() => [
6964
+ createTextVNode(toDisplayString(item.title), 1)
6965
+ ]),
6966
+ _: 2
6967
+ }, 1032, ["class", "to"])) : createCommentVNode("", true)
6968
+ ], 64)),
6969
+ item.items && item.items.length ? (openBlock(), createBlock(_component_menulist, {
6970
+ key: 2,
6971
+ items: item.items
6972
+ }, null, 8, ["items"])) : createCommentVNode("", true)
6973
+ ], 2);
6974
+ }), 256))
6975
+ ]);
6976
+ }
6977
+ var UXMenuList = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["render", _sfc_render$R]]);
6978
+ var image_vue_vue_type_style_index_0_scoped_true_lang = "";
6979
+ const _sfc_main$Q = {
6980
+ props: {
6981
+ item: {
6982
+ type: Object
6661
6983
  },
6662
- model: {
6663
- get() {
6664
- var cleaned = this.cleanOutput(this.value);
6665
- return cleaned;
6666
- },
6667
- set(val) {
6668
- this.value = this.cleanInput(val);
6669
- this.checkAutofocus();
6670
- this.dispatch();
6671
- }
6984
+ alt: {
6985
+ type: String
6672
6986
  },
6673
- options() {
6674
- var self2 = this;
6675
- return (this.field.options || []).reduce(function(set, option2) {
6676
- if (!option2) {
6677
- return set;
6678
- }
6679
- const value = self2.getValue(option2);
6680
- const title = option2.title || option2.name || option2.label || value;
6681
- var output = {
6682
- title,
6683
- value,
6684
- source: option2
6685
- };
6686
- if (self2.field.type == "reference") {
6687
- output._id = value;
6688
- }
6689
- set.push(output);
6690
- return set;
6691
- }, []);
6987
+ width: {
6988
+ type: Number
6692
6989
  },
6693
- prefix() {
6694
- return this.field.suffix;
6990
+ height: {
6991
+ type: Number
6695
6992
  },
6696
- suffix() {
6697
- return this.field.suffix;
6993
+ inline: {
6994
+ type: Boolean
6698
6995
  },
6699
- type() {
6700
- return this.field.type || "string";
6996
+ quality: {
6997
+ type: Number
6701
6998
  },
6702
- key() {
6703
- return this.field.key;
6999
+ contain: {
7000
+ type: Boolean,
7001
+ default: true
6704
7002
  },
6705
- isGroup() {
6706
- return this.type === "group";
7003
+ preview: {
7004
+ type: Boolean,
7005
+ default: false
6707
7006
  },
6708
- asObject() {
6709
- return this.isGroup && !!this.field.asObject;
7007
+ crop: {
7008
+ type: Boolean
6710
7009
  },
6711
- layoutGroup() {
6712
- return this.isGroup && !this.field.asObject;
7010
+ format: {
7011
+ type: String
6713
7012
  },
6714
- canAddValue() {
6715
- if (this.singleValue) {
6716
- return;
6717
- }
6718
- return this.maximum === 0 || this.numValues < this.maximum;
7013
+ upscale: {
7014
+ type: Boolean,
7015
+ default: true
6719
7016
  },
6720
- canRemoveValue() {
6721
- return this.numValues > this.minimum;
7017
+ type: {
7018
+ type: String,
7019
+ default: "image"
6722
7020
  },
6723
- widget() {
6724
- return this.field.widget;
7021
+ svg: {
7022
+ type: Boolean
7023
+ }
7024
+ },
7025
+ data() {
7026
+ return {
7027
+ model: this.item
7028
+ };
7029
+ },
7030
+ computed: {
7031
+ altText() {
7032
+ return this.alt || this.model.title;
6725
7033
  },
6726
- singleValue() {
6727
- if (this.asObject) {
6728
- var isSingle = this.minimum === 1 && this.maximum === 1;
6729
- return isSingle;
6730
- } else {
6731
- return this.maximum === 1;
7034
+ className() {
7035
+ var classes = [];
7036
+ if (this.portrait) {
7037
+ classes.push("img-portrait");
6732
7038
  }
7039
+ return classes.join(" ");
6733
7040
  },
6734
- multiValue() {
6735
- return !this.singleValue;
6736
- },
6737
- label() {
6738
- return this.field.title;
6739
- },
6740
- title() {
6741
- return this.label;
6742
- },
6743
- plural() {
6744
- return this.field.plural;
6745
- },
6746
- description() {
6747
- return this.field.description;
6748
- },
6749
- placeholder() {
6750
- return this.field.placeholder || this.field.hint;
6751
- },
6752
- addLabel() {
6753
- if (this.numValues) {
6754
- return `Add another ${this.label}`;
6755
- } else {
6756
- return `Add ${this.label}`;
7041
+ isSvg() {
7042
+ var _a;
7043
+ if (this.svg) {
7044
+ return true;
6757
7045
  }
6758
- },
6759
- removeLabel() {
6760
- return `Remove`;
6761
- },
6762
- numValues() {
6763
- if (this.singleValue) {
6764
- return 1;
7046
+ switch ((_a = this.item) == null ? void 0 : _a.fileMime) {
7047
+ case "image/svg+xml":
7048
+ case "image/svg":
7049
+ return true;
6765
7050
  }
6766
- return (this.value || []).length || 0;
6767
7051
  },
6768
- showLabel() {
6769
- return this.field.title;
7052
+ portrait() {
7053
+ return this.crop ? this.dimensionHeight > this.dimensionWidth : this.modelHeight > this.modelWidth;
6770
7054
  },
6771
- showDescription() {
6772
- return this.description;
7055
+ imageWidth() {
7056
+ return parseInt(this.width);
6773
7057
  },
6774
- fields() {
6775
- var subFields = this.field.fields;
6776
- if (subFields && subFields.length) {
6777
- return subFields;
6778
- }
7058
+ imageHeight() {
7059
+ return parseInt(this.height);
6779
7060
  },
6780
- minimum() {
6781
- if (this.layoutGroup) {
6782
- return 1;
6783
- }
6784
- var int2 = parseInt(this.field.minimum || 0);
6785
- if (isNaN(int2)) {
6786
- int2 = 0;
6787
- }
6788
- int2 = Math.max(int2, 0);
6789
- int2 = this.maximum ? Math.min(int2, this.maximum) : int2;
6790
- return parseInt(int2);
7061
+ modelWidth() {
7062
+ var _a;
7063
+ return parseInt((_a = this.model) == null ? void 0 : _a.width);
6791
7064
  },
6792
- maximum() {
6793
- if (this.layoutGroup) {
6794
- return 1;
6795
- }
6796
- var int2 = parseInt(this.field.maximum || 0);
6797
- if (isNaN(int2)) {
6798
- int2 = 0;
6799
- }
6800
- int2 = Math.max(int2, 0);
6801
- return parseInt(int2);
7065
+ modelHeight() {
7066
+ var _a;
7067
+ return parseInt((_a = this.model) == null ? void 0 : _a.height);
6802
7068
  },
6803
- ask() {
6804
- var int2 = parseInt(this.field.ask);
6805
- int2 = Math.max(int2, this.minimum);
6806
- if (this.maximum) {
6807
- int2 = Math.min(int2, this.maximum);
6808
- }
6809
- return int2;
6810
- }
6811
- },
6812
- methods: {
6813
- cleanTextInput(val, type, instance) {
6814
- switch (type) {
6815
- case "url":
6816
- val = instance.$sdk.utils.parseURL(val);
6817
- break;
6818
- case "key":
6819
- val = instance.$sdk.utils.machineName(val);
6820
- break;
6821
- case "integer":
6822
- val = parseInt(String(val).replace(/[^0-9-]/g, ""));
6823
- if (isNaN(val)) {
6824
- val = void 0;
6825
- }
6826
- break;
6827
- case "number":
6828
- case "decimal":
6829
- case "float":
6830
- val = Number(String(val).replace(/[^0-9.-]/g, ""));
6831
- if (isNaN(val)) {
6832
- val = void 0;
6833
- }
6834
- break;
6835
- }
6836
- return val;
7069
+ id() {
7070
+ return this.$sdk.utils.id(this.model);
6837
7071
  },
6838
- checkAutofocus() {
6839
- if (this.field.autofocus) {
6840
- if (this.value) {
6841
- return;
6842
- }
6843
- this.$nextTick(function() {
6844
- this.refocus();
6845
- });
7072
+ params() {
7073
+ var params = {};
7074
+ params.access_token = this.$sdk.auth.getCurrentToken();
7075
+ if (this.imageWidth) {
7076
+ params.w = this.imageWidth ? this.imageWidth : null;
6846
7077
  }
6847
- },
6848
- getValue(option2) {
6849
- if (!option2) {
6850
- return this.cleanTextInput(option2);
7078
+ if (this.imageHeight) {
7079
+ params.h = this.imageHeight ? this.imageHeight : null;
6851
7080
  }
6852
- var value = this.cleanTextInput(option2._id || option2.value);
6853
- var hasValue = isNotEmpty(value);
6854
- if (!hasValue && option2.title && !this.returnObject) {
6855
- value = option2.title;
7081
+ if (this.crop) {
7082
+ params.c = true;
7083
+ } else {
7084
+ if (!this.contain) {
7085
+ params.c = this.imageWidth && this.imageHeight;
7086
+ }
6856
7087
  }
6857
- value = this.cleanTextInput(value);
6858
- return isNotEmpty(value) ? value : option2;
6859
- },
6860
- getLabel(option2) {
6861
- if (!option2) {
6862
- return;
7088
+ if (this.quality) {
7089
+ params.q = parseInt(this.quality);
6863
7090
  }
6864
- var label = option2.title || option2.name || option2.label;
6865
- if (typeof label == "object") {
6866
- return "(no title)";
6867
- } else {
6868
- return label;
7091
+ if (this.upscale) {
7092
+ params.u = true;
7093
+ }
7094
+ if (this.format) {
7095
+ params.f = this.format;
6869
7096
  }
7097
+ return params;
6870
7098
  },
6871
- touch() {
6872
- this.$emit("touched");
7099
+ src() {
7100
+ return this.$sdk.api.generateEndpointURL(`/${this.type}/${this.id}`, this.params, { file: true });
6873
7101
  },
6874
- getNewDefaultEntry() {
6875
- return void 0;
7102
+ previewSrc() {
7103
+ var params = Object.assign({}, this.params);
7104
+ params.w = 50;
7105
+ delete params.h;
7106
+ return this.$sdk.api.generateEndpointURL(`/${this.type}/${this.id}`, params, { file: true });
6876
7107
  },
6877
- add() {
6878
- if (!this.canAddValue) {
6879
- return;
7108
+ imageStyle() {
7109
+ var style = {};
7110
+ if (!this.crop) {
7111
+ style["object-fit"] = "contain";
6880
7112
  }
6881
- var defaultEntry = this.cleanInputValue(this.getNewDefaultEntry());
6882
- if (!this.value || !Array.isArray(this.value)) {
6883
- this.value = [];
7113
+ if (this.inline) {
7114
+ style.maxWidth = "100%";
7115
+ } else {
7116
+ style.width = "100%";
7117
+ style.height = "100%";
7118
+ style.top = `0`;
7119
+ style.left = `0`;
7120
+ style.position = "absolute";
6884
7121
  }
6885
- this.value.push(defaultEntry);
6886
- this.dispatch();
6887
- this.$nextTick(function() {
6888
- this.refocus();
6889
- });
6890
- this.touch();
6891
- },
6892
- remove(entry) {
6893
- var index2 = this.model.indexOf(entry);
6894
- this.value.splice(index2, 1);
6895
- this.dispatch();
6896
- this.touch();
6897
- },
6898
- dispatch() {
6899
- this.$emit("update:modelValue", this.value);
6900
- },
6901
- cleanInputValue(val) {
6902
- return val;
7122
+ return style;
6903
7123
  },
6904
- cleanOutputValue(val) {
6905
- return val;
7124
+ dimensionWidth() {
7125
+ return this.imageWidth && this.imageHeight ? this.imageWidth : this.modelWidth;
6906
7126
  },
6907
- cleanOutput(val) {
6908
- var self2 = this;
6909
- if (isUndefined$6(val, self2.field.type)) {
6910
- if (self2.multiValue) {
6911
- val = [];
6912
- } else {
6913
- val = void 0;
6914
- }
6915
- } else {
6916
- if (self2.multiValue) {
6917
- if (!Array.isArray(val)) {
6918
- val = [];
6919
- }
6920
- val.forEach(function(v, i2) {
6921
- val[i2] = self2.cleanOutputValue(v);
6922
- });
6923
- } else {
6924
- val = self2.cleanOutputValue(val);
6925
- }
6926
- }
6927
- return val;
7127
+ dimensionHeight() {
7128
+ return this.imageWidth && this.imageHeight ? this.imageHeight : this.modelHeight;
6928
7129
  },
6929
- cleanInput(val) {
6930
- var self2 = this;
6931
- if (self2.multiValue) {
6932
- if (!val) {
6933
- val = [];
6934
- }
6935
- if (!Array.isArray(val)) {
6936
- val = [val];
6937
- }
6938
- if (self2.maximum) {
6939
- if (val.length > self2.maximum) {
6940
- val.length = self2.maximum;
6941
- }
6942
- }
6943
- while (val.length < self2.minimum) {
6944
- val.push(self2.cleanInputValue(self2.getNewDefaultEntry()));
6945
- }
6946
- val = val.map(function(v) {
6947
- var d = self2.cleanInputValue(v);
6948
- return d;
6949
- });
7130
+ style() {
7131
+ var _a, _b, _c;
7132
+ var style = {};
7133
+ if (this.inline) {
7134
+ style.display = "inline-block";
6950
7135
  } else {
6951
- if (val) {
6952
- val = self2.cleanInputValue(val);
7136
+ if (this.dimensionHeight && this.dimensionWidth) {
7137
+ style.height = 0;
7138
+ style.overflow = "hidden";
7139
+ style.paddingBottom = `${this.dimensionHeight / this.dimensionWidth * 100}%`;
7140
+ style.position = "relative";
6953
7141
  }
6954
7142
  }
6955
- return val;
6956
- },
6957
- refocus() {
6958
- var elements = this.$refs.input;
6959
- if (!elements) {
6960
- return;
6961
- }
6962
- var input;
6963
- if (Array.isArray(elements)) {
6964
- input = elements[elements.length - 1];
6965
- } else {
6966
- input = elements;
7143
+ var colors = (_c = (_b = (_a = this.model) == null ? void 0 : _a.fileMeta) == null ? void 0 : _b.colors) == null ? void 0 : _c.colors;
7144
+ if (colors && colors.length) {
7145
+ style.backgroundColor = colors[0];
6967
7146
  }
6968
- if (input) {
6969
- input.focus();
7147
+ if (this.isSvg)
7148
+ ;
7149
+ else {
7150
+ if (this.preview) {
7151
+ style.backgroundImage = `url(${this.previewSrc})`;
7152
+ }
6970
7153
  }
7154
+ return style;
6971
7155
  }
6972
7156
  }
6973
7157
  };
6974
- var select_vue_vue_type_style_index_0_scoped_true_lang = "";
6975
- function isUndefined$5(entry) {
6976
- return entry === void 0 || typeof entry === "undefined" || entry === null || String(entry) === "null" || String(entry) === "undefined";
7158
+ const _hoisted_1$H = ["alt", "data"];
7159
+ const _hoisted_2$C = ["alt", "src"];
7160
+ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
7161
+ return openBlock(), createElementBlock("div", {
7162
+ class: normalizeClass(["ux-image", $options.className]),
7163
+ style: normalizeStyle($options.style)
7164
+ }, [
7165
+ $props.svg ? (openBlock(), createElementBlock("object", {
7166
+ key: 0,
7167
+ alt: $options.altText,
7168
+ type: "image/svg+xml",
7169
+ data: $options.src
7170
+ }, null, 8, _hoisted_1$H)) : (openBlock(), createElementBlock("img", {
7171
+ key: 1,
7172
+ alt: $options.altText,
7173
+ style: normalizeStyle($options.imageStyle),
7174
+ src: $options.src
7175
+ }, null, 12, _hoisted_2$C))
7176
+ ], 6);
6977
7177
  }
6978
- const _sfc_main$M = {
6979
- props: {
6980
- title: {
6981
- type: String
6982
- },
6983
- modelValue: {}
6984
- },
6985
- mixins: [InputMixin],
6986
- created() {
6987
- this.model = this.model;
6988
- },
6989
- methods: {
6990
- cleanOutput(val) {
6991
- var self2 = this;
6992
- if (isUndefined$5(val)) {
6993
- if (self2.multiValue) {
6994
- val = [];
6995
- } else {
6996
- val = void 0;
6997
- }
6998
- } else {
6999
- if (self2.multiValue) {
7000
- val = (val || []).filter(function(i2) {
7001
- return i2 !== void 0 && i2 !== null;
7002
- }).map(function(i2) {
7003
- return self2.getValue(i2);
7004
- });
7005
- } else {
7006
- val = self2.getValue(val);
7007
- }
7008
- }
7009
- return val;
7010
- },
7011
- cleanInput(val) {
7012
- var self2 = this;
7013
- if (self2.multiValue) {
7014
- if (!val) {
7015
- val = [];
7016
- }
7017
- if (!Array.isArray(val)) {
7018
- val = [val];
7019
- }
7020
- if (self2.maximum) {
7021
- if (val.length > self2.maximum) {
7022
- val.length = self2.maximum;
7023
- }
7024
- }
7025
- val = val.filter(function(v) {
7026
- return v !== void 0 && v !== null;
7027
- }).map(function(v) {
7028
- var valueKey2 = self2.getValue(v);
7029
- return self2.returnObject ? self2.optionLookup[valueKey2] : valueKey2;
7030
- });
7031
- } else {
7032
- var valueKey = self2.getValue(val);
7033
- val = self2.returnObject ? self2.optionLookup[valueKey] : valueKey;
7034
- switch (val) {
7035
- case "":
7036
- switch (self2.type) {
7037
- case "decimal":
7038
- case "float":
7039
- case "number":
7040
- case "integer":
7041
- val = void 0;
7042
- break;
7043
- }
7044
- break;
7045
- }
7046
- }
7047
- return val;
7178
+ var UXImage = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["render", _sfc_render$Q], ["__scopeId", "data-v-a7872864"]]);
7179
+ var progressbar_vue_vue_type_style_index_0_scoped_true_lang = "";
7180
+ const _sfc_main$P = {
7181
+ props: {
7182
+ value: {
7183
+ type: Number
7048
7184
  }
7049
7185
  },
7050
7186
  computed: {
7051
- returnObject() {
7052
- return this.type == "reference";
7053
- },
7054
7187
  classes() {
7055
7188
  var array = [];
7056
- if (this.multiValue) {
7057
- array.push("multiple");
7058
- } else {
7059
- array.push("single");
7189
+ array.push(this.icon);
7190
+ if (this.spin) {
7191
+ array.push(`fa-spin`);
7192
+ }
7193
+ if (this.left) {
7194
+ array.push("ux-icon-left");
7195
+ }
7196
+ if (this.right) {
7197
+ array.push("ux-icon-right");
7060
7198
  }
7061
7199
  return array;
7062
7200
  },
7063
- optionLookup() {
7064
- var self2 = this;
7065
- return self2.options.reduce(function(set, option2) {
7066
- const key = self2.getValue(option2);
7067
- set[key] = option2;
7068
- return set;
7069
- }, {});
7201
+ percent() {
7202
+ return this.value;
7070
7203
  },
7071
- summary() {
7072
- return this.model ? this.getLabel(this.optionLookup[this.model]) : this.title || "Click to select";
7204
+ barStyle() {
7205
+ return {
7206
+ width: `${this.percent}%`
7207
+ };
7073
7208
  },
7074
- selectableOptions() {
7075
- return this.options;
7209
+ element() {
7210
+ return "i";
7076
7211
  }
7077
7212
  }
7078
7213
  };
7079
- const _hoisted_1$D = {
7080
- key: 0,
7081
- class: "ux-field-title"
7082
- };
7083
- const _hoisted_2$A = {
7084
- key: 0,
7085
- class: "ux-required-marker"
7086
- };
7087
- const _hoisted_3$x = {
7088
- key: 1,
7089
- class: "ux-field-description"
7090
- };
7091
- const _hoisted_4$u = {
7092
- key: 2,
7093
- class: "ui-select-button"
7094
- };
7095
- const _hoisted_5$n = ["multiple"];
7096
- const _hoisted_6$i = {
7097
- key: 0,
7098
- value: ""
7214
+ const _withScopeId$6 = (n2) => (pushScopeId("data-v-317a7690"), n2 = n2(), popScopeId(), n2);
7215
+ const _hoisted_1$G = { class: "ux-progress" };
7216
+ const _hoisted_2$B = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ createElementVNode("div", { class: "ux-progress-bg" }, null, -1));
7217
+ function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
7218
+ return openBlock(), createElementBlock("div", _hoisted_1$G, [
7219
+ _hoisted_2$B,
7220
+ createElementVNode("div", {
7221
+ class: "ux-progress-fg",
7222
+ style: normalizeStyle($options.barStyle)
7223
+ }, null, 4)
7224
+ ]);
7225
+ }
7226
+ var ProgressBar = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", _sfc_render$P], ["__scopeId", "data-v-317a7690"]]);
7227
+ var list_vue_vue_type_style_index_0_scoped_true_lang = "";
7228
+ const _sfc_main$O = {};
7229
+ const _hoisted_1$F = { class: "ux-list" };
7230
+ function _sfc_render$O(_ctx, _cache) {
7231
+ return openBlock(), createElementBlock("ul", _hoisted_1$F, [
7232
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
7233
+ ]);
7234
+ }
7235
+ var UXList = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", _sfc_render$O], ["__scopeId", "data-v-98e1e4e2"]]);
7236
+ var listItem_vue_vue_type_style_index_0_scoped_true_lang = "";
7237
+ const _sfc_main$N = {};
7238
+ const _hoisted_1$E = { class: "ux-list-item" };
7239
+ function _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {
7240
+ return openBlock(), createElementBlock("div", _hoisted_1$E, [
7241
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
7242
+ ]);
7243
+ }
7244
+ var UXListItem = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$N], ["__scopeId", "data-v-0e73c260"]]);
7245
+ var daterange_vue_vue_type_style_index_0_scoped_true_lang$1 = "";
7246
+ function checkDate(d) {
7247
+ var date = new Date(d);
7248
+ if (date instanceof Date && !isNaN(date)) {
7249
+ return date;
7250
+ }
7251
+ return;
7252
+ }
7253
+ const _sfc_main$M = {
7254
+ props: {
7255
+ modelValue: {
7256
+ type: Object
7257
+ }
7258
+ },
7259
+ data() {
7260
+ return {
7261
+ model: this.modelValue
7262
+ };
7263
+ },
7264
+ computed: {
7265
+ startDate: {
7266
+ get() {
7267
+ var _a;
7268
+ return (_a = checkDate(this.model.startDate)) == null ? void 0 : _a.toISOString().slice(0, 10);
7269
+ },
7270
+ set(d) {
7271
+ d = checkDate(d);
7272
+ if (d) {
7273
+ this.model.startDate = d;
7274
+ } else {
7275
+ this.model.startDate = void 0;
7276
+ }
7277
+ }
7278
+ },
7279
+ endDate: {
7280
+ get() {
7281
+ var _a;
7282
+ return (_a = checkDate(this.model.endDate)) == null ? void 0 : _a.toISOString().slice(0, 10);
7283
+ },
7284
+ set(d) {
7285
+ d = checkDate(d);
7286
+ if (checkDate(d)) {
7287
+ this.model.endDate = d;
7288
+ } else {
7289
+ this.model.endDate = void 0;
7290
+ }
7291
+ }
7292
+ }
7293
+ },
7294
+ watch: {
7295
+ model(m) {
7296
+ this.$emit("updated:modelValue", m);
7297
+ },
7298
+ modelValue(m) {
7299
+ this.model = m;
7300
+ }
7301
+ }
7099
7302
  };
7100
- const _hoisted_7$f = ["value"];
7303
+ const _withScopeId$5 = (n2) => (pushScopeId("data-v-61cbf45e"), n2 = n2(), popScopeId(), n2);
7304
+ const _hoisted_1$D = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("label", null, "From Date", -1));
7305
+ const _hoisted_2$A = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("label", null, "To Date", -1));
7101
7306
  function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
7102
- const _component_ux_button = resolveComponent("ux-button");
7103
- return openBlock(), createElementBlock("div", {
7104
- class: normalizeClass(["native-select", $options.classes])
7105
- }, [
7106
- _ctx.showLabel ? (openBlock(), createElementBlock("label", _hoisted_1$D, [
7107
- createTextVNode(toDisplayString(_ctx.label) + " ", 1),
7108
- _ctx.required ? (openBlock(), createElementBlock("span", _hoisted_2$A, "*")) : createCommentVNode("", true)
7109
- ])) : createCommentVNode("", true),
7110
- _ctx.showDescription ? (openBlock(), createElementBlock("div", _hoisted_3$x, toDisplayString(_ctx.description), 1)) : createCommentVNode("", true),
7111
- _ctx.singleValue ? (openBlock(), createElementBlock("div", _hoisted_4$u, [
7112
- renderSlot(_ctx.$slots, "default", {}, () => [
7113
- createVNode(_component_ux_button, { tag: "div" }, {
7307
+ const _component_flex_cell = resolveComponent("flex-cell");
7308
+ const _component_flex_row = resolveComponent("flex-row");
7309
+ return openBlock(), createElementBlock("div", null, [
7310
+ createVNode(_component_flex_row, {
7311
+ wrap: "",
7312
+ gap: "",
7313
+ vcenter: ""
7314
+ }, {
7315
+ default: withCtx(() => [
7316
+ createVNode(_component_flex_cell, { class: "cell" }, {
7114
7317
  default: withCtx(() => [
7115
- createTextVNode(toDisplayString($options.summary), 1)
7318
+ createElementVNode("div", null, [
7319
+ _hoisted_1$D,
7320
+ withDirectives(createElementVNode("input", {
7321
+ type: "date",
7322
+ class: "ux-field-focus ux-text-input-multiple",
7323
+ ref: "input",
7324
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $options.startDate = $event)
7325
+ }, null, 512), [
7326
+ [vModelText, $options.startDate]
7327
+ ])
7328
+ ])
7329
+ ]),
7330
+ _: 1
7331
+ }),
7332
+ createVNode(_component_flex_cell, { class: "cell" }, {
7333
+ default: withCtx(() => [
7334
+ createElementVNode("div", null, [
7335
+ _hoisted_2$A,
7336
+ withDirectives(createElementVNode("input", {
7337
+ type: "date",
7338
+ class: "ux-field-focus ux-text-input-multiple",
7339
+ ref: "input",
7340
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $options.endDate = $event)
7341
+ }, null, 512), [
7342
+ [vModelText, $options.endDate]
7343
+ ])
7344
+ ])
7116
7345
  ]),
7117
7346
  _: 1
7118
7347
  })
7119
- ], true)
7120
- ])) : createCommentVNode("", true),
7121
- withDirectives(createElementVNode("select", {
7122
- onFocus: _cache[0] || (_cache[0] = (...args) => _ctx.touch && _ctx.touch(...args)),
7123
- multiple: _ctx.multiValue,
7124
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.model = $event)
7125
- }, [
7126
- _ctx.singleValue && !_ctx.minimum ? (openBlock(), createElementBlock("option", _hoisted_6$i, "None")) : createCommentVNode("", true),
7127
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.selectableOptions, (option2) => {
7128
- return openBlock(), createElementBlock("option", {
7129
- value: option2.value
7130
- }, toDisplayString(option2.title), 9, _hoisted_7$f);
7131
- }), 256))
7132
- ], 40, _hoisted_5$n), [
7133
- [vModelSelect, _ctx.model]
7134
- ])
7135
- ], 2);
7348
+ ]),
7349
+ _: 1
7350
+ })
7351
+ ]);
7136
7352
  }
7137
- var NativeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$M], ["__scopeId", "data-v-a06c20f2"]]);
7353
+ var Daterange = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$M], ["__scopeId", "data-v-61cbf45e"]]);
7138
7354
  var phoneNumberInput_vue_vue_type_style_index_0_scoped_true_lang = "";
7139
7355
  const _sfc_main$L = {
7140
7356
  props: {
@@ -12288,6 +12504,10 @@ const _sfc_main$z = {
12288
12504
  case "range":
12289
12505
  case "daterange":
12290
12506
  case "daterelative":
12507
+ case "integer":
12508
+ case "decimal":
12509
+ case "float":
12510
+ case "number":
12291
12511
  break;
12292
12512
  case "array":
12293
12513
  switch (this.fieldType) {
@@ -12389,12 +12609,22 @@ const _sfc_main$z = {
12389
12609
  ]
12390
12610
  };
12391
12611
  },
12612
+ inputPlaceholder() {
12613
+ switch (this.model.comparator) {
12614
+ case "valuesgreater":
12615
+ case "valuesgreaterequal":
12616
+ case "valueslesser":
12617
+ case "valueslesserequal":
12618
+ return "0";
12619
+ }
12620
+ return this.field.title;
12621
+ },
12392
12622
  dateField() {
12393
12623
  return {
12394
12624
  type: this.fieldType,
12395
12625
  maximum: 1,
12396
12626
  minimum: 1,
12397
- placeholder: this.field.title
12627
+ placeholder: this.inputPlaceholder
12398
12628
  };
12399
12629
  },
12400
12630
  multiOptionsField() {
@@ -12404,7 +12634,7 @@ const _sfc_main$z = {
12404
12634
  type: this.fieldType,
12405
12635
  maximum: 0,
12406
12636
  minimum: 1,
12407
- placeholder: this.field.title
12637
+ placeholder: this.inputPlaceholder
12408
12638
  };
12409
12639
  },
12410
12640
  singleOptionsField() {
@@ -12415,7 +12645,7 @@ const _sfc_main$z = {
12415
12645
  type: this.fieldType,
12416
12646
  maximum: 1,
12417
12647
  minimum: 0,
12418
- placeholder: this.field.title
12648
+ placeholder: this.inputPlaceholder
12419
12649
  };
12420
12650
  },
12421
12651
  normalField() {
@@ -12423,7 +12653,7 @@ const _sfc_main$z = {
12423
12653
  type: this.fieldType,
12424
12654
  maximum: 1,
12425
12655
  minimum: 1,
12426
- placeholder: this.field.title
12656
+ placeholder: this.inputPlaceholder
12427
12657
  };
12428
12658
  },
12429
12659
  arrayField() {
@@ -12487,6 +12717,7 @@ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
12487
12717
  const _component_flex_row = resolveComponent("flex-row");
12488
12718
  const _component_date_field = resolveComponent("date-field");
12489
12719
  const _component_content_select = resolveComponent("content-select");
12720
+ const _component_ux_switch = resolveComponent("ux-switch");
12490
12721
  const _component_ux_icon = resolveComponent("ux-icon");
12491
12722
  const _component_ux_button = resolveComponent("ux-button");
12492
12723
  return $data.comparators ? (openBlock(), createElementBlock("div", _hoisted_1$r, [
@@ -12607,12 +12838,29 @@ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
12607
12838
  }, null, 8, ["field", "modelValue"])
12608
12839
  ])) : createCommentVNode("", true),
12609
12840
  $options.inputType == "boolean" ? (openBlock(), createElementBlock("div", _hoisted_11$2, [
12610
- withDirectives(createElementVNode("input", {
12611
- type: "checkbox",
12612
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => $data.model.value = $event)
12613
- }, null, 512), [
12614
- [vModelCheckbox, $data.model.value]
12615
- ])
12841
+ createVNode(_component_flex_row, {
12842
+ gap: "",
12843
+ center: ""
12844
+ }, {
12845
+ default: withCtx(() => [
12846
+ createVNode(_component_flex_cell, { shrink: "" }, {
12847
+ default: withCtx(() => [
12848
+ createVNode(_component_ux_switch, {
12849
+ onClick: _cache[13] || (_cache[13] = ($event) => $data.model.value = !$data.model.value),
12850
+ value: $data.model.value
12851
+ }, null, 8, ["value"])
12852
+ ]),
12853
+ _: 1
12854
+ }),
12855
+ createVNode(_component_flex_cell, null, {
12856
+ default: withCtx(() => [
12857
+ createTextVNode(toDisplayString($data.model.value ? "True" : "False"), 1)
12858
+ ]),
12859
+ _: 1
12860
+ })
12861
+ ]),
12862
+ _: 1
12863
+ })
12616
12864
  ])) : createCommentVNode("", true),
12617
12865
  $options.inputType == "none" ? (openBlock(), createElementBlock("div", _hoisted_12$2)) : createCommentVNode("", true),
12618
12866
  $options.inputType == "number" ? (openBlock(), createElementBlock("div", _hoisted_13$2, [
@@ -13242,7 +13490,9 @@ const _sfc_main$w = {
13242
13490
  },
13243
13491
  computed: {
13244
13492
  definitionTitle() {
13245
- return this.definition ? this.definition.title : "";
13493
+ const singular = this.definition ? this.definition.title : "";
13494
+ const plural = this.definition ? this.definition.plural : "";
13495
+ return plural || singular;
13246
13496
  }
13247
13497
  },
13248
13498
  methods: {
@@ -13337,7 +13587,7 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
13337
13587
  }, null, 8, ["definition", "modelValue"]))
13338
13588
  ], 64);
13339
13589
  }
13340
- var FilterInput = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["render", _sfc_render$w], ["__scopeId", "data-v-4aae9a4a"]]);
13590
+ var FilterInput = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["render", _sfc_render$w], ["__scopeId", "data-v-a43e06e8"]]);
13341
13591
  var switch_vue_vue_type_style_index_0_scoped_true_lang = "";
13342
13592
  const _sfc_main$v = {
13343
13593
  mixins: [InputMixin],
@@ -13911,10 +14161,14 @@ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
13911
14161
  default: withCtx(() => [
13912
14162
  $options.reorderable ? (openBlock(), createBlock(_component_flex_cell, {
13913
14163
  key: 0,
14164
+ class: "arrows",
13914
14165
  shrink: ""
13915
14166
  }, {
13916
14167
  default: withCtx(() => [
13917
- createVNode(_component_ux_icon, { icon: "fa-arrows" })
14168
+ createVNode(_component_ux_icon, {
14169
+ left: "",
14170
+ icon: "fa-arrows"
14171
+ })
13918
14172
  ]),
13919
14173
  _: 1
13920
14174
  })) : createCommentVNode("", true),
@@ -14242,7 +14496,7 @@ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
14242
14496
  ], 64))
14243
14497
  ], 64));
14244
14498
  }
14245
- var FieldGroup$1 = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["render", _sfc_render$s], ["__scopeId", "data-v-500e8025"]]);
14499
+ var FieldGroup$1 = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["render", _sfc_render$s], ["__scopeId", "data-v-190cfc06"]]);
14246
14500
  const _sfc_main$r = {
14247
14501
  props: {
14248
14502
  option: {
@@ -17424,7 +17678,280 @@ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
17424
17678
  $options.error && $data.validateResults.message ? (openBlock(), createElementBlock("div", _hoisted_1$c, toDisplayString($data.validateResults.message), 1)) : createCommentVNode("", true)
17425
17679
  ], 34)) : createCommentVNode("", true);
17426
17680
  }
17427
- var UXFormField = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h], ["__scopeId", "data-v-04b49e9e"]]);
17681
+ var UXFormField = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h], ["__scopeId", "data-v-299e79b2"]]);
17682
+ function arrayReduce$1(array, iteratee, accumulator, initAccum) {
17683
+ var index2 = -1, length = array == null ? 0 : array.length;
17684
+ if (initAccum && length) {
17685
+ accumulator = array[++index2];
17686
+ }
17687
+ while (++index2 < length) {
17688
+ accumulator = iteratee(accumulator, array[index2], index2, array);
17689
+ }
17690
+ return accumulator;
17691
+ }
17692
+ var _arrayReduce = arrayReduce$1;
17693
+ function basePropertyOf$1(object) {
17694
+ return function(key) {
17695
+ return object == null ? void 0 : object[key];
17696
+ };
17697
+ }
17698
+ var _basePropertyOf = basePropertyOf$1;
17699
+ var basePropertyOf = _basePropertyOf;
17700
+ var deburredLetters = {
17701
+ "\xC0": "A",
17702
+ "\xC1": "A",
17703
+ "\xC2": "A",
17704
+ "\xC3": "A",
17705
+ "\xC4": "A",
17706
+ "\xC5": "A",
17707
+ "\xE0": "a",
17708
+ "\xE1": "a",
17709
+ "\xE2": "a",
17710
+ "\xE3": "a",
17711
+ "\xE4": "a",
17712
+ "\xE5": "a",
17713
+ "\xC7": "C",
17714
+ "\xE7": "c",
17715
+ "\xD0": "D",
17716
+ "\xF0": "d",
17717
+ "\xC8": "E",
17718
+ "\xC9": "E",
17719
+ "\xCA": "E",
17720
+ "\xCB": "E",
17721
+ "\xE8": "e",
17722
+ "\xE9": "e",
17723
+ "\xEA": "e",
17724
+ "\xEB": "e",
17725
+ "\xCC": "I",
17726
+ "\xCD": "I",
17727
+ "\xCE": "I",
17728
+ "\xCF": "I",
17729
+ "\xEC": "i",
17730
+ "\xED": "i",
17731
+ "\xEE": "i",
17732
+ "\xEF": "i",
17733
+ "\xD1": "N",
17734
+ "\xF1": "n",
17735
+ "\xD2": "O",
17736
+ "\xD3": "O",
17737
+ "\xD4": "O",
17738
+ "\xD5": "O",
17739
+ "\xD6": "O",
17740
+ "\xD8": "O",
17741
+ "\xF2": "o",
17742
+ "\xF3": "o",
17743
+ "\xF4": "o",
17744
+ "\xF5": "o",
17745
+ "\xF6": "o",
17746
+ "\xF8": "o",
17747
+ "\xD9": "U",
17748
+ "\xDA": "U",
17749
+ "\xDB": "U",
17750
+ "\xDC": "U",
17751
+ "\xF9": "u",
17752
+ "\xFA": "u",
17753
+ "\xFB": "u",
17754
+ "\xFC": "u",
17755
+ "\xDD": "Y",
17756
+ "\xFD": "y",
17757
+ "\xFF": "y",
17758
+ "\xC6": "Ae",
17759
+ "\xE6": "ae",
17760
+ "\xDE": "Th",
17761
+ "\xFE": "th",
17762
+ "\xDF": "ss",
17763
+ "\u0100": "A",
17764
+ "\u0102": "A",
17765
+ "\u0104": "A",
17766
+ "\u0101": "a",
17767
+ "\u0103": "a",
17768
+ "\u0105": "a",
17769
+ "\u0106": "C",
17770
+ "\u0108": "C",
17771
+ "\u010A": "C",
17772
+ "\u010C": "C",
17773
+ "\u0107": "c",
17774
+ "\u0109": "c",
17775
+ "\u010B": "c",
17776
+ "\u010D": "c",
17777
+ "\u010E": "D",
17778
+ "\u0110": "D",
17779
+ "\u010F": "d",
17780
+ "\u0111": "d",
17781
+ "\u0112": "E",
17782
+ "\u0114": "E",
17783
+ "\u0116": "E",
17784
+ "\u0118": "E",
17785
+ "\u011A": "E",
17786
+ "\u0113": "e",
17787
+ "\u0115": "e",
17788
+ "\u0117": "e",
17789
+ "\u0119": "e",
17790
+ "\u011B": "e",
17791
+ "\u011C": "G",
17792
+ "\u011E": "G",
17793
+ "\u0120": "G",
17794
+ "\u0122": "G",
17795
+ "\u011D": "g",
17796
+ "\u011F": "g",
17797
+ "\u0121": "g",
17798
+ "\u0123": "g",
17799
+ "\u0124": "H",
17800
+ "\u0126": "H",
17801
+ "\u0125": "h",
17802
+ "\u0127": "h",
17803
+ "\u0128": "I",
17804
+ "\u012A": "I",
17805
+ "\u012C": "I",
17806
+ "\u012E": "I",
17807
+ "\u0130": "I",
17808
+ "\u0129": "i",
17809
+ "\u012B": "i",
17810
+ "\u012D": "i",
17811
+ "\u012F": "i",
17812
+ "\u0131": "i",
17813
+ "\u0134": "J",
17814
+ "\u0135": "j",
17815
+ "\u0136": "K",
17816
+ "\u0137": "k",
17817
+ "\u0138": "k",
17818
+ "\u0139": "L",
17819
+ "\u013B": "L",
17820
+ "\u013D": "L",
17821
+ "\u013F": "L",
17822
+ "\u0141": "L",
17823
+ "\u013A": "l",
17824
+ "\u013C": "l",
17825
+ "\u013E": "l",
17826
+ "\u0140": "l",
17827
+ "\u0142": "l",
17828
+ "\u0143": "N",
17829
+ "\u0145": "N",
17830
+ "\u0147": "N",
17831
+ "\u014A": "N",
17832
+ "\u0144": "n",
17833
+ "\u0146": "n",
17834
+ "\u0148": "n",
17835
+ "\u014B": "n",
17836
+ "\u014C": "O",
17837
+ "\u014E": "O",
17838
+ "\u0150": "O",
17839
+ "\u014D": "o",
17840
+ "\u014F": "o",
17841
+ "\u0151": "o",
17842
+ "\u0154": "R",
17843
+ "\u0156": "R",
17844
+ "\u0158": "R",
17845
+ "\u0155": "r",
17846
+ "\u0157": "r",
17847
+ "\u0159": "r",
17848
+ "\u015A": "S",
17849
+ "\u015C": "S",
17850
+ "\u015E": "S",
17851
+ "\u0160": "S",
17852
+ "\u015B": "s",
17853
+ "\u015D": "s",
17854
+ "\u015F": "s",
17855
+ "\u0161": "s",
17856
+ "\u0162": "T",
17857
+ "\u0164": "T",
17858
+ "\u0166": "T",
17859
+ "\u0163": "t",
17860
+ "\u0165": "t",
17861
+ "\u0167": "t",
17862
+ "\u0168": "U",
17863
+ "\u016A": "U",
17864
+ "\u016C": "U",
17865
+ "\u016E": "U",
17866
+ "\u0170": "U",
17867
+ "\u0172": "U",
17868
+ "\u0169": "u",
17869
+ "\u016B": "u",
17870
+ "\u016D": "u",
17871
+ "\u016F": "u",
17872
+ "\u0171": "u",
17873
+ "\u0173": "u",
17874
+ "\u0174": "W",
17875
+ "\u0175": "w",
17876
+ "\u0176": "Y",
17877
+ "\u0177": "y",
17878
+ "\u0178": "Y",
17879
+ "\u0179": "Z",
17880
+ "\u017B": "Z",
17881
+ "\u017D": "Z",
17882
+ "\u017A": "z",
17883
+ "\u017C": "z",
17884
+ "\u017E": "z",
17885
+ "\u0132": "IJ",
17886
+ "\u0133": "ij",
17887
+ "\u0152": "Oe",
17888
+ "\u0153": "oe",
17889
+ "\u0149": "'n",
17890
+ "\u017F": "s"
17891
+ };
17892
+ var deburrLetter$1 = basePropertyOf(deburredLetters);
17893
+ var _deburrLetter = deburrLetter$1;
17894
+ var deburrLetter = _deburrLetter, toString$1 = toString_1;
17895
+ var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
17896
+ var rsComboMarksRange$1 = "\\u0300-\\u036f", reComboHalfMarksRange$1 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$1 = "\\u20d0-\\u20ff", rsComboRange$1 = rsComboMarksRange$1 + reComboHalfMarksRange$1 + rsComboSymbolsRange$1;
17897
+ var rsCombo$1 = "[" + rsComboRange$1 + "]";
17898
+ var reComboMark = RegExp(rsCombo$1, "g");
17899
+ function deburr$1(string) {
17900
+ string = toString$1(string);
17901
+ return string && string.replace(reLatin, deburrLetter).replace(reComboMark, "");
17902
+ }
17903
+ var deburr_1 = deburr$1;
17904
+ var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
17905
+ function asciiWords$1(string) {
17906
+ return string.match(reAsciiWord) || [];
17907
+ }
17908
+ var _asciiWords = asciiWords$1;
17909
+ var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
17910
+ function hasUnicodeWord$1(string) {
17911
+ return reHasUnicodeWord.test(string);
17912
+ }
17913
+ var _hasUnicodeWord = hasUnicodeWord$1;
17914
+ var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsDingbatRange = "\\u2700-\\u27bf", rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff", rsMathOpRange = "\\xac\\xb1\\xd7\\xf7", rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", rsPunctuationRange = "\\u2000-\\u206f", rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde", rsVarRange = "\\ufe0e\\ufe0f", rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
17915
+ var rsApos$1 = "['\u2019]", rsBreak = "[" + rsBreakRange + "]", rsCombo = "[" + rsComboRange + "]", rsDigits = "\\d+", rsDingbat = "[" + rsDingbatRange + "]", rsLower = "[" + rsLowerRange + "]", rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]", rsFitz = "\\ud83c[\\udffb-\\udfff]", rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsUpper = "[" + rsUpperRange + "]", rsZWJ = "\\u200d";
17916
+ var rsMiscLower = "(?:" + rsLower + "|" + rsMisc + ")", rsMiscUpper = "(?:" + rsUpper + "|" + rsMisc + ")", rsOptContrLower = "(?:" + rsApos$1 + "(?:d|ll|m|re|s|t|ve))?", rsOptContrUpper = "(?:" + rsApos$1 + "(?:D|LL|M|RE|S|T|VE))?", reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*", rsOrdLower = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", rsOrdUpper = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq;
17917
+ var reUnicodeWord = RegExp([
17918
+ rsUpper + "?" + rsLower + "+" + rsOptContrLower + "(?=" + [rsBreak, rsUpper, "$"].join("|") + ")",
17919
+ rsMiscUpper + "+" + rsOptContrUpper + "(?=" + [rsBreak, rsUpper + rsMiscLower, "$"].join("|") + ")",
17920
+ rsUpper + "?" + rsMiscLower + "+" + rsOptContrLower,
17921
+ rsUpper + "+" + rsOptContrUpper,
17922
+ rsOrdUpper,
17923
+ rsOrdLower,
17924
+ rsDigits,
17925
+ rsEmoji
17926
+ ].join("|"), "g");
17927
+ function unicodeWords$1(string) {
17928
+ return string.match(reUnicodeWord) || [];
17929
+ }
17930
+ var _unicodeWords = unicodeWords$1;
17931
+ var asciiWords = _asciiWords, hasUnicodeWord = _hasUnicodeWord, toString = toString_1, unicodeWords = _unicodeWords;
17932
+ function words$1(string, pattern, guard) {
17933
+ string = toString(string);
17934
+ pattern = guard ? void 0 : pattern;
17935
+ if (pattern === void 0) {
17936
+ return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);
17937
+ }
17938
+ return string.match(pattern) || [];
17939
+ }
17940
+ var words_1 = words$1;
17941
+ var arrayReduce = _arrayReduce, deburr = deburr_1, words = words_1;
17942
+ var rsApos = "['\u2019]";
17943
+ var reApos = RegExp(rsApos, "g");
17944
+ function createCompounder$1(callback) {
17945
+ return function(string) {
17946
+ return arrayReduce(words(deburr(string).replace(reApos, "")), callback, "");
17947
+ };
17948
+ }
17949
+ var _createCompounder = createCompounder$1;
17950
+ var createCompounder = _createCompounder;
17951
+ var kebabCase = createCompounder(function(result, word, index2) {
17952
+ return result + (index2 ? "-" : "") + word.toLowerCase();
17953
+ });
17954
+ var kebabCase_1 = kebabCase;
17428
17955
  var form_vue_vue_type_style_index_0_scoped_true_lang = "";
17429
17956
  const _sfc_main$g = {
17430
17957
  props: {
@@ -17494,6 +18021,13 @@ const _sfc_main$g = {
17494
18021
  self2.mounted = false;
17495
18022
  },
17496
18023
  methods: {
18024
+ getFieldKey(field) {
18025
+ let key = kebabCase_1(`${field.title}-${field.key}`);
18026
+ if (field.incrementor) {
18027
+ key = `${key}-${field.incrementor}`;
18028
+ }
18029
+ return key;
18030
+ },
17497
18031
  touch() {
17498
18032
  (this.childFormElements || []).forEach(function(field) {
17499
18033
  field.touch();
@@ -17683,13 +18217,13 @@ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
17683
18217
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $options.formModel = $event),
17684
18218
  parentModel: $props.parentModel || $options.formModel,
17685
18219
  class: normalizeClass($options.fieldClass),
17686
- key: `ux-form-field-${field.key}-${index2}`
18220
+ key: `ux-form-field-${$options.getFieldKey(field)}-${index2}`
17687
18221
  }, null, 8, ["trail", "submission", "onField:mount", "onField:unmount", "onField:dirty", "onField:invalid", "onField:valid", "onField:error", "onField:focus", "onField:blur", "onField:touched", "field", "modelValue", "parentModel", "class"]);
17688
18222
  }), 128))
17689
18223
  ], true)
17690
18224
  ], 2);
17691
18225
  }
17692
- var UXForm = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$g], ["__scopeId", "data-v-c0e7d104"]]);
18226
+ var UXForm = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$g], ["__scopeId", "data-v-6f9751aa"]]);
17693
18227
  var submissionform_vue_vue_type_style_index_0_scoped_true_lang = "";
17694
18228
  const STATE_READY = "form.ready";
17695
18229
  const STATE_PROCESSING = "form.processing";
@@ -17982,7 +18516,7 @@ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
17982
18516
  ])
17983
18517
  ]);
17984
18518
  }
17985
- var Search = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render$e], ["__scopeId", "data-v-303d6348"]]);
18519
+ var Search = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render$e], ["__scopeId", "data-v-17abf7d1"]]);
17986
18520
  var RenderMixin = {
17987
18521
  props: {
17988
18522
  field: {
@@ -18201,6 +18735,9 @@ const _sfc_main$c = {
18201
18735
  };
18202
18736
  },
18203
18737
  methods: {
18738
+ renderDate(d) {
18739
+ return DateTime.fromJSDate(new Date(d)).toFormat("h:mma - ccc, DD");
18740
+ },
18204
18741
  formatCurrency(val) {
18205
18742
  return `${this.$sdk.utils.formatCurrency(val, this.field.currency)}`.toUpperCase();
18206
18743
  },
@@ -18455,8 +18992,8 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
18455
18992
  ], 64)) : createCommentVNode("", true),
18456
18993
  $options.type == "date" ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [
18457
18994
  $options.multiValue ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList($options.fieldModel, (value, index2) => {
18458
- return openBlock(), createElementBlock("div", null, toDisplayString(value), 1);
18459
- }), 256)) : (openBlock(), createElementBlock("div", _hoisted_8, toDisplayString($options.fieldModel), 1))
18995
+ return openBlock(), createElementBlock("div", null, toDisplayString($options.renderDate(value)), 1);
18996
+ }), 256)) : (openBlock(), createElementBlock("div", _hoisted_8, toDisplayString($options.renderDate($options.fieldModel)), 1))
18460
18997
  ], 64)) : createCommentVNode("", true),
18461
18998
  $options.type == "email" ? (openBlock(), createElementBlock(Fragment, { key: 4 }, [
18462
18999
  $options.multiValue ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList($options.fieldModel, (value, index2) => {
@@ -18488,7 +19025,7 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
18488
19025
  ], 64))
18489
19026
  ], 2)) : createCommentVNode("", true);
18490
19027
  }
18491
- var UXRenderField = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$c], ["__scopeId", "data-v-240bc28f"]]);
19028
+ var UXRenderField = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$c], ["__scopeId", "data-v-59217434"]]);
18492
19029
  var render_vue_vue_type_style_index_0_scoped_true_lang = "";
18493
19030
  const _sfc_main$b = {
18494
19031
  props: {
@@ -18679,6 +19216,15 @@ const _sfc_main$a = {
18679
19216
  default() {
18680
19217
  return 0;
18681
19218
  }
19219
+ },
19220
+ page: {
19221
+ type: Object,
19222
+ default() {
19223
+ return {
19224
+ size: 50,
19225
+ index: 1
19226
+ };
19227
+ }
18682
19228
  }
18683
19229
  },
18684
19230
  components: {
@@ -18692,11 +19238,11 @@ const _sfc_main$a = {
18692
19238
  computed: {
18693
19239
  perPage: {
18694
19240
  get() {
18695
- return this.page.size;
19241
+ return this.pageModel.size;
18696
19242
  },
18697
19243
  set(i2) {
18698
19244
  i2 = Math.max(i2, 1);
18699
- this.page.size = i2;
19245
+ this.pageModel.size = i2;
18700
19246
  this.dispatch();
18701
19247
  }
18702
19248
  },
@@ -18712,31 +19258,31 @@ const _sfc_main$a = {
18712
19258
  return Math.ceil(this.total / this.perPage);
18713
19259
  },
18714
19260
  startIndex() {
18715
- return (this.currentPage - 1) * this.page.size;
19261
+ return (this.currentPage - 1) * this.pageModel.size;
18716
19262
  },
18717
19263
  displayStartIndex() {
18718
19264
  return this.total ? this.startIndex + 1 : 0;
18719
19265
  },
18720
19266
  endIndex() {
18721
- return Math.min(this.startIndex + this.page.size, this.total);
19267
+ return Math.min(this.startIndex + this.pageModel.size, this.total);
18722
19268
  },
18723
19269
  currentPage: {
18724
19270
  get() {
18725
- return this.page.index;
19271
+ return this.pageModel.index;
18726
19272
  },
18727
19273
  set(index2) {
18728
19274
  if (this.totalPages) {
18729
19275
  index2 = Math.min(this.totalPages, index2);
18730
19276
  }
18731
19277
  index2 = Math.max(index2, 1);
18732
- this.page.index = index2;
19278
+ this.pageModel.index = index2;
18733
19279
  this.dispatch();
18734
19280
  }
18735
19281
  }
18736
19282
  },
18737
19283
  methods: {
18738
19284
  dispatch() {
18739
- return this.$emit("update:page", this.page);
19285
+ return this.$emit("update:page", this.pageModel);
18740
19286
  },
18741
19287
  previousPage() {
18742
19288
  this.currentPage--;
@@ -18747,10 +19293,7 @@ const _sfc_main$a = {
18747
19293
  },
18748
19294
  data() {
18749
19295
  return {
18750
- page: {
18751
- size: 50,
18752
- index: 1
18753
- },
19296
+ pageModel: this.page,
18754
19297
  perPageField: {
18755
19298
  minimum: 1,
18756
19299
  maximum: 1,
@@ -18880,7 +19423,7 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
18880
19423
  _: 1
18881
19424
  });
18882
19425
  }
18883
- var Pager = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$a], ["__scopeId", "data-v-25ef1240"]]);
19426
+ var Pager = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$a], ["__scopeId", "data-v-492058b4"]]);
18884
19427
  var browser_vue_vue_type_style_index_0_scoped_true_lang = "";
18885
19428
  function defaultColumns(self2, type) {
18886
19429
  var columns = [];
@@ -19083,6 +19626,10 @@ const _sfc_main$9 = {
19083
19626
  type: Boolean,
19084
19627
  default: false
19085
19628
  },
19629
+ enableSelection: {
19630
+ type: Boolean,
19631
+ default: true
19632
+ },
19086
19633
  trash: {
19087
19634
  type: Boolean,
19088
19635
  default: false
@@ -19391,7 +19938,6 @@ const _sfc_main$9 = {
19391
19938
  },
19392
19939
  loadCriteria() {
19393
19940
  var self2 = this;
19394
- console.log("Load Criteria now", self2.sort);
19395
19941
  var sort2 = self2.sort || self2.defaultSort;
19396
19942
  var search = self2.keywords;
19397
19943
  var select = self2.selectFields;
@@ -19563,7 +20109,7 @@ const _sfc_main$9 = {
19563
20109
  };
19564
20110
  }
19565
20111
  };
19566
- const _withScopeId$1 = (n2) => (pushScopeId("data-v-7a05893b"), n2 = n2(), popScopeId(), n2);
20112
+ const _withScopeId$1 = (n2) => (pushScopeId("data-v-2dc4a071"), n2 = n2(), popScopeId(), n2);
19567
20113
  const _hoisted_1$7 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("p", null, null, -1));
19568
20114
  const _hoisted_2$6 = { key: 0 };
19569
20115
  const _hoisted_3$5 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("p", null, null, -1));
@@ -19612,6 +20158,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
19612
20158
  key: 1,
19613
20159
  sort: $data.sort,
19614
20160
  "onUpdate:sort": _cache[0] || (_cache[0] = ($event) => $data.sort = $event),
20161
+ enableSelection: $props.enableSelection,
19615
20162
  enableActions: $props.enableActions,
19616
20163
  total: $options.totalItems,
19617
20164
  selectAll: $options.selectAll,
@@ -19661,7 +20208,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
19661
20208
  })
19662
20209
  ]),
19663
20210
  _: 1
19664
- }, 8, ["sort", "enableActions", "total", "selectAll", "deselectAll", "selection", "onClick:row", "onClick:actions", "onSelect:row:toggle", "onSelect:multiple", "onDeselect:multiple", "rows", "columns"]))
20211
+ }, 8, ["sort", "enableSelection", "enableActions", "total", "selectAll", "deselectAll", "selection", "onClick:row", "onClick:actions", "onSelect:row:toggle", "onSelect:multiple", "onDeselect:multiple", "rows", "columns"]))
19665
20212
  ]),
19666
20213
  _: 1
19667
20214
  })) : !$data.loading ? (openBlock(), createBlock(_component_flex_column, {
@@ -19753,7 +20300,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
19753
20300
  _: 3
19754
20301
  })) : createCommentVNode("", true);
19755
20302
  }
19756
- var ContentBrowser = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$9], ["__scopeId", "data-v-7a05893b"]]);
20303
+ var ContentBrowser = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$9], ["__scopeId", "data-v-2dc4a071"]]);
19757
20304
  var ScopeItem_vue_vue_type_style_index_0_scoped_true_lang = "";
19758
20305
  const _sfc_main$8 = {
19759
20306
  props: {
@@ -20923,5 +21470,5 @@ const QikUI = {
20923
21470
  }
20924
21471
  }
20925
21472
  };
20926
- export { Avatar, CodeEditor, ContentBrowser, Daterange as DateRange, device as Device, FileDrop, FlexBody, FlexCell, FlexColumn, FlexFooter, FlexHeader, FlexRow, FlexSpacer, ModalMixin, NativeSelect, Panel, PanelBody, PanelFooter, PanelHeader, ProgressBar, QikUI, RememberScrollMixin, ScopeSelect, ScopeSelectButton, Search, Selection, Spinner, UXButton, UXCheckbox, UXForm, UXFormField, UXIcon, UXImage, UXLink, UXList, UXListItem, UXMenu, UXMenuList, UXRender, UXRenderField, UXSubmissionForm, UXSwitch, UXTab, NativeTable as UXTable, UXTabset, UxConfirmModal, UxContentModal, UxModal, UxOptionsModal, UxPromptModal, UxScopeModal };
21473
+ export { Avatar, CodeEditor, ContentBrowser, Daterange as DateRange, device as Device, FileDrop, FlexBody, FlexCell, FlexColumn, FlexFooter, FlexHeader, FlexRow, FlexSpacer, ModalMixin, NativeSelect, Pager$1 as Pager, Panel, PanelBody, PanelFooter, PanelHeader, ProgressBar, QikUI, RememberScrollMixin, ScopeSelect, ScopeSelectButton, Search, Selection, Spinner, UXButton, UXCheckbox, UXForm, UXFormField, UXIcon, UXImage, UXLink, UXList, UXListItem, UXMenu, UXMenuList, UXRender, UXRenderField, UXSubmissionForm, UXSwitch, UXTab, NativeTable as UXTable, UXTabset, UxConfirmModal, UxContentModal, UxModal, UxOptionsModal, UxPromptModal, UxScopeModal };
20927
21474
  //# sourceMappingURL=lib.es.js.map