@ldmjs/ui 1.0.0-dev-19 → 1.0.0-dev-20

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/index.js CHANGED
@@ -2548,7 +2548,6 @@ class ValidatableMixin extends external_vue_property_decorator_.Vue {
2548
2548
  super(...arguments);
2549
2549
  this.myRules = [];
2550
2550
  this.validationMessage = '';
2551
- this.errorBucket = [];
2552
2551
  this.uid = uidGen(6, '0-9');
2553
2552
  }
2554
2553
  onRulesChanged(newVal) {
@@ -3333,7 +3332,6 @@ let DatepickerComponent = class DatepickerComponent extends (0,external_vue_clas
3333
3332
  this.timeMenu = false;
3334
3333
  this.event = null;
3335
3334
  this.validationMesssage = '';
3336
- this.errorBucket = [];
3337
3335
  this.errorsHandler = [];
3338
3336
  this.isHours = true;
3339
3337
  this.isMinutes = false;
@@ -3410,7 +3408,6 @@ let DatepickerComponent = class DatepickerComponent extends (0,external_vue_clas
3410
3408
  if (this.form) {
3411
3409
  this.form.register(this, null);
3412
3410
  }
3413
- this.fullErrorBucket();
3414
3411
  }
3415
3412
  unmounted() {
3416
3413
  window.removeEventListener('wheel', this.datepickerScrollHandler);
@@ -3695,30 +3692,17 @@ let DatepickerComponent = class DatepickerComponent extends (0,external_vue_clas
3695
3692
  dt.setSeconds(0);
3696
3693
  this.emitInput(dt);
3697
3694
  }
3698
- /** Функции, отвечающие за работу валидации */
3699
3695
  validate() {
3700
- this.errorBucket = [];
3701
3696
  let funcResult = null;
3702
3697
  this.validationMesssage = '';
3703
3698
  this.validRules.forEach(func => {
3704
3699
  funcResult = func(this.date);
3705
3700
  if (funcResult !== true) {
3706
3701
  this.validationMesssage = funcResult;
3707
- this.errorBucket.push(funcResult);
3708
3702
  }
3709
3703
  });
3710
3704
  return !this.validationMesssage;
3711
3705
  }
3712
- fullErrorBucket() {
3713
- this.errorBucket = [];
3714
- let funcResult = null;
3715
- this.validRules.forEach(func => {
3716
- funcResult = func(this.date);
3717
- if (funcResult !== true) {
3718
- this.errorBucket.push(funcResult);
3719
- }
3720
- });
3721
- }
3722
3706
  async setTimeMask() {
3723
3707
  if (this.isMobileGlobal) {
3724
3708
  return;
@@ -4517,33 +4501,33 @@ function ld_page_toolbar_reg(vue, options) {
4517
4501
  }
4518
4502
  /* harmony default export */ const src_ld_page_toolbar = (ld_page_toolbar_reg);
4519
4503
 
4520
- ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ld-select-list-box/ld-select-list-box.vue?vue&type=template&id=1cac121a&scoped=true&ts=true
4504
+ ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ld-select-list-box/ld-select-list-box.vue?vue&type=template&id=f07bf04a&scoped=true&ts=true
4521
4505
 
4522
- const ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_withScopeId = n => (_pushScopeId("data-v-1cac121a"), n = n(), _popScopeId(), n);
4523
- const ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_hoisted_1 = { class: "text-crop" };
4524
- const ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_hoisted_2 = {
4506
+ const ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_withScopeId = n => (_pushScopeId("data-v-f07bf04a"), n = n(), _popScopeId(), n);
4507
+ const ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_hoisted_1 = { class: "text-crop" };
4508
+ const ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_hoisted_2 = {
4525
4509
  key: 0,
4526
4510
  class: "d-flex align-center"
4527
4511
  };
4528
- const ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_hoisted_3 = { class: "d-flex flex-column justify-center" };
4529
- const ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_hoisted_4 = {
4512
+ const ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_hoisted_3 = { class: "d-flex flex-column justify-center" };
4513
+ const ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_hoisted_4 = {
4530
4514
  key: 0,
4531
4515
  class: "grey--text",
4532
4516
  style: { "font-size": "var(--font-size--1)" }
4533
4517
  };
4534
- const ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_hoisted_5 = {
4535
- key: 0,
4536
- class: "select-list-textbox-loading"
4518
+ const ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_hoisted_5 = {
4519
+ key: 1,
4520
+ class: "select-list-box-loading"
4537
4521
  };
4538
- const ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_hoisted_6 = {
4522
+ const ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_hoisted_6 = {
4539
4523
  key: 0,
4540
- class: "select-list-textbox-validate"
4524
+ class: "select-list-box-validate"
4541
4525
  };
4542
4526
  const _hoisted_7 = {
4543
4527
  key: 0,
4544
4528
  class: "select-list-textbox-validate"
4545
4529
  };
4546
- function ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
4530
+ function ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
4547
4531
  const _component_ld_label = (0,external_vue_.resolveComponent)("ld-label");
4548
4532
  const _component_small_chip = (0,external_vue_.resolveComponent)("small-chip");
4549
4533
  const _component_v_col = (0,external_vue_.resolveComponent)("v-col");
@@ -4610,7 +4594,11 @@ function ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_ren
4610
4594
  onSearchChange: _ctx.getItems
4611
4595
  }, {
4612
4596
  tag: (0,external_vue_.withCtx)(({ option }) => [
4613
- (0,external_vue_.renderSlot)(_ctx.$slots, "tag", (0,external_vue_.normalizeProps)((0,external_vue_.guardReactiveProps)({ item: option, onRemove: _ctx.onRemoveItem })), () => [
4597
+ (0,external_vue_.renderSlot)(_ctx.$slots, "tag", (0,external_vue_.normalizeProps)((0,external_vue_.guardReactiveProps)({
4598
+ item: option,
4599
+ onRemove: _ctx.onRemoveItem,
4600
+ canRemove: _ctx.canRemove,
4601
+ })), () => [
4614
4602
  ((0,external_vue_.openBlock)(), (0,external_vue_.createBlock)(_component_small_chip, {
4615
4603
  key: JSON.stringify(option),
4616
4604
  color: _ctx.disabled ? 'grey' : 'primary',
@@ -4618,7 +4606,7 @@ function ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_ren
4618
4606
  "onClick:close": ($event) => (_ctx.onRemoveItem(option))
4619
4607
  }, {
4620
4608
  default: (0,external_vue_.withCtx)(() => [
4621
- (0,external_vue_.createElementVNode)("span", ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_hoisted_1, (0,external_vue_.toDisplayString)(_ctx.$utils.deepValueGetter(option, this.itemTitle)), 1)
4609
+ (0,external_vue_.createElementVNode)("span", ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_hoisted_1, (0,external_vue_.toDisplayString)(_ctx.$utils.deepValueGetter(option, this.itemTitle)), 1)
4622
4610
  ]),
4623
4611
  _: 2
4624
4612
  }, 1032, ["color", "closable", "onClick:close"]))
@@ -4633,7 +4621,7 @@ function ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_ren
4633
4621
  (0,external_vue_.createVNode)(_component_v_col, { class: "d-flex align-center" }, {
4634
4622
  default: (0,external_vue_.withCtx)(() => [
4635
4623
  (_ctx.multiselect)
4636
- ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_hoisted_2, [
4624
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_hoisted_2, [
4637
4625
  ((0,external_vue_.openBlock)(), (0,external_vue_.createBlock)((0,external_vue_.resolveDynamicComponent)(_ctx.$ldmui.options.aliases['ld-checkbox']), {
4638
4626
  key: JSON.stringify(option),
4639
4627
  "model-value": _ctx.checkedItems,
@@ -4648,13 +4636,13 @@ function ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_ren
4648
4636
  }, [
4649
4637
  (0,external_vue_.renderSlot)(_ctx.$slots, "option-icon", (0,external_vue_.normalizeProps)((0,external_vue_.guardReactiveProps)({ item: option, isSelected: _ctx.checkedItems.includes(_ctx.itemIdentity(option)) })), undefined, true),
4650
4638
  (0,external_vue_.createTextVNode)(),
4651
- (0,external_vue_.createElementVNode)("div", ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_hoisted_3, [
4639
+ (0,external_vue_.createElementVNode)("div", ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_hoisted_3, [
4652
4640
  (0,external_vue_.renderSlot)(_ctx.$slots, "option", (0,external_vue_.normalizeProps)((0,external_vue_.guardReactiveProps)({ item: option, isSelected: _ctx.checkedItems.includes(_ctx.itemIdentity(option)) })), () => [
4653
4641
  (0,external_vue_.createElementVNode)("div", null, (0,external_vue_.toDisplayString)(_ctx.$utils.deepValueGetter(option, _ctx.itemTitle)), 1)
4654
4642
  ], true),
4655
4643
  (0,external_vue_.createTextVNode)(),
4656
4644
  (_ctx.optionHint)
4657
- ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_hoisted_4, [
4645
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_hoisted_4, [
4658
4646
  (0,external_vue_.renderSlot)(_ctx.$slots, "option-hint", (0,external_vue_.normalizeProps)((0,external_vue_.guardReactiveProps)({ item: option })), () => [
4659
4647
  (0,external_vue_.createTextVNode)("\r\n no slot \"option-hint\" found\r\n ")
4660
4648
  ], true)
@@ -4675,29 +4663,32 @@ function ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_ren
4675
4663
  _: 3
4676
4664
  }, 8, ["modelValue", "multiple", "placeholder", "options", "internal-search", "close-on-select", "disabled", "limit", "tabindex", "allowEmpty", "onClose", "onSearchChange", "onUpdate:modelValue"]),
4677
4665
  (0,external_vue_.createTextVNode)(),
4678
- (0,external_vue_.createVNode)(_component_square_button, {
4679
- variant: "outlined",
4680
- id: "selectButton",
4681
- color: "grey",
4682
- disabled: _ctx.readonly || _ctx.disabled || _ctx.disableDialog,
4683
- loading: _ctx.loading,
4684
- onClick: _ctx.onSelect
4685
- }, {
4686
- default: (0,external_vue_.withCtx)(() => [
4687
- ((0,external_vue_.openBlock)(), (0,external_vue_.createBlock)((0,external_vue_.resolveDynamicComponent)(_ctx.$ldmui.options.aliases['ld-icon']), {
4688
- color: _ctx.validationMessage && !_ctx.readonly && !_ctx.disabled ? 'error' : 'grey'
4689
- }, {
4690
- default: (0,external_vue_.withCtx)(() => [
4691
- (0,external_vue_.createTextVNode)((0,external_vue_.toDisplayString)(_ctx.icon), 1)
4692
- ]),
4693
- _: 1
4694
- }, 8, ["color"]))
4695
- ]),
4696
- _: 1
4697
- }, 8, ["disabled", "loading", "onClick"]),
4666
+ (!_ctx.disableDialog)
4667
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createBlock)(_component_square_button, {
4668
+ key: 0,
4669
+ variant: "outlined",
4670
+ id: "selectButton",
4671
+ color: "grey",
4672
+ disabled: _ctx.readonly || _ctx.disabled,
4673
+ loading: _ctx.loading,
4674
+ onClick: _ctx.onSelect
4675
+ }, {
4676
+ default: (0,external_vue_.withCtx)(() => [
4677
+ ((0,external_vue_.openBlock)(), (0,external_vue_.createBlock)((0,external_vue_.resolveDynamicComponent)(_ctx.$ldmui.options.aliases['ld-icon']), {
4678
+ color: _ctx.validationMessage && !_ctx.readonly && !_ctx.disabled ? 'error' : 'grey'
4679
+ }, {
4680
+ default: (0,external_vue_.withCtx)(() => [
4681
+ (0,external_vue_.createTextVNode)((0,external_vue_.toDisplayString)(_ctx.icon), 1)
4682
+ ]),
4683
+ _: 1
4684
+ }, 8, ["color"]))
4685
+ ]),
4686
+ _: 1
4687
+ }, 8, ["disabled", "loading", "onClick"]))
4688
+ : (0,external_vue_.createCommentVNode)("", true),
4698
4689
  (0,external_vue_.createTextVNode)(),
4699
4690
  (_ctx.loading)
4700
- ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_hoisted_5))
4691
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_hoisted_5))
4701
4692
  : (0,external_vue_.createCommentVNode)("", true)
4702
4693
  ]),
4703
4694
  _: 3
@@ -4707,7 +4698,7 @@ function ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_ren
4707
4698
  }),
4708
4699
  (0,external_vue_.createTextVNode)(),
4709
4700
  (!_ctx.hideDetails)
4710
- ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_hoisted_6, [
4701
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_hoisted_6, [
4711
4702
  (0,external_vue_.createVNode)(external_vue_.Transition, { name: "squash" }, {
4712
4703
  default: (0,external_vue_.withCtx)(() => [
4713
4704
  (_ctx.showHint)
@@ -4759,11 +4750,52 @@ function ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_ren
4759
4750
  }));
4760
4751
  }
4761
4752
 
4762
- ;// CONCATENATED MODULE: ./src/ld-select-list-box/ld-select-list-box.vue?vue&type=template&id=1cac121a&scoped=true&ts=true
4753
+ ;// CONCATENATED MODULE: ./src/ld-select-list-box/ld-select-list-box.vue?vue&type=template&id=f07bf04a&scoped=true&ts=true
4763
4754
 
4764
4755
  // EXTERNAL MODULE: external "./multiselect.js"
4765
4756
  var external_multiselect_js_ = __webpack_require__(9225);
4766
4757
  var external_multiselect_js_default = /*#__PURE__*/__webpack_require__.n(external_multiselect_js_);
4758
+ // EXTERNAL MODULE: external "./floating.js"
4759
+ var external_floating_js_ = __webpack_require__(3654);
4760
+ ;// CONCATENATED MODULE: ./src/mixins/floatingUI.mixin.ts
4761
+
4762
+
4763
+ class FloatingUI extends external_vue_class_component_.Vue {
4764
+ mounted() {
4765
+ this.addPosWatcher();
4766
+ }
4767
+ beforeUnmount() {
4768
+ this.removePosWatcher();
4769
+ }
4770
+ addPosWatcher() {
4771
+ const referenceEl = this.$refs.multiselect.$el;
4772
+ const dropdownEl = referenceEl.querySelector('.multiselect__content-wrapper');
4773
+ if (!dropdownEl || !referenceEl || !window.ResizeObserver) {
4774
+ return;
4775
+ }
4776
+ FloatingUI.CleanupPosWatcher = (0,external_floating_js_.autoUpdate)(referenceEl, dropdownEl, async () => {
4777
+ const { y, strategy } = await (0,external_floating_js_.computePosition)(referenceEl, dropdownEl, {
4778
+ strategy: 'fixed',
4779
+ middleware: [
4780
+ (0,external_floating_js_.autoPlacement)({
4781
+ allowedPlacements: ['top', 'bottom'],
4782
+ }),
4783
+ ],
4784
+ });
4785
+ dropdownEl.style.position = strategy;
4786
+ dropdownEl.style.top = `${y}px`;
4787
+ dropdownEl.style.maxWidth = `${referenceEl.clientWidth}px`;
4788
+ });
4789
+ }
4790
+ removePosWatcher() {
4791
+ if (FloatingUI.CleanupPosWatcher) {
4792
+ FloatingUI.CleanupPosWatcher();
4793
+ }
4794
+ FloatingUI.CleanupPosWatcher = null;
4795
+ }
4796
+ }
4797
+ FloatingUI.CleanupPosWatcher = null;
4798
+
4767
4799
  ;// CONCATENATED MODULE: ./node_modules/lodash-es/_listCacheClear.js
4768
4800
  /**
4769
4801
  * Removes all key-value entries from the list cache.
@@ -7049,52 +7081,6 @@ function isEqual(value, other) {
7049
7081
 
7050
7082
  /* harmony default export */ const lodash_es_isEqual = (isEqual);
7051
7083
 
7052
- // EXTERNAL MODULE: external "./floating.js"
7053
- var external_floating_js_ = __webpack_require__(3654);
7054
- ;// CONCATENATED MODULE: ./src/ld-select-list-box/floatingUI.mixin.ts
7055
-
7056
-
7057
- class FloatingUI extends external_vue_class_component_.Vue {
7058
- constructor() {
7059
- super(...arguments);
7060
- this.cleanupPosWatcher = null;
7061
- }
7062
- mounted() {
7063
- this.addPosWatcher();
7064
- }
7065
- beforeUnmount() {
7066
- this.removePosWatcher();
7067
- }
7068
- addPosWatcher() {
7069
- const referenceEl = this.$refs.multiselect.$el;
7070
- const dropdownEl = referenceEl.querySelector('.multiselect__content-wrapper');
7071
- if (!dropdownEl || !referenceEl || !window.ResizeObserver) {
7072
- return;
7073
- }
7074
- this.cleanupPosWatcher = (0,external_floating_js_.autoUpdate)(referenceEl, dropdownEl, async () => {
7075
- const { y, strategy } = await (0,external_floating_js_.computePosition)(referenceEl, dropdownEl, {
7076
- strategy: 'fixed',
7077
- middleware: [
7078
- (0,external_floating_js_.autoPlacement)({
7079
- allowedPlacements: ['top', 'bottom'],
7080
- }),
7081
- ],
7082
- });
7083
- Object.assign(dropdownEl.style, {
7084
- top: `${y}px`,
7085
- position: strategy,
7086
- 'max-width': `${referenceEl.clientWidth}px`,
7087
- });
7088
- });
7089
- }
7090
- removePosWatcher() {
7091
- if (this.cleanupPosWatcher) {
7092
- this.cleanupPosWatcher();
7093
- }
7094
- this.cleanupPosWatcher = null;
7095
- }
7096
- }
7097
-
7098
7084
  ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./src/ld-select-list-box/ld-select-list-box.ts?vue&type=script&lang=ts&external
7099
7085
  var ld_select_list_boxvue_type_script_lang_ts_external_decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
7100
7086
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -7184,15 +7170,6 @@ let SelectListBoxComponent = class SelectListBoxComponent extends (0,external_vu
7184
7170
  this.loading = false;
7185
7171
  }
7186
7172
  }
7187
- async onShowInputChange(newVal) {
7188
- if (newVal && !this.cleanupPosWatcher) {
7189
- await this.$nextTick();
7190
- this.addPosWatcher();
7191
- }
7192
- else {
7193
- this.removePosWatcher();
7194
- }
7195
- }
7196
7173
  created() {
7197
7174
  this.messagesBucket = {
7198
7175
  ...this.messagesBucket,
@@ -7203,7 +7180,6 @@ let SelectListBoxComponent = class SelectListBoxComponent extends (0,external_vu
7203
7180
  if (this.form) {
7204
7181
  this.form.register(this, null);
7205
7182
  }
7206
- this.fullErrorBucket();
7207
7183
  }
7208
7184
  mounted() {
7209
7185
  if (this.autofocus) {
@@ -7236,6 +7212,9 @@ let SelectListBoxComponent = class SelectListBoxComponent extends (0,external_vu
7236
7212
  }
7237
7213
  }
7238
7214
  else {
7215
+ if (!this.hasItems) {
7216
+ await this.fetchData();
7217
+ }
7239
7218
  this.optionsList = this.filterOptions(searchTerm);
7240
7219
  }
7241
7220
  }
@@ -7255,7 +7234,7 @@ let SelectListBoxComponent = class SelectListBoxComponent extends (0,external_vu
7255
7234
  }
7256
7235
  }
7257
7236
  validate() {
7258
- this.errorBucket = [];
7237
+ this.validationMessage = '';
7259
7238
  let funcResult = true;
7260
7239
  if (this.required) {
7261
7240
  funcResult = requiredRule()(this.selectedToArray);
@@ -7268,27 +7247,18 @@ let SelectListBoxComponent = class SelectListBoxComponent extends (0,external_vu
7268
7247
  funcResult = func(this.selectedToArray);
7269
7248
  if (funcResult !== true) {
7270
7249
  this.validationMessage = funcResult;
7271
- if (!this.selected)
7272
- this.errorBucket.push(funcResult);
7273
7250
  }
7274
7251
  });
7275
7252
  return !this.validationMessage;
7276
7253
  }
7277
- fullErrorBucket() {
7278
- this.errorBucket = [];
7279
- let funcResult = null;
7280
- this.validRules.forEach(func => {
7281
- funcResult = func(this.selectedToArray);
7282
- if (funcResult !== true) {
7283
- this.errorBucket.push(funcResult);
7284
- }
7285
- });
7286
- }
7287
7254
  onInput() {
7288
7255
  this.$nextTick(() => {
7289
7256
  this.checkedItems = [...this.selectedIds];
7290
7257
  });
7291
7258
  this.emitUpdate();
7259
+ if (this.required) {
7260
+ this.validate();
7261
+ }
7292
7262
  }
7293
7263
  onCheckItem(checked, item) {
7294
7264
  if (Array.isArray(this.selected)) {
@@ -7320,6 +7290,9 @@ let SelectListBoxComponent = class SelectListBoxComponent extends (0,external_vu
7320
7290
  this.readedItems = await this.handlers.fetchData();
7321
7291
  }
7322
7292
  }
7293
+ get hasItems() {
7294
+ return this.readedItems.length > 0;
7295
+ }
7323
7296
  get showHint() {
7324
7297
  return this.validationMessage || Boolean(this.inputHint && this.persistentHint);
7325
7298
  }
@@ -7333,7 +7306,7 @@ let SelectListBoxComponent = class SelectListBoxComponent extends (0,external_vu
7333
7306
  return this.validationMessage ? this.validationMessage : this.inputHint;
7334
7307
  }
7335
7308
  get hasError() {
7336
- return Boolean(this.validationMessage) || this.errorBucket.length > 0;
7309
+ return Boolean(this.validationMessage);
7337
7310
  }
7338
7311
  get singeItem() {
7339
7312
  return this.toSingleItem(this.selected);
@@ -7347,9 +7320,6 @@ let SelectListBoxComponent = class SelectListBoxComponent extends (0,external_vu
7347
7320
  }
7348
7321
  return this.selectedToArray.map(item => this.itemIdentity(item));
7349
7322
  }
7350
- get showInput() {
7351
- return this.multiselect || !this.selectedIds.length;
7352
- }
7353
7323
  get canRemove() {
7354
7324
  const result = !this.readonly && !this.disabled;
7355
7325
  if (!result) {
@@ -7448,10 +7418,6 @@ ld_select_list_boxvue_type_script_lang_ts_external_decorate([
7448
7418
  (0,external_vue_property_decorator_.Prop)({ type: Boolean, default: true }),
7449
7419
  ld_select_list_boxvue_type_script_lang_ts_external_metadata("design:type", Boolean)
7450
7420
  ], SelectListBoxComponent.prototype, "allowEmpty", void 0);
7451
- ld_select_list_boxvue_type_script_lang_ts_external_decorate([
7452
- (0,external_vue_property_decorator_.Prop)({ type: Boolean, default: false }),
7453
- ld_select_list_boxvue_type_script_lang_ts_external_metadata("design:type", Boolean)
7454
- ], SelectListBoxComponent.prototype, "setFocus", void 0);
7455
7421
  ld_select_list_boxvue_type_script_lang_ts_external_decorate([
7456
7422
  (0,external_vue_property_decorator_.Prop)({ default: () => ({}) }),
7457
7423
  ld_select_list_boxvue_type_script_lang_ts_external_metadata("design:type", Object)
@@ -7496,12 +7462,6 @@ ld_select_list_boxvue_type_script_lang_ts_external_decorate([
7496
7462
  ld_select_list_boxvue_type_script_lang_ts_external_metadata("design:paramtypes", [Object]),
7497
7463
  ld_select_list_boxvue_type_script_lang_ts_external_metadata("design:returntype", Promise)
7498
7464
  ], SelectListBoxComponent.prototype, "onValueChanged", null);
7499
- ld_select_list_boxvue_type_script_lang_ts_external_decorate([
7500
- (0,external_vue_property_decorator_.Watch)('showInput'),
7501
- ld_select_list_boxvue_type_script_lang_ts_external_metadata("design:type", Function),
7502
- ld_select_list_boxvue_type_script_lang_ts_external_metadata("design:paramtypes", [Boolean]),
7503
- ld_select_list_boxvue_type_script_lang_ts_external_metadata("design:returntype", Promise)
7504
- ], SelectListBoxComponent.prototype, "onShowInputChange", null);
7505
7465
  SelectListBoxComponent = ld_select_list_boxvue_type_script_lang_ts_external_decorate([
7506
7466
  (0,external_vue_property_decorator_.Options)({
7507
7467
  components: {
@@ -7522,7 +7482,7 @@ SelectListBoxComponent = ld_select_list_boxvue_type_script_lang_ts_external_deco
7522
7482
  ;
7523
7483
 
7524
7484
 
7525
- const ld_select_list_box_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(ld_select_list_boxvue_type_script_lang_ts_external, [['render',ld_select_list_boxvue_type_template_id_1cac121a_scoped_true_ts_true_render],['__scopeId',"data-v-1cac121a"]])
7485
+ const ld_select_list_box_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(ld_select_list_boxvue_type_script_lang_ts_external, [['render',ld_select_list_boxvue_type_template_id_f07bf04a_scoped_true_ts_true_render],['__scopeId',"data-v-f07bf04a"]])
7526
7486
 
7527
7487
  /* harmony default export */ const ld_select_list_box = (ld_select_list_box_exports_);
7528
7488
  ;// CONCATENATED MODULE: ./src/ld-select-list-box/index.ts
@@ -7791,20 +7751,20 @@ function ld_checkbox_reg(vue, options) {
7791
7751
  }
7792
7752
  /* harmony default export */ const src_ld_checkbox = (ld_checkbox_reg);
7793
7753
 
7794
- ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ld-radiobutton/ld-radiobutton.vue?vue&type=template&id=5bb8c592&scoped=true&ts=true
7754
+ ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ld-radiobutton/ld-radiobutton.vue?vue&type=template&id=2d8a7abd&scoped=true&ts=true
7795
7755
 
7796
- const ld_radiobuttonvue_type_template_id_5bb8c592_scoped_true_ts_true_withScopeId = n => (_pushScopeId("data-v-5bb8c592"), n = n(), _popScopeId(), n);
7797
- const ld_radiobuttonvue_type_template_id_5bb8c592_scoped_true_ts_true_hoisted_1 = {
7756
+ const ld_radiobuttonvue_type_template_id_2d8a7abd_scoped_true_ts_true_withScopeId = n => (_pushScopeId("data-v-2d8a7abd"), n = n(), _popScopeId(), n);
7757
+ const ld_radiobuttonvue_type_template_id_2d8a7abd_scoped_true_ts_true_hoisted_1 = {
7798
7758
  key: 1,
7799
7759
  class: "text-color w-auto",
7800
7760
  style: {}
7801
7761
  };
7802
- const ld_radiobuttonvue_type_template_id_5bb8c592_scoped_true_ts_true_hoisted_2 = {
7762
+ const ld_radiobuttonvue_type_template_id_2d8a7abd_scoped_true_ts_true_hoisted_2 = {
7803
7763
  class: "mr-1 d-flex flex-grow-0 align-center",
7804
7764
  style: { "max-width": "100%" }
7805
7765
  };
7806
- const ld_radiobuttonvue_type_template_id_5bb8c592_scoped_true_ts_true_hoisted_3 = ["value", "id", "disabled", "checked"];
7807
- function ld_radiobuttonvue_type_template_id_5bb8c592_scoped_true_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
7766
+ const ld_radiobuttonvue_type_template_id_2d8a7abd_scoped_true_ts_true_hoisted_3 = ["value", "id", "disabled", "checked"];
7767
+ function ld_radiobuttonvue_type_template_id_2d8a7abd_scoped_true_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
7808
7768
  const _component_v_tooltip = (0,external_vue_.resolveComponent)("v-tooltip");
7809
7769
  return ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", {
7810
7770
  class: (0,external_vue_.normalizeClass)(["ld-radiobutton", {
@@ -7833,15 +7793,15 @@ function ld_radiobuttonvue_type_template_id_5bb8c592_scoped_true_ts_true_render(
7833
7793
  ]),
7834
7794
  _: 1
7835
7795
  }))
7836
- : ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("span", ld_radiobuttonvue_type_template_id_5bb8c592_scoped_true_ts_true_hoisted_1, (0,external_vue_.toDisplayString)(_ctx.label), 1))
7796
+ : ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("span", ld_radiobuttonvue_type_template_id_2d8a7abd_scoped_true_ts_true_hoisted_1, (0,external_vue_.toDisplayString)(_ctx.label), 1))
7837
7797
  ]),
7838
7798
  (0,external_vue_.createTextVNode)(),
7839
- (0,external_vue_.createElementVNode)("div", ld_radiobuttonvue_type_template_id_5bb8c592_scoped_true_ts_true_hoisted_2, [
7799
+ (0,external_vue_.createElementVNode)("div", ld_radiobuttonvue_type_template_id_2d8a7abd_scoped_true_ts_true_hoisted_2, [
7840
7800
  (0,external_vue_.createElementVNode)("input", {
7841
7801
  ref: "radioInput",
7842
7802
  type: "radio",
7843
7803
  style: { "height": "var(--font-size)" },
7844
- class: (0,external_vue_.normalizeClass)({ checked: _ctx.isActive }),
7804
+ class: (0,external_vue_.normalizeClass)({ checked: _ctx.isActive, 'cursor-pointer': !_ctx.isDisabled }),
7845
7805
  value: _ctx.value,
7846
7806
  id: `radiobutton-${_ctx.uid}`,
7847
7807
  disabled: _ctx.isDisabled,
@@ -7850,12 +7810,12 @@ function ld_radiobuttonvue_type_template_id_5bb8c592_scoped_true_ts_true_render(
7850
7810
  onBlur: _cache[2] || (_cache[2] =
7851
7811
  //@ts-ignore
7852
7812
  (...args) => (_ctx.emitBlur && _ctx.emitBlur(...args)))
7853
- }, null, 42, ld_radiobuttonvue_type_template_id_5bb8c592_scoped_true_ts_true_hoisted_3)
7813
+ }, null, 42, ld_radiobuttonvue_type_template_id_2d8a7abd_scoped_true_ts_true_hoisted_3)
7854
7814
  ])
7855
7815
  ], 2));
7856
7816
  }
7857
7817
 
7858
- ;// CONCATENATED MODULE: ./src/ld-radiobutton/ld-radiobutton.vue?vue&type=template&id=5bb8c592&scoped=true&ts=true
7818
+ ;// CONCATENATED MODULE: ./src/ld-radiobutton/ld-radiobutton.vue?vue&type=template&id=2d8a7abd&scoped=true&ts=true
7859
7819
 
7860
7820
  ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./src/ld-radiobutton/ld-radiobutton.ts?vue&type=script&lang=ts&external
7861
7821
  var ld_radiobuttonvue_type_script_lang_ts_external_decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -7950,7 +7910,7 @@ ld_radiobuttonvue_type_script_lang_ts_external_decorate([
7950
7910
  ;
7951
7911
 
7952
7912
 
7953
- const ld_radiobutton_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(RadiobuttonComponent, [['render',ld_radiobuttonvue_type_template_id_5bb8c592_scoped_true_ts_true_render],['__scopeId',"data-v-5bb8c592"]])
7913
+ const ld_radiobutton_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(RadiobuttonComponent, [['render',ld_radiobuttonvue_type_template_id_2d8a7abd_scoped_true_ts_true_render],['__scopeId',"data-v-2d8a7abd"]])
7954
7914
 
7955
7915
  /* harmony default export */ const ld_radiobutton = (ld_radiobutton_exports_);
7956
7916
  ;// CONCATENATED MODULE: ./src/ld-radiobutton/index.ts
@@ -7960,22 +7920,22 @@ function ld_radiobutton_reg(vue, options) {
7960
7920
  }
7961
7921
  /* harmony default export */ const src_ld_radiobutton = (ld_radiobutton_reg);
7962
7922
 
7963
- ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ld-radiogroup/ld-radiogroup.vue?vue&type=template&id=0aee9d13&scoped=true&ts=true
7923
+ ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ld-radiogroup/ld-radiogroup.vue?vue&type=template&id=1c1e9efc&scoped=true&ts=true
7964
7924
 
7965
- const ld_radiogroupvue_type_template_id_0aee9d13_scoped_true_ts_true_withScopeId = n => (_pushScopeId("data-v-0aee9d13"), n = n(), _popScopeId(), n);
7966
- const ld_radiogroupvue_type_template_id_0aee9d13_scoped_true_ts_true_hoisted_1 = {
7925
+ const ld_radiogroupvue_type_template_id_1c1e9efc_scoped_true_ts_true_withScopeId = n => (_pushScopeId("data-v-1c1e9efc"), n = n(), _popScopeId(), n);
7926
+ const ld_radiogroupvue_type_template_id_1c1e9efc_scoped_true_ts_true_hoisted_1 = {
7967
7927
  key: 1,
7968
7928
  class: "d-flex flex-wrap"
7969
7929
  };
7970
- const ld_radiogroupvue_type_template_id_0aee9d13_scoped_true_ts_true_hoisted_2 = {
7930
+ const ld_radiogroupvue_type_template_id_1c1e9efc_scoped_true_ts_true_hoisted_2 = {
7971
7931
  key: 2,
7972
7932
  class: "validate"
7973
7933
  };
7974
- const ld_radiogroupvue_type_template_id_0aee9d13_scoped_true_ts_true_hoisted_3 = {
7934
+ const ld_radiogroupvue_type_template_id_1c1e9efc_scoped_true_ts_true_hoisted_3 = {
7975
7935
  key: 0,
7976
7936
  class: "error--text"
7977
7937
  };
7978
- function ld_radiogroupvue_type_template_id_0aee9d13_scoped_true_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
7938
+ function ld_radiogroupvue_type_template_id_1c1e9efc_scoped_true_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
7979
7939
  const _component_ld_label = (0,external_vue_.resolveComponent)("ld-label");
7980
7940
  const _component_v_col = (0,external_vue_.resolveComponent)("v-col");
7981
7941
  const _component_v_row = (0,external_vue_.resolveComponent)("v-row");
@@ -8004,7 +7964,7 @@ function ld_radiogroupvue_type_template_id_0aee9d13_scoped_true_ts_true_render(_
8004
7964
  return ((0,external_vue_.openBlock)(), (0,external_vue_.createBlock)((0,external_vue_.resolveDynamicComponent)(_ctx.$ldmui.options.aliases['ld-radiobutton']), (0,external_vue_.normalizeProps)((0,external_vue_.guardReactiveProps)(el)), null, 16));
8005
7965
  }), 256))
8006
7966
  ], true)
8007
- : ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_radiogroupvue_type_template_id_0aee9d13_scoped_true_ts_true_hoisted_1, [
7967
+ : ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_radiogroupvue_type_template_id_1c1e9efc_scoped_true_ts_true_hoisted_1, [
8008
7968
  (0,external_vue_.renderSlot)(_ctx.$slots, "default", {}, () => [
8009
7969
  ((0,external_vue_.openBlock)(true), (0,external_vue_.createElementBlock)(external_vue_.Fragment, null, (0,external_vue_.renderList)(_ctx.values, (el) => {
8010
7970
  return ((0,external_vue_.openBlock)(), (0,external_vue_.createBlock)((0,external_vue_.resolveDynamicComponent)(_ctx.$ldmui.options.aliases['ld-radiobutton']), (0,external_vue_.normalizeProps)((0,external_vue_.guardReactiveProps)(el)), null, 16));
@@ -8013,11 +7973,11 @@ function ld_radiogroupvue_type_template_id_0aee9d13_scoped_true_ts_true_render(_
8013
7973
  ])),
8014
7974
  (0,external_vue_.createTextVNode)(),
8015
7975
  (!_ctx.hideDetails)
8016
- ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_radiogroupvue_type_template_id_0aee9d13_scoped_true_ts_true_hoisted_2, [
7976
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_radiogroupvue_type_template_id_1c1e9efc_scoped_true_ts_true_hoisted_2, [
8017
7977
  (0,external_vue_.createVNode)(external_vue_.Transition, { name: "squash" }, {
8018
7978
  default: (0,external_vue_.withCtx)(() => [
8019
7979
  (_ctx.hasError)
8020
- ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("span", ld_radiogroupvue_type_template_id_0aee9d13_scoped_true_ts_true_hoisted_3, (0,external_vue_.toDisplayString)(_ctx.validationMesssage), 1))
7980
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("span", ld_radiogroupvue_type_template_id_1c1e9efc_scoped_true_ts_true_hoisted_3, (0,external_vue_.toDisplayString)(_ctx.validationMessage), 1))
8021
7981
  : (0,external_vue_.createCommentVNode)("", true)
8022
7982
  ]),
8023
7983
  _: 1
@@ -8032,7 +7992,7 @@ function ld_radiogroupvue_type_template_id_0aee9d13_scoped_true_ts_true_render(_
8032
7992
  }, 8, ["class"]));
8033
7993
  }
8034
7994
 
8035
- ;// CONCATENATED MODULE: ./src/ld-radiogroup/ld-radiogroup.vue?vue&type=template&id=0aee9d13&scoped=true&ts=true
7995
+ ;// CONCATENATED MODULE: ./src/ld-radiogroup/ld-radiogroup.vue?vue&type=template&id=1c1e9efc&scoped=true&ts=true
8036
7996
 
8037
7997
  ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./src/ld-radiogroup/ld-radiogroup.ts?vue&type=script&lang=ts&external
8038
7998
  var ld_radiogroupvue_type_script_lang_ts_external_decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -8068,13 +8028,9 @@ let RadioGroupComponent = class RadioGroupComponent extends (0,external_vue_clas
8068
8028
  disabled: this.disabled,
8069
8029
  };
8070
8030
  this.radiogroup = null;
8071
- this.validationMessage = '';
8072
8031
  this.radios = [];
8073
8032
  this.internalValue = null;
8074
8033
  this.hasInput = false;
8075
- this.myRules = [];
8076
- this.errorBucket = [];
8077
- this.validationMesssage = '';
8078
8034
  this.showInputHint = false;
8079
8035
  }
8080
8036
  emitUpdateModelValue(value) {
@@ -8105,7 +8061,6 @@ let RadioGroupComponent = class RadioGroupComponent extends (0,external_vue_clas
8105
8061
  if (this.form) {
8106
8062
  this.form.register(this, null);
8107
8063
  }
8108
- this.fullErrorBucket();
8109
8064
  this.radiogroup = {
8110
8065
  onRadioChange: () => {
8111
8066
  this.emitUpdateModelValue(this.internalValue);
@@ -8143,14 +8098,12 @@ let RadioGroupComponent = class RadioGroupComponent extends (0,external_vue_clas
8143
8098
  }
8144
8099
  }
8145
8100
  validate() {
8146
- this.errorBucket = [];
8147
- this.validationMesssage = '';
8101
+ this.validationMessage = '';
8148
8102
  const validationResult = requiredRule()(String(this.modelValue));
8149
8103
  if (validationResult !== true) {
8150
- this.validationMesssage = validationResult;
8151
- this.errorBucket.push(validationResult);
8104
+ this.validationMessage = validationResult;
8152
8105
  }
8153
- return !this.validationMesssage;
8106
+ return !this.validationMessage;
8154
8107
  }
8155
8108
  setActiveRadio() {
8156
8109
  for (let index = this.radios.length; --index >= 0; index) {
@@ -8162,18 +8115,11 @@ let RadioGroupComponent = class RadioGroupComponent extends (0,external_vue_clas
8162
8115
  radio.isActive = this.internalValue == radio.value || lodash_es_isEqual(this.internalValue, radio.value);
8163
8116
  }
8164
8117
  }
8165
- fullErrorBucket() {
8166
- this.errorBucket = [];
8167
- const validationResult = requiredRule()(this.modelValue);
8168
- if (validationResult !== true) {
8169
- this.errorBucket.push(validationResult);
8170
- }
8171
- }
8172
8118
  get showHint() {
8173
- return Boolean(this.validationMesssage || (this.inputHint && this.showInputHint));
8119
+ return Boolean(this.validationMessage || (this.inputHint && this.showInputHint));
8174
8120
  }
8175
8121
  get hasError() {
8176
- return Boolean(this.validationMesssage) || this.errorBucket.length > 0;
8122
+ return Boolean(this.validationMessage);
8177
8123
  }
8178
8124
  };
8179
8125
  ld_radiogroupvue_type_script_lang_ts_external_decorate([
@@ -8247,7 +8193,7 @@ RadioGroupComponent = ld_radiogroupvue_type_script_lang_ts_external_decorate([
8247
8193
  ;
8248
8194
 
8249
8195
 
8250
- const ld_radiogroup_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(ld_radiogroupvue_type_script_lang_ts_external, [['render',ld_radiogroupvue_type_template_id_0aee9d13_scoped_true_ts_true_render],['__scopeId',"data-v-0aee9d13"]])
8196
+ const ld_radiogroup_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(ld_radiogroupvue_type_script_lang_ts_external, [['render',ld_radiogroupvue_type_template_id_1c1e9efc_scoped_true_ts_true_render],['__scopeId',"data-v-1c1e9efc"]])
8251
8197
 
8252
8198
  /* harmony default export */ const ld_radiogroup = (ld_radiogroup_exports_);
8253
8199
  ;// CONCATENATED MODULE: ./src/ld-radiogroup/index.ts
@@ -8497,17 +8443,17 @@ function ld_textarea_reg(vue, options) {
8497
8443
  }
8498
8444
  /* harmony default export */ const src_ld_textarea = (ld_textarea_reg);
8499
8445
 
8500
- ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ld-select/ld-select.vue?vue&type=template&id=6124ddba&scoped=true&ts=true
8446
+ ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ld-select/ld-select.vue?vue&type=template&id=f3fdbf56&scoped=true&ts=true
8501
8447
 
8502
- const ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_withScopeId = n => (_pushScopeId("data-v-6124ddba"), n = n(), _popScopeId(), n);
8503
- const ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_hoisted_1 = { class: "ld-select" };
8504
- const ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_hoisted_2 = {
8448
+ const ld_selectvue_type_template_id_f3fdbf56_scoped_true_ts_true_withScopeId = n => (_pushScopeId("data-v-f3fdbf56"), n = n(), _popScopeId(), n);
8449
+ const ld_selectvue_type_template_id_f3fdbf56_scoped_true_ts_true_hoisted_1 = { class: "ld-select" };
8450
+ const ld_selectvue_type_template_id_f3fdbf56_scoped_true_ts_true_hoisted_2 = {
8505
8451
  key: 1,
8506
8452
  class: "text-crop"
8507
8453
  };
8508
- const ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_hoisted_3 = { class: "justify mr-2 flex items-center" };
8509
- const ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_hoisted_4 = ["checked"];
8510
- function ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
8454
+ const ld_selectvue_type_template_id_f3fdbf56_scoped_true_ts_true_hoisted_3 = { class: "justify mr-2 flex items-center" };
8455
+ const ld_selectvue_type_template_id_f3fdbf56_scoped_true_ts_true_hoisted_4 = ["checked"];
8456
+ function ld_selectvue_type_template_id_f3fdbf56_scoped_true_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
8511
8457
  const _component_ld_label = (0,external_vue_.resolveComponent)("ld-label");
8512
8458
  const _component_small_chip = (0,external_vue_.resolveComponent)("small-chip");
8513
8459
  const _component_v_icon = (0,external_vue_.resolveComponent)("v-icon");
@@ -8515,7 +8461,7 @@ function ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_render(_ctx,
8515
8461
  const _component_v_select = (0,external_vue_.resolveComponent)("v-select");
8516
8462
  const _component_v_col = (0,external_vue_.resolveComponent)("v-col");
8517
8463
  const _component_v_row = (0,external_vue_.resolveComponent)("v-row");
8518
- return ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_hoisted_1, [
8464
+ return ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_selectvue_type_template_id_f3fdbf56_scoped_true_ts_true_hoisted_1, [
8519
8465
  (0,external_vue_.createVNode)(_component_v_row, { "no-gutters": "" }, {
8520
8466
  default: (0,external_vue_.withCtx)(() => [
8521
8467
  (_ctx.label)
@@ -8529,7 +8475,7 @@ function ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_render(_ctx,
8529
8475
  : (0,external_vue_.createCommentVNode)("", true),
8530
8476
  (0,external_vue_.createTextVNode)(),
8531
8477
  (0,external_vue_.createVNode)(_component_v_col, {
8532
- class: (0,external_vue_.normalizeClass)([{ 'only-view': _ctx.readonly }, _ctx.inputSizeClasses])
8478
+ class: (0,external_vue_.normalizeClass)([_ctx.inputSizeClasses])
8533
8479
  }, {
8534
8480
  default: (0,external_vue_.withCtx)(() => [
8535
8481
  (0,external_vue_.createVNode)(_component_v_select, {
@@ -8549,7 +8495,6 @@ function ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_render(_ctx,
8549
8495
  "error-messages": _ctx.validationMessage,
8550
8496
  readonly: _ctx.readonly,
8551
8497
  disabled: _ctx.disabled,
8552
- "menu-icon": "arrow_drop_down",
8553
8498
  onBlur: _ctx.onBlur,
8554
8499
  onFocus: _ctx.onFocus
8555
8500
  }, {
@@ -8583,7 +8528,7 @@ function ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_render(_ctx,
8583
8528
  : (0,external_vue_.createCommentVNode)("", true)
8584
8529
  ], 64))
8585
8530
  ], 64))
8586
- : ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("span", ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_hoisted_2, (0,external_vue_.toDisplayString)(item.title), 1))
8531
+ : ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("span", ld_selectvue_type_template_id_f3fdbf56_scoped_true_ts_true_hoisted_2, (0,external_vue_.toDisplayString)(item.title), 1))
8587
8532
  ]),
8588
8533
  item: (0,external_vue_.withCtx)(({ item, props }) => [
8589
8534
  (0,external_vue_.createVNode)(_component_v_list_item, (0,external_vue_.normalizeProps)((0,external_vue_.guardReactiveProps)(props)), (0,external_vue_.createSlots)({ _: 2 }, [
@@ -8591,13 +8536,13 @@ function ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_render(_ctx,
8591
8536
  ? {
8592
8537
  name: "prepend",
8593
8538
  fn: (0,external_vue_.withCtx)(() => [
8594
- (0,external_vue_.createElementVNode)("label", ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_hoisted_3, [
8539
+ (0,external_vue_.createElementVNode)("label", ld_selectvue_type_template_id_f3fdbf56_scoped_true_ts_true_hoisted_3, [
8595
8540
  (0,external_vue_.createElementVNode)("input", {
8596
8541
  ref: "checkbox",
8597
8542
  type: "checkbox",
8598
8543
  class: "d-none",
8599
8544
  checked: _ctx.itemSelected(item.raw)
8600
- }, null, 8, ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_hoisted_4),
8545
+ }, null, 8, ld_selectvue_type_template_id_f3fdbf56_scoped_true_ts_true_hoisted_4),
8601
8546
  (0,external_vue_.createTextVNode)(),
8602
8547
  (0,external_vue_.createVNode)(_component_v_icon, {
8603
8548
  icon: "check",
@@ -8626,7 +8571,7 @@ function ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_render(_ctx,
8626
8571
  ]));
8627
8572
  }
8628
8573
 
8629
- ;// CONCATENATED MODULE: ./src/ld-select/ld-select.vue?vue&type=template&id=6124ddba&scoped=true&ts=true
8574
+ ;// CONCATENATED MODULE: ./src/ld-select/ld-select.vue?vue&type=template&id=f3fdbf56&scoped=true&ts=true
8630
8575
 
8631
8576
  ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./src/ld-select/ld-select.ts?vue&type=script&lang=ts&external
8632
8577
  var ld_selectvue_type_script_lang_ts_external_decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -8848,7 +8793,7 @@ SelectComponent = ld_selectvue_type_script_lang_ts_external_decorate([
8848
8793
  ;
8849
8794
 
8850
8795
 
8851
- const ld_select_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(ld_selectvue_type_script_lang_ts_external, [['render',ld_selectvue_type_template_id_6124ddba_scoped_true_ts_true_render],['__scopeId',"data-v-6124ddba"]])
8796
+ const ld_select_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(ld_selectvue_type_script_lang_ts_external, [['render',ld_selectvue_type_template_id_f3fdbf56_scoped_true_ts_true_render],['__scopeId',"data-v-f3fdbf56"]])
8852
8797
 
8853
8798
  /* harmony default export */ const ld_select = (ld_select_exports_);
8854
8799
  ;// CONCATENATED MODULE: ./src/ld-select/index.ts
@@ -8858,6 +8803,653 @@ function ld_select_reg(vue, options) {
8858
8803
  }
8859
8804
  /* harmony default export */ const src_ld_select = (ld_select_reg);
8860
8805
 
8806
+ ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ld-combobox/ld-combobox.vue?vue&type=template&id=7bbbdbd8&scoped=true&ts=true
8807
+
8808
+ const ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_withScopeId = n => (_pushScopeId("data-v-7bbbdbd8"), n = n(), _popScopeId(), n);
8809
+ const ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_hoisted_1 = { class: "text-crop" };
8810
+ const ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_hoisted_2 = {
8811
+ key: 0,
8812
+ class: "d-flex align-center"
8813
+ };
8814
+ const ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_hoisted_3 = { class: "d-flex flex-column justify-center" };
8815
+ const ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_hoisted_4 = {
8816
+ key: 0,
8817
+ class: "grey--text",
8818
+ style: { "font-size": "var(--font-size--1)" }
8819
+ };
8820
+ const ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_hoisted_5 = {
8821
+ key: 0,
8822
+ class: "combobox-loading"
8823
+ };
8824
+ const ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_hoisted_6 = {
8825
+ key: 0,
8826
+ class: "combobox-validate"
8827
+ };
8828
+ function ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
8829
+ const _component_ld_label = (0,external_vue_.resolveComponent)("ld-label");
8830
+ const _component_small_chip = (0,external_vue_.resolveComponent)("small-chip");
8831
+ const _component_v_col = (0,external_vue_.resolveComponent)("v-col");
8832
+ const _component_v_row = (0,external_vue_.resolveComponent)("v-row");
8833
+ const _component_multiselect = (0,external_vue_.resolveComponent)("multiselect");
8834
+ return ((0,external_vue_.openBlock)(), (0,external_vue_.createBlock)(_component_v_row, {
8835
+ "no-gutters": "",
8836
+ class: "ld-combobox"
8837
+ }, {
8838
+ default: (0,external_vue_.withCtx)(() => [
8839
+ (_ctx.label)
8840
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createBlock)(_component_ld_label, {
8841
+ key: 0,
8842
+ class: (0,external_vue_.normalizeClass)([_ctx.labelSizeClasses]),
8843
+ label: _ctx.label,
8844
+ required: _ctx.required,
8845
+ "align-label-to-right": _ctx.alignLabelToRight
8846
+ }, null, 8, ["class", "label", "required", "align-label-to-right"]))
8847
+ : (0,external_vue_.createCommentVNode)("", true),
8848
+ (0,external_vue_.createTextVNode)(),
8849
+ (0,external_vue_.createVNode)(_component_v_col, {
8850
+ class: (0,external_vue_.normalizeClass)(_ctx.inputSizeClasses)
8851
+ }, {
8852
+ default: (0,external_vue_.withCtx)(() => [
8853
+ (0,external_vue_.createVNode)(_component_v_row, {
8854
+ "no-gutters": "",
8855
+ style: { "border-radius": "var(--border-radius)", "overflow": "hidden" }
8856
+ }, {
8857
+ default: (0,external_vue_.withCtx)(() => [
8858
+ (0,external_vue_.createVNode)(_component_v_col, {
8859
+ class: "d-flex",
8860
+ style: { "position": "relative" }
8861
+ }, {
8862
+ default: (0,external_vue_.withCtx)(() => [
8863
+ (0,external_vue_.createVNode)(_component_multiselect, {
8864
+ ref: "multiselect",
8865
+ modelValue: _ctx.selected,
8866
+ "onUpdate:modelValue": [
8867
+ _cache[0] || (_cache[0] = ($event) => ((_ctx.selected) = $event)),
8868
+ _ctx.onInput
8869
+ ],
8870
+ "track-by": "id",
8871
+ class: "multiselect--arrow",
8872
+ multiple: _ctx.multiselect,
8873
+ placeholder: _ctx.placeholder,
8874
+ "select-label": '',
8875
+ options: _ctx.optionsList,
8876
+ searchable: true,
8877
+ "internal-search": _ctx.internalSearch,
8878
+ "clear-on-select": true,
8879
+ "close-on-select": !_ctx.multiselect,
8880
+ "options-limit": 300,
8881
+ "max-height": 250,
8882
+ "show-no-results": true,
8883
+ "show-no-options": false,
8884
+ disabled: _ctx.readonly || _ctx.disabled,
8885
+ limit: _ctx.limit,
8886
+ tabindex: _ctx.tabIndex,
8887
+ allowEmpty: _ctx.allowEmpty,
8888
+ onClose: _ctx.dropdownClose,
8889
+ onOpen: _ctx.goSearch,
8890
+ onSearchChange: _ctx.getItems
8891
+ }, {
8892
+ tag: (0,external_vue_.withCtx)(({ option }) => [
8893
+ (0,external_vue_.renderSlot)(_ctx.$slots, "tag", (0,external_vue_.normalizeProps)((0,external_vue_.guardReactiveProps)({
8894
+ item: option,
8895
+ onRemove: _ctx.onRemoveItem,
8896
+ canRemove: _ctx.canRemove,
8897
+ })), () => [
8898
+ ((0,external_vue_.openBlock)(), (0,external_vue_.createBlock)(_component_small_chip, {
8899
+ key: JSON.stringify(option),
8900
+ color: _ctx.disabled ? 'grey' : 'primary',
8901
+ closable: _ctx.canRemove,
8902
+ "onClick:close": ($event) => (_ctx.onRemoveItem(option))
8903
+ }, {
8904
+ default: (0,external_vue_.withCtx)(() => [
8905
+ (0,external_vue_.createElementVNode)("span", ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_hoisted_1, (0,external_vue_.toDisplayString)(_ctx.$utils.deepValueGetter(option, this.itemTitle)), 1)
8906
+ ]),
8907
+ _: 2
8908
+ }, 1032, ["color", "closable", "onClick:close"]))
8909
+ ], true)
8910
+ ]),
8911
+ option: (0,external_vue_.withCtx)(({ option }) => [
8912
+ (0,external_vue_.createVNode)(_component_v_row, {
8913
+ "no-gutters": "",
8914
+ class: "mb-1"
8915
+ }, {
8916
+ default: (0,external_vue_.withCtx)(() => [
8917
+ (0,external_vue_.createVNode)(_component_v_col, { class: "d-flex align-center py-1" }, {
8918
+ default: (0,external_vue_.withCtx)(() => [
8919
+ (_ctx.multiselect)
8920
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_hoisted_2, [
8921
+ ((0,external_vue_.openBlock)(), (0,external_vue_.createBlock)((0,external_vue_.resolveDynamicComponent)(_ctx.$ldmui.options.aliases['ld-checkbox']), {
8922
+ key: JSON.stringify(option),
8923
+ "model-value": _ctx.checkedItems,
8924
+ "initial-value": _ctx.$utils.deepValueGetter(option, _ctx.itemValue),
8925
+ "onUpdate:modelValue": ($event) => (_ctx.onCheckItem($event, option))
8926
+ }, null, 8, ["model-value", "initial-value", "onUpdate:modelValue"]))
8927
+ ]))
8928
+ : (0,external_vue_.createCommentVNode)("", true),
8929
+ (0,external_vue_.createTextVNode)(),
8930
+ (0,external_vue_.createElementVNode)("div", {
8931
+ class: (0,external_vue_.normalizeClass)(["d-flex align-center", { 'ml-1': _ctx.multiselect }])
8932
+ }, [
8933
+ (0,external_vue_.renderSlot)(_ctx.$slots, "option-icon", (0,external_vue_.normalizeProps)((0,external_vue_.guardReactiveProps)({ item: option, isSelected: _ctx.checkedItems.includes(_ctx.itemIdentity(option)) })), undefined, true),
8934
+ (0,external_vue_.createTextVNode)(),
8935
+ (0,external_vue_.createElementVNode)("div", ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_hoisted_3, [
8936
+ (0,external_vue_.renderSlot)(_ctx.$slots, "option", (0,external_vue_.normalizeProps)((0,external_vue_.guardReactiveProps)({ item: option, isSelected: _ctx.checkedItems.includes(_ctx.itemIdentity(option)) })), () => [
8937
+ (0,external_vue_.createElementVNode)("div", null, (0,external_vue_.toDisplayString)(_ctx.$utils.deepValueGetter(option, _ctx.itemTitle)), 1)
8938
+ ], true),
8939
+ (0,external_vue_.createTextVNode)(),
8940
+ (_ctx.optionHint)
8941
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_hoisted_4, [
8942
+ (0,external_vue_.renderSlot)(_ctx.$slots, "option-hint", (0,external_vue_.normalizeProps)((0,external_vue_.guardReactiveProps)({ item: option })), undefined, true)
8943
+ ]))
8944
+ : (0,external_vue_.createCommentVNode)("", true)
8945
+ ])
8946
+ ], 2)
8947
+ ]),
8948
+ _: 2
8949
+ }, 1024)
8950
+ ]),
8951
+ _: 2
8952
+ }, 1024)
8953
+ ]),
8954
+ noResult: (0,external_vue_.withCtx)(() => [
8955
+ (0,external_vue_.createElementVNode)("span", null, (0,external_vue_.toDisplayString)(_ctx.message), 1)
8956
+ ]),
8957
+ _: 3
8958
+ }, 8, ["modelValue", "multiple", "placeholder", "options", "internal-search", "close-on-select", "disabled", "limit", "tabindex", "allowEmpty", "onClose", "onOpen", "onSearchChange", "onUpdate:modelValue"]),
8959
+ (0,external_vue_.createTextVNode)(),
8960
+ (_ctx.loading)
8961
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_hoisted_5))
8962
+ : (0,external_vue_.createCommentVNode)("", true)
8963
+ ]),
8964
+ _: 3
8965
+ })
8966
+ ]),
8967
+ _: 3
8968
+ }),
8969
+ (0,external_vue_.createTextVNode)(),
8970
+ (!_ctx.hideDetails)
8971
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("div", ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_hoisted_6, [
8972
+ (0,external_vue_.createVNode)(external_vue_.Transition, { name: "squash" }, {
8973
+ default: (0,external_vue_.withCtx)(() => [
8974
+ (_ctx.showHint)
8975
+ ? ((0,external_vue_.openBlock)(), (0,external_vue_.createElementBlock)("span", {
8976
+ key: 0,
8977
+ style: { "font-size": "var(--font-size--1)" },
8978
+ class: (0,external_vue_.normalizeClass)({ 'error--text': _ctx.warningHint, 'grey--text': !_ctx.validationMessage })
8979
+ }, (0,external_vue_.toDisplayString)(_ctx.displayingInputHint), 3))
8980
+ : (0,external_vue_.createCommentVNode)("", true)
8981
+ ]),
8982
+ _: 1
8983
+ })
8984
+ ]))
8985
+ : (0,external_vue_.createCommentVNode)("", true)
8986
+ ]),
8987
+ _: 3
8988
+ }, 8, ["class"])
8989
+ ]),
8990
+ _: 3
8991
+ }));
8992
+ }
8993
+
8994
+ ;// CONCATENATED MODULE: ./src/ld-combobox/ld-combobox.vue?vue&type=template&id=7bbbdbd8&scoped=true&ts=true
8995
+
8996
+ ;// CONCATENATED MODULE: ./node_modules/ts-loader/index.js??clonedRuleSet-1.use!./src/ld-combobox/ld-combobox.ts?vue&type=script&lang=ts&external
8997
+ var ld_comboboxvue_type_script_lang_ts_external_decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
8998
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8999
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9000
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9001
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
9002
+ };
9003
+ var ld_comboboxvue_type_script_lang_ts_external_metadata = (undefined && undefined.__metadata) || function (k, v) {
9004
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9005
+ };
9006
+ var ld_comboboxvue_type_script_lang_ts_external_a, ld_comboboxvue_type_script_lang_ts_external_b;
9007
+
9008
+
9009
+
9010
+
9011
+
9012
+
9013
+
9014
+
9015
+
9016
+
9017
+
9018
+
9019
+ class InternalError extends Error {
9020
+ constructor(message = 'internal error') {
9021
+ super(message);
9022
+ }
9023
+ }
9024
+ /**
9025
+ * @displayName ld-combobox
9026
+ */
9027
+ let ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent = class SelectListBoxComponent extends (0,external_vue_class_component_.mixins)(ValidatableMixin, GridMixin, InputMixin, FloatingUI) {
9028
+ constructor() {
9029
+ super(...arguments);
9030
+ this.readedItems = [];
9031
+ this.optionsList = [];
9032
+ this.selected = [];
9033
+ this.checkedItems = [];
9034
+ this.getItems = null;
9035
+ this.errors = [];
9036
+ this.messagesBucket = {
9037
+ search: 'Идет поиск...',
9038
+ empty: 'Поиск не дал результатов',
9039
+ validation: ''
9040
+ };
9041
+ this.message = '';
9042
+ this.loading = false;
9043
+ }
9044
+ emitUpdateValue() {
9045
+ if (this.multiselect) {
9046
+ return this.selectedIds;
9047
+ }
9048
+ else {
9049
+ return this.selectedIds.length ? this.selectedIds[0] : null;
9050
+ }
9051
+ }
9052
+ emitUpdateItems() {
9053
+ return this.selectedToArray;
9054
+ }
9055
+ emitInput() {
9056
+ return true;
9057
+ }
9058
+ emitBlur(value) {
9059
+ return value;
9060
+ }
9061
+ emitClick() {
9062
+ return true;
9063
+ }
9064
+ async onValueChanged(value) {
9065
+ if (!this.$utils.isDefined(value)) {
9066
+ return;
9067
+ }
9068
+ let val = this.toArray(value);
9069
+ if (lodash_es_isEqual(val, this.selectedIds)) {
9070
+ return;
9071
+ }
9072
+ if (val.length) {
9073
+ try {
9074
+ await this.setSelected(val);
9075
+ }
9076
+ catch (e) {
9077
+ this.throwError(e);
9078
+ }
9079
+ }
9080
+ else if (!this.hasItems && !this.lazyLoad) {
9081
+ try {
9082
+ await this.fetchItems();
9083
+ }
9084
+ catch (e) {
9085
+ this.throwError(e);
9086
+ }
9087
+ }
9088
+ }
9089
+ onItemsChanged() {
9090
+ this.onValueChanged(this.modelValue);
9091
+ }
9092
+ created() {
9093
+ this.messagesBucket = {
9094
+ ...this.messagesBucket,
9095
+ ...this.messages,
9096
+ };
9097
+ this.message = this.messagesBucket.search;
9098
+ this.getItems = lodash_es_debounce(this.goSearch.bind(this), 600);
9099
+ if (this.form) {
9100
+ this.form.register(this, null);
9101
+ }
9102
+ }
9103
+ mounted() {
9104
+ if (this.autofocus) {
9105
+ const selectElem = this.$refs.multiselect.$el;
9106
+ if (selectElem) {
9107
+ selectElem.getElementsByClassName('multiselect__input')[0].focus();
9108
+ }
9109
+ }
9110
+ }
9111
+ unmounted() {
9112
+ if (this.form) {
9113
+ this.form.unregister(this, null);
9114
+ }
9115
+ }
9116
+ async goSearch(searchTerm) {
9117
+ if (this.hasItems || this.hasReadedItems) {
9118
+ this.optionsList = this.filterOptions(searchTerm);
9119
+ if (this.optionsList.length === 0) {
9120
+ this.message = this.messagesBucket.empty;
9121
+ }
9122
+ return;
9123
+ }
9124
+ try {
9125
+ this.loading = true;
9126
+ await this.fetchItems(searchTerm);
9127
+ this.optionsList = this.filterOptions(this.internalSearch ? searchTerm : null);
9128
+ }
9129
+ catch (e) {
9130
+ this.throwError(e);
9131
+ }
9132
+ finally {
9133
+ this.loading = false;
9134
+ }
9135
+ }
9136
+ dropdownClose() {
9137
+ this.validate();
9138
+ this.emitBlur(this.selectedToArray);
9139
+ }
9140
+ validate() {
9141
+ this.validationMessage = '';
9142
+ let funcResult = true;
9143
+ if (this.required) {
9144
+ funcResult = requiredRule()(this.selectedToArray);
9145
+ if (funcResult !== true) {
9146
+ this.validationMessage = this.messagesBucket.validation || funcResult;
9147
+ return false;
9148
+ }
9149
+ }
9150
+ this.myRules.forEach(func => {
9151
+ funcResult = func(this.selectedToArray);
9152
+ if (funcResult !== true) {
9153
+ this.validationMessage = funcResult;
9154
+ }
9155
+ });
9156
+ return !this.validationMessage;
9157
+ }
9158
+ onInput() {
9159
+ this.$nextTick(() => {
9160
+ this.checkedItems = [...this.selectedIds];
9161
+ });
9162
+ this.emitUpdate();
9163
+ if (this.required) {
9164
+ this.validate();
9165
+ }
9166
+ }
9167
+ onCheckItem(checked, item) {
9168
+ if (Array.isArray(this.selected)) {
9169
+ const id = this.itemIdentity(item);
9170
+ if (checked.includes(id)) {
9171
+ this.selected = this.selected.filter(el => this.itemIdentity(el) !== id);
9172
+ }
9173
+ else {
9174
+ this.selected.push({ ...item });
9175
+ }
9176
+ this.onInput();
9177
+ }
9178
+ }
9179
+ onRemoveItem(item) {
9180
+ const id = this.itemIdentity(item);
9181
+ if (Array.isArray(this.selected)) {
9182
+ this.selected = this.selected.filter(el => this.itemIdentity(el) !== id);
9183
+ }
9184
+ else {
9185
+ this.selected = null;
9186
+ }
9187
+ this.onInput();
9188
+ }
9189
+ itemIdentity(item) {
9190
+ return this.$utils.deepValueGetter(item, this.itemValue);
9191
+ }
9192
+ emitUpdate() {
9193
+ this.emitUpdateValue();
9194
+ this.emitUpdateItems();
9195
+ this.emitInput();
9196
+ }
9197
+ async fetchItems(searchTerm = null) {
9198
+ if (this.fetchData instanceof Function) {
9199
+ try {
9200
+ this.loading = true;
9201
+ this.readedItems = await this.fetchData(searchTerm);
9202
+ }
9203
+ catch (e) {
9204
+ /* eslint-disable no-console */
9205
+ console.error(e);
9206
+ }
9207
+ finally {
9208
+ this.loading = false;
9209
+ }
9210
+ }
9211
+ else {
9212
+ throw new InternalError();
9213
+ }
9214
+ }
9215
+ async setSelected(ids) {
9216
+ const func = (item) => {
9217
+ const id = this.$utils.deepValueGetter(item, this.itemValue);
9218
+ ;
9219
+ return ids.includes(id);
9220
+ };
9221
+ const find = (items) => {
9222
+ return this.multiselect ? items.filter(func) : items.find(func);
9223
+ };
9224
+ if (this.hasItems) {
9225
+ this.selected = find(this.items);
9226
+ this.onInput();
9227
+ return;
9228
+ }
9229
+ if (this.itemsIsDefined) {
9230
+ return;
9231
+ }
9232
+ if (!this.hasReadedItems) {
9233
+ await this.fetchItems();
9234
+ }
9235
+ if (this.hasReadedItems) {
9236
+ this.selected = find(this.readedItems);
9237
+ this.onInput();
9238
+ }
9239
+ }
9240
+ filterOptions(searchTerm) {
9241
+ const func = (item) => {
9242
+ if (this.itemTitle in item) {
9243
+ const value = String(this.$utils.deepValueGetter(item, this.itemTitle));
9244
+ return value.toLowerCase().indexOf(searchTerm.toLowerCase()) > -1;
9245
+ }
9246
+ };
9247
+ if (this.hasItems) {
9248
+ return searchTerm ? this.items.filter(func) : this.items;
9249
+ }
9250
+ if (this.hasReadedItems) {
9251
+ return searchTerm ? this.readedItems.filter(func) : this.readedItems;
9252
+ }
9253
+ return [];
9254
+ }
9255
+ toArray(value) {
9256
+ if (!this.$utils.isDefined(value)) {
9257
+ return [];
9258
+ }
9259
+ if (Array.isArray(value)) {
9260
+ return [...value];
9261
+ }
9262
+ return [value];
9263
+ }
9264
+ throwError(e) {
9265
+ if (e instanceof InternalError || e.message === 'internal error') {
9266
+ //
9267
+ }
9268
+ else {
9269
+ /* eslint-disable no-console */
9270
+ console.error(e);
9271
+ }
9272
+ }
9273
+ get itemsIsDefined() {
9274
+ return this.items !== undefined;
9275
+ }
9276
+ get hasItems() {
9277
+ return Array.isArray(this.items) && this.items.length > 0;
9278
+ }
9279
+ get hasReadedItems() {
9280
+ return Array.isArray(this.readedItems) && this.readedItems.length > 0;
9281
+ }
9282
+ get showHint() {
9283
+ return this.validationMessage || Boolean(this.inputHint && this.persistentHint);
9284
+ }
9285
+ get warningHint() {
9286
+ return Boolean(this.validationMessage) || this.errors.length > 0;
9287
+ }
9288
+ get displayingInputHint() {
9289
+ if (this.errors.length) {
9290
+ return this.errors[this.errors.length - 1];
9291
+ }
9292
+ return this.validationMessage ? this.validationMessage : this.inputHint;
9293
+ }
9294
+ get hasError() {
9295
+ return Boolean(this.validationMessage);
9296
+ }
9297
+ get selectedToArray() {
9298
+ return this.toArray(this.selected);
9299
+ }
9300
+ get selectedIds() {
9301
+ if (!this.selectedToArray.length) {
9302
+ return [];
9303
+ }
9304
+ return this.selectedToArray.map(item => this.itemIdentity(item));
9305
+ }
9306
+ get canRemove() {
9307
+ const result = !this.readonly && !this.disabled;
9308
+ if (!result) {
9309
+ return false;
9310
+ }
9311
+ if (!this.allowEmpty && this.multiselect && Array.isArray(this.selected)) {
9312
+ return this.selected.length > 1;
9313
+ }
9314
+ return result;
9315
+ }
9316
+ };
9317
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9318
+ (0,external_vue_property_decorator_.Prop)(),
9319
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Object)
9320
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "modelValue", void 0);
9321
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9322
+ (0,external_vue_property_decorator_.Prop)(),
9323
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Object)
9324
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "modelItems", void 0);
9325
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9326
+ (0,external_vue_property_decorator_.Prop)({ type: Boolean, default: false }),
9327
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Boolean)
9328
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "multiselect", void 0);
9329
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9330
+ (0,external_vue_property_decorator_.Prop)({ type: String, default: 'value' }),
9331
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", String)
9332
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "itemTitle", void 0);
9333
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9334
+ (0,external_vue_property_decorator_.Prop)({ type: String, default: 'id' }),
9335
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", String)
9336
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "itemValue", void 0);
9337
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9338
+ (0,external_vue_property_decorator_.Prop)({ type: Object, default: () => ({}) }),
9339
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Object)
9340
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "messages", void 0);
9341
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9342
+ (0,external_vue_property_decorator_.Prop)(),
9343
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", String)
9344
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "inputHint", void 0);
9345
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9346
+ (0,external_vue_property_decorator_.Prop)({ type: Boolean, default: false }),
9347
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Boolean)
9348
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "persistentHint", void 0);
9349
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9350
+ (0,external_vue_property_decorator_.Prop)({ type: Boolean, default: false }),
9351
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Boolean)
9352
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "optionHint", void 0);
9353
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9354
+ (0,external_vue_property_decorator_.Prop)(),
9355
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Number)
9356
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "limit", void 0);
9357
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9358
+ (0,external_vue_property_decorator_.Prop)({ type: Boolean, default: false }),
9359
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Boolean)
9360
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "internalSearch", void 0);
9361
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9362
+ (0,external_vue_property_decorator_.Prop)({ type: Boolean, default: true }),
9363
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Boolean)
9364
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "allowEmpty", void 0);
9365
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9366
+ (0,external_vue_property_decorator_.Prop)({ type: Array, default: undefined }),
9367
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", typeof (ld_comboboxvue_type_script_lang_ts_external_b = typeof Array !== "undefined" && Array) === "function" ? ld_comboboxvue_type_script_lang_ts_external_b : Object)
9368
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "items", void 0);
9369
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9370
+ (0,external_vue_property_decorator_.Prop)({ type: Boolean, default: false }),
9371
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Boolean)
9372
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "lazyLoad", void 0);
9373
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9374
+ (0,external_vue_property_decorator_.Prop)(),
9375
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Function)
9376
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "fetchData", void 0);
9377
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9378
+ (0,external_vue_property_decorator_.Inject)({ from: 'form', default: null }),
9379
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Object)
9380
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "form", void 0);
9381
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9382
+ Emit('update:model-value'),
9383
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Function),
9384
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:paramtypes", []),
9385
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:returntype", void 0)
9386
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "emitUpdateValue", null);
9387
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9388
+ Emit('update:model-items'),
9389
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Function),
9390
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:paramtypes", []),
9391
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:returntype", void 0)
9392
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "emitUpdateItems", null);
9393
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9394
+ Emit('input'),
9395
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Function),
9396
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:paramtypes", []),
9397
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:returntype", void 0)
9398
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "emitInput", null);
9399
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9400
+ Emit('blur'),
9401
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Function),
9402
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:paramtypes", [Object]),
9403
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:returntype", void 0)
9404
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "emitBlur", null);
9405
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9406
+ Emit('click'),
9407
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Function),
9408
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:paramtypes", []),
9409
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:returntype", void 0)
9410
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "emitClick", null);
9411
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9412
+ (0,external_vue_property_decorator_.Watch)('modelValue', { deep: true, immediate: true }),
9413
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Function),
9414
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:paramtypes", [Object]),
9415
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:returntype", Promise)
9416
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "onValueChanged", null);
9417
+ ld_comboboxvue_type_script_lang_ts_external_decorate([
9418
+ (0,external_vue_property_decorator_.Watch)('items'),
9419
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:type", Function),
9420
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:paramtypes", []),
9421
+ ld_comboboxvue_type_script_lang_ts_external_metadata("design:returntype", void 0)
9422
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent.prototype, "onItemsChanged", null);
9423
+ ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent = ld_comboboxvue_type_script_lang_ts_external_decorate([
9424
+ (0,external_vue_property_decorator_.Options)({
9425
+ components: {
9426
+ 'ld-label': ld_label,
9427
+ 'multiselect': (external_multiselect_js_default()),
9428
+ },
9429
+ })
9430
+ ], ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent);
9431
+ /* harmony default export */ const ld_comboboxvue_type_script_lang_ts_external = (ld_comboboxvue_type_script_lang_ts_external_SelectListBoxComponent);
9432
+
9433
+ ;// CONCATENATED MODULE: ./src/ld-combobox/ld-combobox.ts?vue&type=script&lang=ts&external
9434
+
9435
+ ;// CONCATENATED MODULE: ./src/ld-combobox/ld-combobox.vue
9436
+
9437
+
9438
+
9439
+
9440
+ ;
9441
+
9442
+
9443
+ const ld_combobox_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(ld_comboboxvue_type_script_lang_ts_external, [['render',ld_comboboxvue_type_template_id_7bbbdbd8_scoped_true_ts_true_render],['__scopeId',"data-v-7bbbdbd8"]])
9444
+
9445
+ /* harmony default export */ const ld_combobox = (ld_combobox_exports_);
9446
+ ;// CONCATENATED MODULE: ./src/ld-combobox/index.ts
9447
+
9448
+ function ld_combobox_reg(vue, options) {
9449
+ vue.component(options.aliases['ld-combobox'], ld_combobox);
9450
+ }
9451
+ /* harmony default export */ const src_ld_combobox = (ld_combobox_reg);
9452
+
8861
9453
  ;// CONCATENATED MODULE: ./src/utils/delay.ts
8862
9454
  async function delay(timeout) {
8863
9455
  return new Promise(resolve => setTimeout(() => resolve(), timeout));
@@ -9273,6 +9865,7 @@ const ActiveDirectiveOptions = {
9273
9865
 
9274
9866
 
9275
9867
 
9868
+
9276
9869
 
9277
9870
 
9278
9871
  const ldmuiPlugin = {
@@ -9299,6 +9892,7 @@ const ldmuiPlugin = {
9299
9892
  'ld-radiogroup': options.aliases?.['ld-radiogroup'] ?? 'ld-radiogroup',
9300
9893
  'ld-textarea': options.aliases?.['ld-textarea'] ?? 'ld-textarea',
9301
9894
  'ld-select': options.aliases?.['ld-select'] ?? 'ld-select',
9895
+ 'ld-combobox': options.aliases?.['ld-combobox'] ?? 'ld-combobox',
9302
9896
  };
9303
9897
  vue.config.globalProperties.$utils = {
9304
9898
  ...utils_namespaceObject,
@@ -9331,6 +9925,7 @@ const ldmuiPlugin = {
9331
9925
  src_ld_radiogroup(vue, options);
9332
9926
  src_ld_textarea(vue, options);
9333
9927
  src_ld_select(vue, options);
9928
+ src_ld_combobox(vue, options);
9334
9929
  },
9335
9930
  };
9336
9931
  /* harmony default export */ const src = (ldmuiPlugin);