@dialpad/dialtone-vue 3.9.0 → 3.10.0

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.
@@ -2942,15 +2942,17 @@ const button_group_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(butto
2942
2942
  ;// CONCATENATED MODULE: ./components/button_group/index.js
2943
2943
 
2944
2944
 
2945
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/combobox/combobox.vue?vue&type=template&id=d0659498
2945
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/combobox/combobox.vue?vue&type=template&id=83040a60
2946
2946
 
2947
- const comboboxvue_type_template_id_d0659498_hoisted_1 = ["aria-expanded", "aria-controls", "aria-owns"];
2948
- const comboboxvue_type_template_id_d0659498_hoisted_2 = {
2947
+ const comboboxvue_type_template_id_83040a60_hoisted_1 = ["aria-expanded", "aria-controls", "aria-owns"];
2948
+ const comboboxvue_type_template_id_83040a60_hoisted_2 = {
2949
2949
  "data-qa": "dt-combobox-input-wrapper"
2950
2950
  };
2951
- function comboboxvue_type_template_id_d0659498_render(_ctx, _cache, $props, $setup, $data, $options) {
2951
+ function comboboxvue_type_template_id_83040a60_render(_ctx, _cache, $props, $setup, $data, $options) {
2952
2952
  const _component_combobox_loading_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("combobox-loading-list");
2953
2953
 
2954
+ const _component_combobox_empty_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("combobox-empty-list");
2955
+
2954
2956
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
2955
2957
  role: "combobox",
2956
2958
  "aria-expanded": $props.showList.toString(),
@@ -2958,7 +2960,7 @@ function comboboxvue_type_template_id_d0659498_render(_ctx, _cache, $props, $set
2958
2960
  "aria-owns": $props.listId,
2959
2961
  "aria-haspopup": "listbox",
2960
2962
  onKeydown: [_cache[3] || (_cache[3] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)($event => $options.onKeyValidation($event, 'onEscapeKey'), ["stop"]), ["esc"])), _cache[4] || (_cache[4] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)($event => $options.onKeyValidation($event, 'onEnterKey'), ["exact"]), ["enter"])), _cache[5] || (_cache[5] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)($event => $options.onKeyValidation($event, 'onUpKey'), ["stop", "prevent"]), ["up"])), _cache[6] || (_cache[6] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)($event => $options.onKeyValidation($event, 'onDownKey'), ["stop", "prevent"]), ["down"])), _cache[7] || (_cache[7] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)($event => $options.onKeyValidation($event, 'onHomeKey'), ["stop", "prevent"]), ["home"])), _cache[8] || (_cache[8] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)($event => $options.onKeyValidation($event, 'onEndKey'), ["stop", "prevent"]), ["end"]))]
2961
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", comboboxvue_type_template_id_d0659498_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "input", {
2963
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", comboboxvue_type_template_id_83040a60_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "input", {
2962
2964
  inputProps: $options.inputProps
2963
2965
  })]), $props.showList ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
2964
2966
  key: 0,
@@ -2973,16 +2975,22 @@ function comboboxvue_type_template_id_d0659498_render(_ctx, _cache, $props, $set
2973
2975
  onMousemoveCapture: _cache[2] || (_cache[2] = function () {
2974
2976
  return $options.onMouseHighlight && $options.onMouseHighlight(...arguments);
2975
2977
  })
2976
- }, [$props.loading ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_combobox_loading_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
2978
+ }, [$data.isLoading && !$props.listRenderedOutside ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_combobox_loading_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
2977
2979
  key: 0
2978
- }, $options.listProps)), null, 16)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "list", {
2979
- key: 1,
2980
+ }, $options.listProps)), null, 16)) : $data.isListEmpty && !$props.listRenderedOutside ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_combobox_empty_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
2981
+ key: 1
2982
+ }, $options.listProps, {
2983
+ message: $props.emptyStateMessage
2984
+ }), null, 16, ["message"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "list", {
2985
+ key: 2,
2980
2986
  listProps: $options.listProps,
2981
2987
  opened: $options.onOpen,
2982
- clearHighlightIndex: $options.clearHighlightIndex
2983
- })], 544)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)], 40, comboboxvue_type_template_id_d0659498_hoisted_1);
2988
+ clearHighlightIndex: $options.clearHighlightIndex,
2989
+ isLoading: $data.isLoading,
2990
+ isListEmpty: $data.isListEmpty
2991
+ })], 544)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)], 40, comboboxvue_type_template_id_83040a60_hoisted_1);
2984
2992
  }
2985
- ;// CONCATENATED MODULE: ./components/combobox/combobox.vue?vue&type=template&id=d0659498
2993
+ ;// CONCATENATED MODULE: ./components/combobox/combobox.vue?vue&type=template&id=83040a60
2986
2994
 
2987
2995
  ;// CONCATENATED MODULE: ./common/mixins/dom.js
2988
2996
  /* harmony default export */ const dom = ({
@@ -3285,22 +3293,20 @@ const ERROR_INVALID_LIST_ELEMENT = 'listElementKey is required or the referenced
3285
3293
  this.setHighlightIndex(this._itemsLength() - 1);
3286
3294
  },
3287
3295
 
3288
- async setHighlightIndex(num) {
3296
+ setHighlightIndex(num) {
3289
3297
  this[indexKey] = num;
3290
3298
  this[idKey] = this._getItemId(num);
3291
3299
 
3292
3300
  if (this._itemsLength() && afterHighlightMethod) {
3293
- await this.$nextTick();
3294
3301
  this[afterHighlightMethod](num);
3295
3302
  }
3296
3303
  },
3297
3304
 
3298
- async setHighlightId(id) {
3305
+ setHighlightId(id) {
3299
3306
  this[idKey] = id;
3300
3307
  this[indexKey] = this._getItemIndex(id);
3301
3308
 
3302
3309
  if (this._itemsLength() && afterHighlightMethod) {
3303
- await this.$nextTick();
3304
3310
  this[afterHighlightMethod](this._getItemIndex(id));
3305
3311
  }
3306
3312
  },
@@ -4283,14 +4289,61 @@ const skeleton_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(skeletonv
4283
4289
  const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(combobox_loading_listvue_type_script_lang_js, [['render',combobox_loading_listvue_type_template_id_07d9971d_render]])
4284
4290
 
4285
4291
  /* harmony default export */ const combobox_loading_list = (combobox_loading_list_exports_);
4292
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/combobox/combobox_empty-list.vue?vue&type=template&id=85c21112
4293
+
4294
+ const combobox_empty_listvue_type_template_id_85c21112_hoisted_1 = {
4295
+ class: "d-p0",
4296
+ "data-qa": "dt-combobox-empty-list"
4297
+ };
4298
+ function combobox_empty_listvue_type_template_id_85c21112_render(_ctx, _cache, $props, $setup, $data, $options) {
4299
+ const _component_dt_list_item = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-list-item");
4300
+
4301
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("ol", combobox_empty_listvue_type_template_id_85c21112_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_dt_list_item, {
4302
+ class: "d-d-flex d-jc-center",
4303
+ role: "option",
4304
+ "navigation-type": "arrow-keys"
4305
+ }, {
4306
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("span", null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)($props.message), 1)]),
4307
+ _: 1
4308
+ })]);
4309
+ }
4310
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue?vue&type=template&id=85c21112
4311
+
4312
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/combobox/combobox_empty-list.vue?vue&type=script&lang=js
4313
+
4314
+ /* harmony default export */ const combobox_empty_listvue_type_script_lang_js = ({
4315
+ name: 'ComboboxEmptyList',
4316
+ components: {
4317
+ DtListItem: list_item
4318
+ },
4319
+ props: {
4320
+ message: {
4321
+ type: String,
4322
+ required: true
4323
+ }
4324
+ }
4325
+ });
4326
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue?vue&type=script&lang=js
4327
+
4328
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue
4329
+
4330
+
4331
+
4332
+
4333
+ ;
4334
+ const combobox_empty_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(combobox_empty_listvue_type_script_lang_js, [['render',combobox_empty_listvue_type_template_id_85c21112_render]])
4335
+
4336
+ /* harmony default export */ const combobox_empty_list = (combobox_empty_list_exports_);
4286
4337
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/combobox/combobox.vue?vue&type=script&lang=js
4287
4338
 
4288
4339
 
4289
4340
 
4341
+
4290
4342
  /* harmony default export */ const comboboxvue_type_script_lang_js = ({
4291
4343
  name: 'DtCombobox',
4292
4344
  components: {
4293
- ComboboxLoadingList: combobox_loading_list
4345
+ ComboboxLoadingList: combobox_loading_list,
4346
+ ComboboxEmptyList: combobox_empty_list
4294
4347
  },
4295
4348
  mixins: [keyboard_list_navigation({
4296
4349
  indexKey: 'highlightIndex',
@@ -4361,6 +4414,14 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4361
4414
  loading: {
4362
4415
  type: Boolean,
4363
4416
  default: false
4417
+ },
4418
+
4419
+ /**
4420
+ * Message to show when the list is empty
4421
+ */
4422
+ emptyStateMessage: {
4423
+ type: String,
4424
+ default: ''
4364
4425
  }
4365
4426
  },
4366
4427
  emits: ['select', 'escape', 'highlight', 'opened'],
@@ -4370,7 +4431,9 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4370
4431
  // If the list is rendered at the root, rather than as a child
4371
4432
  // of this component, this is the ref to that dom element. Set
4372
4433
  // by the onOpen method.
4373
- outsideRenderedListRef: null
4434
+ outsideRenderedListRef: null,
4435
+ isListEmpty: undefined,
4436
+ isLoading: undefined
4374
4437
  };
4375
4438
  },
4376
4439
 
@@ -4421,20 +4484,35 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4421
4484
  watch: {
4422
4485
  showList(showList) {
4423
4486
  // When the list's visibility changes reset the highlight index.
4424
- this.$nextTick(function () {
4425
- if (!this.listRenderedOutside) {
4426
- this.setInitialHighlightIndex();
4427
- this.$emit('opened', showList);
4428
- }
4429
- });
4487
+ if (!this.listRenderedOutside) {
4488
+ this.setInitialHighlightIndex();
4489
+ this.$emit('opened', showList);
4490
+ }
4430
4491
 
4431
4492
  if (!showList && this.outsideRenderedListRef) {
4432
4493
  this.outsideRenderedListRef.removeEventListener('mousemove', this.onMouseHighlight);
4433
4494
  this.outsideRenderedListRef = null;
4495
+ this.isListEmpty = undefined;
4434
4496
  }
4497
+ },
4498
+
4499
+ loading(isLoading) {
4500
+ this.isListEmpty = undefined;
4501
+ this.isLoading = isLoading;
4502
+ this.$nextTick(() => {
4503
+ this.isListEmpty = this.checkItemsLength();
4504
+ this.setInitialHighlightIndex();
4505
+ });
4435
4506
  }
4436
4507
 
4437
4508
  },
4509
+
4510
+ async mounted() {
4511
+ this.isLoading = this.loading;
4512
+ await this.$nextTick();
4513
+ this.isListEmpty = this.checkItemsLength();
4514
+ },
4515
+
4438
4516
  methods: {
4439
4517
  onMouseHighlight(e) {
4440
4518
  if (this.loading) return;
@@ -4463,7 +4541,7 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4463
4541
  },
4464
4542
 
4465
4543
  onEnterKey() {
4466
- if (this.loading) return;
4544
+ if (this.loading || this.isListEmpty) return;
4467
4545
 
4468
4546
  if (this.highlightIndex >= 0) {
4469
4547
  this.$emit('select', this.highlightIndex);
@@ -4482,24 +4560,30 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4482
4560
  this.$emit('opened', open);
4483
4561
 
4484
4562
  if (open) {
4563
+ this.isListEmpty = this.checkItemsLength();
4485
4564
  this.setInitialHighlightIndex();
4486
4565
  }
4487
4566
  },
4488
4567
 
4489
4568
  onKeyValidation(e, eventHandler) {
4490
- if (!this.showList || !this.getListElement()) {
4491
- return;
4492
- }
4493
-
4569
+ if (!this.showList || !this.getListElement()) return;
4494
4570
  this[eventHandler](e);
4495
4571
  },
4496
4572
 
4497
4573
  setInitialHighlightIndex() {
4498
- if (this.showList) {
4574
+ if (!this.showList) return;
4575
+ this.$nextTick(() => {
4499
4576
  // When the list's is shown, reset the highlight index.
4500
4577
  // If the list is loading, set to -1
4501
4578
  this.setHighlightIndex(this.loading ? -1 : 0);
4502
- }
4579
+ });
4580
+ },
4581
+
4582
+ checkItemsLength() {
4583
+ if (!this.showList) return undefined;
4584
+ const list = this.getListElement();
4585
+ const options = list === null || list === void 0 ? void 0 : list.querySelectorAll("[role=\"option\"]");
4586
+ return (options === null || options === void 0 ? void 0 : options.length) === 0;
4503
4587
  }
4504
4588
 
4505
4589
  }
@@ -4512,7 +4596,7 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4512
4596
 
4513
4597
 
4514
4598
  ;
4515
- const combobox_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(comboboxvue_type_script_lang_js, [['render',comboboxvue_type_template_id_d0659498_render]])
4599
+ const combobox_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(comboboxvue_type_script_lang_js, [['render',comboboxvue_type_template_id_83040a60_render]])
4516
4600
 
4517
4601
  /* harmony default export */ const combobox = (combobox_exports_);
4518
4602
  ;// CONCATENATED MODULE: ./components/combobox/index.js
@@ -15551,19 +15635,22 @@ const root_layout_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(root_l
15551
15635
  ;// CONCATENATED MODULE: ./components/root_layout/index.js
15552
15636
 
15553
15637
 
15554
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=b000d074
15638
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=37048598
15555
15639
 
15556
- const combobox_with_popovervue_type_template_id_b000d074_hoisted_1 = ["id"];
15557
- const combobox_with_popovervue_type_template_id_b000d074_hoisted_2 = ["onMouseleave", "onFocusout"];
15558
- function combobox_with_popovervue_type_template_id_b000d074_render(_ctx, _cache, $props, $setup, $data, $options) {
15640
+ const combobox_with_popovervue_type_template_id_37048598_hoisted_1 = ["id"];
15641
+ const combobox_with_popovervue_type_template_id_37048598_hoisted_2 = ["onMouseleave", "onFocusout"];
15642
+ function combobox_with_popovervue_type_template_id_37048598_render(_ctx, _cache, $props, $setup, $data, $options) {
15559
15643
  const _component_combobox_loading_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("combobox-loading-list");
15560
15644
 
15645
+ const _component_combobox_empty_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("combobox-empty-list");
15646
+
15561
15647
  const _component_dt_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-popover");
15562
15648
 
15563
15649
  const _component_dt_combobox = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-combobox");
15564
15650
 
15565
15651
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_dt_combobox, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
15566
15652
  ref: "combobox",
15653
+ loading: $props.loading,
15567
15654
  "show-list": $data.isListShown,
15568
15655
  "on-beginning-of-list": $props.onBeginningOfList,
15569
15656
  "on-end-of-list": $props.onEndOfList,
@@ -15589,19 +15676,21 @@ function combobox_with_popovervue_type_template_id_b000d074_render(_ctx, _cache,
15589
15676
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "input", {
15590
15677
  inputProps: inputProps,
15591
15678
  onInput: $options.handleDisplayList
15592
- })], 40, combobox_with_popovervue_type_template_id_b000d074_hoisted_1)];
15679
+ })], 40, combobox_with_popovervue_type_template_id_37048598_hoisted_1)];
15593
15680
  }),
15594
15681
  list: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(_ref2 => {
15595
15682
  let {
15596
15683
  opened,
15597
15684
  listProps,
15598
- clearHighlightIndex
15685
+ clearHighlightIndex,
15686
+ isLoading,
15687
+ isListEmpty
15599
15688
  } = _ref2;
15600
15689
  return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_dt_popover, {
15601
15690
  ref: "popover",
15602
15691
  open: $data.isListShown,
15603
15692
  "onUpdate:open": _cache[6] || (_cache[6] = $event => $data.isListShown = $event),
15604
- "hide-on-click": true,
15693
+ "hide-on-click": $props.showList === null,
15605
15694
  "max-height": $props.maxHeight,
15606
15695
  "max-width": $props.maxWidth,
15607
15696
  offset: $props.popoverOffset,
@@ -15624,14 +15713,16 @@ function combobox_with_popovervue_type_template_id_b000d074_render(_ctx, _cache,
15624
15713
  clearHighlightIndex;
15625
15714
  $options.onFocusOut;
15626
15715
  }
15627
- }, [$props.loading ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_combobox_loading_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
15716
+ }, [isLoading ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_combobox_loading_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
15628
15717
  key: 0
15718
+ }, listProps)), null, 16)) : isListEmpty ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_combobox_empty_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
15719
+ key: 1
15629
15720
  }, listProps, {
15630
- class: [$data.DROPDOWN_PADDING_CLASSES[$props.padding], $props.listClass]
15631
- }), null, 16, ["class"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "list", {
15632
- key: 1,
15721
+ message: $props.emptyStateMessage
15722
+ }), null, 16, ["message"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "list", {
15723
+ key: 2,
15633
15724
  listProps: listProps
15634
- })], 42, combobox_with_popovervue_type_template_id_b000d074_hoisted_2)]),
15725
+ })], 42, combobox_with_popovervue_type_template_id_37048598_hoisted_2)]),
15635
15726
  _: 2
15636
15727
  }, [_ctx.$slots.header ? {
15637
15728
  name: "headerContent",
@@ -15649,24 +15740,26 @@ function combobox_with_popovervue_type_template_id_b000d074_render(_ctx, _cache,
15649
15740
  return $options.onFocusOut && $options.onFocusOut(...arguments);
15650
15741
  })
15651
15742
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "footer")], 544)])
15652
- } : undefined]), 1032, ["open", "max-height", "max-width", "offset", "sticky", "external-anchor", "content-width", "onOpened"])];
15743
+ } : undefined]), 1032, ["open", "hide-on-click", "max-height", "max-width", "offset", "sticky", "external-anchor", "content-width", "onOpened"])];
15653
15744
  }),
15654
15745
  _: 3
15655
- }, 16, ["show-list", "on-beginning-of-list", "on-end-of-list", "list-aria-label", "list-id"]);
15746
+ }, 16, ["loading", "show-list", "on-beginning-of-list", "on-end-of-list", "list-aria-label", "list-id"]);
15656
15747
  }
15657
- ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=b000d074
15748
+ ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=37048598
15658
15749
 
15659
15750
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=script&lang=js
15660
15751
 
15661
15752
 
15662
15753
 
15663
15754
 
15755
+
15664
15756
  /* harmony default export */ const combobox_with_popovervue_type_script_lang_js = ({
15665
15757
  name: 'DtRecipeComboboxWithPopover',
15666
15758
  components: {
15667
15759
  DtCombobox: combobox,
15668
15760
  DtPopover: popover,
15669
- ComboboxLoadingList: combobox_loading_list
15761
+ ComboboxLoadingList: combobox_loading_list,
15762
+ ComboboxEmptyList: combobox_empty_list
15670
15763
  },
15671
15764
  props: {
15672
15765
  /**
@@ -15805,6 +15898,14 @@ function combobox_with_popovervue_type_template_id_b000d074_render(_ctx, _cache,
15805
15898
  loading: {
15806
15899
  type: Boolean,
15807
15900
  default: false
15901
+ },
15902
+
15903
+ /**
15904
+ * Message to show when the list is empty
15905
+ */
15906
+ emptyStateMessage: {
15907
+ type: String,
15908
+ default: ''
15808
15909
  }
15809
15910
  },
15810
15911
  emits: ['select', 'escape', 'highlight', 'opened'],
@@ -15845,13 +15946,7 @@ function combobox_with_popovervue_type_template_id_b000d074_render(_ctx, _cache,
15845
15946
 
15846
15947
  },
15847
15948
  methods: {
15848
- async handleDisplayList(value) {
15849
- if (this.isListShown) {
15850
- // After the list is updated, hightlight the first item
15851
- await this.$nextTick();
15852
- this.$refs.combobox.setInitialHighlightIndex();
15853
- }
15854
-
15949
+ handleDisplayList(value) {
15855
15950
  if (!this.hasSuggestionList) {
15856
15951
  if (value) {
15857
15952
  // Displays the list after the user has typed anything
@@ -15941,7 +16036,7 @@ function combobox_with_popovervue_type_template_id_b000d074_render(_ctx, _cache,
15941
16036
 
15942
16037
 
15943
16038
  ;
15944
- const combobox_with_popover_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(combobox_with_popovervue_type_script_lang_js, [['render',combobox_with_popovervue_type_template_id_b000d074_render]])
16039
+ const combobox_with_popover_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(combobox_with_popovervue_type_script_lang_js, [['render',combobox_with_popovervue_type_template_id_37048598_render]])
15945
16040
 
15946
16041
  /* harmony default export */ const combobox_with_popover = (combobox_with_popover_exports_);
15947
16042
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/index.js