@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.
@@ -1186,6 +1186,7 @@ __webpack_require__.d(__webpack_exports__, {
1186
1186
  "TOOLTIP_DIRECTIONS": () => (/* reexport */ TOOLTIP_DIRECTIONS),
1187
1187
  "TOOLTIP_HIDE_ON_CLICK_VARIANTS": () => (/* reexport */ TOOLTIP_HIDE_ON_CLICK_VARIANTS),
1188
1188
  "TOOLTIP_KIND_MODIFIERS": () => (/* reexport */ TOOLTIP_KIND_MODIFIERS),
1189
+ "TOOLTIP_STICKY_VALUES": () => (/* reexport */ TOOLTIP_STICKY_VALUES),
1189
1190
  "USER_STATUS_COLOR_MODIFIERS": () => (/* reexport */ USER_STATUS_COLOR_MODIFIERS),
1190
1191
  "VALIDATION_MESSAGE_TYPES": () => (/* reexport */ VALIDATION_MESSAGE_TYPES),
1191
1192
  "codeToEmojiData": () => (/* reexport */ codeToEmojiData),
@@ -3252,9 +3253,9 @@ var button_group_component = normalizeComponent(
3252
3253
  ;// CONCATENATED MODULE: ./components/button_group/index.js
3253
3254
 
3254
3255
 
3255
- ;// 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&
3256
- 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()])}
3257
- var comboboxvue_type_template_id_0f032a37_staticRenderFns = []
3256
+ ;// 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&
3257
+ 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()])}
3258
+ var comboboxvue_type_template_id_62892fd4_staticRenderFns = []
3258
3259
 
3259
3260
 
3260
3261
  ;// CONCATENATED MODULE: ./common/mixins/dom.js
@@ -3554,22 +3555,20 @@ const ERROR_INVALID_LIST_ELEMENT = 'listElementKey is required or the referenced
3554
3555
  this.setHighlightIndex(this._itemsLength() - 1);
3555
3556
  },
3556
3557
 
3557
- async setHighlightIndex(num) {
3558
+ setHighlightIndex(num) {
3558
3559
  this[indexKey] = num;
3559
3560
  this[idKey] = this._getItemId(num);
3560
3561
 
3561
3562
  if (this._itemsLength() && afterHighlightMethod) {
3562
- await this.$nextTick();
3563
3563
  this[afterHighlightMethod](num);
3564
3564
  }
3565
3565
  },
3566
3566
 
3567
- async setHighlightId(id) {
3567
+ setHighlightId(id) {
3568
3568
  this[idKey] = id;
3569
3569
  this[indexKey] = this._getItemIndex(id);
3570
3570
 
3571
3571
  if (this._itemsLength() && afterHighlightMethod) {
3572
- await this.$nextTick();
3573
3572
  this[afterHighlightMethod](this._getItemIndex(id));
3574
3573
  }
3575
3574
  },
@@ -4711,6 +4710,62 @@ var combobox_loading_list_component = normalizeComponent(
4711
4710
  )
4712
4711
 
4713
4712
  /* harmony default export */ const combobox_loading_list = (combobox_loading_list_component.exports);
4713
+ ;// 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&
4714
+ 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)}
4715
+ var combobox_empty_listvue_type_template_id_85c21112_staticRenderFns = []
4716
+
4717
+
4718
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-80[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&
4719
+ //
4720
+ //
4721
+ //
4722
+ //
4723
+ //
4724
+ //
4725
+ //
4726
+ //
4727
+ //
4728
+ //
4729
+ //
4730
+ //
4731
+ //
4732
+ //
4733
+ //
4734
+
4735
+ /* harmony default export */ const combobox_empty_listvue_type_script_lang_js_ = ({
4736
+ name: 'ComboboxEmptyList',
4737
+ components: {
4738
+ DtListItem: list_item
4739
+ },
4740
+ props: {
4741
+ message: {
4742
+ type: String,
4743
+ required: true
4744
+ }
4745
+ }
4746
+ });
4747
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue?vue&type=script&lang=js&
4748
+ /* harmony default export */ const combobox_combobox_empty_listvue_type_script_lang_js_ = (combobox_empty_listvue_type_script_lang_js_);
4749
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue
4750
+
4751
+
4752
+
4753
+
4754
+
4755
+ /* normalize component */
4756
+ ;
4757
+ var combobox_empty_list_component = normalizeComponent(
4758
+ combobox_combobox_empty_listvue_type_script_lang_js_,
4759
+ combobox_empty_listvue_type_template_id_85c21112_render,
4760
+ combobox_empty_listvue_type_template_id_85c21112_staticRenderFns,
4761
+ false,
4762
+ null,
4763
+ null,
4764
+ null
4765
+
4766
+ )
4767
+
4768
+ /* harmony default export */ const combobox_empty_list = (combobox_empty_list_component.exports);
4714
4769
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-80[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&
4715
4770
  //
4716
4771
  //
@@ -4752,13 +4807,22 @@ var combobox_loading_list_component = normalizeComponent(
4752
4807
  //
4753
4808
  //
4754
4809
  //
4810
+ //
4811
+ //
4812
+ //
4813
+ //
4814
+ //
4815
+ //
4816
+ //
4817
+
4755
4818
 
4756
4819
 
4757
4820
 
4758
4821
  /* harmony default export */ const comboboxvue_type_script_lang_js_ = ({
4759
4822
  name: 'DtCombobox',
4760
4823
  components: {
4761
- ComboboxLoadingList: combobox_loading_list
4824
+ ComboboxLoadingList: combobox_loading_list,
4825
+ ComboboxEmptyList: combobox_empty_list
4762
4826
  },
4763
4827
  mixins: [keyboard_list_navigation({
4764
4828
  indexKey: 'highlightIndex',
@@ -4829,6 +4893,14 @@ var combobox_loading_list_component = normalizeComponent(
4829
4893
  loading: {
4830
4894
  type: Boolean,
4831
4895
  default: false
4896
+ },
4897
+
4898
+ /**
4899
+ * Message to show when the list is empty
4900
+ */
4901
+ emptyStateMessage: {
4902
+ type: String,
4903
+ default: ''
4832
4904
  }
4833
4905
  },
4834
4906
  emits: ['select', 'escape', 'highlight', 'opened'],
@@ -4838,7 +4910,9 @@ var combobox_loading_list_component = normalizeComponent(
4838
4910
  // If the list is rendered at the root, rather than as a child
4839
4911
  // of this component, this is the ref to that dom element. Set
4840
4912
  // by the onOpen method.
4841
- outsideRenderedListRef: null
4913
+ outsideRenderedListRef: null,
4914
+ isListEmpty: undefined,
4915
+ isLoading: undefined
4842
4916
  };
4843
4917
  },
4844
4918
 
@@ -4889,20 +4963,35 @@ var combobox_loading_list_component = normalizeComponent(
4889
4963
  watch: {
4890
4964
  showList(showList) {
4891
4965
  // When the list's visibility changes reset the highlight index.
4892
- this.$nextTick(function () {
4893
- if (!this.listRenderedOutside) {
4894
- this.setInitialHighlightIndex();
4895
- this.$emit('opened', showList);
4896
- }
4897
- });
4966
+ if (!this.listRenderedOutside) {
4967
+ this.setInitialHighlightIndex();
4968
+ this.$emit('opened', showList);
4969
+ }
4898
4970
 
4899
4971
  if (!showList && this.outsideRenderedListRef) {
4900
4972
  this.outsideRenderedListRef.removeEventListener('mousemove', this.onMouseHighlight);
4901
4973
  this.outsideRenderedListRef = null;
4974
+ this.isListEmpty = undefined;
4902
4975
  }
4976
+ },
4977
+
4978
+ loading(isLoading) {
4979
+ this.isListEmpty = undefined;
4980
+ this.isLoading = isLoading;
4981
+ this.$nextTick(() => {
4982
+ this.isListEmpty = this.checkItemsLength();
4983
+ this.setInitialHighlightIndex();
4984
+ });
4903
4985
  }
4904
4986
 
4905
4987
  },
4988
+
4989
+ async mounted() {
4990
+ this.isLoading = this.loading;
4991
+ await this.$nextTick();
4992
+ this.isListEmpty = this.checkItemsLength();
4993
+ },
4994
+
4906
4995
  methods: {
4907
4996
  onMouseHighlight(e) {
4908
4997
  if (this.loading) return;
@@ -4914,9 +5003,9 @@ var combobox_loading_list_component = normalizeComponent(
4914
5003
  },
4915
5004
 
4916
5005
  getListElement() {
4917
- var _this$outsideRendered;
5006
+ var _this$outsideRendered, _this$$refs$listWrapp;
4918
5007
 
4919
- return (_this$outsideRendered = this.outsideRenderedListRef) !== null && _this$outsideRendered !== void 0 ? _this$outsideRendered : this.$refs.listWrapper.querySelector("#".concat(this.listId));
5008
+ 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));
4920
5009
  },
4921
5010
 
4922
5011
  clearHighlightIndex() {
@@ -4931,7 +5020,7 @@ var combobox_loading_list_component = normalizeComponent(
4931
5020
  },
4932
5021
 
4933
5022
  onEnterKey() {
4934
- if (this.loading) return;
5023
+ if (this.loading || this.isListEmpty) return;
4935
5024
 
4936
5025
  if (this.highlightIndex >= 0) {
4937
5026
  this.$emit('select', this.highlightIndex);
@@ -4950,24 +5039,30 @@ var combobox_loading_list_component = normalizeComponent(
4950
5039
  this.$emit('opened', open);
4951
5040
 
4952
5041
  if (open) {
5042
+ this.isListEmpty = this.checkItemsLength();
4953
5043
  this.setInitialHighlightIndex();
4954
5044
  }
4955
5045
  },
4956
5046
 
4957
5047
  onKeyValidation(e, eventHandler) {
4958
- if (!this.showList || !this.getListElement()) {
4959
- return;
4960
- }
4961
-
5048
+ if (!this.showList || !this.getListElement()) return;
4962
5049
  this[eventHandler](e);
4963
5050
  },
4964
5051
 
4965
5052
  setInitialHighlightIndex() {
4966
- if (this.showList) {
5053
+ if (!this.showList) return;
5054
+ this.$nextTick(() => {
4967
5055
  // When the list's is shown, reset the highlight index.
4968
5056
  // If the list is loading, set to -1
4969
5057
  this.setHighlightIndex(this.loading ? -1 : 0);
4970
- }
5058
+ });
5059
+ },
5060
+
5061
+ checkItemsLength() {
5062
+ if (!this.showList) return undefined;
5063
+ const list = this.getListElement();
5064
+ const options = list === null || list === void 0 ? void 0 : list.querySelectorAll("[role=\"option\"]");
5065
+ return (options === null || options === void 0 ? void 0 : options.length) === 0;
4971
5066
  }
4972
5067
 
4973
5068
  }
@@ -4984,8 +5079,8 @@ var combobox_loading_list_component = normalizeComponent(
4984
5079
  ;
4985
5080
  var combobox_component = normalizeComponent(
4986
5081
  combobox_comboboxvue_type_script_lang_js_,
4987
- comboboxvue_type_template_id_0f032a37_render,
4988
- comboboxvue_type_template_id_0f032a37_staticRenderFns,
5082
+ comboboxvue_type_template_id_62892fd4_render,
5083
+ comboboxvue_type_template_id_62892fd4_staticRenderFns,
4989
5084
  false,
4990
5085
  null,
4991
5086
  null,
@@ -5005,8 +5100,8 @@ return [_c('ul',{ref:"listWrapper",class:['d-ps-relative', 'd-px0', _vm.DROPDOWN
5005
5100
  var dropdownvue_type_template_id_02d3f006_staticRenderFns = []
5006
5101
 
5007
5102
 
5008
- ;// 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&
5009
- 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":{
5103
+ ;// 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&
5104
+ 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":{
5010
5105
  'aria-expanded': _vm.isOpen.toString(),
5011
5106
  'aria-controls': _vm.id,
5012
5107
  'aria-haspopup': _vm.role,
@@ -5017,7 +5112,7 @@ var popovervue_type_template_id_97535496_render = function () {var _vm=this;var
5017
5112
  'd-popover__content',
5018
5113
  _vm.POPOVER_PADDING_CLASSES[_vm.padding],
5019
5114
  _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)}
5020
- var popovervue_type_template_id_97535496_staticRenderFns = []
5115
+ var popovervue_type_template_id_52edae7f_staticRenderFns = []
5021
5116
 
5022
5117
 
5023
5118
  ;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js
@@ -9420,6 +9515,7 @@ const getArrowDetected = fn => ({
9420
9515
 
9421
9516
 
9422
9517
  const BASE_TIPPY_DIRECTIONS = ['bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end', 'left', 'left-start', 'left-end', 'top', 'top-start', 'top-end'];
9518
+ const TIPPY_STICKY_VALUES = [true, false, 'reference', 'popper'];
9423
9519
  const tippy_utils_createTippy = (anchorElement, options) => {
9424
9520
  const {
9425
9521
  contentElement
@@ -9427,6 +9523,7 @@ const tippy_utils_createTippy = (anchorElement, options) => {
9427
9523
  };
9428
9524
  delete options.contentElement;
9429
9525
  return tippy_esm(anchorElement, { ...options,
9526
+ plugins: [sticky],
9430
9527
  render: () => getContentWrapper(contentElement)
9431
9528
  });
9432
9529
  };
@@ -9435,18 +9532,27 @@ const getPopperOptions = function () {
9435
9532
  boundary = 'clippingParents',
9436
9533
  fallbackPlacements = [],
9437
9534
  onChangePlacement = () => {},
9438
- hasHideModifierEnabled = false
9535
+ hasHideModifierEnabled = false,
9536
+ // If set to false the dialog will display over top of the anchor when there is insufficient space.
9537
+ // if set to true it will never move from its position relative to the anchor and will clip instead.
9538
+ tether = true
9439
9539
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9440
9540
  return {
9441
9541
  modifiers: [{
9442
9542
  name: 'flip',
9443
9543
  options: {
9444
- fallbackPlacements: fallbackPlacements,
9544
+ fallbackPlacements,
9445
9545
  boundary
9446
9546
  }
9447
9547
  }, {
9448
9548
  name: 'hide',
9449
9549
  enabled: hasHideModifierEnabled
9550
+ }, {
9551
+ name: 'preventOverflow',
9552
+ options: {
9553
+ altAxis: !tether,
9554
+ tether
9555
+ }
9450
9556
  }, getArrowDetected(_ref => {
9451
9557
  let {
9452
9558
  state
@@ -9502,6 +9608,7 @@ const POPOVER_HEADER_FOOTER_PADDING_CLASSES = {
9502
9608
  const POPOVER_ROLES = ['dialog', 'menu', 'listbox', 'tree', 'grid'];
9503
9609
  const POPOVER_CONTENT_WIDTHS = [null, 'anchor'];
9504
9610
  const POPOVER_INITIAL_FOCUS_STRINGS = ['none', 'dialog', 'first'];
9611
+ const POPOVER_STICKY_VALUES = [...TIPPY_STICKY_VALUES];
9505
9612
  const POPOVER_DIRECTIONS = [...BASE_TIPPY_DIRECTIONS];
9506
9613
  ;// 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&
9507
9614
  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)])}
@@ -10221,6 +10328,30 @@ var popover_header_footer_component = normalizeComponent(
10221
10328
  default: 'bottom-end'
10222
10329
  },
10223
10330
 
10331
+ /**
10332
+ * If set to false the dialog will display over top of the anchor when there is insufficient space.
10333
+ * If set to true it will never move from its position relative to the anchor and will clip instead.
10334
+ */
10335
+ tether: {
10336
+ type: Boolean,
10337
+ default: true
10338
+ },
10339
+
10340
+ /**
10341
+ * If the popover sticks to the anchor. This is usually not needed, but can be needed
10342
+ * if the reference element's position is animating, or to automatically update the popover
10343
+ * position in those cases the DOM layout changes the reference element's position.
10344
+ * `true` enables it, `reference` only checks the "reference" rect for changes and `popper` only
10345
+ * checks the "popper" rect for changes.
10346
+ */
10347
+ sticky: {
10348
+ type: [Boolean, String],
10349
+ default: false,
10350
+ validator: sticky => {
10351
+ return POPOVER_STICKY_VALUES.includes(sticky);
10352
+ }
10353
+ },
10354
+
10224
10355
  /**
10225
10356
  * Determines maximum height for the popover before overflow.
10226
10357
  * Possible units rem|px|em
@@ -10334,16 +10465,25 @@ var popover_header_footer_component = normalizeComponent(
10334
10465
 
10335
10466
  offset(offset) {
10336
10467
  this.tip.setProps({
10337
- offset: offset
10468
+ offset
10338
10469
  });
10339
10470
  },
10340
10471
 
10341
- fallbackPlacements(fallbackPlacements) {
10472
+ sticky(sticky) {
10342
10473
  this.tip.setProps({
10343
- popperOptions: getPopperOptions({
10344
- fallbackPlacements: fallbackPlacements,
10345
- hasHideModifierEnabled: true
10346
- })
10474
+ sticky
10475
+ });
10476
+ },
10477
+
10478
+ fallbackPlacements() {
10479
+ this.tip.setProps({
10480
+ popperOptions: this.popperOptions()
10481
+ });
10482
+ },
10483
+
10484
+ tether() {
10485
+ this.tip.setProps({
10486
+ popperOptions: this.popperOptions()
10347
10487
  });
10348
10488
  },
10349
10489
 
@@ -10387,13 +10527,11 @@ var popover_header_footer_component = normalizeComponent(
10387
10527
  }
10388
10528
 
10389
10529
  this.tip = tippy_utils_createTippy(this.anchorEl, {
10390
- popperOptions: getPopperOptions({
10391
- fallbackPlacements: this.fallbackPlacements,
10392
- hasHideModifierEnabled: true
10393
- }),
10530
+ popperOptions: this.popperOptions(),
10394
10531
  contentElement: this.popoverContentEl,
10395
10532
  placement: this.placement,
10396
10533
  offset: this.offset,
10534
+ sticky: this.sticky,
10397
10535
  appendTo: document.body,
10398
10536
  interactive: true,
10399
10537
  trigger: 'manual',
@@ -10424,6 +10562,14 @@ var popover_header_footer_component = normalizeComponent(
10424
10562
  * METHODS *
10425
10563
  ******************/
10426
10564
  methods: {
10565
+ popperOptions() {
10566
+ return getPopperOptions({
10567
+ fallbackPlacements: this.fallbackPlacements,
10568
+ tether: this.tether,
10569
+ hasHideModifierEnabled: true
10570
+ });
10571
+ },
10572
+
10427
10573
  validateProps() {
10428
10574
  if (this.modal && this.initialFocusElement === 'none') {
10429
10575
  console.error('If the popover is modal you must set the ' + 'initialFocusElement prop. Possible values: "dialog", "first", HTMLElement');
@@ -10615,8 +10761,8 @@ var popovervue_type_style_index_0_lang_less_ = __webpack_require__(532);
10615
10761
 
10616
10762
  var popover_component = normalizeComponent(
10617
10763
  popover_popovervue_type_script_lang_js_,
10618
- popovervue_type_template_id_97535496_render,
10619
- popovervue_type_template_id_97535496_staticRenderFns,
10764
+ popovervue_type_template_id_52edae7f_render,
10765
+ popovervue_type_template_id_52edae7f_staticRenderFns,
10620
10766
  false,
10621
10767
  null,
10622
10768
  null,
@@ -15744,15 +15890,15 @@ var toggle_component = normalizeComponent(
15744
15890
  /* harmony default export */ const toggle = (toggle_component.exports);
15745
15891
  ;// CONCATENATED MODULE: ./components/toggle/index.js
15746
15892
 
15747
- ;// 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&
15748
- var tooltipvue_type_template_id_06e65b4f_render = function () {
15893
+ ;// 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&
15894
+ var tooltipvue_type_template_id_662e4cf7_render = function () {
15749
15895
  var _obj;
15750
15896
  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:[
15751
15897
  'd-tooltip',
15752
15898
  ("d-tooltip__arrow-tippy--" + _vm.currentPlacement),
15753
15899
  ( _obj = {}, _obj[ _vm.TOOLTIP_KIND_MODIFIERS.inverted ] = _vm.inverted, _obj ),
15754
15900
  _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)}
15755
- var tooltipvue_type_template_id_06e65b4f_staticRenderFns = []
15901
+ var tooltipvue_type_template_id_662e4cf7_staticRenderFns = []
15756
15902
 
15757
15903
 
15758
15904
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip_constants.js
@@ -15767,6 +15913,7 @@ const TOOLTIP_KIND_MODIFIERS = {
15767
15913
  inverted: "d-tooltip--inverted",
15768
15914
  hide: "d-tooltip--hide"
15769
15915
  };
15916
+ const TOOLTIP_STICKY_VALUES = [...TIPPY_STICKY_VALUES];
15770
15917
  const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
15771
15918
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-80[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&
15772
15919
  //
@@ -15876,6 +16023,21 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
15876
16023
 
15877
16024
  },
15878
16025
 
16026
+ /**
16027
+ * If the tooltip sticks to the anchor. This is usually not needed, but can be needed
16028
+ * if the reference element's position is animating, or to automatically update the popover
16029
+ * position in those cases the DOM layout changes the reference element's position.
16030
+ * `true` enables it, `reference` only checks the "reference" rect for changes and `popper` only
16031
+ * checks the "popper" rect for changes.
16032
+ */
16033
+ sticky: {
16034
+ type: [Boolean, String],
16035
+ default: false,
16036
+ validator: sticky => {
16037
+ return TOOLTIP_STICKY_VALUES.includes(sticky);
16038
+ }
16039
+ },
16040
+
15879
16041
  /**
15880
16042
  * Additional css classes for the tooltip content element.
15881
16043
  * Can accept all of String, Object, and Array, i.e. has the
@@ -15937,6 +16099,7 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
15937
16099
  interactive: false,
15938
16100
  trigger: 'manual',
15939
16101
  placement: this.placement,
16102
+ sticky: this.sticky,
15940
16103
  popperOptions: getPopperOptions({
15941
16104
  fallbackPlacements: this.fallbackPlacements,
15942
16105
  hasHideModifierEnabled: true,
@@ -15967,6 +16130,12 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
15967
16130
  } else {
15968
16131
  this.tip.hide();
15969
16132
  }
16133
+ },
16134
+
16135
+ sticky(sticky) {
16136
+ this.tip.setProps({
16137
+ sticky
16138
+ });
15970
16139
  }
15971
16140
 
15972
16141
  },
@@ -16087,8 +16256,8 @@ var tooltipvue_type_style_index_0_lang_less_ = __webpack_require__(228);
16087
16256
 
16088
16257
  var tooltip_component = normalizeComponent(
16089
16258
  tooltip_tooltipvue_type_script_lang_js_,
16090
- tooltipvue_type_template_id_06e65b4f_render,
16091
- tooltipvue_type_template_id_06e65b4f_staticRenderFns,
16259
+ tooltipvue_type_template_id_662e4cf7_render,
16260
+ tooltipvue_type_template_id_662e4cf7_staticRenderFns,
16092
16261
  false,
16093
16262
  null,
16094
16263
  null,
@@ -16723,15 +16892,17 @@ var root_layout_component = normalizeComponent(
16723
16892
  ;// CONCATENATED MODULE: ./components/root_layout/index.js
16724
16893
 
16725
16894
 
16726
- ;// 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&
16727
- 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){
16895
+ ;// 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&
16896
+ 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){
16728
16897
  var inputProps = ref.inputProps;
16729
16898
  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){
16730
16899
  var opened = ref.opened;
16731
16900
  var listProps = ref.listProps;
16732
16901
  var clearHighlightIndex = ref.clearHighlightIndex;
16733
- 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))}
16734
- var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
16902
+ var isLoading = ref.isLoading;
16903
+ var isListEmpty = ref.isListEmpty;
16904
+ 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))}
16905
+ var combobox_with_popovervue_type_template_id_108db852_staticRenderFns = []
16735
16906
 
16736
16907
 
16737
16908
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-80[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&
@@ -16827,6 +16998,13 @@ var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
16827
16998
  //
16828
16999
  //
16829
17000
  //
17001
+ //
17002
+ //
17003
+ //
17004
+ //
17005
+ //
17006
+ //
17007
+
16830
17008
 
16831
17009
 
16832
17010
 
@@ -16836,7 +17014,8 @@ var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
16836
17014
  components: {
16837
17015
  DtCombobox: combobox,
16838
17016
  DtPopover: popover,
16839
- ComboboxLoadingList: combobox_loading_list
17017
+ ComboboxLoadingList: combobox_loading_list,
17018
+ ComboboxEmptyList: combobox_empty_list
16840
17019
  },
16841
17020
  props: {
16842
17021
  /**
@@ -16952,6 +17131,14 @@ var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
16952
17131
  default: () => [0, 4]
16953
17132
  },
16954
17133
 
17134
+ /**
17135
+ * If the popover sticks to the input.
17136
+ */
17137
+ popoverSticky: {
17138
+ type: [Boolean, String],
17139
+ default: false
17140
+ },
17141
+
16955
17142
  /**
16956
17143
  * Displays the list when the combobox is focused, before the user has typed anything.
16957
17144
  * When this is enabled the list will not close after selection.
@@ -16967,6 +17154,14 @@ var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
16967
17154
  loading: {
16968
17155
  type: Boolean,
16969
17156
  default: false
17157
+ },
17158
+
17159
+ /**
17160
+ * Message to show when the list is empty
17161
+ */
17162
+ emptyStateMessage: {
17163
+ type: String,
17164
+ default: ''
16970
17165
  }
16971
17166
  },
16972
17167
  emits: ['select', 'escape', 'highlight', 'opened'],
@@ -17007,13 +17202,7 @@ var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
17007
17202
 
17008
17203
  },
17009
17204
  methods: {
17010
- async handleDisplayList(value) {
17011
- if (this.isListShown) {
17012
- // After the list is updated, hightlight the first item
17013
- await this.$nextTick();
17014
- this.$refs.combobox.setInitialHighlightIndex();
17015
- }
17016
-
17205
+ handleDisplayList(value) {
17017
17206
  if (!this.hasSuggestionList) {
17018
17207
  if (value) {
17019
17208
  // Displays the list after the user has typed anything
@@ -17107,8 +17296,8 @@ var combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns = []
17107
17296
  ;
17108
17297
  var combobox_with_popover_component = normalizeComponent(
17109
17298
  combobox_with_popover_combobox_with_popovervue_type_script_lang_js_,
17110
- combobox_with_popovervue_type_template_id_0ce1b850_render,
17111
- combobox_with_popovervue_type_template_id_0ce1b850_staticRenderFns,
17299
+ combobox_with_popovervue_type_template_id_108db852_render,
17300
+ combobox_with_popovervue_type_template_id_108db852_staticRenderFns,
17112
17301
  false,
17113
17302
  null,
17114
17303
  null,
@@ -17119,11 +17308,11 @@ var combobox_with_popover_component = normalizeComponent(
17119
17308
  /* harmony default export */ const combobox_with_popover = (combobox_with_popover_component.exports);
17120
17309
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/index.js
17121
17310
 
17122
- ;// 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&
17123
- 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){
17311
+ ;// 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&
17312
+ 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){
17124
17313
  var onInput = ref.onInput;
17125
17314
  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)})}
17126
- var combobox_multi_selectvue_type_template_id_b69c13e6_staticRenderFns = []
17315
+ var combobox_multi_selectvue_type_template_id_50e5c78d_staticRenderFns = []
17127
17316
 
17128
17317
 
17129
17318
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/combobox_multi_select_story_constants.js
@@ -17500,10 +17689,19 @@ const MULTI_SELECT_SIZES = {
17500
17689
  return { ...this.$listeners,
17501
17690
  input: event => {
17502
17691
  this.$emit('input', event);
17692
+
17693
+ if (this.hasSuggestionList) {
17694
+ this.showComboboxList();
17695
+ }
17503
17696
  },
17504
17697
  keyup: event => {
17505
17698
  this.onInputKeyup(event);
17506
17699
  this.$emit('keyup', event);
17700
+ },
17701
+ click: event => {
17702
+ if (this.hasSuggestionList) {
17703
+ this.showComboboxList();
17704
+ }
17507
17705
  }
17508
17706
  };
17509
17707
  }
@@ -17549,7 +17747,6 @@ const MULTI_SELECT_SIZES = {
17549
17747
  var _this$resizeWindowObs;
17550
17748
 
17551
17749
  (_this$resizeWindowObs = this.resizeWindowObserver) === null || _this$resizeWindowObs === void 0 ? void 0 : _this$resizeWindowObs.unobserve(document.body);
17552
- console.log('Combobox Multi Select: Unobserve window resize before destory');
17553
17750
  },
17554
17751
 
17555
17752
  methods: {
@@ -17563,6 +17760,22 @@ const MULTI_SELECT_SIZES = {
17563
17760
  this.$emit('select', i);
17564
17761
  },
17565
17762
 
17763
+ showComboboxList() {
17764
+ if (this.showList != null) {
17765
+ return;
17766
+ }
17767
+
17768
+ this.$refs.comboboxWithPopover.showComboboxList();
17769
+ },
17770
+
17771
+ closeComboboxList() {
17772
+ if (this.showList != null) {
17773
+ return;
17774
+ }
17775
+
17776
+ this.$refs.comboboxWithPopover.closeComboboxList();
17777
+ },
17778
+
17566
17779
  getChipButtons() {
17567
17780
  return this.$refs.chips && this.$refs.chips.map(chip => chip.$el.querySelector('button'));
17568
17781
  },
@@ -17624,13 +17837,13 @@ const MULTI_SELECT_SIZES = {
17624
17837
  moveFromInputToChip() {
17625
17838
  this.getLastChipButton().focus();
17626
17839
  this.$refs.input.blur();
17627
- this.$refs.comboboxWithPopover.closeComboboxList();
17840
+ this.closeComboboxList();
17628
17841
  },
17629
17842
 
17630
17843
  moveFromChipToInput() {
17631
17844
  this.getLastChipButton().blur();
17632
17845
  this.$refs.input.focus();
17633
- this.$refs.comboboxWithPopover.showComboboxList();
17846
+ this.showComboboxList();
17634
17847
  },
17635
17848
 
17636
17849
  navigateBetweenChips(target, toLeft) {
@@ -17643,7 +17856,7 @@ const MULTI_SELECT_SIZES = {
17643
17856
 
17644
17857
  this.getChipButtons()[from].blur();
17645
17858
  this.getChipButtons()[to].focus();
17646
- this.$refs.comboboxWithPopover.closeComboboxList();
17859
+ this.closeComboboxList();
17647
17860
  },
17648
17861
 
17649
17862
  setChipsTopPosition() {
@@ -17735,8 +17948,8 @@ const MULTI_SELECT_SIZES = {
17735
17948
  ;
17736
17949
  var combobox_multi_select_component = normalizeComponent(
17737
17950
  combobox_multi_select_combobox_multi_selectvue_type_script_lang_js_,
17738
- combobox_multi_selectvue_type_template_id_b69c13e6_render,
17739
- combobox_multi_selectvue_type_template_id_b69c13e6_staticRenderFns,
17951
+ combobox_multi_selectvue_type_template_id_50e5c78d_render,
17952
+ combobox_multi_selectvue_type_template_id_50e5c78d_staticRenderFns,
17740
17953
  false,
17741
17954
  null,
17742
17955
  null,