@dialpad/dialtone-vue 2.53.0 → 2.54.0-beta.1

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.
@@ -8000,17 +8000,17 @@ var collapsible_component = normalizeComponent(
8000
8000
  /* harmony default export */ const collapsible = (collapsible_component.exports);
8001
8001
  ;// CONCATENATED MODULE: ./components/collapsible/index.js
8002
8002
 
8003
- ;// 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/dropdown/dropdown.vue?vue&type=template&id=70cb2bdc&
8004
- var dropdownvue_type_template_id_70cb2bdc_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-popover',_vm._g({ref:"popover",attrs:{"content-width":_vm.contentWidth,"open":_vm.open,"placement":_vm.placement,"initial-focus-element":_vm.openedWithKeyboard ? 'first' : 'dialog',"fallback-placements":_vm.fallbackPlacements,"padding":"none","role":"menu","modal":_vm.modal,"max-height":_vm.maxHeight,"max-width":_vm.maxWidth,"open-with-arrow-keys":true,"open-on-context":_vm.openOnContext},scopedSlots:_vm._u([{key:"anchor",fn:function(ref){
8003
+ ;// 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/dropdown/dropdown.vue?vue&type=template&id=5944f754&
8004
+ var dropdownvue_type_template_id_5944f754_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-popover',_vm._g({ref:"popover",attrs:{"content-width":_vm.contentWidth,"open":_vm.open,"placement":_vm.placement,"initial-focus-element":_vm.openedWithKeyboard ? 'first' : 'dialog',"fallback-placements":_vm.fallbackPlacements,"padding":"none","role":"menu","modal":_vm.modal,"max-height":_vm.maxHeight,"max-width":_vm.maxWidth,"open-with-arrow-keys":_vm.shouldOpenWithArrowKeys,"open-on-context":_vm.openOnContext},scopedSlots:_vm._u([{key:"anchor",fn:function(ref){
8005
8005
  var attrs = ref.attrs;
8006
8006
  return [_vm._t("anchor",null,null,attrs)]}},{key:"content",fn:function(ref){
8007
8007
  var close = ref.close;
8008
8008
  return [_c('ul',{ref:"listWrapper",class:_vm.listClasses,attrs:{"id":_vm.listId,"data-qa":"dt-dropdown-list-wrapper"},on:{"mouseleave":_vm.clearHighlightIndex,"!mousemove":function($event){return _vm.onMouseHighlight.apply(null, arguments)}}},[_vm._t("list",null,{"close":close}),(_vm.showVisuallyHiddenClose)?_c('sr-only-close-button',{attrs:{"visually-hidden-close-label":_vm.visuallyHiddenCloseLabel,"tabindex":_vm.isArrowKeyNav ? -1 : 0},on:{"close":close}}):_vm._e()],2)]}}],null,true)},_vm.dropdownListeners))}
8009
- var dropdownvue_type_template_id_70cb2bdc_staticRenderFns = []
8009
+ var dropdownvue_type_template_id_5944f754_staticRenderFns = []
8010
8010
 
8011
8011
 
8012
- ;// 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=47e76c3e&
8013
- var popovervue_type_template_id_47e76c3e_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--opened': _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","tabindex":_vm.openOnContext ? 0 : undefined},on:{"!click":function($event){return _vm.defaultToggleOpen.apply(null, arguments)},"contextmenu":_vm.onContext,"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)}],"!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":{
8012
+ ;// 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=8dc20c0e&
8013
+ var popovervue_type_template_id_8dc20c0e_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--opened': _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","tabindex":_vm.openOnContext ? 0 : undefined},on:{"!click":function($event){return _vm.defaultToggleOpen.apply(null, arguments)},"contextmenu":_vm.onContext,"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)}],"!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":{
8014
8014
  'aria-expanded': _vm.isOpen.toString(),
8015
8015
  'aria-controls': _vm.id,
8016
8016
  'aria-haspopup': _vm.role,
@@ -8021,7 +8021,7 @@ var popovervue_type_template_id_47e76c3e_render = function () {var _vm=this;var
8021
8021
  'd-popover__content',
8022
8022
  _vm.POPOVER_PADDING_CLASSES[_vm.padding],
8023
8023
  _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(),(_vm.showVisuallyHiddenClose)?_c('sr-only-close-button',{attrs:{"visually-hidden-close-label":_vm.visuallyHiddenCloseLabel},on:{"close":_vm.closePopover}}):_vm._e()],1)],1)],1)}
8024
- var popovervue_type_template_id_47e76c3e_staticRenderFns = []
8024
+ var popovervue_type_template_id_8dc20c0e_staticRenderFns = []
8025
8025
 
8026
8026
 
8027
8027
  ;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js
@@ -13441,7 +13441,7 @@ var popover_header_footer_component = normalizeComponent(
13441
13441
  },
13442
13442
 
13443
13443
  mounted() {
13444
- const externalAnchorEl = document.getElementById(this.externalAnchor);
13444
+ const externalAnchorEl = this.externalAnchor ? this.$el.getRootNode().querySelector(`#${this.externalAnchor}`) : null;
13445
13445
  this.anchorEl = externalAnchorEl !== null && externalAnchorEl !== void 0 ? externalAnchorEl : this.$refs.anchor.children[0];
13446
13446
  this.popoverContentEl = this.$refs.content.$el;
13447
13447
 
@@ -13478,7 +13478,7 @@ var popover_header_footer_component = normalizeComponent(
13478
13478
 
13479
13479
  calculateAnchorZindex() {
13480
13480
  // if a modal is currently active render at modal-element z-index, otherwise at popover z-index
13481
- if (document.querySelector('.d-modal[aria-hidden="false"], .d-modal--transparent[aria-hidden="false"]')) {
13481
+ if (this.$el.getRootNode().querySelector('.d-modal[aria-hidden="false"], .d-modal--transparent[aria-hidden="false"]')) {
13482
13482
  return 650;
13483
13483
  } else {
13484
13484
  return 300;
@@ -13732,8 +13732,8 @@ var popovervue_type_style_index_0_lang_less_ = __webpack_require__(532);
13732
13732
 
13733
13733
  var popover_component = normalizeComponent(
13734
13734
  popover_popovervue_type_script_lang_js_,
13735
- popovervue_type_template_id_47e76c3e_render,
13736
- popovervue_type_template_id_47e76c3e_staticRenderFns,
13735
+ popovervue_type_template_id_8dc20c0e_render,
13736
+ popovervue_type_template_id_8dc20c0e_staticRenderFns,
13737
13737
  false,
13738
13738
  null,
13739
13739
  null,
@@ -14006,14 +14006,14 @@ const DROPDOWN_PADDING_CLASSES = {
14006
14006
  switch (eventCode) {
14007
14007
  case EVENT_KEYNAMES.up:
14008
14008
  case EVENT_KEYNAMES.arrowup:
14009
- this.onKeyValidation(event, 'onUpKeyPress');
14009
+ this.onUpKeyPress(event);
14010
14010
  event.stopPropagation();
14011
14011
  event.preventDefault();
14012
14012
  break;
14013
14013
 
14014
14014
  case EVENT_KEYNAMES.down:
14015
14015
  case EVENT_KEYNAMES.arrowdown:
14016
- this.onKeyValidation(event, 'onDownKeyPress');
14016
+ this.onDownKeyPress(event);
14017
14017
  event.stopPropagation();
14018
14018
  event.preventDefault();
14019
14019
  break;
@@ -14028,19 +14028,19 @@ const DROPDOWN_PADDING_CLASSES = {
14028
14028
  break;
14029
14029
 
14030
14030
  case EVENT_KEYNAMES.home:
14031
- this.onKeyValidation(event, 'onHomeKeyPress');
14031
+ this.onHomeKeyPress(event);
14032
14032
  event.stopPropagation();
14033
14033
  event.preventDefault();
14034
14034
  break;
14035
14035
 
14036
14036
  case EVENT_KEYNAMES.end:
14037
- this.onKeyValidation(event, 'onEndKeyPress');
14037
+ this.onEndKeyPress(event);
14038
14038
  event.stopPropagation();
14039
14039
  event.preventDefault();
14040
14040
  break;
14041
14041
 
14042
14042
  default:
14043
- this.onKeyValidation(event, 'onKeyPress');
14043
+ this.onKeyPress(event);
14044
14044
  break;
14045
14045
  }
14046
14046
 
@@ -14069,6 +14069,10 @@ const DROPDOWN_PADDING_CLASSES = {
14069
14069
  return ['d-ps-relative', 'd-stack2', 'd-m4', 'd-px0', DROPDOWN_PADDING_CLASSES[this.padding], this.listClass, {
14070
14070
  'd-context-menu-list': this.openOnContext
14071
14071
  }];
14072
+ },
14073
+
14074
+ shouldOpenWithArrowKeys() {
14075
+ return !this.openOnContext;
14072
14076
  }
14073
14077
 
14074
14078
  },
@@ -14172,14 +14176,6 @@ const DROPDOWN_PADDING_CLASSES = {
14172
14176
  e.stopPropagation();
14173
14177
  e.preventDefault();
14174
14178
  return this.onNavigationKey(e.key);
14175
- },
14176
-
14177
- onKeyValidation(e, eventHandler) {
14178
- if (this.open !== null && !this.openOnContext) {
14179
- return;
14180
- }
14181
-
14182
- this[eventHandler](e);
14183
14179
  }
14184
14180
 
14185
14181
  }
@@ -14201,8 +14197,8 @@ var dropdownvue_type_style_index_0_lang_less_ = __webpack_require__(774);
14201
14197
 
14202
14198
  var dropdown_component = normalizeComponent(
14203
14199
  dropdown_dropdownvue_type_script_lang_js_,
14204
- dropdownvue_type_template_id_70cb2bdc_render,
14205
- dropdownvue_type_template_id_70cb2bdc_staticRenderFns,
14200
+ dropdownvue_type_template_id_5944f754_render,
14201
+ dropdownvue_type_template_id_5944f754_staticRenderFns,
14206
14202
  false,
14207
14203
  null,
14208
14204
  null,
@@ -15811,14 +15807,15 @@ var input_group_component = normalizeComponent(
15811
15807
  /* harmony default export */ const input_group_input_group = (input_group_component.exports);
15812
15808
  ;// CONCATENATED MODULE: ./components/input_group/index.js
15813
15809
 
15814
- ;// 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/modal/modal.vue?vue&type=template&id=e9bf0878&
15815
- var modalvue_type_template_id_e9bf0878_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-lazy-show',_vm._g({class:[
15810
+ ;// 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/modal/modal.vue?vue&type=template&id=a8730b96&
15811
+ var modalvue_type_template_id_a8730b96_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-lazy-show',_vm._g({class:[
15816
15812
  'd-modal',
15817
15813
  _vm.MODAL_KIND_MODIFIERS[_vm.kind],
15818
15814
  _vm.MODAL_SIZE_MODIFIERS[_vm.size],
15819
15815
  _vm.modalClass ],attrs:{"transition":"d-zoom","show":_vm.show,"data-qa":"dt-modal","aria-hidden":_vm.open}},_vm.modalListeners),[(_vm.show && (_vm.$slots.banner || _vm.bannerTitle))?_c('div',{class:[
15820
15816
  'd-modal__banner',
15821
- _vm.bannerClass ],attrs:{"data-qa":"dt-modal-banner"}},[_vm._t("banner",function(){return [_vm._v(" "+_vm._s(_vm.bannerTitle)+" ")]})],2):_vm._e(),_c('transition',{attrs:{"appear":"","name":"d-modal__dialog"}},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.show),expression:"show"}],class:[
15817
+ _vm.bannerClass,
15818
+ _vm.bannerKindClass ],attrs:{"data-qa":"dt-modal-banner"}},[_vm._t("banner",function(){return [_vm._v(" "+_vm._s(_vm.bannerTitle)+" ")]})],2):_vm._e(),_c('transition',{attrs:{"appear":"","name":"d-modal__dialog"}},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.show),expression:"show"}],class:[
15822
15819
  'd-modal__dialog',
15823
15820
  { 'd-modal__dialog--scrollable': _vm.fixedHeaderFooter },
15824
15821
  _vm.dialogClass ],attrs:{"role":"dialog","aria-modal":"true","aria-describedby":_vm.describedById,"aria-labelledby":_vm.labelledById}},[(_vm.$slots.header)?_c('div',{staticClass:"d-modal__header",attrs:{"id":_vm.labelledById,"data-qa":"dt-modal-title"}},[_vm._t("header")],2):_c('h2',{staticClass:"d-modal__header",attrs:{"id":_vm.labelledById,"data-qa":"dt-modal-title"}},[_vm._v(" "+_vm._s(_vm.title)+" ")]),(_vm.$slots.default)?_c('div',{class:[
@@ -15826,7 +15823,7 @@ var modalvue_type_template_id_e9bf0878_render = function () {var _vm=this;var _h
15826
15823
  _vm.contentClass ],attrs:{"data-qa":"dt-modal-copy"}},[_vm._t("default")],2):_c('p',{class:[
15827
15824
  'd-modal__content',
15828
15825
  _vm.contentClass ],attrs:{"data-qa":"dt-modal-copy"}},[_vm._v(" "+_vm._s(_vm.copy)+" ")]),(_vm.hasFooterSlot)?_c('footer',{staticClass:"d-modal__footer"},[_vm._t("footer")],2):_vm._e(),(!_vm.hideClose)?_c('dt-button',_vm._b({staticClass:"d-modal__close",attrs:{"circle":"","size":"lg","importance":"clear","aria-label":_vm.closeButtonProps.ariaLabel},on:{"click":_vm.close},scopedSlots:_vm._u([{key:"icon",fn:function(){return [_c('dt-icon',{attrs:{"name":"close","size":"400"}})]},proxy:true}],null,false,1709155279)},'dt-button',_vm.closeButtonProps,false)):_vm._e(),(_vm.showVisuallyHiddenClose)?_c('sr-only-close-button',{attrs:{"visually-hidden-close-label":_vm.visuallyHiddenCloseLabel},on:{"close":_vm.close}}):_vm._e()],1)])],1)}
15829
- var modalvue_type_template_id_e9bf0878_staticRenderFns = []
15826
+ var modalvue_type_template_id_a8730b96_staticRenderFns = []
15830
15827
 
15831
15828
 
15832
15829
  ;// CONCATENATED MODULE: ./components/modal/modal_constants.js
@@ -15840,6 +15837,208 @@ const MODAL_SIZE_MODIFIERS = {
15840
15837
  default: '',
15841
15838
  full: 'd-modal--full'
15842
15839
  };
15840
+ const MODAL_BANNER_KINDS = {
15841
+ error: 'd-modal__banner--critical',
15842
+ info: 'd-modal__banner--info',
15843
+ success: 'd-modal__banner--success',
15844
+ warning: 'd-modal__banner--warning',
15845
+ base: 'd-modal__banner--general'
15846
+ };
15847
+ ;// 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/notice/notice.vue?vue&type=template&id=bdb2f588&
15848
+ var noticevue_type_template_id_bdb2f588_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('aside',{class:_vm.noticeClass,attrs:{"data-qa":"notice"}},[_c('dt-notice-icon',{attrs:{"kind":_vm.kind}},[_vm._t("icon")],2),_c('dt-notice-content',_vm._g({attrs:{"title-id":_vm.titleId,"content-id":_vm.contentId,"title":_vm.title,"role":_vm.role},scopedSlots:_vm._u([{key:"titleOverride",fn:function(){return [_vm._t("titleOverride")]},proxy:true}],null,true)},_vm.$listeners),[_vm._t("default")],2),_c('dt-notice-action',_vm._g({attrs:{"hide-close":_vm.hideClose,"close-button-props":_vm.closeButtonProps,"visually-hidden-close":_vm.visuallyHiddenClose,"visually-hidden-close-label":_vm.visuallyHiddenCloseLabel}},_vm.$listeners),[_vm._t("action")],2)],1)}
15849
+ var noticevue_type_template_id_bdb2f588_staticRenderFns = []
15850
+
15851
+
15852
+ ;// 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/notice/notice.vue?vue&type=script&lang=js&
15853
+ //
15854
+ //
15855
+ //
15856
+ //
15857
+ //
15858
+ //
15859
+ //
15860
+ //
15861
+ //
15862
+ //
15863
+ //
15864
+ //
15865
+ //
15866
+ //
15867
+ //
15868
+ //
15869
+ //
15870
+ //
15871
+ //
15872
+ //
15873
+ //
15874
+ //
15875
+ //
15876
+ //
15877
+ //
15878
+ //
15879
+ //
15880
+ //
15881
+ //
15882
+ //
15883
+ //
15884
+ //
15885
+ //
15886
+ //
15887
+ //
15888
+ //
15889
+ //
15890
+ //
15891
+ //
15892
+
15893
+
15894
+
15895
+
15896
+
15897
+ /**
15898
+ * A notice is an informational and assistive message that appears inline with content.
15899
+ * @see https://dialpad.design/components/notice.html
15900
+ */
15901
+
15902
+ /* harmony default export */ const noticevue_type_script_lang_js_ = ({
15903
+ name: 'DtNotice',
15904
+ components: {
15905
+ DtNoticeIcon: notice_icon,
15906
+ DtNoticeContent: notice_content,
15907
+ DtNoticeAction: notice_action
15908
+ },
15909
+ mixins: [sr_only_close_button],
15910
+ props: {
15911
+ /**
15912
+ * Sets an ID on the title element of the component. Useful for aria-describedby
15913
+ * or aria-labelledby or any other reason you may need an id to refer to the title.
15914
+ */
15915
+ titleId: {
15916
+ type: String,
15917
+ default: undefined
15918
+ },
15919
+
15920
+ /**
15921
+ * Sets an ID on the content element of the component. Useful for aria-describedby
15922
+ * or aria-labelledby or any other reason you may need an id to refer to the content.
15923
+ */
15924
+ contentId: {
15925
+ type: String,
15926
+ default: undefined
15927
+ },
15928
+
15929
+ /**
15930
+ * Title header of the notice. This can be left blank to remove the title from the notice entirely.
15931
+ */
15932
+ title: {
15933
+ type: String,
15934
+ default: ''
15935
+ },
15936
+
15937
+ /**
15938
+ * Provides a role for the notice. 'status' is used to communicate a message. 'alert' is used to communicate an
15939
+ * important message that does not contain any interactive elements. 'alertdialog' is used to communicate an
15940
+ * important message that does contain interactive elements.
15941
+ * @values alert, alertdialog, status
15942
+ */
15943
+ role: {
15944
+ type: String,
15945
+ default: 'status',
15946
+
15947
+ validate(role) {
15948
+ return NOTICE_ROLES.includes(role);
15949
+ }
15950
+
15951
+ },
15952
+
15953
+ /**
15954
+ * Used in scenarios where the message needs to visually dominate the screen.
15955
+ * This will also change the aria role from status to alert.
15956
+ * @values true, false
15957
+ */
15958
+ important: {
15959
+ type: Boolean,
15960
+ default: false
15961
+ },
15962
+
15963
+ /**
15964
+ * Severity level of the notice, sets the icon and background
15965
+ * @values base, error, info, success, warning
15966
+ */
15967
+ kind: {
15968
+ type: String,
15969
+ default: 'base',
15970
+
15971
+ validate(kind) {
15972
+ return NOTICE_KINDS.includes(kind);
15973
+ }
15974
+
15975
+ },
15976
+
15977
+ /**
15978
+ * Props for the notice close button.
15979
+ */
15980
+ closeButtonProps: {
15981
+ type: Object,
15982
+ default: () => ({})
15983
+ },
15984
+
15985
+ /**
15986
+ * Hides the close button from the notice
15987
+ * @values true, false
15988
+ */
15989
+ hideClose: {
15990
+ type: Boolean,
15991
+ default: false
15992
+ }
15993
+ },
15994
+ emits: [
15995
+ /**
15996
+ * Close button click event
15997
+ *
15998
+ * @event close
15999
+ */
16000
+ 'close'],
16001
+ computed: {
16002
+ noticeClass() {
16003
+ const noticeKinds = {
16004
+ error: 'd-notice--error',
16005
+ info: 'd-notice--info',
16006
+ success: 'd-notice--success',
16007
+ warning: 'd-notice--warning',
16008
+ base: 'd-notice--base'
16009
+ };
16010
+ return ['d-notice', noticeKinds[this.kind], {
16011
+ 'd-notice--important': this.important
16012
+ }];
16013
+ }
16014
+
16015
+ }
16016
+ });
16017
+ ;// CONCATENATED MODULE: ./components/notice/notice.vue?vue&type=script&lang=js&
16018
+ /* harmony default export */ const notice_noticevue_type_script_lang_js_ = (noticevue_type_script_lang_js_);
16019
+ ;// CONCATENATED MODULE: ./components/notice/notice.vue
16020
+
16021
+
16022
+
16023
+
16024
+
16025
+ /* normalize component */
16026
+ ;
16027
+ var notice_component = normalizeComponent(
16028
+ notice_noticevue_type_script_lang_js_,
16029
+ noticevue_type_template_id_bdb2f588_render,
16030
+ noticevue_type_template_id_bdb2f588_staticRenderFns,
16031
+ false,
16032
+ null,
16033
+ null,
16034
+ null
16035
+
16036
+ )
16037
+
16038
+ /* harmony default export */ const notice = (notice_component.exports);
16039
+ ;// CONCATENATED MODULE: ./components/notice/index.js
16040
+
16041
+
15843
16042
  ;// 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/modal/modal.vue?vue&type=script&lang=js&
15844
16043
  //
15845
16044
  //
@@ -15956,6 +16155,8 @@ const MODAL_SIZE_MODIFIERS = {
15956
16155
  //
15957
16156
  //
15958
16157
  //
16158
+ //
16159
+
15959
16160
 
15960
16161
 
15961
16162
 
@@ -16097,6 +16298,20 @@ const MODAL_SIZE_MODIFIERS = {
16097
16298
  default: ''
16098
16299
  },
16099
16300
 
16301
+ /**
16302
+ * Sets the color of the banner.
16303
+ * @values base, error, info, success, warning
16304
+ */
16305
+ bannerKind: {
16306
+ type: String,
16307
+ default: 'warning',
16308
+
16309
+ validate(kind) {
16310
+ return NOTICE_KINDS.includes(kind);
16311
+ }
16312
+
16313
+ },
16314
+
16100
16315
  /**
16101
16316
  * Additional class name for the banner element within the modal.
16102
16317
  * Can accept String, Object, and Array, i.e. has the
@@ -16139,6 +16354,7 @@ const MODAL_SIZE_MODIFIERS = {
16139
16354
  return {
16140
16355
  MODAL_KIND_MODIFIERS: MODAL_KIND_MODIFIERS,
16141
16356
  MODAL_SIZE_MODIFIERS: MODAL_SIZE_MODIFIERS,
16357
+ MODAL_BANNER_KINDS: MODAL_BANNER_KINDS,
16142
16358
  EVENT_KEYNAMES: EVENT_KEYNAMES
16143
16359
  };
16144
16360
  },
@@ -16176,6 +16392,10 @@ const MODAL_SIZE_MODIFIERS = {
16176
16392
 
16177
16393
  hasFooterSlot() {
16178
16394
  return !!this.$slots.footer;
16395
+ },
16396
+
16397
+ bannerKindClass() {
16398
+ return MODAL_BANNER_KINDS[this.bannerKind];
16179
16399
  }
16180
16400
 
16181
16401
  },
@@ -16243,8 +16463,8 @@ const MODAL_SIZE_MODIFIERS = {
16243
16463
  ;
16244
16464
  var modal_component = normalizeComponent(
16245
16465
  modal_modalvue_type_script_lang_js_,
16246
- modalvue_type_template_id_e9bf0878_render,
16247
- modalvue_type_template_id_e9bf0878_staticRenderFns,
16466
+ modalvue_type_template_id_a8730b96_render,
16467
+ modalvue_type_template_id_a8730b96_staticRenderFns,
16248
16468
  false,
16249
16469
  null,
16250
16470
  null,
@@ -16542,201 +16762,6 @@ var list_item_group_component = normalizeComponent(
16542
16762
  ;// CONCATENATED MODULE: ./components/list_item_group/index.js
16543
16763
 
16544
16764
 
16545
- ;// 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/notice/notice.vue?vue&type=template&id=bdb2f588&
16546
- var noticevue_type_template_id_bdb2f588_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('aside',{class:_vm.noticeClass,attrs:{"data-qa":"notice"}},[_c('dt-notice-icon',{attrs:{"kind":_vm.kind}},[_vm._t("icon")],2),_c('dt-notice-content',_vm._g({attrs:{"title-id":_vm.titleId,"content-id":_vm.contentId,"title":_vm.title,"role":_vm.role},scopedSlots:_vm._u([{key:"titleOverride",fn:function(){return [_vm._t("titleOverride")]},proxy:true}],null,true)},_vm.$listeners),[_vm._t("default")],2),_c('dt-notice-action',_vm._g({attrs:{"hide-close":_vm.hideClose,"close-button-props":_vm.closeButtonProps,"visually-hidden-close":_vm.visuallyHiddenClose,"visually-hidden-close-label":_vm.visuallyHiddenCloseLabel}},_vm.$listeners),[_vm._t("action")],2)],1)}
16547
- var noticevue_type_template_id_bdb2f588_staticRenderFns = []
16548
-
16549
-
16550
- ;// 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/notice/notice.vue?vue&type=script&lang=js&
16551
- //
16552
- //
16553
- //
16554
- //
16555
- //
16556
- //
16557
- //
16558
- //
16559
- //
16560
- //
16561
- //
16562
- //
16563
- //
16564
- //
16565
- //
16566
- //
16567
- //
16568
- //
16569
- //
16570
- //
16571
- //
16572
- //
16573
- //
16574
- //
16575
- //
16576
- //
16577
- //
16578
- //
16579
- //
16580
- //
16581
- //
16582
- //
16583
- //
16584
- //
16585
- //
16586
- //
16587
- //
16588
- //
16589
- //
16590
-
16591
-
16592
-
16593
-
16594
-
16595
- /**
16596
- * A notice is an informational and assistive message that appears inline with content.
16597
- * @see https://dialpad.design/components/notice.html
16598
- */
16599
-
16600
- /* harmony default export */ const noticevue_type_script_lang_js_ = ({
16601
- name: 'DtNotice',
16602
- components: {
16603
- DtNoticeIcon: notice_icon,
16604
- DtNoticeContent: notice_content,
16605
- DtNoticeAction: notice_action
16606
- },
16607
- mixins: [sr_only_close_button],
16608
- props: {
16609
- /**
16610
- * Sets an ID on the title element of the component. Useful for aria-describedby
16611
- * or aria-labelledby or any other reason you may need an id to refer to the title.
16612
- */
16613
- titleId: {
16614
- type: String,
16615
- default: undefined
16616
- },
16617
-
16618
- /**
16619
- * Sets an ID on the content element of the component. Useful for aria-describedby
16620
- * or aria-labelledby or any other reason you may need an id to refer to the content.
16621
- */
16622
- contentId: {
16623
- type: String,
16624
- default: undefined
16625
- },
16626
-
16627
- /**
16628
- * Title header of the notice. This can be left blank to remove the title from the notice entirely.
16629
- */
16630
- title: {
16631
- type: String,
16632
- default: ''
16633
- },
16634
-
16635
- /**
16636
- * Provides a role for the notice. 'status' is used to communicate a message. 'alert' is used to communicate an
16637
- * important message that does not contain any interactive elements. 'alertdialog' is used to communicate an
16638
- * important message that does contain interactive elements.
16639
- * @values alert, alertdialog, status
16640
- */
16641
- role: {
16642
- type: String,
16643
- default: 'status',
16644
-
16645
- validate(role) {
16646
- return NOTICE_ROLES.includes(role);
16647
- }
16648
-
16649
- },
16650
-
16651
- /**
16652
- * Used in scenarios where the message needs to visually dominate the screen.
16653
- * This will also change the aria role from status to alert.
16654
- * @values true, false
16655
- */
16656
- important: {
16657
- type: Boolean,
16658
- default: false
16659
- },
16660
-
16661
- /**
16662
- * Severity level of the notice, sets the icon and background
16663
- * @values base, error, info, success, warning
16664
- */
16665
- kind: {
16666
- type: String,
16667
- default: 'base',
16668
-
16669
- validate(kind) {
16670
- return NOTICE_KINDS.includes(kind);
16671
- }
16672
-
16673
- },
16674
-
16675
- /**
16676
- * Props for the notice close button.
16677
- */
16678
- closeButtonProps: {
16679
- type: Object,
16680
- default: () => ({})
16681
- },
16682
-
16683
- /**
16684
- * Hides the close button from the notice
16685
- * @values true, false
16686
- */
16687
- hideClose: {
16688
- type: Boolean,
16689
- default: false
16690
- }
16691
- },
16692
- emits: [
16693
- /**
16694
- * Close button click event
16695
- *
16696
- * @event close
16697
- */
16698
- 'close'],
16699
- computed: {
16700
- noticeClass() {
16701
- const noticeKinds = {
16702
- error: 'd-notice--error',
16703
- info: 'd-notice--info',
16704
- success: 'd-notice--success',
16705
- warning: 'd-notice--warning',
16706
- base: 'd-notice--base'
16707
- };
16708
- return ['d-notice', noticeKinds[this.kind], {
16709
- 'd-notice--important': this.important
16710
- }];
16711
- }
16712
-
16713
- }
16714
- });
16715
- ;// CONCATENATED MODULE: ./components/notice/notice.vue?vue&type=script&lang=js&
16716
- /* harmony default export */ const notice_noticevue_type_script_lang_js_ = (noticevue_type_script_lang_js_);
16717
- ;// CONCATENATED MODULE: ./components/notice/notice.vue
16718
-
16719
-
16720
-
16721
-
16722
-
16723
- /* normalize component */
16724
- ;
16725
- var notice_component = normalizeComponent(
16726
- notice_noticevue_type_script_lang_js_,
16727
- noticevue_type_template_id_bdb2f588_render,
16728
- noticevue_type_template_id_bdb2f588_staticRenderFns,
16729
- false,
16730
- null,
16731
- null,
16732
- null
16733
-
16734
- )
16735
-
16736
- /* harmony default export */ const notice = (notice_component.exports);
16737
- ;// CONCATENATED MODULE: ./components/notice/index.js
16738
-
16739
-
16740
16765
  ;// 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/pagination/pagination.vue?vue&type=template&id=8a1dbe50&
16741
16766
  var paginationvue_type_template_id_8a1dbe50_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:"d-d-flex d-fd-row d-gg4 d-ai-center",attrs:{"aria-label":_vm.ariaLabel}},[_c('dt-button',{staticClass:"d-px8",class:_vm.isFirstPage ? 'd-fc-black-300 h:d-fc-black-300 d-bgc-transparent' : 'd-fc-tertiary',attrs:{"data-qa":"dt-pagination-prev","aria-label":_vm.prevAriaLabel,"kind":"muted","importance":_vm.isFirstPage ? 'primary' : 'clear',"disabled":_vm.isFirstPage},on:{"click":function($event){return _vm.changePage(_vm.currentPage - 1)}}},[_c('template',{slot:"icon"},[_c('dt-icon',{attrs:{"name":"chevron-left","size":"300"}})],1)],2),_vm._l((_vm.pages),function(page,index){return _c('div',{key:("page-" + page + "-" + index),class:{ 'd-as-flex-end': isNaN(Number(page)) }},[(isNaN(Number(page)))?_c('div',{staticClass:"d-fc-tertiary d-w24 d-ta-center",attrs:{"data-qa":"dt-pagination-separator"}},[_c('dt-icon',{attrs:{"name":"more-horizontal","size":"300"}})],1):_c('dt-button',{attrs:{"aria-label":_vm.pageNumberAriaLabel(page),"kind":_vm.currentPage === page ? 'default' : 'muted',"importance":_vm.currentPage === page ? 'primary' : 'clear',"label-class":""},on:{"click":function($event){return _vm.changePage(page)}}},[_vm._v(" "+_vm._s(page)+" ")])],1)}),_c('dt-button',{staticClass:"d-px8",class:_vm.isLastPage ? 'd-fc-black-300 h:d-fc-black-300 d-bgc-transparent' : 'd-fc-tertiary',attrs:{"data-qa":"dt-pagination-next","aria-label":_vm.nextAriaLabel,"disabled":_vm.isLastPage,"kind":"muted","importance":_vm.isLastPage ? 'primary' : 'clear'},on:{"click":function($event){return _vm.changePage(_vm.currentPage + 1)}}},[_c('template',{slot:"icon"},[_c('dt-icon',{attrs:{"name":"chevron-right","size":"300"}})],1)],2)],2)}
16742
16767
  var paginationvue_type_template_id_8a1dbe50_staticRenderFns = []
@@ -20428,15 +20453,15 @@ var root_layout_component = normalizeComponent(
20428
20453
  ;// CONCATENATED MODULE: ./components/root_layout/index.js
20429
20454
 
20430
20455
 
20431
- ;// 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=ad3e7dce&
20432
- var combobox_with_popovervue_type_template_id_ad3e7dce_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,"label":_vm.label,"label-visible":_vm.labelVisible,"size":_vm.size,"description":_vm.description,"empty-list":_vm.emptyList,"empty-state-message":_vm.emptyStateMessage,"show-list":_vm.isListShown,"on-beginning-of-list":_vm.onBeginningOfList,"on-end-of-list":_vm.onEndOfList,"list-rendered-outside":true,"list-id":_vm.listId,"data-qa":"dt-combobox"},scopedSlots:_vm._u([{key:"input",fn:function(ref){
20456
+ ;// 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=294704b9&
20457
+ var combobox_with_popovervue_type_template_id_294704b9_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,"label":_vm.label,"label-visible":_vm.labelVisible,"size":_vm.size,"description":_vm.description,"empty-list":_vm.emptyList,"empty-state-message":_vm.emptyStateMessage,"show-list":_vm.isListShown,"on-beginning-of-list":_vm.onBeginningOfList,"on-end-of-list":_vm.onEndOfList,"list-rendered-outside":true,"list-id":_vm.listId,"append-to":_vm.appendTo,"data-qa":"dt-combobox"},scopedSlots:_vm._u([{key:"input",fn:function(ref){
20433
20458
  var inputProps = ref.inputProps;
20434
20459
  return [_c('div',{ref:"input",attrs:{"id":_vm.externalAnchor},on:{"focusin":_vm.onFocusIn,"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){
20435
20460
  var opened = ref.opened;
20436
20461
  var listProps = ref.listProps;
20437
20462
  var clearHighlightIndex = ref.clearHighlightIndex;
20438
20463
  return [_c('dt-popover',{ref:"popover",attrs:{"open":_vm.isListShown,"hide-on-click":false,"max-height":_vm.maxHeight,"max-width":_vm.maxWidth,"offset":_vm.popoverOffset,"sticky":_vm.popoverSticky,"placement":"bottom-start","initial-focus-element":"none","padding":"none","role":"listbox","external-anchor":_vm.externalAnchor,"content-width":_vm.contentWidth,"content-tabindex":null,"modal":false,"auto-focus":false,"visually-hidden-close-label":_vm.visuallyHiddenCloseLabel,"visually-hidden-close":_vm.visuallyHiddenClose},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"},[_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":clearHighlightIndex}},[(_vm.loading)?_c('combobox-loading-list',_vm._b({},'combobox-loading-list',listProps,false)):(_vm.emptyList && _vm.emptyStateMessage)?_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"},[_vm._t("footer")],2):_vm._e()]},proxy:true}],null,true)})]}}],null,true)},_vm.comboboxListeners))}
20439
- var combobox_with_popovervue_type_template_id_ad3e7dce_staticRenderFns = []
20464
+ var combobox_with_popovervue_type_template_id_294704b9_staticRenderFns = []
20440
20465
 
20441
20466
 
20442
20467
  ;// 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&
@@ -20543,6 +20568,8 @@ var combobox_with_popovervue_type_template_id_ad3e7dce_staticRenderFns = []
20543
20568
  //
20544
20569
  //
20545
20570
  //
20571
+ //
20572
+
20546
20573
 
20547
20574
 
20548
20575
 
@@ -20709,6 +20736,18 @@ var combobox_with_popovervue_type_template_id_ad3e7dce_staticRenderFns = []
20709
20736
  default: false
20710
20737
  },
20711
20738
 
20739
+ /**
20740
+ * Sets the element to which the popover is going to append to.
20741
+ * @values 'parent', HTMLElement,
20742
+ */
20743
+ appendTo: {
20744
+ type: [HTMLElement, String],
20745
+ default: () => document.body,
20746
+ validator: appendTo => {
20747
+ return POPOVER_APPEND_TO_VALUES.includes(appendTo) || appendTo instanceof HTMLElement;
20748
+ }
20749
+ },
20750
+
20712
20751
  /**
20713
20752
  * Displays the list when the combobox is focused, before the user has typed anything.
20714
20753
  * When this is enabled the list will not close after selection.
@@ -20904,8 +20943,8 @@ var combobox_with_popovervue_type_template_id_ad3e7dce_staticRenderFns = []
20904
20943
  ;
20905
20944
  var combobox_with_popover_component = normalizeComponent(
20906
20945
  combobox_with_popover_combobox_with_popovervue_type_script_lang_js_,
20907
- combobox_with_popovervue_type_template_id_ad3e7dce_render,
20908
- combobox_with_popovervue_type_template_id_ad3e7dce_staticRenderFns,
20946
+ combobox_with_popovervue_type_template_id_294704b9_render,
20947
+ combobox_with_popovervue_type_template_id_294704b9_staticRenderFns,
20909
20948
  false,
20910
20949
  null,
20911
20950
  null,
@@ -20916,11 +20955,11 @@ var combobox_with_popover_component = normalizeComponent(
20916
20955
  /* harmony default export */ const combobox_with_popover = (combobox_with_popover_component.exports);
20917
20956
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/index.js
20918
20957
 
20919
- ;// 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=97461302&
20920
- var combobox_multi_selectvue_type_template_id_97461302_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:{"label":_vm.label,"show-list":_vm.showList,"max-height":_vm.listMaxHeight,"popover-offset":_vm.popoverOffset,"has-suggestion-list":_vm.hasSuggestionList,"visually-hidden-close-label":_vm.visuallyHiddenCloseLabel,"visually-hidden-close":_vm.visuallyHiddenClose,"content-width":"anchor"},on:{"select":_vm.onComboboxSelect},scopedSlots:_vm._u([{key:"input",fn:function(ref){
20958
+ ;// 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=8a9854ae&
20959
+ var combobox_multi_selectvue_type_template_id_8a9854ae_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:{"label":_vm.label,"show-list":_vm.showList,"max-height":_vm.listMaxHeight,"popover-offset":_vm.popoverOffset,"has-suggestion-list":_vm.hasSuggestionList,"visually-hidden-close-label":_vm.visuallyHiddenCloseLabel,"visually-hidden-close":_vm.visuallyHiddenClose,"append-to":_vm.appendTo,"content-width":"anchor"},on:{"select":_vm.onComboboxSelect},scopedSlots:_vm._u([{key:"input",fn:function(ref){
20921
20960
  var onInput = ref.onInput;
20922
- return [_c('span',{ref:"inputSlotWrapper",staticClass:"d-ps-relative d-d-block"},[_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,class:['d-mt4', 'd-mx2', 'd-zi-base1'],attrs:{"label-class":['d-chip__label'],"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",attrs:{"aria-label":_vm.label,"label":_vm.labelVisible ? _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",on:{"mousedown":function($event){$event.preventDefault();}}},[(!_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)})}
20923
- var combobox_multi_selectvue_type_template_id_97461302_staticRenderFns = []
20961
+ return [_c('span',{ref:"inputSlotWrapper",staticClass:"d-ps-relative d-d-block"},[_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,class:['d-mt4', 'd-mx2', 'd-zi-base1'],attrs:{"label-class":['d-chip__label'],"close-button-props":{ ariaLabel: 'close' },"size":_vm.CHIP_SIZES[_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",attrs:{"aria-label":_vm.label,"label":_vm.labelVisible ? _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",on:{"mousedown":function($event){$event.preventDefault();}}},[(!_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)})}
20962
+ var combobox_multi_selectvue_type_template_id_8a9854ae_staticRenderFns = []
20924
20963
 
20925
20964
 
20926
20965
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/combobox_multi_select_story_constants.js
@@ -21020,6 +21059,16 @@ const MULTI_SELECT_SIZES = {
21020
21059
  SMALL: 'sm',
21021
21060
  DEFAULT: 'md'
21022
21061
  };
21062
+ const CHIP_SIZES = {
21063
+ xs: 'xs',
21064
+ sm: 'xs',
21065
+ md: 'sm'
21066
+ };
21067
+ const CHIP_BOTTOM_POSITION = {
21068
+ xs: 4,
21069
+ sm: 5,
21070
+ md: 5
21071
+ };
21023
21072
  ;// 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_multi_select/combobox_multi_select.vue?vue&type=script&lang=js&
21024
21073
  //
21025
21074
  //
@@ -21126,6 +21175,8 @@ const MULTI_SELECT_SIZES = {
21126
21175
  //
21127
21176
  //
21128
21177
  //
21178
+ //
21179
+
21129
21180
 
21130
21181
 
21131
21182
 
@@ -21187,6 +21238,18 @@ const MULTI_SELECT_SIZES = {
21187
21238
  }
21188
21239
  },
21189
21240
 
21241
+ /**
21242
+ * Sets the element to which the popover is going to append to.
21243
+ * @values 'parent', HTMLElement,
21244
+ */
21245
+ appendTo: {
21246
+ type: [HTMLElement, String],
21247
+ default: () => document.body,
21248
+ validator: appendTo => {
21249
+ return POPOVER_APPEND_TO_VALUES.includes(appendTo) || appendTo instanceof HTMLElement;
21250
+ }
21251
+ },
21252
+
21190
21253
  /**
21191
21254
  * Show input validation message
21192
21255
  */
@@ -21320,7 +21383,9 @@ const MULTI_SELECT_SIZES = {
21320
21383
  popoverOffset: [0, 4],
21321
21384
  showValidationMessages: false,
21322
21385
  initialInputPadding: {},
21323
- resizeWindowObserver: null
21386
+ resizeWindowObserver: null,
21387
+ originalInputSize: null,
21388
+ CHIP_SIZES: CHIP_SIZES
21324
21389
  };
21325
21390
  },
21326
21391
 
@@ -21369,6 +21434,7 @@ const MULTI_SELECT_SIZES = {
21369
21434
  async handler() {
21370
21435
  await this.$nextTick();
21371
21436
  this.setInputPadding();
21437
+ this.setChipsPosition();
21372
21438
  this.setInputMinWidth();
21373
21439
  this.checkMaxSelected();
21374
21440
  }
@@ -21378,24 +21444,36 @@ const MULTI_SELECT_SIZES = {
21378
21444
  async label() {
21379
21445
  await this.$nextTick(); // Adjust the chips position if label changed
21380
21446
 
21381
- this.setChipsTopPosition();
21447
+ this.setChipsPosition();
21382
21448
  },
21383
21449
 
21384
21450
  async description() {
21385
21451
  await this.$nextTick(); // Adjust the chips position if description changed
21386
21452
 
21387
- this.setChipsTopPosition();
21388
- }
21453
+ this.setChipsPosition();
21454
+ },
21455
+
21456
+ size: {
21457
+ async handler() {
21458
+ await this.$nextTick();
21459
+ const input = this.getInput();
21460
+ this.revertInputPadding(input);
21461
+ this.originalInputSize = input.getBoundingClientRect().height;
21462
+ this.setInputPadding();
21463
+ },
21389
21464
 
21465
+ immediate: true
21466
+ }
21390
21467
  },
21391
21468
 
21392
21469
  mounted() {
21393
- this.setChipsTopPosition(); // Recalculate chip position and input padding when resizing window
21470
+ this.setChipsPosition(); // Recalculate chip position and input padding when resizing window
21394
21471
 
21395
21472
  this.resizeWindowObserver = new ResizeObserver(() => {
21396
- this.setChipsTopPosition();
21473
+ this.setChipsPosition();
21397
21474
  this.setInputPadding();
21398
- }).observe(document.body);
21475
+ });
21476
+ this.resizeWindowObserver.observe(document.body);
21399
21477
  },
21400
21478
 
21401
21479
  beforeDestroy() {
@@ -21514,48 +21592,31 @@ const MULTI_SELECT_SIZES = {
21514
21592
  this.closeComboboxList();
21515
21593
  },
21516
21594
 
21517
- setChipsTopPosition() {
21518
- // To place the chips in the input box
21519
- // The chip "top" position should be the same line as the input box
21520
- if (!this.$refs.input) {
21521
- return;
21522
- }
21523
-
21524
- const input = this.getInput();
21525
- if (!input) return;
21526
- const inputSlotWrapper = this.$refs.inputSlotWrapper;
21527
- const top = input.getBoundingClientRect().top - inputSlotWrapper.getBoundingClientRect().top;
21595
+ setChipsPosition() {
21528
21596
  const chipsWrapper = this.$refs.chipsWrapper;
21529
- chipsWrapper.style.top = top + 'px';
21597
+ chipsWrapper.style.bottom = `${CHIP_BOTTOM_POSITION[this.size]}px`;
21530
21598
  },
21531
21599
 
21532
21600
  setInputPadding() {
21533
21601
  const lastChip = this.getLastChip();
21534
21602
  const input = this.getInput();
21603
+ const chipsWrapper = this.$refs.chipsWrapper;
21535
21604
  if (!input) return;
21536
-
21537
- if (!lastChip) {
21538
- // Revert padding if no chip
21539
- this.revertInputPadding(input);
21540
- return;
21541
- } // Get the position of the last chip
21605
+ this.revertInputPadding(input);
21606
+ this.popoverOffset = [0, 4];
21607
+ if (!lastChip) return; // Get the position of the last chip
21542
21608
  // The input cursor should be the same "top" as that chip and next besides it
21543
21609
 
21544
-
21545
21610
  const left = lastChip.offsetLeft + this.getFullWidth(lastChip);
21546
- input.style.paddingLeft = left + 'px'; // Chip has vertical margin. We add buffer to top center the input text
21611
+ input.style.paddingLeft = left + 'px'; // Get the chip size minus the 4px padding
21547
21612
 
21548
- const top = lastChip.offsetTop + 3;
21549
- input.style.paddingTop = top + 'px'; // TODO: refresh the tippy.js instance in the popover
21550
- // If the new chip goes to the next line and the input box expands,
21551
- // move the popover down to the next line. Same when chips are removed
21613
+ const chipsSize = chipsWrapper.getBoundingClientRect().height - 4; // Get lastChip offsetTop plus 2px of the input padding.
21552
21614
 
21553
- this.popoverOffset = [0, 4];
21554
- },
21615
+ const top = lastChip.offsetTop + 2; // Add padding to Top only if the chips need more space
21555
21616
 
21556
- getFullWidth(el) {
21557
- const styles = window.getComputedStyle(el);
21558
- return el.offsetWidth + parseInt(styles.marginLeft) + parseInt(styles.marginRight);
21617
+ if (chipsSize > this.originalInputSize) {
21618
+ input.style.paddingTop = `${top}px`;
21619
+ }
21559
21620
  },
21560
21621
 
21561
21622
  revertInputPadding(input) {
@@ -21564,6 +21625,11 @@ const MULTI_SELECT_SIZES = {
21564
21625
  input.style.paddingBottom = '';
21565
21626
  },
21566
21627
 
21628
+ getFullWidth(el) {
21629
+ const styles = window.getComputedStyle(el);
21630
+ return el.offsetWidth + parseInt(styles.marginLeft) + parseInt(styles.marginRight);
21631
+ },
21632
+
21567
21633
  setInputMinWidth() {
21568
21634
  // Ensure the width of the input is "slightly bigger" than the width of a single chip
21569
21635
  const firstChip = this.getFirstChip();
@@ -21603,8 +21669,8 @@ const MULTI_SELECT_SIZES = {
21603
21669
  ;
21604
21670
  var combobox_multi_select_component = normalizeComponent(
21605
21671
  combobox_multi_select_combobox_multi_selectvue_type_script_lang_js_,
21606
- combobox_multi_selectvue_type_template_id_97461302_render,
21607
- combobox_multi_selectvue_type_template_id_97461302_staticRenderFns,
21672
+ combobox_multi_selectvue_type_template_id_8a9854ae_render,
21673
+ combobox_multi_selectvue_type_template_id_8a9854ae_staticRenderFns,
21608
21674
  false,
21609
21675
  null,
21610
21676
  null,