@qikdev/vue-ui 0.1.50 → 0.1.53

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
@@ -32,7 +32,7 @@ var __objRest = (source, exclude) => {
32
32
  };
33
33
  import { openBlock, createElementBlock, renderSlot, resolveComponent, createBlock, withCtx, createVNode, Fragment, renderList, normalizeClass, toDisplayString, withDirectives, resolveDynamicComponent, vShow, withModifiers, createTextVNode, createCommentVNode, createElementVNode, mergeProps, toHandlers, pushScopeId, popScopeId, normalizeStyle, Teleport, vModelSelect, withKeys, vModelText, TransitionGroup, defineComponent, h, nextTick, vModelDynamic, vModelCheckbox, reactive, watch } from "vue";
34
34
  import { EventDispatcher } from "@qikdev/sdk";
35
- const version$1 = "0.1.50";
35
+ const version$1 = "0.1.53";
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$19 = {};
44
+ const _sfc_main$1b = {};
45
45
  const _hoisted_1$Y = { class: "flex-column" };
46
- function _sfc_render$19(_ctx, _cache, $props, $setup, $data, $options) {
46
+ function _sfc_render$1b(_ctx, _cache, $props, $setup, $data, $options) {
47
47
  return openBlock(), createElementBlock("div", _hoisted_1$Y, [
48
48
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
49
49
  ]);
50
50
  }
51
- var FlexColumn = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["render", _sfc_render$19], ["__scopeId", "data-v-203ea86f"]]);
51
+ var FlexColumn = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["render", _sfc_render$1b], ["__scopeId", "data-v-203ea86f"]]);
52
52
  var flexBody_vue_vue_type_style_index_0_scoped_true_lang = "";
53
- const _sfc_main$18 = {};
53
+ const _sfc_main$1a = {};
54
54
  const _hoisted_1$X = { class: "flex-column-body" };
55
- function _sfc_render$18(_ctx, _cache, $props, $setup, $data, $options) {
55
+ function _sfc_render$1a(_ctx, _cache, $props, $setup, $data, $options) {
56
56
  return openBlock(), createElementBlock("div", _hoisted_1$X, [
57
57
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
58
58
  ]);
59
59
  }
60
- var FlexBody = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["render", _sfc_render$18], ["__scopeId", "data-v-64850355"]]);
60
+ var FlexBody = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["render", _sfc_render$1a], ["__scopeId", "data-v-64850355"]]);
61
61
  var flexHeader_vue_vue_type_style_index_0_scoped_true_lang = "";
62
- const _sfc_main$17 = {};
62
+ const _sfc_main$19 = {};
63
63
  const _hoisted_1$W = { class: "flex-column-header" };
64
- function _sfc_render$17(_ctx, _cache, $props, $setup, $data, $options) {
64
+ function _sfc_render$19(_ctx, _cache, $props, $setup, $data, $options) {
65
65
  return openBlock(), createElementBlock("div", _hoisted_1$W, [
66
66
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
67
67
  ]);
68
68
  }
69
- var FlexHeader = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["render", _sfc_render$17], ["__scopeId", "data-v-10b28f00"]]);
69
+ var FlexHeader = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["render", _sfc_render$19], ["__scopeId", "data-v-10b28f00"]]);
70
70
  var flexFooter_vue_vue_type_style_index_0_scoped_true_lang = "";
71
- const _sfc_main$16 = {};
71
+ const _sfc_main$18 = {};
72
72
  const _hoisted_1$V = { class: "flex-column-footer" };
73
- function _sfc_render$16(_ctx, _cache, $props, $setup, $data, $options) {
73
+ function _sfc_render$18(_ctx, _cache, $props, $setup, $data, $options) {
74
74
  return openBlock(), createElementBlock("div", _hoisted_1$V, [
75
75
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
76
76
  ]);
77
77
  }
78
- var FlexFooter = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["render", _sfc_render$16], ["__scopeId", "data-v-68216a72"]]);
78
+ var FlexFooter = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["render", _sfc_render$18], ["__scopeId", "data-v-68216a72"]]);
79
79
  var flexCell_vue_vue_type_style_index_0_scoped_true_lang = "";
80
- const _sfc_main$15 = {};
80
+ const _sfc_main$17 = {};
81
81
  const _hoisted_1$U = { class: "flex-cell" };
82
- function _sfc_render$15(_ctx, _cache, $props, $setup, $data, $options) {
82
+ function _sfc_render$17(_ctx, _cache, $props, $setup, $data, $options) {
83
83
  return openBlock(), createElementBlock("div", _hoisted_1$U, [
84
84
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
85
85
  ]);
86
86
  }
87
- var FlexCell = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["render", _sfc_render$15], ["__scopeId", "data-v-644bb279"]]);
87
+ var FlexCell = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["render", _sfc_render$17], ["__scopeId", "data-v-644bb279"]]);
88
88
  var flexRow_vue_vue_type_style_index_0_scoped_true_lang = "";
89
- const _sfc_main$14 = {};
89
+ const _sfc_main$16 = {};
90
90
  const _hoisted_1$T = { class: "flex-row" };
91
- function _sfc_render$14(_ctx, _cache, $props, $setup, $data, $options) {
91
+ function _sfc_render$16(_ctx, _cache, $props, $setup, $data, $options) {
92
92
  return openBlock(), createElementBlock("div", _hoisted_1$T, [
93
93
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
94
94
  ]);
95
95
  }
96
- var FlexRow = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["render", _sfc_render$14], ["__scopeId", "data-v-5b76ad1f"]]);
96
+ var FlexRow = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["render", _sfc_render$16], ["__scopeId", "data-v-5b76ad1f"]]);
97
97
  var flexSpacer_vue_vue_type_style_index_0_scoped_true_lang = "";
98
- const _sfc_main$13 = {};
98
+ const _sfc_main$15 = {};
99
99
  const _hoisted_1$S = { class: "flex-spacer" };
100
- function _sfc_render$13(_ctx, _cache, $props, $setup, $data, $options) {
100
+ function _sfc_render$15(_ctx, _cache, $props, $setup, $data, $options) {
101
101
  return openBlock(), createElementBlock("div", _hoisted_1$S);
102
102
  }
103
- var FlexSpacer = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["render", _sfc_render$13], ["__scopeId", "data-v-35b15579"]]);
103
+ var FlexSpacer = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["render", _sfc_render$15], ["__scopeId", "data-v-35b15579"]]);
104
104
  var panel_vue_vue_type_style_index_0_scoped_true_lang = "";
105
- const _sfc_main$12 = {};
105
+ const _sfc_main$14 = {};
106
106
  const _hoisted_1$R = { class: "panel" };
107
- function _sfc_render$12(_ctx, _cache, $props, $setup, $data, $options) {
107
+ function _sfc_render$14(_ctx, _cache, $props, $setup, $data, $options) {
108
108
  return openBlock(), createElementBlock("div", _hoisted_1$R, [
109
109
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
110
110
  ]);
111
111
  }
112
- var Panel = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["render", _sfc_render$12], ["__scopeId", "data-v-50ae77fc"]]);
112
+ var Panel = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["render", _sfc_render$14], ["__scopeId", "data-v-50ae77fc"]]);
113
113
  var panelBody_vue_vue_type_style_index_0_scoped_true_lang = "";
114
- const _sfc_main$11 = {};
114
+ const _sfc_main$13 = {};
115
115
  const _hoisted_1$Q = { class: "panel-body" };
116
- function _sfc_render$11(_ctx, _cache, $props, $setup, $data, $options) {
116
+ function _sfc_render$13(_ctx, _cache, $props, $setup, $data, $options) {
117
117
  return openBlock(), createElementBlock("div", _hoisted_1$Q, [
118
118
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
119
119
  ]);
120
120
  }
121
- var PanelBody = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["render", _sfc_render$11], ["__scopeId", "data-v-c82dca76"]]);
121
+ var PanelBody = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["render", _sfc_render$13], ["__scopeId", "data-v-c82dca76"]]);
122
122
  var panelHeader_vue_vue_type_style_index_0_scoped_true_lang = "";
123
- const _sfc_main$10 = {};
123
+ const _sfc_main$12 = {};
124
124
  const _hoisted_1$P = { class: "panel-header" };
125
- function _sfc_render$10(_ctx, _cache, $props, $setup, $data, $options) {
125
+ function _sfc_render$12(_ctx, _cache, $props, $setup, $data, $options) {
126
126
  return openBlock(), createElementBlock("div", _hoisted_1$P, [
127
127
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
128
128
  ]);
129
129
  }
130
- var PanelHeader = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["render", _sfc_render$10], ["__scopeId", "data-v-13bf11da"]]);
130
+ var PanelHeader = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["render", _sfc_render$12], ["__scopeId", "data-v-13bf11da"]]);
131
131
  var panelFooter_vue_vue_type_style_index_0_scoped_true_lang = "";
132
- const _sfc_main$$ = {};
132
+ const _sfc_main$11 = {};
133
133
  const _hoisted_1$O = { class: "panel-footer" };
134
- function _sfc_render$$(_ctx, _cache, $props, $setup, $data, $options) {
134
+ function _sfc_render$11(_ctx, _cache, $props, $setup, $data, $options) {
135
135
  return openBlock(), createElementBlock("div", _hoisted_1$O, [
136
136
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
137
137
  ]);
138
138
  }
139
- var PanelFooter = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["render", _sfc_render$$], ["__scopeId", "data-v-b4f4786a"]]);
139
+ var PanelFooter = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["render", _sfc_render$11], ["__scopeId", "data-v-b4f4786a"]]);
140
140
  var tabset_vue_vue_type_style_index_0_scoped_true_lang = "";
141
- const _sfc_main$_ = {
141
+ const _sfc_main$10 = {
142
142
  data() {
143
143
  return {
144
144
  activeIndex: 0
@@ -157,7 +157,7 @@ const _sfc_main$_ = {
157
157
  }
158
158
  };
159
159
  const _hoisted_1$N = ["onClick"];
160
- function _sfc_render$_(_ctx, _cache, $props, $setup, $data, $options) {
160
+ function _sfc_render$10(_ctx, _cache, $props, $setup, $data, $options) {
161
161
  const _component_flex_row = resolveComponent("flex-row");
162
162
  const _component_flex_header = resolveComponent("flex-header");
163
163
  const _component_flex_column = resolveComponent("flex-column");
@@ -198,8 +198,8 @@ function _sfc_render$_(_ctx, _cache, $props, $setup, $data, $options) {
198
198
  _: 1
199
199
  });
200
200
  }
201
- var UXTabset = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["render", _sfc_render$_], ["__scopeId", "data-v-1449f192"]]);
202
- const _sfc_main$Z = {
201
+ var UXTabset = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["render", _sfc_render$10], ["__scopeId", "data-v-1449f192"]]);
202
+ const _sfc_main$$ = {
203
203
  props: {
204
204
  heading: {
205
205
  type: String,
@@ -222,7 +222,7 @@ const _sfc_main$Z = {
222
222
  }
223
223
  }
224
224
  };
225
- function _sfc_render$Z(_ctx, _cache, $props, $setup, $data, $options) {
225
+ function _sfc_render$$(_ctx, _cache, $props, $setup, $data, $options) {
226
226
  const _component_flex_column = resolveComponent("flex-column");
227
227
  return openBlock(), createBlock(_component_flex_column, null, {
228
228
  default: withCtx(() => [
@@ -231,7 +231,7 @@ function _sfc_render$Z(_ctx, _cache, $props, $setup, $data, $options) {
231
231
  _: 3
232
232
  });
233
233
  }
234
- var UXTab = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["render", _sfc_render$Z]]);
234
+ var UXTab = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["render", _sfc_render$$]]);
235
235
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
236
236
  var isArray$3 = Array.isArray;
237
237
  var isArray_1 = isArray$3;
@@ -699,7 +699,7 @@ var TableCellMixin = {
699
699
  }
700
700
  };
701
701
  var Thumbnail_vue_vue_type_style_index_0_scoped_true_lang = "";
702
- const _sfc_main$Y = {
702
+ const _sfc_main$_ = {
703
703
  mixins: [TableCellMixin],
704
704
  computed: {
705
705
  type() {
@@ -709,7 +709,7 @@ const _sfc_main$Y = {
709
709
  }
710
710
  };
711
711
  const _hoisted_1$M = { class: "table-image-cell" };
712
- function _sfc_render$Y(_ctx, _cache, $props, $setup, $data, $options) {
712
+ function _sfc_render$_(_ctx, _cache, $props, $setup, $data, $options) {
713
713
  const _component_ux_image = resolveComponent("ux-image");
714
714
  const _component_ux_icon = resolveComponent("ux-icon");
715
715
  return openBlock(), createElementBlock("td", _hoisted_1$M, [
@@ -724,9 +724,9 @@ function _sfc_render$Y(_ctx, _cache, $props, $setup, $data, $options) {
724
724
  }))
725
725
  ]);
726
726
  }
727
- var ThumbnailCell = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$Y], ["__scopeId", "data-v-6dbe8d2c"]]);
727
+ var ThumbnailCell = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["render", _sfc_render$_], ["__scopeId", "data-v-6dbe8d2c"]]);
728
728
  var Button_vue_vue_type_style_index_0_scoped_true_lang = "";
729
- const _sfc_main$X = {
729
+ const _sfc_main$Z = {
730
730
  data() {
731
731
  return {
732
732
  processing: false
@@ -751,7 +751,7 @@ const _sfc_main$X = {
751
751
  }
752
752
  };
753
753
  const _hoisted_1$L = { class: "table-button-cell" };
754
- function _sfc_render$X(_ctx, _cache, $props, $setup, $data, $options) {
754
+ function _sfc_render$Z(_ctx, _cache, $props, $setup, $data, $options) {
755
755
  const _component_ux_icon = resolveComponent("ux-icon");
756
756
  const _component_ux_button = resolveComponent("ux-button");
757
757
  return openBlock(), createElementBlock("td", _hoisted_1$L, [
@@ -774,7 +774,7 @@ function _sfc_render$X(_ctx, _cache, $props, $setup, $data, $options) {
774
774
  }, 8, ["size", "loading", "onClick"])
775
775
  ]);
776
776
  }
777
- var ButtonCell = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["render", _sfc_render$X], ["__scopeId", "data-v-3cbecb7e"]]);
777
+ var ButtonCell = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["render", _sfc_render$Z], ["__scopeId", "data-v-3cbecb7e"]]);
778
778
  class LuxonError extends Error {
779
779
  }
780
780
  class InvalidDateTimeError extends LuxonError {
@@ -4608,9 +4608,12 @@ function friendlyDateTime(dateTimeish) {
4608
4608
  }
4609
4609
  }
4610
4610
  var DateCell_vue_vue_type_style_index_0_scoped_true_lang = "";
4611
- const _sfc_main$W = {
4611
+ const _sfc_main$Y = {
4612
4612
  mixins: [TableCellMixin],
4613
4613
  computed: {
4614
+ hasValue() {
4615
+ return this.value !== void 0 && this.value !== null;
4616
+ },
4614
4617
  timeago() {
4615
4618
  return DateTime.fromISO(this.value).toRelative();
4616
4619
  },
@@ -4627,21 +4630,42 @@ const _sfc_main$W = {
4627
4630
  }
4628
4631
  };
4629
4632
  const _hoisted_1$K = { class: "table-date-cell" };
4630
- const _hoisted_2$B = { class: "off" };
4631
- const _hoisted_3$v = { class: "on" };
4632
- const _hoisted_4$r = { class: "spacer" };
4633
- function _sfc_render$W(_ctx, _cache, $props, $setup, $data, $options) {
4633
+ const _hoisted_2$B = { key: 0 };
4634
+ const _hoisted_3$v = { class: "off" };
4635
+ const _hoisted_4$r = { class: "on" };
4636
+ const _hoisted_5$l = { class: "spacer" };
4637
+ function _sfc_render$Y(_ctx, _cache, $props, $setup, $data, $options) {
4634
4638
  return openBlock(), createElementBlock("td", _hoisted_1$K, [
4635
- createElementVNode("div", null, [
4636
- createElementVNode("span", _hoisted_2$B, toDisplayString($options.readable), 1),
4637
- createElementVNode("span", _hoisted_3$v, toDisplayString($options.timeago), 1),
4638
- createElementVNode("span", _hoisted_4$r, toDisplayString($options.readable), 1)
4639
- ])
4639
+ $options.hasValue ? (openBlock(), createElementBlock("div", _hoisted_2$B, [
4640
+ createElementVNode("span", _hoisted_3$v, toDisplayString($options.readable), 1),
4641
+ createElementVNode("span", _hoisted_4$r, toDisplayString($options.timeago), 1),
4642
+ createElementVNode("span", _hoisted_5$l, toDisplayString($options.readable), 1)
4643
+ ])) : createCommentVNode("", true)
4640
4644
  ]);
4641
4645
  }
4642
- var DateCell = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["render", _sfc_render$W], ["__scopeId", "data-v-bde0ae3a"]]);
4646
+ var DateCell = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$Y], ["__scopeId", "data-v-3687693f"]]);
4647
+ var BooleanCell_vue_vue_type_style_index_0_scoped_true_lang = "";
4648
+ const _sfc_main$X = {
4649
+ mixins: [TableCellMixin],
4650
+ computed: {
4651
+ boolean() {
4652
+ return !!this.value;
4653
+ }
4654
+ }
4655
+ };
4656
+ function _sfc_render$X(_ctx, _cache, $props, $setup, $data, $options) {
4657
+ const _component_ux_icon = resolveComponent("ux-icon");
4658
+ return openBlock(), createElementBlock("td", {
4659
+ class: normalizeClass(["table-boolean-cell", { true: $options.boolean, false: !$options.boolean }])
4660
+ }, [
4661
+ createVNode(_component_ux_icon, {
4662
+ icon: $options.boolean ? `fa-check` : `fa-times`
4663
+ }, null, 8, ["icon"])
4664
+ ], 2);
4665
+ }
4666
+ var BooleanCell = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["render", _sfc_render$X], ["__scopeId", "data-v-27f127ae"]]);
4643
4667
  var URLCell_vue_vue_type_style_index_0_scoped_true_lang = "";
4644
- const _sfc_main$V = {
4668
+ const _sfc_main$W = {
4645
4669
  mixins: [TableCellMixin],
4646
4670
  methods: {
4647
4671
  open() {
@@ -4656,7 +4680,7 @@ const _sfc_main$V = {
4656
4680
  };
4657
4681
  const _hoisted_1$J = { class: "table-url-cell" };
4658
4682
  const _hoisted_2$A = ["href"];
4659
- function _sfc_render$V(_ctx, _cache, $props, $setup, $data, $options) {
4683
+ function _sfc_render$W(_ctx, _cache, $props, $setup, $data, $options) {
4660
4684
  const _component_ux_icon = resolveComponent("ux-icon");
4661
4685
  return openBlock(), createElementBlock("td", _hoisted_1$J, [
4662
4686
  createElementVNode("a", {
@@ -4672,9 +4696,9 @@ function _sfc_render$V(_ctx, _cache, $props, $setup, $data, $options) {
4672
4696
  ], 8, _hoisted_2$A)
4673
4697
  ]);
4674
4698
  }
4675
- var URLCell = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["render", _sfc_render$V], ["__scopeId", "data-v-17cf3a86"]]);
4699
+ var URLCell = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["render", _sfc_render$W], ["__scopeId", "data-v-17cf3a86"]]);
4676
4700
  var Value_vue_vue_type_style_index_0_scoped_true_lang = "";
4677
- const _sfc_main$U = {
4701
+ const _sfc_main$V = {
4678
4702
  props: {
4679
4703
  multi: {
4680
4704
  type: Boolean
@@ -4723,7 +4747,7 @@ const _sfc_main$U = {
4723
4747
  }
4724
4748
  };
4725
4749
  const _hoisted_1$I = /* @__PURE__ */ createTextVNode(",\xA0");
4726
- function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
4750
+ function _sfc_render$V(_ctx, _cache, $props, $setup, $data, $options) {
4727
4751
  return $options.reference ? (openBlock(), createElementBlock("a", {
4728
4752
  key: 0,
4729
4753
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => $options.clicked($props.value), ["stop", "prevent"]))
@@ -4736,7 +4760,7 @@ function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
4736
4760
  ], 64)) : createCommentVNode("", true)
4737
4761
  ], 64));
4738
4762
  }
4739
- var ValueRenderer = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["render", _sfc_render$U], ["__scopeId", "data-v-255b9ec8"]]);
4763
+ var ValueRenderer = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["render", _sfc_render$V], ["__scopeId", "data-v-255b9ec8"]]);
4740
4764
  var TableCell_vue_vue_type_style_index_0_scoped_true_lang = "";
4741
4765
  function extract(row, path) {
4742
4766
  if (!row) {
@@ -4761,7 +4785,7 @@ function extract(row, path) {
4761
4785
  return extract(stub, remainder);
4762
4786
  }
4763
4787
  }
4764
- const _sfc_main$T = {
4788
+ const _sfc_main$U = {
4765
4789
  data() {
4766
4790
  return {
4767
4791
  component: null
@@ -4779,6 +4803,9 @@ const _sfc_main$T = {
4779
4803
  case "button":
4780
4804
  component = ButtonCell;
4781
4805
  break;
4806
+ case "boolean":
4807
+ component = BooleanCell;
4808
+ break;
4782
4809
  case "date":
4783
4810
  case "datetime":
4784
4811
  component = DateCell;
@@ -4794,6 +4821,9 @@ const _sfc_main$T = {
4794
4821
  case "date":
4795
4822
  component = DateCell;
4796
4823
  break;
4824
+ case "boolean":
4825
+ component = BooleanCell;
4826
+ break;
4797
4827
  case "url":
4798
4828
  component = URLCell;
4799
4829
  break;
@@ -4842,7 +4872,7 @@ const _hoisted_1$H = {
4842
4872
  };
4843
4873
  const _hoisted_2$z = { class: "value" };
4844
4874
  const _hoisted_3$u = { class: "value" };
4845
- function _sfc_render$T(_ctx, _cache, $props, $setup, $data, $options) {
4875
+ function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
4846
4876
  const _component_value_renderer = resolveComponent("value-renderer");
4847
4877
  return $data.component ? (openBlock(), createBlock(resolveDynamicComponent($data.component), {
4848
4878
  key: 0,
@@ -4877,8 +4907,8 @@ function _sfc_render$T(_ctx, _cache, $props, $setup, $data, $options) {
4877
4907
  }, null, 8, ["type", "value"]))
4878
4908
  ]));
4879
4909
  }
4880
- var TableCell = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["render", _sfc_render$T], ["__scopeId", "data-v-d2ef28aa"]]);
4881
- const _sfc_main$S = {
4910
+ var TableCell = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["render", _sfc_render$U], ["__scopeId", "data-v-b6482442"]]);
4911
+ const _sfc_main$T = {
4882
4912
  components: {
4883
4913
  TableCell
4884
4914
  },
@@ -4929,7 +4959,7 @@ const _sfc_main$S = {
4929
4959
  }
4930
4960
  }
4931
4961
  };
4932
- function _sfc_render$S(_ctx, _cache, $props, $setup, $data, $options) {
4962
+ function _sfc_render$T(_ctx, _cache, $props, $setup, $data, $options) {
4933
4963
  const _component_ux_checkbox = resolveComponent("ux-checkbox");
4934
4964
  const _component_table_cell = resolveComponent("table-cell");
4935
4965
  const _component_ux_icon = resolveComponent("ux-icon");
@@ -4971,7 +5001,7 @@ function _sfc_render$S(_ctx, _cache, $props, $setup, $data, $options) {
4971
5001
  ])
4972
5002
  ], 2);
4973
5003
  }
4974
- var TableRow = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["render", _sfc_render$S]]);
5004
+ var TableRow = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["render", _sfc_render$T]]);
4975
5005
  var RememberScrollMixin = {
4976
5006
  data() {
4977
5007
  return {
@@ -5002,7 +5032,7 @@ var RememberScrollMixin = {
5002
5032
  }
5003
5033
  };
5004
5034
  var Table_vue_vue_type_style_index_0_scoped_true_lang = "";
5005
- const _sfc_main$R = {
5035
+ const _sfc_main$S = {
5006
5036
  mixins: [RememberScrollMixin],
5007
5037
  components: {
5008
5038
  TableRow,
@@ -5163,7 +5193,7 @@ const _hoisted_8$8 = {
5163
5193
  key: 1,
5164
5194
  class: "last shrink"
5165
5195
  };
5166
- function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
5196
+ function _sfc_render$S(_ctx, _cache, $props, $setup, $data, $options) {
5167
5197
  const _component_ux_checkbox = resolveComponent("ux-checkbox");
5168
5198
  const _component_ux_list_item = resolveComponent("ux-list-item");
5169
5199
  const _component_ux_list = resolveComponent("ux-list");
@@ -5255,9 +5285,9 @@ function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
5255
5285
  ], 512)
5256
5286
  ]);
5257
5287
  }
5258
- var NativeTable = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["render", _sfc_render$R], ["__scopeId", "data-v-e626ef3a"]]);
5288
+ var NativeTable = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["render", _sfc_render$S], ["__scopeId", "data-v-e626ef3a"]]);
5259
5289
  var spinner_vue_vue_type_style_index_0_scoped_true_lang = "";
5260
- const _sfc_main$Q = {
5290
+ const _sfc_main$R = {
5261
5291
  props: {
5262
5292
  large: {
5263
5293
  type: Boolean
@@ -5269,14 +5299,14 @@ const _hoisted_1$F = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ create
5269
5299
  const _hoisted_2$x = [
5270
5300
  _hoisted_1$F
5271
5301
  ];
5272
- function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
5302
+ function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
5273
5303
  return openBlock(), createElementBlock("div", {
5274
5304
  class: normalizeClass(["ux-spinner", { large: $props.large }])
5275
5305
  }, _hoisted_2$x, 2);
5276
5306
  }
5277
- var Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["render", _sfc_render$Q], ["__scopeId", "data-v-27f20370"]]);
5307
+ var Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["render", _sfc_render$R], ["__scopeId", "data-v-27f20370"]]);
5278
5308
  var button_vue_vue_type_style_index_0_scoped_true_lang = "";
5279
- const _sfc_main$P = {
5309
+ const _sfc_main$Q = {
5280
5310
  components: {
5281
5311
  Spinner
5282
5312
  },
@@ -5376,7 +5406,7 @@ const _sfc_main$P = {
5376
5406
  }
5377
5407
  };
5378
5408
  const _hoisted_1$E = { class: "ux-btn-text" };
5379
- function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
5409
+ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
5380
5410
  const _component_spinner = resolveComponent("spinner");
5381
5411
  return openBlock(), createBlock(resolveDynamicComponent($options.element), {
5382
5412
  active: $props.active,
@@ -5397,9 +5427,9 @@ function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
5397
5427
  _: 3
5398
5428
  }, 8, ["active", "loading", "to", "href", "target", "style", "class", "disabled"]);
5399
5429
  }
5400
- var UXButton = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", _sfc_render$P], ["__scopeId", "data-v-ef0c5e26"]]);
5430
+ var UXButton = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["render", _sfc_render$Q], ["__scopeId", "data-v-ef0c5e26"]]);
5401
5431
  var checkbox_vue_vue_type_style_index_0_scoped_true_lang$1 = "";
5402
- const _sfc_main$O = {
5432
+ const _sfc_main$P = {
5403
5433
  props: {
5404
5434
  value: {
5405
5435
  type: Boolean,
@@ -5420,7 +5450,7 @@ const _sfc_main$O = {
5420
5450
  }
5421
5451
  }
5422
5452
  };
5423
- function _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {
5453
+ function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
5424
5454
  const _component_ux_icon = resolveComponent("ux-icon");
5425
5455
  return openBlock(), createElementBlock("button", {
5426
5456
  class: normalizeClass(["ux-checkbox", $options.classes])
@@ -5431,9 +5461,9 @@ function _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {
5431
5461
  })
5432
5462
  ], 2);
5433
5463
  }
5434
- var UXCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", _sfc_render$O], ["__scopeId", "data-v-73f2c6b6"]]);
5464
+ var UXCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", _sfc_render$P], ["__scopeId", "data-v-73f2c6b6"]]);
5435
5465
  var switch_vue_vue_type_style_index_0_scoped_true_lang$1 = "";
5436
- const _sfc_main$N = {
5466
+ const _sfc_main$O = {
5437
5467
  props: {
5438
5468
  value: {
5439
5469
  type: Boolean,
@@ -5463,7 +5493,7 @@ const _sfc_main$N = {
5463
5493
  }
5464
5494
  }
5465
5495
  };
5466
- function _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {
5496
+ function _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {
5467
5497
  const _component_ux_icon = resolveComponent("ux-icon");
5468
5498
  return openBlock(), createElementBlock("a", {
5469
5499
  class: normalizeClass(["ux-switch", $options.classes])
@@ -5476,9 +5506,9 @@ function _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {
5476
5506
  ])
5477
5507
  ], 2);
5478
5508
  }
5479
- var UXSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$N], ["__scopeId", "data-v-57a418e1"]]);
5509
+ var UXSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", _sfc_render$O], ["__scopeId", "data-v-57a418e1"]]);
5480
5510
  var link_vue_vue_type_style_index_0_scoped_true_lang = "";
5481
- const _sfc_main$M = {
5511
+ const _sfc_main$N = {
5482
5512
  props: {
5483
5513
  to: {
5484
5514
  type: [Object, String]
@@ -5496,10 +5526,19 @@ const _sfc_main$M = {
5496
5526
  methods: {
5497
5527
  clicked(event) {
5498
5528
  var self2 = this;
5499
- if (self2.buildMode || self2.nuxtMode) {
5500
- event.preventDefault();
5501
- event.stopImmediatePropagation();
5502
- return self2.$sdk.app.to(self2.to);
5529
+ if (self2.to) {
5530
+ if (self2.buildMode || self2.nuxtMode) {
5531
+ event.preventDefault();
5532
+ event.stopImmediatePropagation();
5533
+ return self2.$sdk.app.to(self2.to);
5534
+ }
5535
+ }
5536
+ if (self2.href) {
5537
+ if (self2.buildMode || self2.nuxtMode) {
5538
+ event.preventDefault();
5539
+ event.stopImmediatePropagation();
5540
+ return;
5541
+ }
5503
5542
  }
5504
5543
  }
5505
5544
  },
@@ -5543,7 +5582,7 @@ const _sfc_main$M = {
5543
5582
  }
5544
5583
  }
5545
5584
  };
5546
- function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
5585
+ function _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {
5547
5586
  return openBlock(), createBlock(resolveDynamicComponent($options.element), {
5548
5587
  onClick: $options.clicked,
5549
5588
  to: $props.to,
@@ -5557,9 +5596,9 @@ function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
5557
5596
  _: 3
5558
5597
  }, 8, ["onClick", "to", "href", "target", "class"]);
5559
5598
  }
5560
- var UXLink = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$M], ["__scopeId", "data-v-39903da2"]]);
5599
+ var UXLink = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$N], ["__scopeId", "data-v-efa81728"]]);
5561
5600
  var icon_vue_vue_type_style_index_0_scoped_true_lang = "";
5562
- const _sfc_main$L = {
5601
+ const _sfc_main$M = {
5563
5602
  props: {
5564
5603
  icon: {
5565
5604
  type: [Object, String]
@@ -5594,17 +5633,17 @@ const _sfc_main$L = {
5594
5633
  }
5595
5634
  }
5596
5635
  };
5597
- function _sfc_render$L(_ctx, _cache, $props, $setup, $data, $options) {
5636
+ function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
5598
5637
  return openBlock(), createBlock(resolveDynamicComponent($options.element), {
5599
5638
  class: normalizeClass(["ux-icon fa", $options.classes])
5600
5639
  }, null, 8, ["class"]);
5601
5640
  }
5602
- var UXIcon = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", _sfc_render$L], ["__scopeId", "data-v-1764a3d0"]]);
5641
+ var UXIcon = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$M], ["__scopeId", "data-v-1764a3d0"]]);
5603
5642
  var UXMenuService = {
5604
5643
  cache: {}
5605
5644
  };
5606
5645
  var menu_vue_vue_type_style_index_0_scoped_true_lang = "";
5607
- const _sfc_main$K = {
5646
+ const _sfc_main$L = {
5608
5647
  props: {
5609
5648
  group: {
5610
5649
  type: String
@@ -5756,7 +5795,7 @@ const _sfc_main$K = {
5756
5795
  }
5757
5796
  }
5758
5797
  };
5759
- function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
5798
+ function _sfc_render$L(_ctx, _cache, $props, $setup, $data, $options) {
5760
5799
  return openBlock(), createElementBlock("div", {
5761
5800
  class: normalizeClass(["ux-menu", { right: $props.right }])
5762
5801
  }, [
@@ -5780,7 +5819,80 @@ function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
5780
5819
  ]))
5781
5820
  ], 2);
5782
5821
  }
5783
- var UXMenu = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$K], ["__scopeId", "data-v-29d476a2"]]);
5822
+ var UXMenu = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", _sfc_render$L], ["__scopeId", "data-v-29d476a2"]]);
5823
+ const _sfc_main$K = {
5824
+ name: "menulist",
5825
+ props: {
5826
+ items: {
5827
+ type: Array,
5828
+ default() {
5829
+ return [];
5830
+ }
5831
+ },
5832
+ expandOn: {
5833
+ type: String,
5834
+ default: "click"
5835
+ }
5836
+ },
5837
+ methods: {
5838
+ toggle(item) {
5839
+ item.expanded = !item.expanded;
5840
+ item.collapsed = !item.expanded;
5841
+ }
5842
+ },
5843
+ data() {
5844
+ return {};
5845
+ }
5846
+ };
5847
+ function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
5848
+ const _component_ux_link = resolveComponent("ux-link");
5849
+ const _component_menulist = resolveComponent("menulist", true);
5850
+ return openBlock(), createElementBlock("ul", null, [
5851
+ (openBlock(true), createElementBlock(Fragment, null, renderList($props.items, (item) => {
5852
+ var _a;
5853
+ return openBlock(), createElementBlock("li", {
5854
+ class: normalizeClass({ expanded: item.expanded, collapsed: item.collapsed })
5855
+ }, [
5856
+ $props.expandOn === "click" && ((_a = item.items) == null ? void 0 : _a.length) ? (openBlock(), createBlock(_component_ux_link, {
5857
+ key: 0,
5858
+ onClick: withModifiers(($event) => $options.toggle(item), ["stop", "prevent"]),
5859
+ class: normalizeClass(item.class)
5860
+ }, {
5861
+ default: withCtx(() => [
5862
+ createTextVNode(toDisplayString(item.title), 1)
5863
+ ]),
5864
+ _: 2
5865
+ }, 1032, ["onClick", "class"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
5866
+ item.type === "url" ? (openBlock(), createBlock(_component_ux_link, {
5867
+ key: 0,
5868
+ class: normalizeClass(item.class),
5869
+ target: item.target,
5870
+ href: item.href || item.url
5871
+ }, {
5872
+ default: withCtx(() => [
5873
+ createTextVNode(toDisplayString(item.title), 1)
5874
+ ]),
5875
+ _: 2
5876
+ }, 1032, ["class", "target", "href"])) : item.type === "route" ? (openBlock(), createBlock(_component_ux_link, {
5877
+ key: 1,
5878
+ class: normalizeClass(item.class),
5879
+ to: { name: item.route }
5880
+ }, {
5881
+ default: withCtx(() => [
5882
+ createTextVNode(toDisplayString(item.title), 1)
5883
+ ]),
5884
+ _: 2
5885
+ }, 1032, ["class", "to"])) : createCommentVNode("", true)
5886
+ ], 64)),
5887
+ item.items && item.items.length ? (openBlock(), createBlock(_component_menulist, {
5888
+ key: 2,
5889
+ items: item.items
5890
+ }, null, 8, ["items"])) : createCommentVNode("", true)
5891
+ ], 2);
5892
+ }), 256))
5893
+ ]);
5894
+ }
5895
+ var UXMenuList = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$K]]);
5784
5896
  var image_vue_vue_type_style_index_0_scoped_true_lang = "";
5785
5897
  const _sfc_main$J = {
5786
5898
  props: {
@@ -18675,6 +18787,7 @@ const defaultComponents = {
18675
18787
  UxRenderField: UXRenderField,
18676
18788
  UxIcon: UXIcon,
18677
18789
  UxMenu: UXMenu,
18790
+ UxMenuList: UXMenuList,
18678
18791
  UxImage: UXImage,
18679
18792
  UxButton: UXButton,
18680
18793
  UxCheckbox: UXCheckbox,
@@ -18747,5 +18860,5 @@ const QikUI = {
18747
18860
  }
18748
18861
  }
18749
18862
  };
18750
- export { CodeEditor, ContentBrowser, device as Device, FlexBody, FlexCell, FlexColumn, FlexFooter, FlexHeader, FlexRow, FlexSpacer, ModalMixin, NativeSelect, Panel, PanelBody, PanelFooter, PanelHeader, ProgressBar, QikUI, RememberScrollMixin, Search, Selection, Spinner, UXButton, UXCheckbox, UXForm, UXFormField, UXIcon, UXImage, UXLink, UXList, UXListItem, UXMenu, UXRender, UXRenderField, UXSubmissionForm, UXSwitch, UXTab, NativeTable as UXTable, UXTabset, UxConfirmModal, UxContentModal, UxModal, UxOptionsModal, UxPromptModal };
18863
+ export { CodeEditor, ContentBrowser, device as Device, FlexBody, FlexCell, FlexColumn, FlexFooter, FlexHeader, FlexRow, FlexSpacer, ModalMixin, NativeSelect, Panel, PanelBody, PanelFooter, PanelHeader, ProgressBar, QikUI, RememberScrollMixin, 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 };
18751
18864
  //# sourceMappingURL=lib.es.js.map