@dialpad/dialtone-vue 2.15.0 → 2.18.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.
@@ -1168,6 +1168,7 @@ __webpack_require__.d(__webpack_exports__, {
1168
1168
  "TOOLTIP_DIRECTIONS": () => (/* reexport */ TOOLTIP_DIRECTIONS),
1169
1169
  "TOOLTIP_HIDE_ON_CLICK_VARIANTS": () => (/* reexport */ TOOLTIP_HIDE_ON_CLICK_VARIANTS),
1170
1170
  "TOOLTIP_KIND_MODIFIERS": () => (/* reexport */ TOOLTIP_KIND_MODIFIERS),
1171
+ "TOOLTIP_STICKY_VALUES": () => (/* reexport */ TOOLTIP_STICKY_VALUES),
1171
1172
  "USER_STATUS_COLOR_MODIFIERS": () => (/* reexport */ USER_STATUS_COLOR_MODIFIERS),
1172
1173
  "VALIDATION_MESSAGE_TYPES": () => (/* reexport */ VALIDATION_MESSAGE_TYPES),
1173
1174
  "codeToEmojiData": () => (/* reexport */ codeToEmojiData),
@@ -3234,9 +3235,9 @@ var button_group_component = normalizeComponent(
3234
3235
  ;// CONCATENATED MODULE: ./components/button_group/index.js
3235
3236
 
3236
3237
 
3237
- ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/combobox/combobox.vue?vue&type=template&id=0f032a37&
3238
- var comboboxvue_type_template_id_0f032a37_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{on:{"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }$event.stopPropagation();return _vm.onKeyValidation($event, 'onEscapeKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.onKeyValidation($event, 'onEnterKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"up",38,$event.key,["Up","ArrowUp"])){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onUpKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"down",40,$event.key,["Down","ArrowDown"])){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onDownKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"home",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onHomeKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"end",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onEndKey')}]}},[_c('div',{attrs:{"data-qa":"dt-combobox-input-wrapper"}},[_vm._t("input",null,{"inputProps":_vm.inputProps})],2),(_vm.showList)?_c('div',{ref:"listWrapper",attrs:{"data-qa":"dt-combobox-list-wrapper"},on:{"mouseleave":_vm.clearHighlightIndex,"focusout":_vm.clearHighlightIndex,"!mousemove":function($event){return _vm.onMouseHighlight.apply(null, arguments)}}},[(_vm.loading)?_c('combobox-loading-list',_vm._b({},'combobox-loading-list',_vm.listProps,false)):_vm._t("list",null,{"listProps":_vm.listProps,"opened":_vm.onOpen,"clearHighlightIndex":_vm.clearHighlightIndex})],2):_vm._e()])}
3239
- var comboboxvue_type_template_id_0f032a37_staticRenderFns = []
3238
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/combobox/combobox.vue?vue&type=template&id=62892fd4&
3239
+ var comboboxvue_type_template_id_62892fd4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{on:{"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }$event.stopPropagation();return _vm.onKeyValidation($event, 'onEscapeKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.onKeyValidation($event, 'onEnterKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"up",38,$event.key,["Up","ArrowUp"])){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onUpKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"down",40,$event.key,["Down","ArrowDown"])){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onDownKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"home",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onHomeKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"end",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onEndKey')}]}},[_c('div',{attrs:{"data-qa":"dt-combobox-input-wrapper"}},[_vm._t("input",null,{"inputProps":_vm.inputProps})],2),(_vm.showList)?_c('div',{ref:"listWrapper",attrs:{"data-qa":"dt-combobox-list-wrapper"},on:{"mouseleave":_vm.clearHighlightIndex,"focusout":_vm.clearHighlightIndex,"!mousemove":function($event){return _vm.onMouseHighlight.apply(null, arguments)}}},[(_vm.isLoading && !_vm.listRenderedOutside)?_c('combobox-loading-list',_vm._b({},'combobox-loading-list',_vm.listProps,false)):(_vm.isListEmpty && !_vm.listRenderedOutside)?_c('combobox-empty-list',_vm._b({attrs:{"message":_vm.emptyStateMessage}},'combobox-empty-list',_vm.listProps,false)):_vm._t("list",null,{"listProps":_vm.listProps,"opened":_vm.onOpen,"clearHighlightIndex":_vm.clearHighlightIndex,"isLoading":_vm.isLoading,"isListEmpty":_vm.isListEmpty})],2):_vm._e()])}
3240
+ var comboboxvue_type_template_id_62892fd4_staticRenderFns = []
3240
3241
 
3241
3242
 
3242
3243
  ;// CONCATENATED MODULE: ./common/mixins/dom.js
@@ -3536,22 +3537,20 @@ const ERROR_INVALID_LIST_ELEMENT = 'listElementKey is required or the referenced
3536
3537
  this.setHighlightIndex(this._itemsLength() - 1);
3537
3538
  },
3538
3539
 
3539
- async setHighlightIndex(num) {
3540
+ setHighlightIndex(num) {
3540
3541
  this[indexKey] = num;
3541
3542
  this[idKey] = this._getItemId(num);
3542
3543
 
3543
3544
  if (this._itemsLength() && afterHighlightMethod) {
3544
- await this.$nextTick();
3545
3545
  this[afterHighlightMethod](num);
3546
3546
  }
3547
3547
  },
3548
3548
 
3549
- async setHighlightId(id) {
3549
+ setHighlightId(id) {
3550
3550
  this[idKey] = id;
3551
3551
  this[indexKey] = this._getItemIndex(id);
3552
3552
 
3553
3553
  if (this._itemsLength() && afterHighlightMethod) {
3554
- await this.$nextTick();
3555
3554
  this[afterHighlightMethod](this._getItemIndex(id));
3556
3555
  }
3557
3556
  },
@@ -4693,6 +4692,62 @@ var combobox_loading_list_component = normalizeComponent(
4693
4692
  )
4694
4693
 
4695
4694
  /* harmony default export */ const combobox_loading_list = (combobox_loading_list_component.exports);
4695
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/combobox/combobox_empty-list.vue?vue&type=template&id=85c21112&
4696
+ var combobox_empty_listvue_type_template_id_85c21112_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',{staticClass:"d-p0",attrs:{"data-qa":"dt-combobox-empty-list"}},[_c('dt-list-item',{staticClass:"d-d-flex d-jc-center",attrs:{"role":"option","navigation-type":"arrow-keys"}},[_c('span',[_vm._v(_vm._s(_vm.message))])])],1)}
4697
+ var combobox_empty_listvue_type_template_id_85c21112_staticRenderFns = []
4698
+
4699
+
4700
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/combobox/combobox_empty-list.vue?vue&type=script&lang=js&
4701
+ //
4702
+ //
4703
+ //
4704
+ //
4705
+ //
4706
+ //
4707
+ //
4708
+ //
4709
+ //
4710
+ //
4711
+ //
4712
+ //
4713
+ //
4714
+ //
4715
+ //
4716
+
4717
+ /* harmony default export */ const combobox_empty_listvue_type_script_lang_js_ = ({
4718
+ name: 'ComboboxEmptyList',
4719
+ components: {
4720
+ DtListItem: list_item
4721
+ },
4722
+ props: {
4723
+ message: {
4724
+ type: String,
4725
+ required: true
4726
+ }
4727
+ }
4728
+ });
4729
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue?vue&type=script&lang=js&
4730
+ /* harmony default export */ const combobox_combobox_empty_listvue_type_script_lang_js_ = (combobox_empty_listvue_type_script_lang_js_);
4731
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue
4732
+
4733
+
4734
+
4735
+
4736
+
4737
+ /* normalize component */
4738
+ ;
4739
+ var combobox_empty_list_component = normalizeComponent(
4740
+ combobox_combobox_empty_listvue_type_script_lang_js_,
4741
+ combobox_empty_listvue_type_template_id_85c21112_render,
4742
+ combobox_empty_listvue_type_template_id_85c21112_staticRenderFns,
4743
+ false,
4744
+ null,
4745
+ null,
4746
+ null
4747
+
4748
+ )
4749
+
4750
+ /* harmony default export */ const combobox_empty_list = (combobox_empty_list_component.exports);
4696
4751
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/combobox/combobox.vue?vue&type=script&lang=js&
4697
4752
  //
4698
4753
  //
@@ -4734,13 +4789,22 @@ var combobox_loading_list_component = normalizeComponent(
4734
4789
  //
4735
4790
  //
4736
4791
  //
4792
+ //
4793
+ //
4794
+ //
4795
+ //
4796
+ //
4797
+ //
4798
+ //
4799
+
4737
4800
 
4738
4801
 
4739
4802
 
4740
4803
  /* harmony default export */ const comboboxvue_type_script_lang_js_ = ({
4741
4804
  name: 'DtCombobox',
4742
4805
  components: {
4743
- ComboboxLoadingList: combobox_loading_list
4806
+ ComboboxLoadingList: combobox_loading_list,
4807
+ ComboboxEmptyList: combobox_empty_list
4744
4808
  },
4745
4809
  mixins: [keyboard_list_navigation({
4746
4810
  indexKey: 'highlightIndex',
@@ -4811,6 +4875,14 @@ var combobox_loading_list_component = normalizeComponent(
4811
4875
  loading: {
4812
4876
  type: Boolean,
4813
4877
  default: false
4878
+ },
4879
+
4880
+ /**
4881
+ * Message to show when the list is empty
4882
+ */
4883
+ emptyStateMessage: {
4884
+ type: String,
4885
+ default: ''
4814
4886
  }
4815
4887
  },
4816
4888
  emits: ['select', 'escape', 'highlight', 'opened'],
@@ -4820,7 +4892,9 @@ var combobox_loading_list_component = normalizeComponent(
4820
4892
  // If the list is rendered at the root, rather than as a child
4821
4893
  // of this component, this is the ref to that dom element. Set
4822
4894
  // by the onOpen method.
4823
- outsideRenderedListRef: null
4895
+ outsideRenderedListRef: null,
4896
+ isListEmpty: undefined,
4897
+ isLoading: undefined
4824
4898
  };
4825
4899
  },
4826
4900
 
@@ -4871,20 +4945,35 @@ var combobox_loading_list_component = normalizeComponent(
4871
4945
  watch: {
4872
4946
  showList(showList) {
4873
4947
  // When the list's visibility changes reset the highlight index.
4874
- this.$nextTick(function () {
4875
- if (!this.listRenderedOutside) {
4876
- this.setInitialHighlightIndex();
4877
- this.$emit('opened', showList);
4878
- }
4879
- });
4948
+ if (!this.listRenderedOutside) {
4949
+ this.setInitialHighlightIndex();
4950
+ this.$emit('opened', showList);
4951
+ }
4880
4952
 
4881
4953
  if (!showList && this.outsideRenderedListRef) {
4882
4954
  this.outsideRenderedListRef.removeEventListener('mousemove', this.onMouseHighlight);
4883
4955
  this.outsideRenderedListRef = null;
4956
+ this.isListEmpty = undefined;
4884
4957
  }
4958
+ },
4959
+
4960
+ loading(isLoading) {
4961
+ this.isListEmpty = undefined;
4962
+ this.isLoading = isLoading;
4963
+ this.$nextTick(() => {
4964
+ this.isListEmpty = this.checkItemsLength();
4965
+ this.setInitialHighlightIndex();
4966
+ });
4885
4967
  }
4886
4968
 
4887
4969
  },
4970
+
4971
+ async mounted() {
4972
+ this.isLoading = this.loading;
4973
+ await this.$nextTick();
4974
+ this.isListEmpty = this.checkItemsLength();
4975
+ },
4976
+
4888
4977
  methods: {
4889
4978
  onMouseHighlight(e) {
4890
4979
  if (this.loading) return;
@@ -4896,9 +4985,9 @@ var combobox_loading_list_component = normalizeComponent(
4896
4985
  },
4897
4986
 
4898
4987
  getListElement() {
4899
- var _this$outsideRendered;
4988
+ var _this$outsideRendered, _this$$refs$listWrapp;
4900
4989
 
4901
- return (_this$outsideRendered = this.outsideRenderedListRef) !== null && _this$outsideRendered !== void 0 ? _this$outsideRendered : this.$refs.listWrapper.querySelector("#".concat(this.listId));
4990
+ return (_this$outsideRendered = this.outsideRenderedListRef) !== null && _this$outsideRendered !== void 0 ? _this$outsideRendered : (_this$$refs$listWrapp = this.$refs.listWrapper) === null || _this$$refs$listWrapp === void 0 ? void 0 : _this$$refs$listWrapp.querySelector("#".concat(this.listId));
4902
4991
  },
4903
4992
 
4904
4993
  clearHighlightIndex() {
@@ -4913,7 +5002,7 @@ var combobox_loading_list_component = normalizeComponent(
4913
5002
  },
4914
5003
 
4915
5004
  onEnterKey() {
4916
- if (this.loading) return;
5005
+ if (this.loading || this.isListEmpty) return;
4917
5006
 
4918
5007
  if (this.highlightIndex >= 0) {
4919
5008
  this.$emit('select', this.highlightIndex);
@@ -4932,24 +5021,30 @@ var combobox_loading_list_component = normalizeComponent(
4932
5021
  this.$emit('opened', open);
4933
5022
 
4934
5023
  if (open) {
5024
+ this.isListEmpty = this.checkItemsLength();
4935
5025
  this.setInitialHighlightIndex();
4936
5026
  }
4937
5027
  },
4938
5028
 
4939
5029
  onKeyValidation(e, eventHandler) {
4940
- if (!this.showList || !this.getListElement()) {
4941
- return;
4942
- }
4943
-
5030
+ if (!this.showList || !this.getListElement()) return;
4944
5031
  this[eventHandler](e);
4945
5032
  },
4946
5033
 
4947
5034
  setInitialHighlightIndex() {
4948
- if (this.showList) {
5035
+ if (!this.showList) return;
5036
+ this.$nextTick(() => {
4949
5037
  // When the list's is shown, reset the highlight index.
4950
5038
  // If the list is loading, set to -1
4951
5039
  this.setHighlightIndex(this.loading ? -1 : 0);
4952
- }
5040
+ });
5041
+ },
5042
+
5043
+ checkItemsLength() {
5044
+ if (!this.showList) return undefined;
5045
+ const list = this.getListElement();
5046
+ const options = list === null || list === void 0 ? void 0 : list.querySelectorAll("[role=\"option\"]");
5047
+ return (options === null || options === void 0 ? void 0 : options.length) === 0;
4953
5048
  }
4954
5049
 
4955
5050
  }
@@ -4966,8 +5061,8 @@ var combobox_loading_list_component = normalizeComponent(
4966
5061
  ;
4967
5062
  var combobox_component = normalizeComponent(
4968
5063
  combobox_comboboxvue_type_script_lang_js_,
4969
- comboboxvue_type_template_id_0f032a37_render,
4970
- comboboxvue_type_template_id_0f032a37_staticRenderFns,
5064
+ comboboxvue_type_template_id_62892fd4_render,
5065
+ comboboxvue_type_template_id_62892fd4_staticRenderFns,
4971
5066
  false,
4972
5067
  null,
4973
5068
  null,
@@ -4987,8 +5082,8 @@ return [_c('ul',{ref:"listWrapper",class:['d-ps-relative', 'd-px0', _vm.DROPDOWN
4987
5082
  var dropdownvue_type_template_id_02d3f006_staticRenderFns = []
4988
5083
 
4989
5084
 
4990
- ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/popover/popover.vue?vue&type=template&id=97535496&
4991
- var popovervue_type_template_id_97535496_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.modal && _vm.isOpen)?_c('portal',[_c('div',{staticClass:"d-modal--transparent",attrs:{"aria-hidden":_vm.modal && _vm.isOpen ? 'false' : 'true'},on:{"click":function($event){$event.preventDefault();$event.stopPropagation();}}})]):_vm._e(),_c(_vm.elementType,_vm._g({ref:"popover",tag:"component",class:['d-popover', { 'd-popover__anchor--modal-opened': _vm.modal && _vm.isOpen }],attrs:{"data-qa":"dt-popover-container"}},_vm.$listeners),[_c('div',{ref:"anchor",attrs:{"id":!_vm.ariaLabelledby && _vm.labelledBy,"data-qa":"dt-popover-anchor"},on:{"!click":function($event){return _vm.defaultToggleOpen.apply(null, arguments)},"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"up",38,$event.key,["Up","ArrowUp"])){ return null; }$event.preventDefault();return _vm.onArrowKeyPress.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"down",40,$event.key,["Down","ArrowDown"])){ return null; }$event.preventDefault();return _vm.onArrowKeyPress.apply(null, arguments)}],"wheel":function (e) { return (_vm.isOpen && _vm.modal) && e.preventDefault(); },"!keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"escape",undefined,$event.key,undefined)){ return null; }return _vm.closePopover.apply(null, arguments)}}},[_vm._t("anchor",null,{"attrs":{
5085
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/popover/popover.vue?vue&type=template&id=52edae7f&
5086
+ var popovervue_type_template_id_52edae7f_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.modal && _vm.isOpen)?_c('portal',[_c('div',{staticClass:"d-modal--transparent",attrs:{"aria-hidden":_vm.modal && _vm.isOpen ? 'false' : 'true'},on:{"click":function($event){$event.preventDefault();$event.stopPropagation();}}})]):_vm._e(),_c(_vm.elementType,_vm._g({ref:"popover",tag:"component",class:['d-popover', { 'd-popover__anchor--modal-opened': _vm.modal && _vm.isOpen }],attrs:{"data-qa":"dt-popover-container"}},_vm.$listeners),[_c('div',{ref:"anchor",attrs:{"id":!_vm.ariaLabelledby && _vm.labelledBy,"data-qa":"dt-popover-anchor"},on:{"!click":function($event){return _vm.defaultToggleOpen.apply(null, arguments)},"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"up",38,$event.key,["Up","ArrowUp"])){ return null; }$event.preventDefault();return _vm.onArrowKeyPress.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"down",40,$event.key,["Down","ArrowDown"])){ return null; }$event.preventDefault();return _vm.onArrowKeyPress.apply(null, arguments)}],"wheel":function (e) { return (_vm.isOpen && _vm.modal) && e.preventDefault(); },"!keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"escape",undefined,$event.key,undefined)){ return null; }return _vm.closePopover.apply(null, arguments)}}},[_vm._t("anchor",null,{"attrs":{
4992
5087
  'aria-expanded': _vm.isOpen.toString(),
4993
5088
  'aria-controls': _vm.id,
4994
5089
  'aria-haspopup': _vm.role,
@@ -4999,7 +5094,7 @@ var popovervue_type_template_id_97535496_render = function () {var _vm=this;var
4999
5094
  'd-popover__content',
5000
5095
  _vm.POPOVER_PADDING_CLASSES[_vm.padding],
5001
5096
  _vm.contentClass ],attrs:{"data-qa":"dt-popover-content"}},[_vm._t("content",null,{"close":_vm.closePopover})],2),(_vm.$slots.footerContent)?_c('popover-header-footer',{ref:"popover__footer",class:_vm.POPOVER_HEADER_FOOTER_PADDING_CLASSES[_vm.padding],attrs:{"type":"footer","content-class":_vm.footerClass},scopedSlots:_vm._u([{key:"content",fn:function(){return [_vm._t("footerContent",null,{"close":_vm.closePopover})]},proxy:true}],null,true)}):_vm._e()],1)],1)],1)}
5002
- var popovervue_type_template_id_97535496_staticRenderFns = []
5097
+ var popovervue_type_template_id_52edae7f_staticRenderFns = []
5003
5098
 
5004
5099
 
5005
5100
  ;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js
@@ -9402,6 +9497,7 @@ const getArrowDetected = fn => ({
9402
9497
 
9403
9498
 
9404
9499
  const BASE_TIPPY_DIRECTIONS = ['bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end', 'left', 'left-start', 'left-end', 'top', 'top-start', 'top-end'];
9500
+ const TIPPY_STICKY_VALUES = [true, false, 'reference', 'popper'];
9405
9501
  const tippy_utils_createTippy = (anchorElement, options) => {
9406
9502
  const {
9407
9503
  contentElement
@@ -9409,6 +9505,7 @@ const tippy_utils_createTippy = (anchorElement, options) => {
9409
9505
  };
9410
9506
  delete options.contentElement;
9411
9507
  return tippy_esm(anchorElement, { ...options,
9508
+ plugins: [sticky],
9412
9509
  render: () => getContentWrapper(contentElement)
9413
9510
  });
9414
9511
  };
@@ -9417,18 +9514,27 @@ const getPopperOptions = function () {
9417
9514
  boundary = 'clippingParents',
9418
9515
  fallbackPlacements = [],
9419
9516
  onChangePlacement = () => {},
9420
- hasHideModifierEnabled = false
9517
+ hasHideModifierEnabled = false,
9518
+ // If set to false the dialog will display over top of the anchor when there is insufficient space.
9519
+ // if set to true it will never move from its position relative to the anchor and will clip instead.
9520
+ tether = true
9421
9521
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9422
9522
  return {
9423
9523
  modifiers: [{
9424
9524
  name: 'flip',
9425
9525
  options: {
9426
- fallbackPlacements: fallbackPlacements,
9526
+ fallbackPlacements,
9427
9527
  boundary
9428
9528
  }
9429
9529
  }, {
9430
9530
  name: 'hide',
9431
9531
  enabled: hasHideModifierEnabled
9532
+ }, {
9533
+ name: 'preventOverflow',
9534
+ options: {
9535
+ altAxis: !tether,
9536
+ tether
9537
+ }
9432
9538
  }, getArrowDetected(_ref => {
9433
9539
  let {
9434
9540
  state
@@ -9484,6 +9590,7 @@ const POPOVER_HEADER_FOOTER_PADDING_CLASSES = {
9484
9590
  const POPOVER_ROLES = ['dialog', 'menu', 'listbox', 'tree', 'grid'];
9485
9591
  const POPOVER_CONTENT_WIDTHS = [null, 'anchor'];
9486
9592
  const POPOVER_INITIAL_FOCUS_STRINGS = ['none', 'dialog', 'first'];
9593
+ const POPOVER_STICKY_VALUES = [...TIPPY_STICKY_VALUES];
9487
9594
  const POPOVER_DIRECTIONS = [...BASE_TIPPY_DIRECTIONS];
9488
9595
  ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/lazy_show/lazy_show.vue?vue&type=template&id=9ffa4e8c&
9489
9596
  var lazy_showvue_type_template_id_9ffa4e8c_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',_vm._g({attrs:{"name":_vm.transition,"appear":_vm.appear}},_vm.$listeners),[_c('div',_vm._g({directives:[{name:"show",rawName:"v-show",value:(_vm.show),expression:"show"}]},_vm.$listeners),[(_vm.initialized)?_vm._t("default"):_vm._e()],2)])}
@@ -10203,6 +10310,30 @@ var popover_header_footer_component = normalizeComponent(
10203
10310
  default: 'bottom-end'
10204
10311
  },
10205
10312
 
10313
+ /**
10314
+ * If set to false the dialog will display over top of the anchor when there is insufficient space.
10315
+ * If set to true it will never move from its position relative to the anchor and will clip instead.
10316
+ */
10317
+ tether: {
10318
+ type: Boolean,
10319
+ default: true
10320
+ },
10321
+
10322
+ /**
10323
+ * If the popover sticks to the anchor. This is usually not needed, but can be needed
10324
+ * if the reference element's position is animating, or to automatically update the popover
10325
+ * position in those cases the DOM layout changes the reference element's position.
10326
+ * `true` enables it, `reference` only checks the "reference" rect for changes and `popper` only
10327
+ * checks the "popper" rect for changes.
10328
+ */
10329
+ sticky: {
10330
+ type: [Boolean, String],
10331
+ default: false,
10332
+ validator: sticky => {
10333
+ return POPOVER_STICKY_VALUES.includes(sticky);
10334
+ }
10335
+ },
10336
+
10206
10337
  /**
10207
10338
  * Determines maximum height for the popover before overflow.
10208
10339
  * Possible units rem|px|em
@@ -10316,16 +10447,25 @@ var popover_header_footer_component = normalizeComponent(
10316
10447
 
10317
10448
  offset(offset) {
10318
10449
  this.tip.setProps({
10319
- offset: offset
10450
+ offset
10320
10451
  });
10321
10452
  },
10322
10453
 
10323
- fallbackPlacements(fallbackPlacements) {
10454
+ sticky(sticky) {
10324
10455
  this.tip.setProps({
10325
- popperOptions: getPopperOptions({
10326
- fallbackPlacements: fallbackPlacements,
10327
- hasHideModifierEnabled: true
10328
- })
10456
+ sticky
10457
+ });
10458
+ },
10459
+
10460
+ fallbackPlacements() {
10461
+ this.tip.setProps({
10462
+ popperOptions: this.popperOptions()
10463
+ });
10464
+ },
10465
+
10466
+ tether() {
10467
+ this.tip.setProps({
10468
+ popperOptions: this.popperOptions()
10329
10469
  });
10330
10470
  },
10331
10471
 
@@ -10369,13 +10509,11 @@ var popover_header_footer_component = normalizeComponent(
10369
10509
  }
10370
10510
 
10371
10511
  this.tip = tippy_utils_createTippy(this.anchorEl, {
10372
- popperOptions: getPopperOptions({
10373
- fallbackPlacements: this.fallbackPlacements,
10374
- hasHideModifierEnabled: true
10375
- }),
10512
+ popperOptions: this.popperOptions(),
10376
10513
  contentElement: this.popoverContentEl,
10377
10514
  placement: this.placement,
10378
10515
  offset: this.offset,
10516
+ sticky: this.sticky,
10379
10517
  appendTo: document.body,
10380
10518
  interactive: true,
10381
10519
  trigger: 'manual',
@@ -10406,6 +10544,14 @@ var popover_header_footer_component = normalizeComponent(
10406
10544
  * METHODS *
10407
10545
  ******************/
10408
10546
  methods: {
10547
+ popperOptions() {
10548
+ return getPopperOptions({
10549
+ fallbackPlacements: this.fallbackPlacements,
10550
+ tether: this.tether,
10551
+ hasHideModifierEnabled: true
10552
+ });
10553
+ },
10554
+
10409
10555
  validateProps() {
10410
10556
  if (this.modal && this.initialFocusElement === 'none') {
10411
10557
  console.error('If the popover is modal you must set the ' + 'initialFocusElement prop. Possible values: "dialog", "first", HTMLElement');
@@ -10597,8 +10743,8 @@ var popovervue_type_style_index_0_lang_less_ = __webpack_require__(230);
10597
10743
 
10598
10744
  var popover_component = normalizeComponent(
10599
10745
  popover_popovervue_type_script_lang_js_,
10600
- popovervue_type_template_id_97535496_render,
10601
- popovervue_type_template_id_97535496_staticRenderFns,
10746
+ popovervue_type_template_id_52edae7f_render,
10747
+ popovervue_type_template_id_52edae7f_staticRenderFns,
10602
10748
  false,
10603
10749
  null,
10604
10750
  null,
@@ -15726,15 +15872,15 @@ var toggle_component = normalizeComponent(
15726
15872
  /* harmony default export */ const toggle = (toggle_component.exports);
15727
15873
  ;// CONCATENATED MODULE: ./components/toggle/index.js
15728
15874
 
15729
- ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/tooltip/tooltip.vue?vue&type=template&id=06e65b4f&
15730
- var tooltipvue_type_template_id_06e65b4f_render = function () {
15875
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/tooltip/tooltip.vue?vue&type=template&id=662e4cf7&
15876
+ var tooltipvue_type_template_id_662e4cf7_render = function () {
15731
15877
  var _obj;
15732
15878
  var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{"data-qa":"dt-tooltip-container"}},[_c('div',{ref:"anchor",attrs:{"data-qa":"dt-tooltip-anchor"},on:{"focusin":_vm.onEnterAnchor,"focusout":_vm.onLeaveAnchor,"mouseenter":_vm.onEnterAnchor,"mouseleave":_vm.onLeaveAnchor,"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }return _vm.onLeaveAnchor.apply(null, arguments)}}},[_vm._t("anchor")],2),_c('dt-lazy-show',{ref:"content",class:[
15733
15879
  'd-tooltip',
15734
15880
  ("d-tooltip__arrow-tippy--" + _vm.currentPlacement),
15735
15881
  ( _obj = {}, _obj[ _vm.TOOLTIP_KIND_MODIFIERS.inverted ] = _vm.inverted, _obj ),
15736
15882
  _vm.contentClass ],attrs:{"id":_vm.id,"show":_vm.isShown && (!!_vm.message.trim() || !!_vm.$slots.default),"role":"tooltip","aria-hidden":"false","data-qa":"dt-tooltip","appear":"","transition":_vm.transition},on:{"after-leave":_vm.onLeaveTransitionComplete,"after-enter":_vm.onEnterTransitionComplete}},[_vm._t("default",function(){return [_vm._v(" "+_vm._s(_vm.message)+" ")]})],2)],1)}
15737
- var tooltipvue_type_template_id_06e65b4f_staticRenderFns = []
15883
+ var tooltipvue_type_template_id_662e4cf7_staticRenderFns = []
15738
15884
 
15739
15885
 
15740
15886
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip_constants.js
@@ -15749,6 +15895,7 @@ const TOOLTIP_KIND_MODIFIERS = {
15749
15895
  inverted: "d-tooltip--inverted",
15750
15896
  hide: "d-tooltip--hide"
15751
15897
  };
15898
+ const TOOLTIP_STICKY_VALUES = [...TIPPY_STICKY_VALUES];
15752
15899
  const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
15753
15900
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/tooltip/tooltip.vue?vue&type=script&lang=js&
15754
15901
  //
@@ -15858,6 +16005,21 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
15858
16005
 
15859
16006
  },
15860
16007
 
16008
+ /**
16009
+ * If the tooltip sticks to the anchor. This is usually not needed, but can be needed
16010
+ * if the reference element's position is animating, or to automatically update the popover
16011
+ * position in those cases the DOM layout changes the reference element's position.
16012
+ * `true` enables it, `reference` only checks the "reference" rect for changes and `popper` only
16013
+ * checks the "popper" rect for changes.
16014
+ */
16015
+ sticky: {
16016
+ type: [Boolean, String],
16017
+ default: false,
16018
+ validator: sticky => {
16019
+ return TOOLTIP_STICKY_VALUES.includes(sticky);
16020
+ }
16021
+ },
16022
+
15861
16023
  /**
15862
16024
  * Additional css classes for the tooltip content element.
15863
16025
  * Can accept all of String, Object, and Array, i.e. has the
@@ -15919,6 +16081,7 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
15919
16081
  interactive: false,
15920
16082
  trigger: 'manual',
15921
16083
  placement: this.placement,
16084
+ sticky: this.sticky,
15922
16085
  popperOptions: getPopperOptions({
15923
16086
  fallbackPlacements: this.fallbackPlacements,
15924
16087
  hasHideModifierEnabled: true,
@@ -15949,6 +16112,12 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
15949
16112
  } else {
15950
16113
  this.tip.hide();
15951
16114
  }
16115
+ },
16116
+
16117
+ sticky(sticky) {
16118
+ this.tip.setProps({
16119
+ sticky
16120
+ });
15952
16121
  }
15953
16122
 
15954
16123
  },
@@ -16069,8 +16238,8 @@ var tooltipvue_type_style_index_0_lang_less_ = __webpack_require__(213);
16069
16238
 
16070
16239
  var tooltip_component = normalizeComponent(
16071
16240
  tooltip_tooltipvue_type_script_lang_js_,
16072
- tooltipvue_type_template_id_06e65b4f_render,
16073
- tooltipvue_type_template_id_06e65b4f_staticRenderFns,
16241
+ tooltipvue_type_template_id_662e4cf7_render,
16242
+ tooltipvue_type_template_id_662e4cf7_staticRenderFns,
16074
16243
  false,
16075
16244
  null,
16076
16245
  null,
@@ -16705,15 +16874,17 @@ var root_layout_component = normalizeComponent(
16705
16874
  ;// CONCATENATED MODULE: ./components/root_layout/index.js
16706
16875
 
16707
16876
 
16708
- ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=0ce1b850&
16709
- var combobox_with_popovervue_type_template_id_0ce1b850_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-combobox',_vm._g({ref:"combobox",attrs:{"show-list":_vm.isListShown,"on-beginning-of-list":_vm.onBeginningOfList,"on-end-of-list":_vm.onEndOfList,"list-aria-label":_vm.listAriaLabel,"list-rendered-outside":true,"list-id":_vm.listId,"data-qa":"dt-combobox"},scopedSlots:_vm._u([{key:"input",fn:function(ref){
16877
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=108db852&
16878
+ var combobox_with_popovervue_type_template_id_108db852_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-combobox',_vm._g({ref:"combobox",attrs:{"loading":_vm.loading,"show-list":_vm.isListShown,"on-beginning-of-list":_vm.onBeginningOfList,"on-end-of-list":_vm.onEndOfList,"list-aria-label":_vm.listAriaLabel,"list-rendered-outside":true,"list-id":_vm.listId,"data-qa":"dt-combobox"},scopedSlots:_vm._u([{key:"input",fn:function(ref){
16710
16879
  var inputProps = ref.inputProps;
16711
16880
  return [_c('div',{ref:"input",attrs:{"id":_vm.externalAnchor},on:{"focusin":_vm.onFocusIn,"focusout":_vm.onFocusOut,"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"up",38,$event.key,["Up","ArrowUp"])){ return null; }return _vm.openOnArrowKeyPress($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"down",40,$event.key,["Down","ArrowDown"])){ return null; }return _vm.openOnArrowKeyPress($event)}]}},[_vm._t("input",null,{"inputProps":inputProps,"onInput":_vm.handleDisplayList})],2)]}},{key:"list",fn:function(ref){
16712
16881
  var opened = ref.opened;
16713
16882
  var listProps = ref.listProps;
16714
16883
  var clearHighlightIndex = ref.clearHighlightIndex;
16715
- return [_c('dt-popover',{ref:"popover",attrs:{"open":_vm.isListShown,"hide-on-click":true,"max-height":_vm.maxHeight,"max-width":_vm.maxWidth,"offset":_vm.popoverOffset,"placement":"bottom-start","padding":"none","role":"listbox","external-anchor":_vm.externalAnchor,"content-width":_vm.contentWidth,"content-tabindex":null,"modal":false,"auto-focus":false},on:{"update:open":function($event){_vm.isListShown=$event},"opened":function($event){return opened($event, arguments[1]);}},scopedSlots:_vm._u([{key:"headerContent",fn:function(){return [(_vm.$slots.header)?_c('div',{ref:"header",on:{"focusout":_vm.onFocusOut}},[_vm._t("header")],2):_vm._e()]},proxy:true},{key:"content",fn:function(){return [_c('div',{ref:"listWrapper",class:[_vm.DROPDOWN_PADDING_CLASSES[_vm.padding], _vm.listClass],on:{"mouseleave":clearHighlightIndex,"focusout":function($event){clearHighlightIndex; _vm.onFocusOut;}}},[(_vm.loading)?_c('combobox-loading-list',_vm._b({class:[_vm.DROPDOWN_PADDING_CLASSES[_vm.padding], _vm.listClass]},'combobox-loading-list',listProps,false)):_vm._t("list",null,{"listProps":listProps})],2)]},proxy:true},{key:"footerContent",fn:function(){return [(_vm.$slots.footer)?_c('div',{ref:"footer",on:{"focusout":_vm.onFocusOut}},[_vm._t("footer")],2):_vm._e()]},proxy:true}],null,true)})]}}],null,true)},_vm.comboboxListeners))}
16716
- var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
16884
+ var isLoading = ref.isLoading;
16885
+ var isListEmpty = ref.isListEmpty;
16886
+ return [_c('dt-popover',{ref:"popover",attrs:{"open":_vm.isListShown,"hide-on-click":_vm.showList === null,"max-height":_vm.maxHeight,"max-width":_vm.maxWidth,"offset":_vm.popoverOffset,"sticky":_vm.popoverSticky,"placement":"bottom-start","padding":"none","role":"listbox","external-anchor":_vm.externalAnchor,"content-width":_vm.contentWidth,"content-tabindex":null,"modal":false,"auto-focus":false},on:{"update:open":function($event){_vm.isListShown=$event},"opened":function($event){return opened($event, arguments[1]);}},scopedSlots:_vm._u([{key:"headerContent",fn:function(){return [(_vm.$slots.header)?_c('div',{ref:"header",on:{"focusout":_vm.onFocusOut}},[_vm._t("header")],2):_vm._e()]},proxy:true},{key:"content",fn:function(){return [_c('div',{ref:"listWrapper",class:[_vm.DROPDOWN_PADDING_CLASSES[_vm.padding], _vm.listClass],on:{"mouseleave":clearHighlightIndex,"focusout":function($event){clearHighlightIndex; _vm.onFocusOut;}}},[(isLoading)?_c('combobox-loading-list',_vm._b({},'combobox-loading-list',listProps,false)):(isListEmpty)?_c('combobox-empty-list',_vm._b({attrs:{"message":_vm.emptyStateMessage}},'combobox-empty-list',listProps,false)):_vm._t("list",null,{"listProps":listProps})],2)]},proxy:true},{key:"footerContent",fn:function(){return [(_vm.$slots.footer)?_c('div',{ref:"footer",on:{"focusout":_vm.onFocusOut}},[_vm._t("footer")],2):_vm._e()]},proxy:true}],null,true)})]}}],null,true)},_vm.comboboxListeners))}
16887
+ var combobox_with_popovervue_type_template_id_108db852_staticRenderFns = []
16717
16888
 
16718
16889
 
16719
16890
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=script&lang=js&
@@ -16809,6 +16980,13 @@ var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
16809
16980
  //
16810
16981
  //
16811
16982
  //
16983
+ //
16984
+ //
16985
+ //
16986
+ //
16987
+ //
16988
+ //
16989
+
16812
16990
 
16813
16991
 
16814
16992
 
@@ -16818,7 +16996,8 @@ var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
16818
16996
  components: {
16819
16997
  DtCombobox: combobox,
16820
16998
  DtPopover: popover,
16821
- ComboboxLoadingList: combobox_loading_list
16999
+ ComboboxLoadingList: combobox_loading_list,
17000
+ ComboboxEmptyList: combobox_empty_list
16822
17001
  },
16823
17002
  props: {
16824
17003
  /**
@@ -16934,6 +17113,14 @@ var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
16934
17113
  default: () => [0, 4]
16935
17114
  },
16936
17115
 
17116
+ /**
17117
+ * If the popover sticks to the input.
17118
+ */
17119
+ popoverSticky: {
17120
+ type: [Boolean, String],
17121
+ default: false
17122
+ },
17123
+
16937
17124
  /**
16938
17125
  * Displays the list when the combobox is focused, before the user has typed anything.
16939
17126
  * When this is enabled the list will not close after selection.
@@ -16949,6 +17136,14 @@ var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
16949
17136
  loading: {
16950
17137
  type: Boolean,
16951
17138
  default: false
17139
+ },
17140
+
17141
+ /**
17142
+ * Message to show when the list is empty
17143
+ */
17144
+ emptyStateMessage: {
17145
+ type: String,
17146
+ default: ''
16952
17147
  }
16953
17148
  },
16954
17149
  emits: ['select', 'escape', 'highlight', 'opened'],
@@ -16989,13 +17184,7 @@ var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
16989
17184
 
16990
17185
  },
16991
17186
  methods: {
16992
- async handleDisplayList(value) {
16993
- if (this.isListShown) {
16994
- // After the list is updated, hightlight the first item
16995
- await this.$nextTick();
16996
- this.$refs.combobox.setInitialHighlightIndex();
16997
- }
16998
-
17187
+ handleDisplayList(value) {
16999
17188
  if (!this.hasSuggestionList) {
17000
17189
  if (value) {
17001
17190
  // Displays the list after the user has typed anything
@@ -17089,8 +17278,8 @@ var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
17089
17278
  ;
17090
17279
  var combobox_with_popover_component = normalizeComponent(
17091
17280
  combobox_with_popover_combobox_with_popovervue_type_script_lang_js_,
17092
- combobox_with_popovervue_type_template_id_0ce1b850_render,
17093
- combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns,
17281
+ combobox_with_popovervue_type_template_id_108db852_render,
17282
+ combobox_with_popovervue_type_template_id_108db852_staticRenderFns,
17094
17283
  false,
17095
17284
  null,
17096
17285
  null,
@@ -17101,11 +17290,11 @@ var combobox_with_popover_component = normalizeComponent(
17101
17290
  /* harmony default export */ const combobox_with_popover = (combobox_with_popover_component.exports);
17102
17291
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/index.js
17103
17292
 
17104
- ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue?vue&type=template&id=b69c13e6&
17105
- var combobox_multi_selectvue_type_template_id_b69c13e6_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-recipe-combobox-with-popover',{ref:"comboboxWithPopover",attrs:{"list-aria-label":"listAriaLabel","show-list":_vm.showList,"max-height":_vm.listMaxHeight,"popover-offset":_vm.popoverOffset,"has-suggestion-list":_vm.hasSuggestionList,"content-width":"anchor"},on:{"select":_vm.onComboboxSelect},scopedSlots:_vm._u([{key:"input",fn:function(ref){
17293
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue?vue&type=template&id=50e5c78d&
17294
+ var combobox_multi_selectvue_type_template_id_50e5c78d_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-recipe-combobox-with-popover',{ref:"comboboxWithPopover",attrs:{"list-aria-label":"listAriaLabel","show-list":_vm.showList,"max-height":_vm.listMaxHeight,"popover-offset":_vm.popoverOffset,"has-suggestion-list":_vm.hasSuggestionList,"content-width":"anchor"},on:{"select":_vm.onComboboxSelect},scopedSlots:_vm._u([{key:"input",fn:function(ref){
17106
17295
  var onInput = ref.onInput;
17107
17296
  return [_c('span',{ref:"inputSlotWrapper",staticClass:"d-ps-relative"},[_c('span',{ref:"chipsWrapper",staticClass:"d-ps-absolute d-mx2"},_vm._l((_vm.selectedItems),function(item){return _c('dt-chip',_vm._g({key:item.id,ref:"chips",refInFor:true,staticClass:"d-mt4 d-mx2 d-zi-base1",attrs:{"close-button-props":{ ariaLabel: 'close' },"size":_vm.size},on:{"keyup":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"backspace",undefined,$event.key,undefined)){ return null; }return _vm.onChipRemove(item)},"close":function($event){return _vm.onChipRemove(item)}}},_vm.chipListeners),[_vm._v(" "+_vm._s(item)+" ")])}),1),_c('dt-input',_vm._g({ref:"input",staticClass:"d-fl-grow1 d-mb4",attrs:{"label":_vm.label,"description":_vm.description,"placeholder":_vm.inputPlaceHolder,"show-messages":_vm.showInputMessages,"messages":_vm.inputMessages,"size":_vm.size},on:{"input":onInput},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:"value"}},_vm.inputListeners)),_c('dt-validation-messages',{attrs:{"validation-messages":_vm.maxSelectedMessage,"show-messages":_vm.showValidationMessages}})],1)]}},{key:"header",fn:function(){return [(_vm.$slots.header)?_c('div',{ref:"header"},[_vm._t("header")],2):_vm._e()]},proxy:true},{key:"list",fn:function(){return [_c('div',{ref:"list"},[(!_vm.loading)?_vm._t("list"):_c('div',{staticClass:"d-ta-center d-py16"},[_vm._v(" "+_vm._s(_vm.loadingMessage)+" ")])],2)]},proxy:true},{key:"footer",fn:function(){return [(_vm.$slots.footer)?_c('div',{ref:"footer"},[_vm._t("footer")],2):_vm._e()]},proxy:true}],null,true)})}
17108
- var combobox_multi_selectvue_type_template_id_b69c13e6_staticRenderFns = []
17297
+ var combobox_multi_selectvue_type_template_id_50e5c78d_staticRenderFns = []
17109
17298
 
17110
17299
 
17111
17300
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/combobox_multi_select_story_constants.js
@@ -17482,10 +17671,19 @@ const MULTI_SELECT_SIZES = {
17482
17671
  return { ...this.$listeners,
17483
17672
  input: event => {
17484
17673
  this.$emit('input', event);
17674
+
17675
+ if (this.hasSuggestionList) {
17676
+ this.showComboboxList();
17677
+ }
17485
17678
  },
17486
17679
  keyup: event => {
17487
17680
  this.onInputKeyup(event);
17488
17681
  this.$emit('keyup', event);
17682
+ },
17683
+ click: event => {
17684
+ if (this.hasSuggestionList) {
17685
+ this.showComboboxList();
17686
+ }
17489
17687
  }
17490
17688
  };
17491
17689
  }
@@ -17531,7 +17729,6 @@ const MULTI_SELECT_SIZES = {
17531
17729
  var _this$resizeWindowObs;
17532
17730
 
17533
17731
  (_this$resizeWindowObs = this.resizeWindowObserver) === null || _this$resizeWindowObs === void 0 ? void 0 : _this$resizeWindowObs.unobserve(document.body);
17534
- console.log('Combobox Multi Select: Unobserve window resize before destory');
17535
17732
  },
17536
17733
 
17537
17734
  methods: {
@@ -17545,6 +17742,22 @@ const MULTI_SELECT_SIZES = {
17545
17742
  this.$emit('select', i);
17546
17743
  },
17547
17744
 
17745
+ showComboboxList() {
17746
+ if (this.showList != null) {
17747
+ return;
17748
+ }
17749
+
17750
+ this.$refs.comboboxWithPopover.showComboboxList();
17751
+ },
17752
+
17753
+ closeComboboxList() {
17754
+ if (this.showList != null) {
17755
+ return;
17756
+ }
17757
+
17758
+ this.$refs.comboboxWithPopover.closeComboboxList();
17759
+ },
17760
+
17548
17761
  getChipButtons() {
17549
17762
  return this.$refs.chips && this.$refs.chips.map(chip => chip.$el.querySelector('button'));
17550
17763
  },
@@ -17606,13 +17819,13 @@ const MULTI_SELECT_SIZES = {
17606
17819
  moveFromInputToChip() {
17607
17820
  this.getLastChipButton().focus();
17608
17821
  this.$refs.input.blur();
17609
- this.$refs.comboboxWithPopover.closeComboboxList();
17822
+ this.closeComboboxList();
17610
17823
  },
17611
17824
 
17612
17825
  moveFromChipToInput() {
17613
17826
  this.getLastChipButton().blur();
17614
17827
  this.$refs.input.focus();
17615
- this.$refs.comboboxWithPopover.showComboboxList();
17828
+ this.showComboboxList();
17616
17829
  },
17617
17830
 
17618
17831
  navigateBetweenChips(target, toLeft) {
@@ -17625,7 +17838,7 @@ const MULTI_SELECT_SIZES = {
17625
17838
 
17626
17839
  this.getChipButtons()[from].blur();
17627
17840
  this.getChipButtons()[to].focus();
17628
- this.$refs.comboboxWithPopover.closeComboboxList();
17841
+ this.closeComboboxList();
17629
17842
  },
17630
17843
 
17631
17844
  setChipsTopPosition() {
@@ -17717,8 +17930,8 @@ const MULTI_SELECT_SIZES = {
17717
17930
  ;
17718
17931
  var combobox_multi_select_component = normalizeComponent(
17719
17932
  combobox_multi_select_combobox_multi_selectvue_type_script_lang_js_,
17720
- combobox_multi_selectvue_type_template_id_b69c13e6_render,
17721
- combobox_multi_selectvue_type_template_id_b69c13e6_staticRenderFns,
17933
+ combobox_multi_selectvue_type_template_id_50e5c78d_render,
17934
+ combobox_multi_selectvue_type_template_id_50e5c78d_staticRenderFns,
17722
17935
  false,
17723
17936
  null,
17724
17937
  null,