@bagelink/vue 0.0.437 → 0.0.439

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.
@@ -3,12 +3,14 @@ import { BglFormSchemaT } from '..';
3
3
  declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<{
4
4
  data: any[];
5
5
  schema?: BglFormSchemaT | (() => BglFormSchemaT) | undefined;
6
+ showFields?: string[] | undefined;
6
7
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
8
  select: (...args: any[]) => void;
8
9
  orderBy: (...args: any[]) => void;
9
10
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
10
11
  data: any[];
11
12
  schema?: BglFormSchemaT | (() => BglFormSchemaT) | undefined;
13
+ showFields?: string[] | undefined;
12
14
  }>>> & {
13
15
  onSelect?: ((...args: any[]) => any) | undefined;
14
16
  onOrderBy?: ((...args: any[]) => any) | undefined;
@@ -239,6 +241,12 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
239
241
  multiselect: {
240
242
  type: import('vue').PropType<boolean>;
241
243
  };
244
+ icon: {
245
+ type: import('vue').PropType<import('..').MaterialIcons>;
246
+ };
247
+ hideLabel: {
248
+ type: import('vue').PropType<boolean>;
249
+ };
242
250
  }>> & {
243
251
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
244
252
  }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -278,6 +286,12 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
278
286
  multiselect: {
279
287
  type: import('vue').PropType<boolean>;
280
288
  };
289
+ icon: {
290
+ type: import('vue').PropType<import('..').MaterialIcons>;
291
+ };
292
+ hideLabel: {
293
+ type: import('vue').PropType<boolean>;
294
+ };
281
295
  }>> & {
282
296
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
283
297
  }, {}, true, {}, {}, {
@@ -322,6 +336,12 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
322
336
  multiselect: {
323
337
  type: import('vue').PropType<boolean>;
324
338
  };
339
+ icon: {
340
+ type: import('vue').PropType<import('..').MaterialIcons>;
341
+ };
342
+ hideLabel: {
343
+ type: import('vue').PropType<boolean>;
344
+ };
325
345
  }>> & {
326
346
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
327
347
  }, {}, {}, {}, {}, {}>;
@@ -363,6 +383,12 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
363
383
  multiselect: {
364
384
  type: import('vue').PropType<boolean>;
365
385
  };
386
+ icon: {
387
+ type: import('vue').PropType<import('..').MaterialIcons>;
388
+ };
389
+ hideLabel: {
390
+ type: import('vue').PropType<boolean>;
391
+ };
366
392
  }>> & {
367
393
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
368
394
  }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -1 +1 @@
1
- {"version":3,"file":"TableSchema.vue.d.ts","sourceRoot":"","sources":["../../src/components/TableSchema.vue"],"names":[],"mappings":"AA2DA;AAGA,OAAO,EACN,KAAK,cAAc,EAInB,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwVvB,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"TableSchema.vue.d.ts","sourceRoot":"","sources":["../../src/components/TableSchema.vue"],"names":[],"mappings":"AA2DA;AAGA,OAAO,EACN,KAAK,cAAc,EAInB,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsWvB,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { MaterialIcons } from '../../..';
1
2
 
2
3
  type Option = string | number | Record<string, any> | {
3
4
  label: string;
@@ -13,6 +14,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
13
14
  label?: string | undefined;
14
15
  fullWidth?: boolean | undefined;
15
16
  multiselect?: boolean | undefined;
17
+ icon?: MaterialIcons | undefined;
18
+ hideLabel?: boolean | undefined;
16
19
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
17
20
  "update:modelValue": (...args: any[]) => void;
18
21
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
@@ -25,6 +28,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
25
28
  label?: string | undefined;
26
29
  fullWidth?: boolean | undefined;
27
30
  multiselect?: boolean | undefined;
31
+ icon?: MaterialIcons | undefined;
32
+ hideLabel?: boolean | undefined;
28
33
  }>>> & {
29
34
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
30
35
  }, {}, {}>, {
@@ -1 +1 @@
1
- {"version":3,"file":"SelectInput.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/form/inputs/SelectInput.vue"],"names":[],"mappings":"AAoEA;AAIA,OAAO,wBAAwB,CAAC;AAKhC,KAAK,MAAM,GACR,MAAM,GACN,MAAM,GACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuc7C,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"SelectInput.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/form/inputs/SelectInput.vue"],"names":[],"mappings":"AAwEA;AAIA,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAI1E,KAAK,MAAM,GACR,MAAM,GACN,MAAM,GACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAie7C,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
package/dist/index.cjs CHANGED
@@ -5117,7 +5117,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
5117
5117
  const _hoisted_1$E = { class: "full-nav" };
5118
5118
  const _hoisted_2$x = { class: "nav-scroll" };
5119
5119
  const _hoisted_3$l = { class: "nav-links-wrapper" };
5120
- const _hoisted_4$e = { class: "tooltip" };
5120
+ const _hoisted_4$f = { class: "tooltip" };
5121
5121
  const _hoisted_5$b = { class: "bot-buttons-wrapper" };
5122
5122
  const _hoisted_6$7 = { class: "tooltip" };
5123
5123
  const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
@@ -5166,7 +5166,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
5166
5166
  vue.createVNode(vue.unref(_sfc_main$I), {
5167
5167
  icon: link.icon
5168
5168
  }, null, 8, ["icon"]),
5169
- vue.createElementVNode("div", _hoisted_4$e, vue.toDisplayString(link.label), 1)
5169
+ vue.createElementVNode("div", _hoisted_4$f, vue.toDisplayString(link.label), 1)
5170
5170
  ]),
5171
5171
  _: 2
5172
5172
  }, 1032, ["to", "onClick"]);
@@ -5545,7 +5545,7 @@ const ModalForm = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-
5545
5545
  const _hoisted_1$B = { class: "accordion-item" };
5546
5546
  const _hoisted_2$u = ["aria-expanded", "aria-controls"];
5547
5547
  const _hoisted_3$k = { class: "accordion-label" };
5548
- const _hoisted_4$d = ["id", "aria-hidden"];
5548
+ const _hoisted_4$e = ["id", "aria-hidden"];
5549
5549
  const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
5550
5550
  __name: "AccordionItem",
5551
5551
  props: {
@@ -5598,7 +5598,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
5598
5598
  "aria-hidden": vue.unref(open) ? "false" : "true"
5599
5599
  }, [
5600
5600
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
5601
- ], 8, _hoisted_4$d)) : vue.createCommentVNode("", true)
5601
+ ], 8, _hoisted_4$e)) : vue.createCommentVNode("", true)
5602
5602
  ]),
5603
5603
  _: 3
5604
5604
  })
@@ -5687,7 +5687,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
5687
5687
  const _hoisted_1$x = { class: "table-list-wrap h-100" };
5688
5688
  const _hoisted_2$q = { class: "infinite-wrapper" };
5689
5689
  const _hoisted_3$i = { class: "row first-row" };
5690
- const _hoisted_4$c = ["onClick"];
5690
+ const _hoisted_4$d = ["onClick"];
5691
5691
  const _hoisted_5$a = { class: "flex" };
5692
5692
  const _hoisted_6$6 = ["onClick"];
5693
5693
  const _hoisted_7$2 = { key: 1 };
@@ -5695,7 +5695,8 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5695
5695
  __name: "TableSchema",
5696
5696
  props: {
5697
5697
  data: {},
5698
- schema: { type: Function }
5698
+ schema: { type: Function },
5699
+ showFields: {}
5699
5700
  },
5700
5701
  emits: ["select", "orderBy"],
5701
5702
  setup(__props, { emit: __emit }) {
@@ -5706,11 +5707,23 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5706
5707
  if (typeof props2.schema === "function") {
5707
5708
  return props2.schema();
5708
5709
  }
5709
- if (props2.schema)
5710
- return props2.schema;
5711
- const keys4 = [...new Set((props2.data || []).map(Object.keys).flat())];
5712
- const schema = keys4.map((id) => ({ id, label: keyToLabel(id) }));
5713
- return schema;
5710
+ if (props2.schema) {
5711
+ return props2.showFields ? props2.schema.filter((f2) => {
5712
+ var _a2;
5713
+ return (_a2 = props2.showFields) == null ? void 0 : _a2.includes(f2.id);
5714
+ }) : props2.schema;
5715
+ }
5716
+ const keys4 = [
5717
+ ...new Set((props2.data || []).map(Object.keys).flat())
5718
+ ];
5719
+ const schema = keys4.map((id) => ({
5720
+ id,
5721
+ label: keyToLabel(id)
5722
+ }));
5723
+ return props2.showFields ? schema.filter((f2) => {
5724
+ var _a2;
5725
+ return ((_a2 = props2.showFields) == null ? void 0 : _a2.includes(f2.id)) || !f2.id;
5726
+ }) : schema;
5714
5727
  });
5715
5728
  const emit2 = __emit;
5716
5729
  const selectElement = (item) => emit2("select", item);
@@ -5776,7 +5789,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5776
5789
  }, null, 8, ["class"])
5777
5790
  ], 2)
5778
5791
  ])
5779
- ], 8, _hoisted_4$c);
5792
+ ], 8, _hoisted_4$d);
5780
5793
  }), 128))
5781
5794
  ]),
5782
5795
  vue.createElementVNode("tbody", {
@@ -5819,7 +5832,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5819
5832
  };
5820
5833
  }
5821
5834
  });
5822
- const TableSchema = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-1d169811"]]);
5835
+ const TableSchema = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-a99caac1"]]);
5823
5836
  const _sfc_main$y = {};
5824
5837
  const _hoisted_1$w = { class: "flex space-between" };
5825
5838
  function _sfc_render$1(_ctx, _cache) {
@@ -5860,7 +5873,7 @@ const _hoisted_2$p = {
5860
5873
  class: "data-row"
5861
5874
  };
5862
5875
  const _hoisted_3$h = { class: "key" };
5863
- const _hoisted_4$b = { key: 1 };
5876
+ const _hoisted_4$c = { key: 1 };
5864
5877
  const _hoisted_5$9 = { class: "key" };
5865
5878
  const _hoisted_6$5 = { class: "vlue" };
5866
5879
  const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
@@ -5896,7 +5909,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
5896
5909
  ])) : vue.createCommentVNode("", true)
5897
5910
  ], 64);
5898
5911
  }), 128)),
5899
- !((_a2 = _ctx.schema) == null ? void 0 : _a2.length) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$b, [
5912
+ !((_a2 = _ctx.schema) == null ? void 0 : _a2.length) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$c, [
5900
5913
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(Object.entries(itemData.value), ([key, value]) => {
5901
5914
  return vue.openBlock(), vue.createElementBlock("div", {
5902
5915
  class: "data-row",
@@ -6618,7 +6631,7 @@ const _hoisted_2$l = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.cr
6618
6631
  const _hoisted_3$g = [
6619
6632
  _hoisted_2$l
6620
6633
  ];
6621
- const _hoisted_4$a = ["required", "id"];
6634
+ const _hoisted_4$b = ["required", "id"];
6622
6635
  const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
6623
6636
  __name: "CheckInput",
6624
6637
  props: /* @__PURE__ */ vue.mergeModels({
@@ -6649,7 +6662,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
6649
6662
  id: _ctx.id,
6650
6663
  type: "checkbox",
6651
6664
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => checked.value = $event)
6652
- }, null, 8, _hoisted_4$a), [
6665
+ }, null, 8, _hoisted_4$b), [
6653
6666
  [vue.vModelCheckbox, checked.value]
6654
6667
  ]),
6655
6668
  vue.renderSlot(_ctx.$slots, "label", {}, () => [
@@ -15362,8 +15375,9 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
15362
15375
  });
15363
15376
  const JSONInput = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-1fc4f739"]]);
15364
15377
  const _hoisted_1$m = ["disabled"];
15365
- const _hoisted_2$i = ["value"];
15366
- const _hoisted_3$e = ["onClick"];
15378
+ const _hoisted_2$i = { key: 1 };
15379
+ const _hoisted_3$e = ["value"];
15380
+ const _hoisted_4$a = ["onClick"];
15367
15381
  const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15368
15382
  __name: "SelectInput",
15369
15383
  props: {
@@ -15375,7 +15389,9 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15375
15389
  required: { type: Boolean },
15376
15390
  label: {},
15377
15391
  fullWidth: { type: Boolean },
15378
- multiselect: { type: Boolean }
15392
+ multiselect: { type: Boolean },
15393
+ icon: {},
15394
+ hideLabel: { type: Boolean }
15379
15395
  },
15380
15396
  emits: ["update:modelValue"],
15381
15397
  setup(__props, { emit: __emit }) {
@@ -15432,10 +15448,12 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15432
15448
  return option2.value;
15433
15449
  };
15434
15450
  const isSelected = (option2) => !!selectedItems.value.find((item) => getValue(option2) === getValue(item));
15435
- const filteredOptions = vue.computed(() => props2.options.filter((option2) => {
15436
- const searchTerm = search.value.split(/\s+/).filter(Boolean).map((t) => new RegExp(t, "gi"));
15437
- return Boolean(option2) && (searchTerm.every((s2) => getLabel(option2).match(s2)) || searchTerm.length === 0);
15438
- }));
15451
+ const filteredOptions = vue.computed(
15452
+ () => props2.options.filter((option2) => {
15453
+ const searchTerm = search.value.split(/\s+/).filter(Boolean).map((t) => new RegExp(t, "gi"));
15454
+ return Boolean(option2) && (searchTerm.every((s2) => getLabel(option2).match(s2)) || searchTerm.length === 0);
15455
+ })
15456
+ );
15439
15457
  const select2 = (option2) => {
15440
15458
  var _a2;
15441
15459
  const existingIndex = selectedItems.value.findIndex(
@@ -15540,7 +15558,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15540
15558
  icon: "fiber_manual_record"
15541
15559
  })) : vue.createCommentVNode("", true),
15542
15560
  vue.createElementVNode("span", null, vue.toDisplayString(getLabel(option2)), 1)
15543
- ], 10, _hoisted_3$e);
15561
+ ], 10, _hoisted_4$a);
15544
15562
  }), 128)),
15545
15563
  vue.renderSlot(_ctx.$slots, "last", {}, void 0, true)
15546
15564
  ]),
@@ -15557,8 +15575,15 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15557
15575
  type: "button",
15558
15576
  class: vue.normalizeClass(["selectinput-btn", { isEmpty: vue.unref(selectedItems).length === 0 }])
15559
15577
  }, [
15560
- vue.createElementVNode("p", null, vue.toDisplayString(selectedLabel.value), 1),
15561
- !_ctx.disabled ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$I), vue.normalizeProps(vue.mergeProps({ key: 0 }, { icon: vue.unref(open) ? "unfold_less" : "unfold_more" })), null, 16)) : vue.createCommentVNode("", true)
15578
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$I), {
15579
+ key: 0,
15580
+ icon: _ctx.icon
15581
+ }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
15582
+ !_ctx.hideLabel ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$i, vue.toDisplayString(selectedLabel.value), 1)) : vue.createCommentVNode("", true),
15583
+ !_ctx.disabled ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$I), vue.mergeProps({
15584
+ key: 2,
15585
+ thin: ""
15586
+ }, { icon: vue.unref(open) ? "unfold_less" : "unfold_more" }), null, 16)) : vue.createCommentVNode("", true)
15562
15587
  ], 42, _hoisted_1$m),
15563
15588
  _ctx.required ? (vue.openBlock(), vue.createElementBlock("input", {
15564
15589
  key: 0,
@@ -15567,7 +15592,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15567
15592
  onInput: _cache[1] || (_cache[1] = ($event) => updateOpen(true)),
15568
15593
  value: vue.unref(selectedItems),
15569
15594
  required: ""
15570
- }, null, 40, _hoisted_2$i)) : vue.createCommentVNode("", true)
15595
+ }, null, 40, _hoisted_3$e)) : vue.createCommentVNode("", true)
15571
15596
  ])
15572
15597
  ]),
15573
15598
  _: 3
@@ -15575,7 +15600,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15575
15600
  };
15576
15601
  }
15577
15602
  });
15578
- const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-39ae2ac8"]]);
15603
+ const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-49c80f47"]]);
15579
15604
  /*!
15580
15605
  * vue-draggable-next v2.2.0
15581
15606
  * (c) 2023 Anish George
package/dist/index.mjs CHANGED
@@ -5115,7 +5115,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
5115
5115
  const _hoisted_1$E = { class: "full-nav" };
5116
5116
  const _hoisted_2$x = { class: "nav-scroll" };
5117
5117
  const _hoisted_3$l = { class: "nav-links-wrapper" };
5118
- const _hoisted_4$e = { class: "tooltip" };
5118
+ const _hoisted_4$f = { class: "tooltip" };
5119
5119
  const _hoisted_5$b = { class: "bot-buttons-wrapper" };
5120
5120
  const _hoisted_6$7 = { class: "tooltip" };
5121
5121
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
@@ -5164,7 +5164,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
5164
5164
  createVNode(unref(_sfc_main$I), {
5165
5165
  icon: link.icon
5166
5166
  }, null, 8, ["icon"]),
5167
- createElementVNode("div", _hoisted_4$e, toDisplayString(link.label), 1)
5167
+ createElementVNode("div", _hoisted_4$f, toDisplayString(link.label), 1)
5168
5168
  ]),
5169
5169
  _: 2
5170
5170
  }, 1032, ["to", "onClick"]);
@@ -5543,7 +5543,7 @@ const ModalForm = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-
5543
5543
  const _hoisted_1$B = { class: "accordion-item" };
5544
5544
  const _hoisted_2$u = ["aria-expanded", "aria-controls"];
5545
5545
  const _hoisted_3$k = { class: "accordion-label" };
5546
- const _hoisted_4$d = ["id", "aria-hidden"];
5546
+ const _hoisted_4$e = ["id", "aria-hidden"];
5547
5547
  const _sfc_main$D = /* @__PURE__ */ defineComponent({
5548
5548
  __name: "AccordionItem",
5549
5549
  props: {
@@ -5596,7 +5596,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
5596
5596
  "aria-hidden": unref(open) ? "false" : "true"
5597
5597
  }, [
5598
5598
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
5599
- ], 8, _hoisted_4$d)) : createCommentVNode("", true)
5599
+ ], 8, _hoisted_4$e)) : createCommentVNode("", true)
5600
5600
  ]),
5601
5601
  _: 3
5602
5602
  })
@@ -5685,7 +5685,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
5685
5685
  const _hoisted_1$x = { class: "table-list-wrap h-100" };
5686
5686
  const _hoisted_2$q = { class: "infinite-wrapper" };
5687
5687
  const _hoisted_3$i = { class: "row first-row" };
5688
- const _hoisted_4$c = ["onClick"];
5688
+ const _hoisted_4$d = ["onClick"];
5689
5689
  const _hoisted_5$a = { class: "flex" };
5690
5690
  const _hoisted_6$6 = ["onClick"];
5691
5691
  const _hoisted_7$2 = { key: 1 };
@@ -5693,7 +5693,8 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
5693
5693
  __name: "TableSchema",
5694
5694
  props: {
5695
5695
  data: {},
5696
- schema: { type: Function }
5696
+ schema: { type: Function },
5697
+ showFields: {}
5697
5698
  },
5698
5699
  emits: ["select", "orderBy"],
5699
5700
  setup(__props, { emit: __emit }) {
@@ -5704,11 +5705,23 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
5704
5705
  if (typeof props2.schema === "function") {
5705
5706
  return props2.schema();
5706
5707
  }
5707
- if (props2.schema)
5708
- return props2.schema;
5709
- const keys4 = [...new Set((props2.data || []).map(Object.keys).flat())];
5710
- const schema = keys4.map((id) => ({ id, label: keyToLabel(id) }));
5711
- return schema;
5708
+ if (props2.schema) {
5709
+ return props2.showFields ? props2.schema.filter((f2) => {
5710
+ var _a2;
5711
+ return (_a2 = props2.showFields) == null ? void 0 : _a2.includes(f2.id);
5712
+ }) : props2.schema;
5713
+ }
5714
+ const keys4 = [
5715
+ ...new Set((props2.data || []).map(Object.keys).flat())
5716
+ ];
5717
+ const schema = keys4.map((id) => ({
5718
+ id,
5719
+ label: keyToLabel(id)
5720
+ }));
5721
+ return props2.showFields ? schema.filter((f2) => {
5722
+ var _a2;
5723
+ return ((_a2 = props2.showFields) == null ? void 0 : _a2.includes(f2.id)) || !f2.id;
5724
+ }) : schema;
5712
5725
  });
5713
5726
  const emit2 = __emit;
5714
5727
  const selectElement = (item) => emit2("select", item);
@@ -5774,7 +5787,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
5774
5787
  }, null, 8, ["class"])
5775
5788
  ], 2)
5776
5789
  ])
5777
- ], 8, _hoisted_4$c);
5790
+ ], 8, _hoisted_4$d);
5778
5791
  }), 128))
5779
5792
  ]),
5780
5793
  createElementVNode("tbody", {
@@ -5817,7 +5830,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
5817
5830
  };
5818
5831
  }
5819
5832
  });
5820
- const TableSchema = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-1d169811"]]);
5833
+ const TableSchema = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-a99caac1"]]);
5821
5834
  const _sfc_main$y = {};
5822
5835
  const _hoisted_1$w = { class: "flex space-between" };
5823
5836
  function _sfc_render$1(_ctx, _cache) {
@@ -5858,7 +5871,7 @@ const _hoisted_2$p = {
5858
5871
  class: "data-row"
5859
5872
  };
5860
5873
  const _hoisted_3$h = { class: "key" };
5861
- const _hoisted_4$b = { key: 1 };
5874
+ const _hoisted_4$c = { key: 1 };
5862
5875
  const _hoisted_5$9 = { class: "key" };
5863
5876
  const _hoisted_6$5 = { class: "vlue" };
5864
5877
  const _sfc_main$w = /* @__PURE__ */ defineComponent({
@@ -5894,7 +5907,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
5894
5907
  ])) : createCommentVNode("", true)
5895
5908
  ], 64);
5896
5909
  }), 128)),
5897
- !((_a2 = _ctx.schema) == null ? void 0 : _a2.length) ? (openBlock(), createElementBlock("div", _hoisted_4$b, [
5910
+ !((_a2 = _ctx.schema) == null ? void 0 : _a2.length) ? (openBlock(), createElementBlock("div", _hoisted_4$c, [
5898
5911
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(Object.entries(itemData.value), ([key, value]) => {
5899
5912
  return openBlock(), createElementBlock("div", {
5900
5913
  class: "data-row",
@@ -6616,7 +6629,7 @@ const _hoisted_2$l = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ create
6616
6629
  const _hoisted_3$g = [
6617
6630
  _hoisted_2$l
6618
6631
  ];
6619
- const _hoisted_4$a = ["required", "id"];
6632
+ const _hoisted_4$b = ["required", "id"];
6620
6633
  const _sfc_main$k = /* @__PURE__ */ defineComponent({
6621
6634
  __name: "CheckInput",
6622
6635
  props: /* @__PURE__ */ mergeModels({
@@ -6647,7 +6660,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
6647
6660
  id: _ctx.id,
6648
6661
  type: "checkbox",
6649
6662
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => checked.value = $event)
6650
- }, null, 8, _hoisted_4$a), [
6663
+ }, null, 8, _hoisted_4$b), [
6651
6664
  [vModelCheckbox, checked.value]
6652
6665
  ]),
6653
6666
  renderSlot(_ctx.$slots, "label", {}, () => [
@@ -15360,8 +15373,9 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
15360
15373
  });
15361
15374
  const JSONInput = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-1fc4f739"]]);
15362
15375
  const _hoisted_1$m = ["disabled"];
15363
- const _hoisted_2$i = ["value"];
15364
- const _hoisted_3$e = ["onClick"];
15376
+ const _hoisted_2$i = { key: 1 };
15377
+ const _hoisted_3$e = ["value"];
15378
+ const _hoisted_4$a = ["onClick"];
15365
15379
  const _sfc_main$h = /* @__PURE__ */ defineComponent({
15366
15380
  __name: "SelectInput",
15367
15381
  props: {
@@ -15373,7 +15387,9 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
15373
15387
  required: { type: Boolean },
15374
15388
  label: {},
15375
15389
  fullWidth: { type: Boolean },
15376
- multiselect: { type: Boolean }
15390
+ multiselect: { type: Boolean },
15391
+ icon: {},
15392
+ hideLabel: { type: Boolean }
15377
15393
  },
15378
15394
  emits: ["update:modelValue"],
15379
15395
  setup(__props, { emit: __emit }) {
@@ -15430,10 +15446,12 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
15430
15446
  return option2.value;
15431
15447
  };
15432
15448
  const isSelected = (option2) => !!selectedItems.value.find((item) => getValue(option2) === getValue(item));
15433
- const filteredOptions = computed(() => props2.options.filter((option2) => {
15434
- const searchTerm = search.value.split(/\s+/).filter(Boolean).map((t) => new RegExp(t, "gi"));
15435
- return Boolean(option2) && (searchTerm.every((s2) => getLabel(option2).match(s2)) || searchTerm.length === 0);
15436
- }));
15449
+ const filteredOptions = computed(
15450
+ () => props2.options.filter((option2) => {
15451
+ const searchTerm = search.value.split(/\s+/).filter(Boolean).map((t) => new RegExp(t, "gi"));
15452
+ return Boolean(option2) && (searchTerm.every((s2) => getLabel(option2).match(s2)) || searchTerm.length === 0);
15453
+ })
15454
+ );
15437
15455
  const select2 = (option2) => {
15438
15456
  var _a2;
15439
15457
  const existingIndex = selectedItems.value.findIndex(
@@ -15538,7 +15556,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
15538
15556
  icon: "fiber_manual_record"
15539
15557
  })) : createCommentVNode("", true),
15540
15558
  createElementVNode("span", null, toDisplayString(getLabel(option2)), 1)
15541
- ], 10, _hoisted_3$e);
15559
+ ], 10, _hoisted_4$a);
15542
15560
  }), 128)),
15543
15561
  renderSlot(_ctx.$slots, "last", {}, void 0, true)
15544
15562
  ]),
@@ -15555,8 +15573,15 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
15555
15573
  type: "button",
15556
15574
  class: normalizeClass(["selectinput-btn", { isEmpty: unref(selectedItems).length === 0 }])
15557
15575
  }, [
15558
- createElementVNode("p", null, toDisplayString(selectedLabel.value), 1),
15559
- !_ctx.disabled ? (openBlock(), createBlock(unref(_sfc_main$I), normalizeProps(mergeProps({ key: 0 }, { icon: unref(open) ? "unfold_less" : "unfold_more" })), null, 16)) : createCommentVNode("", true)
15576
+ _ctx.icon ? (openBlock(), createBlock(unref(_sfc_main$I), {
15577
+ key: 0,
15578
+ icon: _ctx.icon
15579
+ }, null, 8, ["icon"])) : createCommentVNode("", true),
15580
+ !_ctx.hideLabel ? (openBlock(), createElementBlock("p", _hoisted_2$i, toDisplayString(selectedLabel.value), 1)) : createCommentVNode("", true),
15581
+ !_ctx.disabled ? (openBlock(), createBlock(unref(_sfc_main$I), mergeProps({
15582
+ key: 2,
15583
+ thin: ""
15584
+ }, { icon: unref(open) ? "unfold_less" : "unfold_more" }), null, 16)) : createCommentVNode("", true)
15560
15585
  ], 42, _hoisted_1$m),
15561
15586
  _ctx.required ? (openBlock(), createElementBlock("input", {
15562
15587
  key: 0,
@@ -15565,7 +15590,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
15565
15590
  onInput: _cache[1] || (_cache[1] = ($event) => updateOpen(true)),
15566
15591
  value: unref(selectedItems),
15567
15592
  required: ""
15568
- }, null, 40, _hoisted_2$i)) : createCommentVNode("", true)
15593
+ }, null, 40, _hoisted_3$e)) : createCommentVNode("", true)
15569
15594
  ])
15570
15595
  ]),
15571
15596
  _: 3
@@ -15573,7 +15598,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
15573
15598
  };
15574
15599
  }
15575
15600
  });
15576
- const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-39ae2ac8"]]);
15601
+ const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-49c80f47"]]);
15577
15602
  /*!
15578
15603
  * vue-draggable-next v2.2.0
15579
15604
  * (c) 2023 Anish George
package/dist/style.css CHANGED
@@ -623,41 +623,41 @@ a[data-v-d09a83c5] {
623
623
  gap: 1rem;
624
624
  }
625
625
 
626
- .list-arrows[data-v-1d169811] {
626
+ .list-arrows[data-v-a99caac1] {
627
627
  opacity: 0;
628
628
  }
629
- .list-arrows .bgl_icon-font[data-v-1d169811] {
629
+ .list-arrows .bgl_icon-font[data-v-a99caac1] {
630
630
  transition: all ease-in-out 0.2s;
631
631
  }
632
- .list-arrows.sorted[data-v-1d169811] {
632
+ .list-arrows.sorted[data-v-a99caac1] {
633
633
  opacity: 1;
634
634
  }
635
- .col img[data-v-1d169811] {
635
+ .col img[data-v-a99caac1] {
636
636
  height: 35px;
637
637
  margin-top: -14px;
638
638
  margin-bottom: -14px;
639
639
  border-radius: 5px;
640
640
  }
641
- .list-arrows.sorted .desc[data-v-1d169811] {
641
+ .list-arrows.sorted .desc[data-v-a99caac1] {
642
642
  transform: rotate(180deg);
643
643
  }
644
- table[data-v-1d169811] {
644
+ table[data-v-a99caac1] {
645
645
  border-collapse: separate;
646
646
  border-spacing: 0 15px;
647
647
  border-collapse: collapse;
648
648
  }
649
- th[data-v-1d169811] {
649
+ th[data-v-a99caac1] {
650
650
  font-weight: 400;
651
651
  }
652
- .embedded-field[data-v-1d169811] {
652
+ .embedded-field[data-v-a99caac1] {
653
653
  margin-bottom: -0.2rem;
654
654
  margin-top: -0.2rem;
655
655
  }
656
- .row[data-v-1d169811] {
656
+ .row[data-v-a99caac1] {
657
657
  border-bottom: 1px solid var(--border-color);
658
658
  cursor: pointer;
659
659
  }
660
- .row.first-row[data-v-1d169811] {
660
+ .row.first-row[data-v-a99caac1] {
661
661
  font-size: 0.8rem;
662
662
  color: var(--bgl-black-tint);
663
663
  position: sticky;
@@ -667,7 +667,7 @@ th[data-v-1d169811] {
667
667
  height: 50px;
668
668
  vertical-align: bottom;
669
669
  }
670
- .row.first-row[data-v-1d169811]::after {
670
+ .row.first-row[data-v-a99caac1]::after {
671
671
  content: '';
672
672
  border-bottom: 1px solid var(--border-color);
673
673
  position: absolute;
@@ -675,27 +675,27 @@ th[data-v-1d169811] {
675
675
  right: 0;
676
676
  bottom: -1px;
677
677
  }
678
- .first-row .col[data-v-1d169811] {
678
+ .first-row .col[data-v-a99caac1] {
679
679
  cursor: pointer;
680
680
  background: var(--bgl-white);
681
681
  }
682
- .col[data-v-1d169811] {
682
+ .col[data-v-a99caac1] {
683
683
  white-space: nowrap;
684
684
  padding: 0.75rem 0.5rem;
685
685
  transition: var(--bgl-transition);
686
686
  line-height: 1;
687
687
  align-items: center;
688
688
  }
689
- .col > div[data-v-1d169811] {
689
+ .col > div[data-v-a99caac1] {
690
690
  display: flex;
691
691
  gap: 0.5rem;
692
692
  }
693
- .max-col-width[data-v-1d169811] {
693
+ .max-col-width[data-v-a99caac1] {
694
694
  max-width: 30vw;
695
695
  overflow: hidden;
696
696
  text-overflow: ellipsis;
697
697
  }
698
- .col.check .bgl_icon-font[data-v-1d169811] {
698
+ .col.check .bgl_icon-font[data-v-a99caac1] {
699
699
  border-radius: 100%;
700
700
  background: var(--bgl-blue-20);
701
701
  color: var(--bgl-primary);
@@ -706,27 +706,27 @@ th[data-v-1d169811] {
706
706
  justify-content: center;
707
707
  margin-top: -2px;
708
708
  }
709
- .rows[data-v-1d169811] {
709
+ .rows[data-v-a99caac1] {
710
710
  font-size: 0.8125em;
711
711
  }
712
- .table-list[data-v-1d169811] {
712
+ .table-list[data-v-a99caac1] {
713
713
  height: 100%;
714
714
  position: relative;
715
715
  padding-left: 0 !important;
716
716
  padding-right: 0 !important;
717
717
  overflow: auto;
718
718
  }
719
- .BagelTable .table-list[data-v-1d169811] {
719
+ .BagelTable .table-list[data-v-a99caac1] {
720
720
  overflow: unset;
721
721
  }
722
- .row-item[data-v-1d169811] {
722
+ .row-item[data-v-a99caac1] {
723
723
  height: 50px;
724
724
  transition: all 200ms ease;
725
725
  }
726
- .row-item[data-v-1d169811]:hover {
726
+ .row-item[data-v-a99caac1]:hover {
727
727
  background: var(--bgl-gray-light);
728
728
  }
729
- .infinite-wrapper[data-v-1d169811] {
729
+ .infinite-wrapper[data-v-a99caac1] {
730
730
  overflow-y: auto;
731
731
  width: 100%;
732
732
  }
@@ -1070,10 +1070,10 @@ display: block;
1070
1070
  }
1071
1071
  .resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}
1072
1072
 
1073
- .selectinput[data-v-39ae2ac8] {
1073
+ .selectinput[data-v-49c80f47] {
1074
1074
  width: 100%;
1075
1075
  }
1076
- .selectinput-option[data-v-39ae2ac8] {
1076
+ .selectinput-option[data-v-49c80f47] {
1077
1077
  padding: 6px 12px;
1078
1078
  cursor: pointer;
1079
1079
  border-radius: 5px;
@@ -1084,14 +1084,14 @@ display: block;
1084
1084
  width: 100%;
1085
1085
  font-size: var(--input-font-size);
1086
1086
  }
1087
- .selectinput-options[data-v-39ae2ac8] {
1087
+ .selectinput-options[data-v-49c80f47] {
1088
1088
  max-height: 300px;
1089
1089
  overflow-y: auto;
1090
1090
  }
1091
- .selectinput-option[data-v-39ae2ac8]:hover {
1091
+ .selectinput-option[data-v-49c80f47]:hover {
1092
1092
  background: var(--bgl-gray-20);
1093
1093
  }
1094
- .isEmpty p[data-v-39ae2ac8] {
1094
+ .isEmpty p[data-v-49c80f47] {
1095
1095
  opacity: 0.3;
1096
1096
  }
1097
1097
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/vue",
3
3
  "type": "module",
4
- "version": "0.0.437",
4
+ "version": "0.0.439",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Neveh Allon",
@@ -73,16 +73,28 @@ const loading = $ref(true);
73
73
  const props = defineProps<{
74
74
  data: any[];
75
75
  schema?: BglFormSchemaT | (() => BglFormSchemaT);
76
+ showFields?: string[];
76
77
  }>();
77
78
 
78
79
  const computedSchema = $computed(() => {
79
80
  if (typeof props.schema === 'function') {
80
81
  return props.schema();
81
82
  }
82
- if (props.schema) return props.schema;
83
- const keys = [...new Set((props.data || []).map(Object.keys).flat())] as string[];
84
- const schema: BglFormSchemaT = keys.map((id) => ({ id, label: keyToLabel(id) }));
85
- return schema;
83
+ if (props.schema) {
84
+ return props.showFields
85
+ ? props.schema.filter((f) => props.showFields?.includes(f.id as string))
86
+ : props.schema;
87
+ }
88
+ const keys = [
89
+ ...new Set((props.data || []).map(Object.keys).flat()),
90
+ ] as string[];
91
+ const schema: BglFormSchemaT = keys.map((id) => ({
92
+ id,
93
+ label: keyToLabel(id),
94
+ }));
95
+ return props.showFields
96
+ ? schema.filter((f) => props.showFields?.includes(f.id as string) || !f.id)
97
+ : schema;
86
98
  });
87
99
 
88
100
  const emit = defineEmits(['select', 'orderBy']);
@@ -16,9 +16,13 @@
16
16
  class="selectinput-btn"
17
17
  :class="{ isEmpty: selectedItems.length === 0 }"
18
18
  >
19
- <p>{{ selectedLabel }}</p>
19
+ <Icon v-if="icon" :icon="icon" />
20
+ <p v-if="!hideLabel">
21
+ {{ selectedLabel }}
22
+ </p>
20
23
  <Icon
21
24
  v-if="!disabled"
25
+ thin
22
26
  v-bind="{ icon: open ? 'unfold_less' : 'unfold_more' }"
23
27
  />
24
28
  </button>
@@ -29,7 +33,7 @@
29
33
  @input="updateOpen(true)"
30
34
  :value="selectedItems"
31
35
  required
32
- >
36
+ />
33
37
  </label>
34
38
  <template #popper>
35
39
  <Card
@@ -71,7 +75,7 @@
71
75
  import { watch } from 'vue';
72
76
  import { Dropdown } from 'floating-vue';
73
77
  import 'floating-vue/style.css';
74
- import { TextInput, Card, Icon } from '@bagelink/vue';
78
+ import { TextInput, Card, Icon, type MaterialIcons } from '@bagelink/vue';
75
79
 
76
80
  type Option =
77
81
  | string
@@ -91,6 +95,8 @@ const props = defineProps<{
91
95
  label?: string;
92
96
  fullWidth?: boolean;
93
97
  multiselect?: boolean;
98
+ icon?: MaterialIcons;
99
+ hideLabel?: boolean;
94
100
  }>();
95
101
 
96
102
  let selectedItems = $ref<Option[]>([]);
@@ -144,19 +150,22 @@ const getValue = (option?: Option) => {
144
150
  return option.value;
145
151
  };
146
152
 
147
- const isSelected = (option: Option) => !!selectedItems.find((item) => getValue(option) === getValue(item));
148
-
149
- const filteredOptions = $computed(() => props.options.filter((option) => {
150
- const searchTerm = search
151
- .split(/\s+/)
152
- .filter(Boolean)
153
- .map((t) => new RegExp(t, 'gi'));
154
- return (
155
- Boolean(option) &&
153
+ const isSelected = (option: Option) =>
154
+ !!selectedItems.find((item) => getValue(option) === getValue(item));
155
+
156
+ const filteredOptions = $computed(() =>
157
+ props.options.filter((option) => {
158
+ const searchTerm = search
159
+ .split(/\s+/)
160
+ .filter(Boolean)
161
+ .map((t) => new RegExp(t, 'gi'));
162
+ return (
163
+ Boolean(option) &&
156
164
  (searchTerm.every((s) => getLabel(option).match(s)) ||
157
165
  searchTerm.length === 0)
158
- );
159
- }));
166
+ );
167
+ }),
168
+ );
160
169
 
161
170
  const select = (option: Option) => {
162
171
  const existingIndex = selectedItems.findIndex(