@dialpad/dialtone-vue 2.32.1 → 2.34.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.
@@ -1349,6 +1349,24 @@ const LABEL_SIZE_MODIFIERS = {
1349
1349
  lg: 'd-label--lg',
1350
1350
  xl: 'd-label--xl'
1351
1351
  };
1352
+ const EVENT_KEYNAMES = {
1353
+ esc: 'Esc',
1354
+ escape: 'Escape',
1355
+ tab: 'Tab',
1356
+ enter: 'Enter',
1357
+ space: 'Space',
1358
+ spacebar: 'Spacebar',
1359
+ up: 'Up',
1360
+ arrowup: 'ArrowUp',
1361
+ left: 'Left',
1362
+ arrowleft: 'ArrowLeft',
1363
+ right: 'Right',
1364
+ arrowright: 'ArrowRight',
1365
+ down: 'Down',
1366
+ arrowdown: 'ArrowDown',
1367
+ home: 'Home',
1368
+ end: 'End'
1369
+ };
1352
1370
  /*
1353
1371
  * Any string message or message object in the messages prop that do not specify
1354
1372
  * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.
@@ -1848,9 +1866,9 @@ var badge_component = normalizeComponent(
1848
1866
  ;// CONCATENATED MODULE: ./components/badge/index.js
1849
1867
 
1850
1868
 
1851
- ;// 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/banner/banner.vue?vue&type=template&id=6a644b26&
1852
- var bannervue_type_template_id_6a644b26_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('aside',{class:_vm.bannerClass,style:(_vm.bannerBackgroundImage),attrs:{"role":_vm.role},on:{"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"tab",9,$event.key,"Tab")){ return null; }return _vm.trapFocus.apply(null, arguments)}}},[_c('div',{staticClass:"d-banner__dialog",class:_vm.dialogClass,attrs:{"aria-labelledby":_vm.titleId,"aria-describedby":_vm.contentId}},[(!_vm.hideIcon)?_c('dt-notice-icon',_vm._g({attrs:{"kind":_vm.kind}},_vm.$listeners),[_vm._t("icon")],2):_vm._e(),_c('dt-notice-content',_vm._g({attrs:{"title-id":_vm.titleId,"content-id":_vm.contentId,"title":_vm.title},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}},_vm.$listeners),[_vm._t("action")],2)],1)])}
1853
- var bannervue_type_template_id_6a644b26_staticRenderFns = []
1869
+ ;// 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/banner/banner.vue?vue&type=template&id=756779c1&
1870
+ var bannervue_type_template_id_756779c1_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('aside',{class:_vm.bannerClass,style:(_vm.bannerBackgroundImage),attrs:{"role":_vm.role},on:{"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"tab",9,$event.key,"Tab")){ return null; }return _vm.trapFocus.apply(null, arguments)}}},[_c('div',{staticClass:"d-banner__dialog",class:_vm.dialogClass,attrs:{"aria-labelledby":_vm.titleId,"aria-describedby":_vm.contentId}},[(!_vm.hideIcon)?_c('dt-notice-icon',_vm._g({attrs:{"kind":_vm.kind}},_vm.$listeners),[_vm._t("icon")],2):_vm._e(),_c('dt-notice-content',_vm._g({attrs:{"title-id":_vm.titleId,"content-id":_vm.contentId,"title":_vm.title},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)])}
1871
+ var bannervue_type_template_id_756779c1_staticRenderFns = []
1854
1872
 
1855
1873
 
1856
1874
  ;// 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_icon.vue?vue&type=template&id=5544041e&
@@ -2146,9 +2164,9 @@ var notice_content_component = normalizeComponent(
2146
2164
  )
2147
2165
 
2148
2166
  /* harmony default export */ const notice_content = (notice_content_component.exports);
2149
- ;// 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_action.vue?vue&type=template&id=49bf6244&
2150
- var notice_actionvue_type_template_id_49bf6244_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"d-notice__actions",attrs:{"data-qa":"notice-content-actions"}},[_vm._t("default"),(!_vm.hideClose)?_c('dt-button',_vm._b({ref:"closeButton",attrs:{"size":"sm","importance":"clear","circle":"","aria-label":_vm.closeButtonProps.ariaLabel ? _vm.closeButtonProps.ariaLabel : 'Close'},on:{"click":_vm.close},scopedSlots:_vm._u([{key:"icon",fn:function(){return [_c('icon-close')]},proxy:true}],null,false,4267981299)},'dt-button',_vm.closeButtonProps,false)):_vm._e()],2)}
2151
- var notice_actionvue_type_template_id_49bf6244_staticRenderFns = []
2167
+ ;// 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_action.vue?vue&type=template&id=0591aece&
2168
+ var notice_actionvue_type_template_id_0591aece_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"d-notice__actions",attrs:{"data-qa":"notice-content-actions"}},[_vm._t("default"),(!_vm.hideClose)?_c('dt-button',_vm._g(_vm._b({ref:"closeButton",attrs:{"data-qa":"dt-notice-action-close-button","size":"sm","importance":"clear","circle":"","aria-label":_vm.closeButtonProps.ariaLabel ? _vm.closeButtonProps.ariaLabel : 'Close'},scopedSlots:_vm._u([{key:"icon",fn:function(){return [_c('icon-close')]},proxy:true}],null,false,4267981299)},'dt-button',_vm.closeButtonProps,false),_vm.noticeActionListeners)):_vm._e(),(_vm.showVisuallyHiddenClose)?_c('sr-only-close-button',{attrs:{"visually-hidden-close-label":_vm.visuallyHiddenCloseLabel},on:{"close":_vm.close}}):_vm._e()],2)}
2169
+ var notice_actionvue_type_template_id_0591aece_staticRenderFns = []
2152
2170
 
2153
2171
 
2154
2172
  ;// 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!./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconClose.vue?vue&type=template&id=4ef5457b&
@@ -2594,6 +2612,125 @@ var button_component = normalizeComponent(
2594
2612
  )
2595
2613
 
2596
2614
  /* harmony default export */ const button_button = (button_component.exports);
2615
+ ;// CONCATENATED MODULE: ./common/mixins/sr_only_close_button.js
2616
+ /**
2617
+ * @displayName Sr-Only close button mixin
2618
+ */
2619
+ /* harmony default export */ const sr_only_close_button = ({
2620
+ props: {
2621
+ /**
2622
+ * If true, a hidden close button is included for screen readers
2623
+ * @values true, false
2624
+ */
2625
+ visuallyHiddenClose: {
2626
+ type: Boolean,
2627
+ default: false
2628
+ },
2629
+
2630
+ /**
2631
+ * Label for the visually hidden close button
2632
+ * Required if visuallyHiddenClose is set to `true`
2633
+ */
2634
+ visuallyHiddenCloseLabel: {
2635
+ type: String,
2636
+ default: null
2637
+ }
2638
+ },
2639
+ watch: {
2640
+ $props: {
2641
+ immediate: true,
2642
+ deep: true,
2643
+
2644
+ handler() {
2645
+ this.validateVisuallyHiddenCloseProps();
2646
+ }
2647
+
2648
+ }
2649
+ },
2650
+ computed: {
2651
+ showVisuallyHiddenClose() {
2652
+ return this.visuallyHiddenClose && this.visuallyHiddenCloseLabel != null;
2653
+ }
2654
+
2655
+ },
2656
+ methods: {
2657
+ validateVisuallyHiddenCloseProps() {
2658
+ if (this.visuallyHiddenClose && !this.visuallyHiddenCloseLabel) {
2659
+ console.error(`If visuallyHiddenClose prop is true, the component includes
2660
+ a visually hidden close button and you must set the visuallyHiddenCloseLabel prop.`);
2661
+ }
2662
+ }
2663
+
2664
+ }
2665
+ });
2666
+ ;// 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!./common/sr_only_close_button.vue?vue&type=template&id=3480ff70&
2667
+ var sr_only_close_buttonvue_type_template_id_3480ff70_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-button',{staticClass:"d-vi-visible-sr",attrs:{"id":"sr-only-close-button","data-qa":"dt-sr-only-close-button","aria-label":_vm.visuallyHiddenCloseLabel},on:{"click":_vm.close,"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"space",32,$event.key,[" ","Spacebar"])){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.close.apply(null, arguments)}}},[_c('icon-close')],1)}
2668
+ var sr_only_close_buttonvue_type_template_id_3480ff70_staticRenderFns = []
2669
+
2670
+
2671
+ ;// CONCATENATED MODULE: ./components/button/index.js
2672
+
2673
+ ;// 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!./common/sr_only_close_button.vue?vue&type=script&lang=js&
2674
+ //
2675
+ //
2676
+ //
2677
+ //
2678
+ //
2679
+ //
2680
+ //
2681
+ //
2682
+ //
2683
+ //
2684
+ //
2685
+ //
2686
+ //
2687
+
2688
+
2689
+ /* harmony default export */ const sr_only_close_buttonvue_type_script_lang_js_ = ({
2690
+ name: 'SrOnlyCloseButton',
2691
+ components: {
2692
+ IconClose: IconClose,
2693
+ DtButton: button_button
2694
+ },
2695
+ props: {
2696
+ /**
2697
+ * Label for the visually hidden close button
2698
+ * Required if visuallyHiddenClose is set to `true`
2699
+ */
2700
+ visuallyHiddenCloseLabel: {
2701
+ type: String,
2702
+ default: null
2703
+ }
2704
+ },
2705
+ methods: {
2706
+ close() {
2707
+ this.$emit('close');
2708
+ }
2709
+
2710
+ }
2711
+ });
2712
+ ;// CONCATENATED MODULE: ./common/sr_only_close_button.vue?vue&type=script&lang=js&
2713
+ /* harmony default export */ const common_sr_only_close_buttonvue_type_script_lang_js_ = (sr_only_close_buttonvue_type_script_lang_js_);
2714
+ ;// CONCATENATED MODULE: ./common/sr_only_close_button.vue
2715
+
2716
+
2717
+
2718
+
2719
+
2720
+ /* normalize component */
2721
+ ;
2722
+ var sr_only_close_button_component = normalizeComponent(
2723
+ common_sr_only_close_buttonvue_type_script_lang_js_,
2724
+ sr_only_close_buttonvue_type_template_id_3480ff70_render,
2725
+ sr_only_close_buttonvue_type_template_id_3480ff70_staticRenderFns,
2726
+ false,
2727
+ null,
2728
+ null,
2729
+ null
2730
+
2731
+ )
2732
+
2733
+ /* harmony default export */ const common_sr_only_close_button = (sr_only_close_button_component.exports);
2597
2734
  ;// 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_action.vue?vue&type=script&lang=js&
2598
2735
  //
2599
2736
  //
@@ -2619,14 +2756,24 @@ var button_component = normalizeComponent(
2619
2756
  //
2620
2757
  //
2621
2758
  //
2759
+ //
2760
+ //
2761
+ //
2762
+ //
2763
+ //
2764
+ //
2765
+
2766
+
2622
2767
 
2623
2768
 
2624
2769
  /* harmony default export */ const notice_actionvue_type_script_lang_js_ = ({
2625
2770
  name: 'DtNoticeAction',
2626
2771
  components: {
2627
2772
  IconClose: IconClose,
2628
- DtButton: button_button
2773
+ DtButton: button_button,
2774
+ SrOnlyCloseButton: common_sr_only_close_button
2629
2775
  },
2776
+ mixins: [sr_only_close_button],
2630
2777
  props: {
2631
2778
  /**
2632
2779
  * Props for the notice close button.
@@ -2652,6 +2799,28 @@ var button_component = normalizeComponent(
2652
2799
  * @event close
2653
2800
  */
2654
2801
  'close'],
2802
+ computed: {
2803
+ noticeActionListeners() {
2804
+ return { ...this.$listeners,
2805
+ click: event => {
2806
+ this.close();
2807
+ this.$emit('click', event);
2808
+ }
2809
+ };
2810
+ }
2811
+
2812
+ },
2813
+ watch: {
2814
+ $props: {
2815
+ immediate: true,
2816
+ deep: true,
2817
+
2818
+ handler() {
2819
+ this.validateProps();
2820
+ }
2821
+
2822
+ }
2823
+ },
2655
2824
 
2656
2825
  created() {
2657
2826
  if (!this.hideClose && !this.closeButtonProps.ariaLabel) {
@@ -2674,6 +2843,12 @@ var button_component = normalizeComponent(
2674
2843
  methods: {
2675
2844
  close() {
2676
2845
  this.$emit('close');
2846
+ },
2847
+
2848
+ validateProps() {
2849
+ if (this.hideClose && !this.visuallyHiddenClose) {
2850
+ console.error('If hideClose prop is true, visuallyHiddenClose and visuallyHiddenCloseLabel props ' + 'need to be set so the component always includes a close button');
2851
+ }
2677
2852
  }
2678
2853
 
2679
2854
  }
@@ -2690,8 +2865,8 @@ var button_component = normalizeComponent(
2690
2865
  ;
2691
2866
  var notice_action_component = normalizeComponent(
2692
2867
  notice_notice_actionvue_type_script_lang_js_,
2693
- notice_actionvue_type_template_id_49bf6244_render,
2694
- notice_actionvue_type_template_id_49bf6244_staticRenderFns,
2868
+ notice_actionvue_type_template_id_0591aece_render,
2869
+ notice_actionvue_type_template_id_0591aece_staticRenderFns,
2695
2870
  false,
2696
2871
  null,
2697
2872
  null,
@@ -2866,6 +3041,9 @@ const focusableElementsList = `button,[href],input,select,textarea,details,[tabi
2866
3041
  //
2867
3042
  //
2868
3043
  //
3044
+ //
3045
+ //
3046
+
2869
3047
 
2870
3048
 
2871
3049
 
@@ -2885,7 +3063,7 @@ const focusableElementsList = `button,[href],input,select,textarea,details,[tabi
2885
3063
  DtNoticeContent: notice_content,
2886
3064
  DtNoticeAction: notice_action
2887
3065
  },
2888
- mixins: [modal],
3066
+ mixins: [modal, sr_only_close_button],
2889
3067
  props: {
2890
3068
  /**
2891
3069
  * Sets an ID on the title element of the component. Useful for aria-describedby
@@ -3068,8 +3246,8 @@ const focusableElementsList = `button,[href],input,select,textarea,details,[tabi
3068
3246
  ;
3069
3247
  var banner_component = normalizeComponent(
3070
3248
  banner_bannervue_type_script_lang_js_,
3071
- bannervue_type_template_id_6a644b26_render,
3072
- bannervue_type_template_id_6a644b26_staticRenderFns,
3249
+ bannervue_type_template_id_756779c1_render,
3250
+ bannervue_type_template_id_756779c1_staticRenderFns,
3073
3251
  false,
3074
3252
  null,
3075
3253
  null,
@@ -3080,13 +3258,13 @@ var banner_component = normalizeComponent(
3080
3258
  /* harmony default export */ const banner = (banner_component.exports);
3081
3259
  ;// CONCATENATED MODULE: ./components/banner/index.js
3082
3260
 
3083
- ;// 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/breadcrumbs/breadcrumbs.vue?vue&type=template&id=44efd414&
3084
- var breadcrumbsvue_type_template_id_44efd414_render = function () {
3261
+ ;// 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/breadcrumbs/breadcrumbs.vue?vue&type=template&id=5e8b7914&
3262
+ var breadcrumbsvue_type_template_id_5e8b7914_render = function () {
3085
3263
  var _obj;
3086
3264
  var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{class:[
3087
3265
  'd-breadcrumbs',
3088
- ( _obj = {}, _obj[_vm.BREADCRUMBS_INVERTED_MODIFIER] = _vm.inverted, _obj ) ],attrs:{"aria-label":_vm.ariaLabel,"data-qa":"dt-breadcrumbs"}},[_c('ol',[_vm._t("default",function(){return _vm._l((_vm.breadcrumbs),function(item,index){return _c('dt-breadcrumb-item',_vm._b({key:_vm.getBreadcrumbItemKey(index),attrs:{"inverted":_vm.inverted}},'dt-breadcrumb-item',item,false))})})],2)])}
3089
- var breadcrumbsvue_type_template_id_44efd414_staticRenderFns = []
3266
+ ( _obj = {}, _obj[_vm.BREADCRUMBS_INVERTED_MODIFIER] = _vm.inverted, _obj ) ],attrs:{"aria-label":_vm.ariaLabel,"data-qa":"dt-breadcrumbs"}},[_c('ol',[_vm._t("default",function(){return _vm._l((_vm.breadcrumbs),function(item,index){return _c('dt-breadcrumb-item',_vm._g(_vm._b({key:_vm.getBreadcrumbItemKey(index),attrs:{"inverted":_vm.inverted}},'dt-breadcrumb-item',item,false),_vm.$listeners))})})],2)])}
3267
+ var breadcrumbsvue_type_template_id_5e8b7914_staticRenderFns = []
3090
3268
 
3091
3269
 
3092
3270
  ;// CONCATENATED MODULE: ./components/breadcrumbs/breadcrumbs_constants.js
@@ -3324,6 +3502,7 @@ var breadcrumb_item_component = normalizeComponent(
3324
3502
  //
3325
3503
  //
3326
3504
  //
3505
+ //
3327
3506
 
3328
3507
 
3329
3508
 
@@ -3401,8 +3580,8 @@ var breadcrumb_item_component = normalizeComponent(
3401
3580
  ;
3402
3581
  var breadcrumbs_component = normalizeComponent(
3403
3582
  breadcrumbs_breadcrumbsvue_type_script_lang_js_,
3404
- breadcrumbsvue_type_template_id_44efd414_render,
3405
- breadcrumbsvue_type_template_id_44efd414_staticRenderFns,
3583
+ breadcrumbsvue_type_template_id_5e8b7914_render,
3584
+ breadcrumbsvue_type_template_id_5e8b7914_staticRenderFns,
3406
3585
  false,
3407
3586
  null,
3408
3587
  null,
@@ -3415,8 +3594,6 @@ var breadcrumbs_component = normalizeComponent(
3415
3594
 
3416
3595
 
3417
3596
 
3418
- ;// CONCATENATED MODULE: ./components/button/index.js
3419
-
3420
3597
  ;// 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/button_group/button_group.vue?vue&type=template&id=26eb52e6&
3421
3598
  var button_groupvue_type_template_id_26eb52e6_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[
3422
3599
  'd-btn-group',
@@ -3860,7 +4037,7 @@ const ERROR_INVALID_LIST_ELEMENT = 'listElementKey is required or the referenced
3860
4037
  return null;
3861
4038
  }
3862
4039
 
3863
- return Array.from(listElement.querySelectorAll(`[role="${listItemRole}"]`));
4040
+ return Array.from(listElement.querySelectorAll(`[role="${listItemRole}"], #sr-only-close-button`));
3864
4041
  },
3865
4042
 
3866
4043
  onUpKey() {
@@ -3963,7 +4140,7 @@ const ERROR_INVALID_LIST_ELEMENT = 'listElementKey is required or the referenced
3963
4140
  return;
3964
4141
  }
3965
4142
 
3966
- const listItems = Array.from(listElement.querySelectorAll(`[role="${listItemRole}"]`));
4143
+ const listItems = Array.from(listElement.querySelectorAll(`[role="${listItemRole}"], #sr-only-close-button`));
3967
4144
  return listItems.indexOf(listElement.querySelector(`#${id}`));
3968
4145
  },
3969
4146
 
@@ -3976,7 +4153,7 @@ const ERROR_INVALID_LIST_ELEMENT = 'listElementKey is required or the referenced
3976
4153
  return;
3977
4154
  }
3978
4155
 
3979
- return (_listElement$querySel = listElement.querySelectorAll(`[role="${listItemRole}"]`)[index]) === null || _listElement$querySel === void 0 ? void 0 : _listElement$querySel.id;
4156
+ return (_listElement$querySel = listElement.querySelectorAll(`[role="${listItemRole}"], #sr-only-close-button`)[index]) === null || _listElement$querySel === void 0 ? void 0 : _listElement$querySel.id;
3980
4157
  },
3981
4158
 
3982
4159
  scrollActiveItemIntoViewIfNeeded() {
@@ -5329,9 +5506,9 @@ var combobox_loading_list_component = normalizeComponent(
5329
5506
  )
5330
5507
 
5331
5508
  /* harmony default export */ const combobox_loading_list = (combobox_loading_list_component.exports);
5332
- ;// 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=d0c59b2c&
5333
- var combobox_empty_listvue_type_template_id_d0c59b2c_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)}
5334
- var combobox_empty_listvue_type_template_id_d0c59b2c_staticRenderFns = []
5509
+ ;// 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=ee5abe2c&
5510
+ var combobox_empty_listvue_type_template_id_ee5abe2c_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":"none"}},[_c('span',[_vm._v(_vm._s(_vm.message))])])],1)}
5511
+ var combobox_empty_listvue_type_template_id_ee5abe2c_staticRenderFns = []
5335
5512
 
5336
5513
 
5337
5514
  ;// 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&
@@ -5378,8 +5555,8 @@ var combobox_empty_listvue_type_template_id_d0c59b2c_staticRenderFns = []
5378
5555
  ;
5379
5556
  var combobox_empty_list_component = normalizeComponent(
5380
5557
  combobox_combobox_empty_listvue_type_script_lang_js_,
5381
- combobox_empty_listvue_type_template_id_d0c59b2c_render,
5382
- combobox_empty_listvue_type_template_id_d0c59b2c_staticRenderFns,
5558
+ combobox_empty_listvue_type_template_id_ee5abe2c_render,
5559
+ combobox_empty_listvue_type_template_id_ee5abe2c_staticRenderFns,
5383
5560
  false,
5384
5561
  null,
5385
5562
  null,
@@ -6402,28 +6579,28 @@ var collapsible_component = normalizeComponent(
6402
6579
  /* harmony default export */ const collapsible = (collapsible_component.exports);
6403
6580
  ;// CONCATENATED MODULE: ./components/collapsible/index.js
6404
6581
 
6405
- ;// 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=0ddf9e89&
6406
- var dropdownvue_type_template_id_0ddf9e89_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},on:{"opened":_vm.updateInitialHighlightIndex,"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }return _vm.onEnterKey.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"space",32,$event.key,[" ","Spacebar"])){ return null; }return _vm.onSpaceKey.apply(null, arguments)},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, 'onUpKeyPress')},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, 'onDownKeyPress')},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, 'onHomeKeyPress')},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, 'onEndKeyPress')},function($event){return _vm.onKeyValidation($event, 'onKeyPress')}]},scopedSlots:_vm._u([{key:"anchor",fn:function(ref){
6582
+ ;// 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=1b8b46fc&
6583
+ var dropdownvue_type_template_id_1b8b46fc_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){
6407
6584
  var attrs = ref.attrs;
6408
6585
  return [_vm._t("anchor",null,null,attrs)]}},{key:"content",fn:function(ref){
6409
6586
  var close = ref.close;
6410
- 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})],2)]}}],null,true)},_vm.$listeners))}
6411
- var dropdownvue_type_template_id_0ddf9e89_staticRenderFns = []
6587
+ 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))}
6588
+ var dropdownvue_type_template_id_1b8b46fc_staticRenderFns = []
6412
6589
 
6413
6590
 
6414
- ;// 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=c06c43b6&
6415
- var popovervue_type_template_id_c06c43b6_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","tabindex":_vm.openOnContext ? 0 : undefined},on:{"!click":function($event){return _vm.defaultToggleOpen.apply(null, arguments)},"contextmenu":function($event){$event.preventDefault();return _vm.onContext.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":{
6591
+ ;// 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=50a89e08&
6592
+ var popovervue_type_template_id_50a89e08_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":function($event){$event.preventDefault();return _vm.onContext.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":{
6416
6593
  'aria-expanded': _vm.isOpen.toString(),
6417
6594
  'aria-controls': _vm.id,
6418
6595
  'aria-haspopup': _vm.role,
6419
6596
  }})],2),_c('dt-lazy-show',_vm._g({ref:"content",class:['d-popover__dialog', { 'd-popover__dialog--modal': _vm.modal }, _vm.dialogClass],style:({
6420
6597
  'max-height': _vm.maxHeight,
6421
6598
  'max-width': _vm.maxWidth,
6422
- }),attrs:{"id":_vm.id,"role":_vm.role,"data-qa":"dt-popover","aria-hidden":("" + (!_vm.isOpen)),"aria-labelledby":_vm.labelledBy,"aria-label":_vm.ariaLabel,"aria-modal":("" + (!_vm.modal)),"transition":_vm.transition,"show":_vm.isOpen,"tabindex":_vm.contentTabindex,"appear":""},on:{"!keydown":function($event){return _vm.onKeydown.apply(null, arguments)},"after-leave":_vm.onLeaveTransitionComplete,"after-enter":_vm.onEnterTransitionComplete}},_vm.$listeners),[(_vm.$slots.headerContent || _vm.showCloseButton)?_c('popover-header-footer',{ref:"popover__header",class:_vm.POPOVER_HEADER_FOOTER_PADDING_CLASSES[_vm.padding],attrs:{"content-class":_vm.headerClass,"type":"header","show-close-button":_vm.showCloseButton,"close-button-props":_vm.closeButtonProps},on:{"close":_vm.closePopover},scopedSlots:_vm._u([{key:"content",fn:function(){return [_vm._t("headerContent",null,{"close":_vm.closePopover})]},proxy:true}],null,true)}):_vm._e(),_c('div',{ref:"popover__content",class:[
6599
+ }),attrs:{"id":_vm.id,"role":_vm.role,"data-qa":"dt-popover","aria-hidden":("" + (!_vm.isOpen)),"aria-labelledby":_vm.labelledBy,"aria-label":_vm.ariaLabel,"aria-modal":("" + (!_vm.modal)),"transition":_vm.transition,"show":_vm.isOpen,"tabindex":_vm.contentTabindex,"appear":""}},_vm.popoverListeners),[(_vm.$slots.headerContent || _vm.showCloseButton)?_c('popover-header-footer',{ref:"popover__header",class:_vm.POPOVER_HEADER_FOOTER_PADDING_CLASSES[_vm.padding],attrs:{"content-class":_vm.headerClass,"type":"header","show-close-button":_vm.showCloseButton,"close-button-props":_vm.closeButtonProps},on:{"close":_vm.closePopover},scopedSlots:_vm._u([{key:"content",fn:function(){return [_vm._t("headerContent",null,{"close":_vm.closePopover})]},proxy:true}],null,true)}):_vm._e(),_c('div',{ref:"popover__content",class:[
6423
6600
  'd-popover__content',
6424
6601
  _vm.POPOVER_PADDING_CLASSES[_vm.padding],
6425
- _vm.contentClass ],attrs:{"data-qa":"dt-popover-content"}},[_vm._t("content",null,{"close":_vm.closePopover}),(_vm.visuallyHiddenClose)?_c('dt-button',{staticClass:"d-vi-visible-sr",attrs:{"data-qa":"dt-popover-sr-only-close","aria-label":_vm.visuallyHiddenCloseLabel},on:{"click":_vm.closePopover}},[_c('icon-close')],1):_vm._e()],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)}
6426
- var popovervue_type_template_id_c06c43b6_staticRenderFns = []
6602
+ _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)}
6603
+ var popovervue_type_template_id_50a89e08_staticRenderFns = []
6427
6604
 
6428
6605
 
6429
6606
  ;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js
@@ -11370,13 +11547,6 @@ var popover_header_footer_component = normalizeComponent(
11370
11547
  //
11371
11548
  //
11372
11549
  //
11373
- //
11374
- //
11375
- //
11376
- //
11377
- //
11378
- //
11379
- //
11380
11550
 
11381
11551
  /* eslint-disable max-lines */
11382
11552
 
@@ -11400,17 +11570,16 @@ var popover_header_footer_component = normalizeComponent(
11400
11570
  * CHILD COMPONENTS *
11401
11571
  ********************/
11402
11572
  components: {
11573
+ SrOnlyCloseButton: common_sr_only_close_button,
11403
11574
  DtLazyShow: lazy_show,
11404
11575
  PopoverHeaderFooter: popover_header_footer,
11405
- Portal: Portal,
11406
- DtButton: button_button,
11407
- IconClose: IconClose
11576
+ Portal: Portal
11408
11577
  },
11409
- mixins: [modal],
11578
+ mixins: [modal, sr_only_close_button],
11410
11579
  props: {
11411
11580
  /**
11412
11581
  * Controls whether the popover is shown. Leaving this null will have the popover trigger on click by default.
11413
- * If you set this value, the default trigger behavior will be disabled and you can control it as you need.
11582
+ * If you set this value, the default trigger behavior will be disabled, and you can control it as you need.
11414
11583
  * Supports .sync modifier
11415
11584
  * @values null, true, false
11416
11585
  */
@@ -11693,7 +11862,7 @@ var popover_header_footer_component = normalizeComponent(
11693
11862
  */
11694
11863
  initialFocusElement: {
11695
11864
  type: [String, HTMLElement],
11696
- default: 'none',
11865
+ default: 'first',
11697
11866
  validator: initialFocusElement => {
11698
11867
  return POPOVER_INITIAL_FOCUS_STRINGS.includes(initialFocusElement) || initialFocusElement instanceof HTMLElement || initialFocusElement.startsWith('#');
11699
11868
  }
@@ -11707,24 +11876,6 @@ var popover_header_footer_component = normalizeComponent(
11707
11876
  openWithArrowKeys: {
11708
11877
  type: Boolean,
11709
11878
  default: false
11710
- },
11711
-
11712
- /**
11713
- * If true, a visually hidden close button its included in the popover.
11714
- * @values true, false
11715
- */
11716
- visuallyHiddenClose: {
11717
- type: Boolean,
11718
- default: false
11719
- },
11720
-
11721
- /**
11722
- * Label for the visually hidden close button
11723
- * Required if visuallyHiddenClose is set to `true`
11724
- */
11725
- visuallyHiddenCloseLabel: {
11726
- type: String,
11727
- default: ''
11728
11879
  }
11729
11880
  },
11730
11881
  emits: [
@@ -11754,6 +11905,21 @@ var popover_header_footer_component = normalizeComponent(
11754
11905
  },
11755
11906
 
11756
11907
  computed: {
11908
+ popoverListeners() {
11909
+ return { ...this.$listeners,
11910
+ keydown: event => {
11911
+ this.onKeydown(event);
11912
+ this.$emit('keydown', event);
11913
+ },
11914
+ 'after-leave': event => {
11915
+ this.onLeaveTransitionComplete();
11916
+ },
11917
+ 'after-enter': event => {
11918
+ this.onEnterTransitionComplete();
11919
+ }
11920
+ };
11921
+ },
11922
+
11757
11923
  labelledBy() {
11758
11924
  // aria-labelledby should be set only if aria-labelledby is passed as a prop, or if
11759
11925
  // there is no aria-label and the labelledby should point to the anchor.
@@ -11774,7 +11940,7 @@ var popover_header_footer_component = normalizeComponent(
11774
11940
 
11775
11941
  modal(modal) {
11776
11942
  this.tip.setProps({
11777
- zIndex: modal ? 650 : 300
11943
+ zIndex: this.modal ? 650 : this.calculateAnchorZindex()
11778
11944
  });
11779
11945
  },
11780
11946
 
@@ -11821,6 +11987,9 @@ var popover_header_footer_component = normalizeComponent(
11821
11987
 
11822
11988
  isOpen(isOpen, isPrev) {
11823
11989
  if (isOpen) {
11990
+ this.tip.setProps({
11991
+ zIndex: this.modal ? 650 : this.calculateAnchorZindex()
11992
+ });
11824
11993
  this.tip.show();
11825
11994
  this.addClosePopoverEventListener();
11826
11995
  } else if (!isOpen && isPrev !== isOpen) {
@@ -11889,10 +12058,6 @@ var popover_header_footer_component = normalizeComponent(
11889
12058
  if (this.modal && this.initialFocusElement === 'none') {
11890
12059
  console.error('If the popover is modal you must set the ' + 'initialFocusElement prop. Possible values: "dialog", "first", HTMLElement');
11891
12060
  }
11892
-
11893
- if (this.visuallyHiddenClose && !this.visuallyHiddenCloseLabel) {
11894
- console.error('If visuallyHiddenClose prop is true (default), the popover includes a visually hidden ' + 'close button and you must set the visuallyHiddenCloseLabel prop.');
11895
- }
11896
12061
  },
11897
12062
 
11898
12063
  calculateAnchorZindex() {
@@ -12047,9 +12212,9 @@ var popover_header_footer_component = normalizeComponent(
12047
12212
  },
12048
12213
 
12049
12214
  onClickOutside() {
12050
- if (!this.hideOnClick) return; // If a modal popover is opened inside of this one, do not hide on click out
12215
+ if (!this.hideOnClick) return; // If a popover is opened inside of this one, do not hide on click out
12051
12216
 
12052
- const innerModals = this.popoverContentEl.querySelector('.d-popover__anchor--modal-opened');
12217
+ const innerModals = this.popoverContentEl.querySelector('.d-popover__anchor--opened');
12053
12218
 
12054
12219
  if (!innerModals) {
12055
12220
  this.closePopover();
@@ -12107,8 +12272,8 @@ var popovervue_type_style_index_0_lang_less_ = __webpack_require__(532);
12107
12272
 
12108
12273
  var popover_component = normalizeComponent(
12109
12274
  popover_popovervue_type_script_lang_js_,
12110
- popovervue_type_template_id_c06c43b6_render,
12111
- popovervue_type_template_id_c06c43b6_staticRenderFns,
12275
+ popovervue_type_template_id_50a89e08_render,
12276
+ popovervue_type_template_id_50a89e08_staticRenderFns,
12112
12277
  false,
12113
12278
  null,
12114
12279
  null,
@@ -12178,8 +12343,9 @@ const DROPDOWN_PADDING_CLASSES = {
12178
12343
  //
12179
12344
  //
12180
12345
  //
12181
- //
12182
- //
12346
+
12347
+
12348
+
12183
12349
 
12184
12350
 
12185
12351
 
@@ -12188,7 +12354,8 @@ const DROPDOWN_PADDING_CLASSES = {
12188
12354
  /* harmony default export */ const dropdownvue_type_script_lang_js_ = ({
12189
12355
  name: 'DtDropdown',
12190
12356
  components: {
12191
- DtPopover: popover
12357
+ DtPopover: popover,
12358
+ SrOnlyCloseButton: common_sr_only_close_button
12192
12359
  },
12193
12360
  mixins: [keyboard_list_navigation({
12194
12361
  indexKey: 'highlightIndex',
@@ -12200,7 +12367,7 @@ const DROPDOWN_PADDING_CLASSES = {
12200
12367
  endOfListMethod: 'endOfListMethod',
12201
12368
  activeItemKey: 'activeItemEl',
12202
12369
  focusOnKeyboardNavigation: true
12203
- })],
12370
+ }), sr_only_close_button],
12204
12371
  props: {
12205
12372
  /**
12206
12373
  * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.
@@ -12361,12 +12528,67 @@ const DROPDOWN_PADDING_CLASSES = {
12361
12528
  return {
12362
12529
  LIST_ITEM_NAVIGATION_TYPES: LIST_ITEM_NAVIGATION_TYPES,
12363
12530
  DROPDOWN_PADDING_CLASSES: DROPDOWN_PADDING_CLASSES,
12531
+ EVENT_KEYNAMES: EVENT_KEYNAMES,
12364
12532
  openedWithKeyboard: false,
12365
12533
  isOpen: null
12366
12534
  };
12367
12535
  },
12368
12536
 
12369
12537
  computed: {
12538
+ dropdownListeners() {
12539
+ return { ...this.$listeners,
12540
+ opened: isPopoverOpen => {
12541
+ this.updateInitialHighlightIndex(isPopoverOpen);
12542
+ },
12543
+ keydown: event => {
12544
+ const eventCode = event.code;
12545
+
12546
+ switch (eventCode) {
12547
+ case EVENT_KEYNAMES.up:
12548
+ case EVENT_KEYNAMES.arrowup:
12549
+ this.onKeyValidation(event, 'onUpKeyPress');
12550
+ event.stopPropagation();
12551
+ event.preventDefault();
12552
+ break;
12553
+
12554
+ case EVENT_KEYNAMES.down:
12555
+ case EVENT_KEYNAMES.arrowdown:
12556
+ this.onKeyValidation(event, 'onDownKeyPress');
12557
+ event.stopPropagation();
12558
+ event.preventDefault();
12559
+ break;
12560
+
12561
+ case EVENT_KEYNAMES.space:
12562
+ case EVENT_KEYNAMES.spacebar:
12563
+ this.onSpaceKey();
12564
+ break;
12565
+
12566
+ case EVENT_KEYNAMES.enter:
12567
+ this.onEnterKey();
12568
+ break;
12569
+
12570
+ case EVENT_KEYNAMES.home:
12571
+ this.onKeyValidation(event, 'onHomeKeyPress');
12572
+ event.stopPropagation();
12573
+ event.preventDefault();
12574
+ break;
12575
+
12576
+ case EVENT_KEYNAMES.end:
12577
+ this.onKeyValidation(event, 'onEndKeyPress');
12578
+ event.stopPropagation();
12579
+ event.preventDefault();
12580
+ break;
12581
+
12582
+ default:
12583
+ this.onKeyValidation(event, 'onKeyPress');
12584
+ break;
12585
+ }
12586
+
12587
+ this.$emit('keydown', event);
12588
+ }
12589
+ };
12590
+ },
12591
+
12370
12592
  beginningOfListMethod() {
12371
12593
  return this.onBeginningOfList || this.jumpToEnd;
12372
12594
  },
@@ -12409,6 +12631,10 @@ const DROPDOWN_PADDING_CLASSES = {
12409
12631
  },
12410
12632
 
12411
12633
  afterHighlight() {
12634
+ if (this.visuallyHiddenClose && this.highlightIndex === this._itemsLength() - 1) {
12635
+ return;
12636
+ }
12637
+
12412
12638
  this.$emit('highlight', this.highlightIndex);
12413
12639
  },
12414
12640
 
@@ -12416,7 +12642,7 @@ const DROPDOWN_PADDING_CLASSES = {
12416
12642
  this.isOpen = isPopoverOpen;
12417
12643
 
12418
12644
  if (isPopoverOpen) {
12419
- if (this.openedWithKeyboard && this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS) {
12645
+ if (this.openedWithKeyboard && this.isArrowKeyNav) {
12420
12646
  this.setHighlightIndex(0);
12421
12647
  }
12422
12648
 
@@ -12515,8 +12741,8 @@ var dropdownvue_type_style_index_0_lang_less_ = __webpack_require__(774);
12515
12741
 
12516
12742
  var dropdown_component = normalizeComponent(
12517
12743
  dropdown_dropdownvue_type_script_lang_js_,
12518
- dropdownvue_type_template_id_0ddf9e89_render,
12519
- dropdownvue_type_template_id_0ddf9e89_staticRenderFns,
12744
+ dropdownvue_type_template_id_1b8b46fc_render,
12745
+ dropdownvue_type_template_id_1b8b46fc_staticRenderFns,
12520
12746
  false,
12521
12747
  null,
12522
12748
  null,
@@ -14116,18 +14342,18 @@ var input_group_component = normalizeComponent(
14116
14342
  /* harmony default export */ const input_group_input_group = (input_group_component.exports);
14117
14343
  ;// CONCATENATED MODULE: ./components/input_group/index.js
14118
14344
 
14119
- ;// 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=d71a3468&
14120
- var modalvue_type_template_id_d71a3468_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-lazy-show',{class:[
14345
+ ;// 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=170e46bc&
14346
+ var modalvue_type_template_id_170e46bc_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-lazy-show',_vm._g({class:[
14121
14347
  'd-modal',
14122
14348
  _vm.MODAL_KIND_MODIFIERS[_vm.kind],
14123
14349
  _vm.MODAL_SIZE_MODIFIERS[_vm.size],
14124
- _vm.modalClass ],attrs:{"transition":"d-zoom","show":_vm.show,"data-qa":"dt-modal","aria-hidden":_vm.open},on:{"click":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.close.apply(null, arguments)},"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }return _vm.close.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"tab",9,$event.key,"Tab")){ return null; }return _vm.trapFocus.apply(null, arguments)}],"after-enter":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.setFocusAfterTransition.apply(null, arguments)}}},[(_vm.show && (_vm.$slots.banner || _vm.bannerTitle))?_c('div',{class:[
14350
+ _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:[
14125
14351
  'd-modal__banner',
14126
14352
  _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:[
14127
14353
  'd-modal__dialog',
14128
14354
  { 'd-modal__dialog--scrollable': _vm.fixedHeaderFooter },
14129
- _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',{staticClass:"d-modal__content",attrs:{"data-qa":"dt-modal-copy"}},[_vm._t("default")],2):_c('p',{staticClass:"d-modal__content",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,"kind":_vm.kind},on:{"click":_vm.close},scopedSlots:_vm._u([{key:"icon",fn:function(){return [_c('icon-close')]},proxy:true}],null,false,4267981299)},'dt-button',_vm.closeButtonProps,false)):_vm._e()],1)])],1)}
14130
- var modalvue_type_template_id_d71a3468_staticRenderFns = []
14355
+ _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',{staticClass:"d-modal__content",attrs:{"data-qa":"dt-modal-copy"}},[_vm._t("default")],2):_c('p',{staticClass:"d-modal__content",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,"kind":_vm.kind},on:{"click":_vm.close},scopedSlots:_vm._u([{key:"icon",fn:function(){return [_c('icon-close')]},proxy:true}],null,false,4267981299)},'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)}
14356
+ var modalvue_type_template_id_170e46bc_staticRenderFns = []
14131
14357
 
14132
14358
 
14133
14359
  ;// CONCATENATED MODULE: ./components/modal/modal_constants.js
@@ -14247,6 +14473,11 @@ const MODAL_SIZE_MODIFIERS = {
14247
14473
  //
14248
14474
  //
14249
14475
  //
14476
+ //
14477
+ //
14478
+
14479
+
14480
+
14250
14481
 
14251
14482
 
14252
14483
 
@@ -14264,9 +14495,10 @@ const MODAL_SIZE_MODIFIERS = {
14264
14495
  components: {
14265
14496
  DtLazyShow: lazy_show,
14266
14497
  DtButton: button_button,
14267
- IconClose: IconClose
14498
+ IconClose: IconClose,
14499
+ SrOnlyCloseButton: common_sr_only_close_button
14268
14500
  },
14269
- mixins: [modal],
14501
+ mixins: [modal, sr_only_close_button],
14270
14502
  props: {
14271
14503
  /**
14272
14504
  * A set of props to be passed into the modal's close button.
@@ -14415,11 +14647,38 @@ const MODAL_SIZE_MODIFIERS = {
14415
14647
  data() {
14416
14648
  return {
14417
14649
  MODAL_KIND_MODIFIERS: MODAL_KIND_MODIFIERS,
14418
- MODAL_SIZE_MODIFIERS: MODAL_SIZE_MODIFIERS
14650
+ MODAL_SIZE_MODIFIERS: MODAL_SIZE_MODIFIERS,
14651
+ EVENT_KEYNAMES: EVENT_KEYNAMES
14419
14652
  };
14420
14653
  },
14421
14654
 
14422
14655
  computed: {
14656
+ modalListeners() {
14657
+ return { ...this.$listeners,
14658
+ click: event => {
14659
+ event.target === event.currentTarget && this.close();
14660
+ this.$emit('click', event);
14661
+ },
14662
+ keydown: event => {
14663
+ switch (event.code) {
14664
+ case EVENT_KEYNAMES.esc:
14665
+ case EVENT_KEYNAMES.escape:
14666
+ this.close();
14667
+ break;
14668
+
14669
+ case EVENT_KEYNAMES.tab:
14670
+ this.trapFocus(event);
14671
+ break;
14672
+ }
14673
+
14674
+ this.$emit('keydown', event);
14675
+ },
14676
+ 'after-enter': event => {
14677
+ event.target === event.currentTarget && this.setFocusAfterTransition();
14678
+ }
14679
+ };
14680
+ },
14681
+
14423
14682
  open() {
14424
14683
  return `${!this.show}`;
14425
14684
  },
@@ -14446,6 +14705,15 @@ const MODAL_SIZE_MODIFIERS = {
14446
14705
  }
14447
14706
  }
14448
14707
 
14708
+ },
14709
+ $props: {
14710
+ immediate: true,
14711
+ deep: true,
14712
+
14713
+ handler() {
14714
+ this.validateProps();
14715
+ }
14716
+
14449
14717
  }
14450
14718
  },
14451
14719
  methods: {
@@ -14461,6 +14729,13 @@ const MODAL_SIZE_MODIFIERS = {
14461
14729
  if (this.show) {
14462
14730
  this.focusTrappedTabPress(e);
14463
14731
  }
14732
+ },
14733
+
14734
+ validateProps() {
14735
+ if (this.hideClose && !this.visuallyHiddenClose) {
14736
+ console.error(`If hideClose prop is true, visuallyHiddenClose and visuallyHiddenCloseLabel props
14737
+ need to be set so the component always includes a close button`);
14738
+ }
14464
14739
  }
14465
14740
 
14466
14741
  }
@@ -14477,8 +14752,8 @@ const MODAL_SIZE_MODIFIERS = {
14477
14752
  ;
14478
14753
  var modal_component = normalizeComponent(
14479
14754
  modal_modalvue_type_script_lang_js_,
14480
- modalvue_type_template_id_d71a3468_render,
14481
- modalvue_type_template_id_d71a3468_staticRenderFns,
14755
+ modalvue_type_template_id_170e46bc_render,
14756
+ modalvue_type_template_id_170e46bc_staticRenderFns,
14482
14757
  false,
14483
14758
  null,
14484
14759
  null,
@@ -14673,9 +14948,9 @@ var list_section_component = normalizeComponent(
14673
14948
  /* harmony default export */ const list_section = (list_section_component.exports);
14674
14949
  ;// CONCATENATED MODULE: ./components/list_section/index.js
14675
14950
 
14676
- ;// 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=30c65ac1&
14677
- var noticevue_type_template_id_30c65ac1_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('aside',_vm._g({class:_vm.noticeClass,attrs:{"data-qa":"notice"}},_vm.$listeners),[_c('dt-notice-icon',_vm._g({attrs:{"kind":_vm.kind}},_vm.$listeners),[_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}},_vm.$listeners),[_vm._t("action")],2)],1)}
14678
- var noticevue_type_template_id_30c65ac1_staticRenderFns = []
14951
+ ;// 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=e0e44b44&
14952
+ var noticevue_type_template_id_e0e44b44_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',_vm._g({attrs:{"kind":_vm.kind}},_vm.$listeners),[_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)}
14953
+ var noticevue_type_template_id_e0e44b44_staticRenderFns = []
14679
14954
 
14680
14955
 
14681
14956
  ;// 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&
@@ -14718,6 +14993,8 @@ var noticevue_type_template_id_30c65ac1_staticRenderFns = []
14718
14993
  //
14719
14994
  //
14720
14995
  //
14996
+ //
14997
+
14721
14998
 
14722
14999
 
14723
15000
 
@@ -14734,6 +15011,7 @@ var noticevue_type_template_id_30c65ac1_staticRenderFns = []
14734
15011
  DtNoticeContent: notice_content,
14735
15012
  DtNoticeAction: notice_action
14736
15013
  },
15014
+ mixins: [sr_only_close_button],
14737
15015
  props: {
14738
15016
  /**
14739
15017
  * Sets an ID on the title element of the component. Useful for aria-describedby
@@ -14853,8 +15131,8 @@ var noticevue_type_template_id_30c65ac1_staticRenderFns = []
14853
15131
  ;
14854
15132
  var notice_component = normalizeComponent(
14855
15133
  notice_noticevue_type_script_lang_js_,
14856
- noticevue_type_template_id_30c65ac1_render,
14857
- noticevue_type_template_id_30c65ac1_staticRenderFns,
15134
+ noticevue_type_template_id_e0e44b44_render,
15135
+ noticevue_type_template_id_e0e44b44_staticRenderFns,
14858
15136
  false,
14859
15137
  null,
14860
15138
  null,
@@ -15794,14 +16072,14 @@ var tab_group_component = normalizeComponent(
15794
16072
  )
15795
16073
 
15796
16074
  /* harmony default export */ const tab_group = (tab_group_component.exports);
15797
- ;// 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/tabs/tab.vue?vue&type=template&id=91977b48&
15798
- var tabvue_type_template_id_91977b48_render = function () {
16075
+ ;// 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/tabs/tab.vue?vue&type=template&id=2eb1f514&
16076
+ var tabvue_type_template_id_2eb1f514_render = function () {
15799
16077
  var _obj;
15800
- var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-button',_vm._b({class:[
16078
+ var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-button',_vm._g(_vm._b({class:[
15801
16079
  'd-tab',
15802
16080
  ( _obj = {}, _obj[_vm.TAB_IMPORTANCE_MODIFIERS.selected] = _vm.isSelected, _obj ),
15803
- _vm.tabClass ],attrs:{"id":("dt-tab-" + _vm.id),"role":"tab","aria-selected":("" + _vm.isSelected),"aria-controls":("dt-panel-" + _vm.panelId),"aria-label":_vm.label,"data-qa":"dt-tab","tabindex":_vm.isSelected ? '0' : '-1',"disabled":_vm.groupContext.disabled || _vm.disabled},on:{"click":function($event){return _vm.selectPanel()},"focus":function($event){return _vm.setFocus(_vm.id)}}},'dt-button',_vm.$attrs,false),[_vm._t("default")],2)}
15804
- var tabvue_type_template_id_91977b48_staticRenderFns = []
16081
+ _vm.tabClass ],attrs:{"id":("dt-tab-" + _vm.id),"role":"tab","aria-selected":("" + _vm.isSelected),"aria-controls":("dt-panel-" + _vm.panelId),"aria-label":_vm.label,"data-qa":"dt-tab","tabindex":_vm.isSelected ? '0' : '-1',"disabled":_vm.groupContext.disabled || _vm.disabled}},'dt-button',_vm.$attrs,false),_vm.tabListeners),[_vm._t("default")],2)}
16082
+ var tabvue_type_template_id_2eb1f514_staticRenderFns = []
15805
16083
 
15806
16084
 
15807
16085
  ;// 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/tabs/tab.vue?vue&type=script&lang=js&
@@ -15830,7 +16108,6 @@ var tabvue_type_template_id_91977b48_staticRenderFns = []
15830
16108
  //
15831
16109
  //
15832
16110
  //
15833
- //
15834
16111
 
15835
16112
 
15836
16113
  /**
@@ -15906,6 +16183,19 @@ var tabvue_type_template_id_91977b48_staticRenderFns = []
15906
16183
  computed: {
15907
16184
  isSelected() {
15908
16185
  return this.groupContext.selected === this.panelId;
16186
+ },
16187
+
16188
+ tabListeners() {
16189
+ return { ...this.$listeners,
16190
+ click: event => {
16191
+ this.selectPanel();
16192
+ this.$emit('click', event);
16193
+ },
16194
+ focus: event => {
16195
+ this.setFocus(this.id);
16196
+ this.$emit('focus', event);
16197
+ }
16198
+ };
15909
16199
  }
15910
16200
 
15911
16201
  },
@@ -15943,8 +16233,8 @@ var tabvue_type_template_id_91977b48_staticRenderFns = []
15943
16233
  ;
15944
16234
  var tab_component = normalizeComponent(
15945
16235
  tabs_tabvue_type_script_lang_js_,
15946
- tabvue_type_template_id_91977b48_render,
15947
- tabvue_type_template_id_91977b48_staticRenderFns,
16236
+ tabvue_type_template_id_2eb1f514_render,
16237
+ tabvue_type_template_id_2eb1f514_staticRenderFns,
15948
16238
  false,
15949
16239
  null,
15950
16240
  null,
@@ -17072,12 +17362,12 @@ var select_menu_component = normalizeComponent(
17072
17362
  ;// CONCATENATED MODULE: ./components/select_menu/index.js
17073
17363
 
17074
17364
 
17075
- ;// 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/toast/toast.vue?vue&type=template&id=48807c9a&
17076
- var toastvue_type_template_id_48807c9a_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isShown)?_c('div',{class:[
17365
+ ;// 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/toast/toast.vue?vue&type=template&id=b85afb74&
17366
+ var toastvue_type_template_id_b85afb74_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isShown)?_c('div',{class:[
17077
17367
  'd-toast',
17078
17368
  _vm.kindClass,
17079
- { 'd-toast--important': _vm.important } ],attrs:{"data-qa":"dt-toast","aria-hidden":(!_vm.isShown).toString()}},[_c('div',{staticClass:"d-toast__dialog"},[_c('dt-notice-icon',_vm._g({attrs:{"kind":_vm.kind}},_vm.$listeners),[_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",function(){return [_vm._v(" "+_vm._s(_vm.message)+" ")]})],2),_c('dt-notice-action',_vm._g({attrs:{"hide-close":_vm.hideClose,"close-button-props":_vm.closeButtonProps}},_vm.noticeActionListeners),[_vm._t("action")],2)],1)]):_vm._e()}
17080
- var toastvue_type_template_id_48807c9a_staticRenderFns = []
17369
+ { 'd-toast--important': _vm.important } ],attrs:{"data-qa":"dt-toast","aria-hidden":(!_vm.isShown).toString()}},[_c('div',{staticClass:"d-toast__dialog"},[_c('dt-notice-icon',_vm._g({attrs:{"kind":_vm.kind}},_vm.$listeners),[_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",function(){return [_vm._v(" "+_vm._s(_vm.message)+" ")]})],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.noticeActionListeners),[_vm._t("action")],2)],1)]):_vm._e()}
17370
+ var toastvue_type_template_id_b85afb74_staticRenderFns = []
17081
17371
 
17082
17372
 
17083
17373
  ;// CONCATENATED MODULE: ./components/toast/toast_constants.js
@@ -17136,6 +17426,9 @@ const TOAST_MIN_DURATION = 6000;
17136
17426
  //
17137
17427
  //
17138
17428
  //
17429
+ //
17430
+ //
17431
+
17139
17432
 
17140
17433
 
17141
17434
 
@@ -17155,6 +17448,7 @@ const TOAST_MIN_DURATION = 6000;
17155
17448
  DtNoticeContent: notice_content,
17156
17449
  DtNoticeAction: notice_action
17157
17450
  },
17451
+ mixins: [sr_only_close_button],
17158
17452
  props: {
17159
17453
  /**
17160
17454
  * Sets an ID on the title element of the component. Useful for aria-describedby
@@ -17367,8 +17661,8 @@ const TOAST_MIN_DURATION = 6000;
17367
17661
  ;
17368
17662
  var toast_component = normalizeComponent(
17369
17663
  toast_toastvue_type_script_lang_js_,
17370
- toastvue_type_template_id_48807c9a_render,
17371
- toastvue_type_template_id_48807c9a_staticRenderFns,
17664
+ toastvue_type_template_id_b85afb74_render,
17665
+ toastvue_type_template_id_b85afb74_staticRenderFns,
17372
17666
  false,
17373
17667
  null,
17374
17668
  null,
@@ -17380,14 +17674,20 @@ var toast_component = normalizeComponent(
17380
17674
  ;// CONCATENATED MODULE: ./components/toast/index.js
17381
17675
 
17382
17676
 
17383
- ;// 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/toggle/toggle.vue?vue&type=template&id=8e140268&
17384
- var togglevue_type_template_id_8e140268_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"d-d-flex d-ai-center"},[(_vm.$slots.default)?_c('label',_vm._b({class:_vm.labelClass,attrs:{"for":_vm.id,"data-qa":"toggle-label"}},'label',_vm.labelChildProps,false),[_vm._t("default")],2):_vm._e(),_c('button',_vm._g(_vm._b({class:['d-toggle', {
17385
- 'd-toggle--checked': _vm.internalChecked,
17386
- 'd-toggle--disabled': _vm.disabled,
17387
- }],attrs:{"id":_vm.id,"role":"switch","type":"button","aria-checked":_vm.internalChecked.toString(),"disabled":_vm.disabled,"aria-disabled":_vm.disabled.toString()}},'button',_vm.$attrs,false),_vm.inputListeners),[_c('span',{staticClass:"d-toggle__inner"})])])}
17388
- var togglevue_type_template_id_8e140268_staticRenderFns = []
17677
+ ;// 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/toggle/toggle.vue?vue&type=template&id=5a3c3595&
17678
+ var togglevue_type_template_id_5a3c3595_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"d-d-flex d-ai-center"},[(_vm.$slots.default)?_c('label',_vm._b({class:_vm.labelClass,attrs:{"for":_vm.id,"data-qa":"toggle-label"}},'label',_vm.labelChildProps,false),[_vm._t("default")],2):_vm._e(),_c('button',_vm._g(_vm._b({class:_vm.toggleClasses,attrs:{"id":_vm.id,"role":_vm.toggleRole,"type":"button","aria-checked":_vm.internalChecked.toString(),"disabled":_vm.disabled,"aria-disabled":_vm.disabled.toString()}},'button',_vm.$attrs,false),_vm.inputListeners),[(_vm.showIcon)?_c('span',{staticClass:"d-toggle__inner"}):_vm._e()])])}
17679
+ var togglevue_type_template_id_5a3c3595_staticRenderFns = []
17389
17680
 
17390
17681
 
17682
+ ;// CONCATENATED MODULE: ./components/toggle/toggle_constants.js
17683
+ const TOGGLE_SIZE_MODIFIERS = {
17684
+ sm: 'd-toggle--small',
17685
+ md: ''
17686
+ };
17687
+ const TOGGLE_CHECKED_VALUES = [false, true, 'mixed'];
17688
+ /* harmony default export */ const toggle_constants = ({
17689
+ TOGGLE_SIZE_MODIFIERS
17690
+ });
17391
17691
  ;// 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/toggle/toggle.vue?vue&type=script&lang=js&
17392
17692
  //
17393
17693
  //
@@ -17422,6 +17722,7 @@ var togglevue_type_template_id_8e140268_staticRenderFns = []
17422
17722
  //
17423
17723
 
17424
17724
 
17725
+
17425
17726
  /**
17426
17727
  * A toggle (or "switch") is a button control element that allows the user to make a binary (on/off) selection.
17427
17728
  * @see https://dialpad.design/components/toggle.html
@@ -17459,11 +17760,31 @@ var togglevue_type_template_id_8e140268_staticRenderFns = []
17459
17760
  /**
17460
17761
  * Value of the toggle
17461
17762
  * @model checked
17462
- * @values true, false
17763
+ * @values true, false, 'mixed'
17463
17764
  */
17464
17765
  checked: {
17766
+ type: [Boolean, String],
17767
+ default: false,
17768
+ validator: v => TOGGLE_CHECKED_VALUES.includes(v)
17769
+ },
17770
+
17771
+ /**
17772
+ * The size of the toggle.
17773
+ * @values sm, md
17774
+ */
17775
+ size: {
17776
+ type: String,
17777
+ default: 'md',
17778
+ validator: s => Object.keys(TOGGLE_SIZE_MODIFIERS).includes(s)
17779
+ },
17780
+
17781
+ /**
17782
+ * Shows the icon
17783
+ * @values true, false
17784
+ */
17785
+ showIcon: {
17465
17786
  type: Boolean,
17466
- default: false
17787
+ default: true
17467
17788
  },
17468
17789
 
17469
17790
  /**
@@ -17503,6 +17824,22 @@ var togglevue_type_template_id_8e140268_staticRenderFns = []
17503
17824
  return { ...this.$listeners,
17504
17825
  click: _ => this.toggleCheckedValue()
17505
17826
  };
17827
+ },
17828
+
17829
+ isIndeterminate() {
17830
+ return this.internalChecked === 'mixed';
17831
+ },
17832
+
17833
+ toggleRole() {
17834
+ return this.isIndeterminate ? 'checkbox' : 'switch';
17835
+ },
17836
+
17837
+ toggleClasses() {
17838
+ return ['d-toggle', TOGGLE_SIZE_MODIFIERS[this.size], {
17839
+ 'd-toggle--checked': this.internalChecked === true,
17840
+ 'd-toggle--disabled': this.disabled,
17841
+ 'd-toggle--indeterminate': this.isIndeterminate
17842
+ }];
17506
17843
  }
17507
17844
 
17508
17845
  },
@@ -17551,8 +17888,8 @@ var togglevue_type_template_id_8e140268_staticRenderFns = []
17551
17888
  ;
17552
17889
  var toggle_component = normalizeComponent(
17553
17890
  toggle_togglevue_type_script_lang_js_,
17554
- togglevue_type_template_id_8e140268_render,
17555
- togglevue_type_template_id_8e140268_staticRenderFns,
17891
+ togglevue_type_template_id_5a3c3595_render,
17892
+ togglevue_type_template_id_5a3c3595_staticRenderFns,
17556
17893
  false,
17557
17894
  null,
17558
17895
  null,
@@ -17563,15 +17900,15 @@ var toggle_component = normalizeComponent(
17563
17900
  /* harmony default export */ const toggle = (toggle_component.exports);
17564
17901
  ;// CONCATENATED MODULE: ./components/toggle/index.js
17565
17902
 
17566
- ;// 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=2cddd20a&
17567
- var tooltipvue_type_template_id_2cddd20a_render = function () {
17903
+ ;// 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=7bbc33e0&
17904
+ var tooltipvue_type_template_id_7bbc33e0_render = function () {
17568
17905
  var _obj;
17569
- 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:[
17906
+ 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',_vm._g({ref:"content",class:[
17570
17907
  'd-tooltip',
17571
17908
  ("d-tooltip__arrow-tippy--" + _vm.currentPlacement),
17572
17909
  ( _obj = {}, _obj[ _vm.TOOLTIP_KIND_MODIFIERS.inverted ] = _vm.inverted, _obj ),
17573
- _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)}
17574
- var tooltipvue_type_template_id_2cddd20a_staticRenderFns = []
17910
+ _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}},_vm.tooltipListeners),[_vm._t("default",function(){return [_vm._v(" "+_vm._s(_vm.message)+" ")]})],2)],1)}
17911
+ var tooltipvue_type_template_id_7bbc33e0_staticRenderFns = []
17575
17912
 
17576
17913
 
17577
17914
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip_constants.js
@@ -17634,7 +17971,6 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
17634
17971
  //
17635
17972
  //
17636
17973
  //
17637
- //
17638
17974
 
17639
17975
 
17640
17976
 
@@ -17799,6 +18135,17 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
17799
18135
  },
17800
18136
 
17801
18137
  computed: {
18138
+ tooltipListeners() {
18139
+ return { ...this.$listeners,
18140
+ 'after-leave': event => {
18141
+ this.onLeaveTransitionComplete();
18142
+ },
18143
+ 'after-enter': event => {
18144
+ this.onEnterTransitionComplete();
18145
+ }
18146
+ };
18147
+ },
18148
+
17802
18149
  tippyProps() {
17803
18150
  return {
17804
18151
  offset: this.offset,
@@ -17963,8 +18310,8 @@ var tooltipvue_type_style_index_0_lang_less_ = __webpack_require__(228);
17963
18310
 
17964
18311
  var tooltip_component = normalizeComponent(
17965
18312
  tooltip_tooltipvue_type_script_lang_js_,
17966
- tooltipvue_type_template_id_2cddd20a_render,
17967
- tooltipvue_type_template_id_2cddd20a_staticRenderFns,
18313
+ tooltipvue_type_template_id_7bbc33e0_render,
18314
+ tooltipvue_type_template_id_7bbc33e0_staticRenderFns,
17968
18315
  false,
17969
18316
  null,
17970
18317
  null,
@@ -18646,15 +18993,15 @@ var root_layout_component = normalizeComponent(
18646
18993
  ;// CONCATENATED MODULE: ./components/root_layout/index.js
18647
18994
 
18648
18995
 
18649
- ;// 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=27a3126a&
18650
- var combobox_with_popovervue_type_template_id_27a3126a_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,"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-aria-label":_vm.listAriaLabel,"list-rendered-outside":true,"list-id":_vm.listId,"data-qa":"dt-combobox"},scopedSlots:_vm._u([{key:"input",fn:function(ref){
18996
+ ;// 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=96ff85ec&
18997
+ var combobox_with_popovervue_type_template_id_96ff85ec_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,"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-aria-label":_vm.listAriaLabel,"list-rendered-outside":true,"list-id":_vm.listId,"data-qa":"dt-combobox"},scopedSlots:_vm._u([{key:"input",fn:function(ref){
18651
18998
  var inputProps = ref.inputProps;
18652
18999
  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){
18653
19000
  var opened = ref.opened;
18654
19001
  var listProps = ref.listProps;
18655
19002
  var clearHighlightIndex = ref.clearHighlightIndex;
18656
- 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":_vm.modal,"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({},'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",on:{"focusout":_vm.onFocusOut}},[_vm._t("footer")],2):_vm._e()]},proxy:true}],null,true)})]}}],null,true)},_vm.comboboxListeners))}
18657
- var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
19003
+ 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","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",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({},'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",on:{"focusout":_vm.onFocusOut}},[_vm._t("footer")],2):_vm._e()]},proxy:true}],null,true)})]}}],null,true)},_vm.comboboxListeners))}
19004
+ var combobox_with_popovervue_type_template_id_96ff85ec_staticRenderFns = []
18658
19005
 
18659
19006
 
18660
19007
  ;// 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&
@@ -18758,6 +19105,10 @@ var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
18758
19105
  //
18759
19106
  //
18760
19107
  //
19108
+ //
19109
+ //
19110
+ //
19111
+
18761
19112
 
18762
19113
 
18763
19114
 
@@ -18772,6 +19123,7 @@ var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
18772
19123
  ComboboxLoadingList: combobox_loading_list,
18773
19124
  ComboboxEmptyList: combobox_empty_list
18774
19125
  },
19126
+ mixins: [sr_only_close_button],
18775
19127
  props: {
18776
19128
  /**
18777
19129
  * String to use for the list's aria-label.
@@ -18894,15 +19246,6 @@ var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
18894
19246
  default: false
18895
19247
  },
18896
19248
 
18897
- /**
18898
- * Determines modal state. If enabled popover has a modal overlay
18899
- * preventing interaction with elements below it, but it is invisible.
18900
- */
18901
- modal: {
18902
- type: Boolean,
18903
- default: true
18904
- },
18905
-
18906
19249
  /**
18907
19250
  * Displays the list when the combobox is focused, before the user has typed anything.
18908
19251
  * When this is enabled the list will not close after selection.
@@ -19054,7 +19397,7 @@ var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
19054
19397
 
19055
19398
  onFocusIn(e) {
19056
19399
  if (this.hasSuggestionList && e && this.$refs.input.querySelector('input') === e.target) {
19057
- // only trigger if we show suggestion list when focus and
19400
+ // only trigger if we show suggestion list when focused, and
19058
19401
  // it's the input specifically that was focused
19059
19402
  this.showComboboxList();
19060
19403
  }
@@ -19067,7 +19410,7 @@ var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
19067
19410
  var _this$$refs$ref;
19068
19411
 
19069
19412
  return (_this$$refs$ref = this.$refs[ref]) === null || _this$$refs$ref === void 0 ? void 0 : _this$$refs$ref.contains(e.relatedTarget);
19070
- }); // If outside of the combobox then close
19413
+ }) || this.visuallyHiddenClose; // If outside the combobox then close
19071
19414
 
19072
19415
  if (!isComboboxStillFocused) {
19073
19416
  this.closeComboboxList();
@@ -19096,8 +19439,8 @@ var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
19096
19439
  ;
19097
19440
  var combobox_with_popover_component = normalizeComponent(
19098
19441
  combobox_with_popover_combobox_with_popovervue_type_script_lang_js_,
19099
- combobox_with_popovervue_type_template_id_27a3126a_render,
19100
- combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns,
19442
+ combobox_with_popovervue_type_template_id_96ff85ec_render,
19443
+ combobox_with_popovervue_type_template_id_96ff85ec_staticRenderFns,
19101
19444
  false,
19102
19445
  null,
19103
19446
  null,
@@ -19108,11 +19451,11 @@ var combobox_with_popover_component = normalizeComponent(
19108
19451
  /* harmony default export */ const combobox_with_popover = (combobox_with_popover_component.exports);
19109
19452
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/index.js
19110
19453
 
19111
- ;// 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=6305bf12&
19112
- var combobox_multi_selectvue_type_template_id_6305bf12_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){
19454
+ ;// 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=652b0440&
19455
+ var combobox_multi_selectvue_type_template_id_652b0440_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,"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){
19113
19456
  var onInput = ref.onInput;
19114
19457
  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",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)})}
19115
- var combobox_multi_selectvue_type_template_id_6305bf12_staticRenderFns = []
19458
+ var combobox_multi_selectvue_type_template_id_652b0440_staticRenderFns = []
19116
19459
 
19117
19460
 
19118
19461
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/combobox_multi_select_story_constants.js
@@ -19314,6 +19657,9 @@ const MULTI_SELECT_SIZES = {
19314
19657
  //
19315
19658
  //
19316
19659
  //
19660
+ //
19661
+ //
19662
+
19317
19663
 
19318
19664
 
19319
19665
 
@@ -19328,6 +19674,7 @@ const MULTI_SELECT_SIZES = {
19328
19674
  DtChip: chip,
19329
19675
  DtValidationMessages: validation_messages
19330
19676
  },
19677
+ mixins: [sr_only_close_button],
19331
19678
  props: {
19332
19679
  /**
19333
19680
  * Label for the combobox
@@ -19494,7 +19841,7 @@ const MULTI_SELECT_SIZES = {
19494
19841
  data() {
19495
19842
  return {
19496
19843
  value: '',
19497
- popoverOffset: [0, 0],
19844
+ popoverOffset: [0, 4],
19498
19845
  showValidationMessages: false,
19499
19846
  initialInputPadding: {},
19500
19847
  resizeWindowObserver: null
@@ -19727,7 +20074,7 @@ const MULTI_SELECT_SIZES = {
19727
20074
  // If the new chip goes to the next line and the input box expands,
19728
20075
  // move the popover down to the next line. Same when chips are removed
19729
20076
 
19730
- this.popoverOffset = [0, 0];
20077
+ this.popoverOffset = [0, 4];
19731
20078
  },
19732
20079
 
19733
20080
  getFullWidth(el) {
@@ -19780,8 +20127,8 @@ const MULTI_SELECT_SIZES = {
19780
20127
  ;
19781
20128
  var combobox_multi_select_component = normalizeComponent(
19782
20129
  combobox_multi_select_combobox_multi_selectvue_type_script_lang_js_,
19783
- combobox_multi_selectvue_type_template_id_6305bf12_render,
19784
- combobox_multi_selectvue_type_template_id_6305bf12_staticRenderFns,
20130
+ combobox_multi_selectvue_type_template_id_652b0440_render,
20131
+ combobox_multi_selectvue_type_template_id_652b0440_staticRenderFns,
19785
20132
  false,
19786
20133
  null,
19787
20134
  null,
@@ -19793,9 +20140,9 @@ var combobox_multi_select_component = normalizeComponent(
19793
20140
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/index.js
19794
20141
 
19795
20142
 
19796
- ;// 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/buttons/callbar_button/callbar_button.vue?vue&type=template&id=0de8daf7&
19797
- var callbar_buttonvue_type_template_id_0de8daf7_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-tooltip',{attrs:{"id":_vm.id,"offset":[0, -12]},scopedSlots:_vm._u([{key:"anchor",fn:function(){return [_c('dt-button',_vm._g({class:_vm.callbarButtonClass,attrs:{"importance":_vm.circle ? 'outlined' : 'clear',"kind":"muted","icon-position":"top","disabled":_vm.disabled,"aria-label":_vm.ariaLabel,"label-class":"d-fs-100","width":"8.4rem"}},_vm.$listeners),[_vm._t("default"),_vm._t("icon",null,{"slot":"icon"})],2)]},proxy:true}],null,true)},[_vm._t("tooltip")],2)}
19798
- var callbar_buttonvue_type_template_id_0de8daf7_staticRenderFns = []
20143
+ ;// 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/buttons/callbar_button/callbar_button.vue?vue&type=template&id=57656787&
20144
+ var callbar_buttonvue_type_template_id_57656787_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-tooltip',{attrs:{"id":_vm.id,"offset":[0, -12]},scopedSlots:_vm._u([{key:"anchor",fn:function(){return [_c('dt-button',_vm._g({class:_vm.callbarButtonClass,attrs:{"importance":_vm.circle ? 'outlined' : 'clear',"kind":"muted","icon-position":"top","disabled":_vm.disabled,"aria-label":_vm.ariaLabel,"label-class":"d-fs-100","width":"8.4rem"}},_vm.$listeners),[_vm._t("default"),_vm._t("icon",null,{"slot":"icon"})],2)]},proxy:true}],null,true)},[_vm._t("tooltip")],2)}
20145
+ var callbar_buttonvue_type_template_id_57656787_staticRenderFns = []
19799
20146
 
19800
20147
 
19801
20148
  ;// 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/buttons/callbar_button/callbar_button.vue?vue&type=script&lang=js&
@@ -19921,7 +20268,7 @@ var callbar_buttonvue_type_template_id_0de8daf7_staticRenderFns = []
19921
20268
  'click'],
19922
20269
  computed: {
19923
20270
  callbarButtonClass() {
19924
- return [this.buttonClass, 'dt-recipe-callbar-button', 'd-stack4', 'd-px0', {
20271
+ return [this.buttonClass, 'dt-recipe-callbar-button', 'd-stack4', 'd-px0', 'h:d-bgc-black-200', 'h:d-bgo50', {
19925
20272
  'dt-recipe-callbar-button--circle': this.circle,
19926
20273
  'dt-recipe-callbar-button--active': this.active,
19927
20274
  'dt-recipe-callbar-button--danger': this.danger
@@ -19947,8 +20294,8 @@ var callbar_buttonvue_type_style_index_0_lang_less_ = __webpack_require__(736);
19947
20294
 
19948
20295
  var callbar_button_component = normalizeComponent(
19949
20296
  callbar_button_callbar_buttonvue_type_script_lang_js_,
19950
- callbar_buttonvue_type_template_id_0de8daf7_render,
19951
- callbar_buttonvue_type_template_id_0de8daf7_staticRenderFns,
20297
+ callbar_buttonvue_type_template_id_57656787_render,
20298
+ callbar_buttonvue_type_template_id_57656787_staticRenderFns,
19952
20299
  false,
19953
20300
  null,
19954
20301
  null,
@@ -20279,8 +20626,8 @@ var callbar_button_with_popover_component = normalizeComponent(
20279
20626
  /* harmony default export */ const callbar_button_with_popover = (callbar_button_with_popover_component.exports);
20280
20627
  ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button_with_popover/index.js
20281
20628
 
20282
- ;// 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/list_items/contact_info/contact_info.vue?vue&type=template&id=466e560c&
20283
- var contact_infovue_type_template_id_466e560c_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-list-item',{attrs:{"id":_vm.id,"role":_vm.role,"element-type":"div","data-qa":"contact-info"},scopedSlots:_vm._u([{key:"left",fn:function(){return [_c('div',{staticClass:"d-ps-relative",attrs:{"data-qa":"contact-info-left"}},[(_vm.avatarSrc)?_c('dt-avatar',{attrs:{"size":"lg"}},[_c('img',{attrs:{"data-qa":"dt-contact-avatar","src":_vm.avatarSrc,"alt":_vm.avatarInitials}})]):(_vm.avatarInitials)?_c('dt-avatar',{attrs:{"kind":"initials","size":"lg","color":_vm.avatarColor}},[_vm._v(" "+_vm._s(_vm.avatarInitials)+" ")]):_vm._e(),(_vm.showUserStatus)?_c('div',{class:[
20629
+ ;// 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/list_items/contact_info/contact_info.vue?vue&type=template&id=c1f377a8&
20630
+ var contact_infovue_type_template_id_c1f377a8_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-list-item',{attrs:{"id":_vm.id,"role":_vm.role,"element-type":"div","data-qa":"contact-info"},scopedSlots:_vm._u([{key:"left",fn:function(){return [_c('div',{staticClass:"d-ps-relative",attrs:{"data-qa":"contact-info-left"}},[(_vm.avatarSrc)?_c('dt-avatar',{attrs:{"size":"lg"}},[_c('img',{attrs:{"data-qa":"dt-contact-avatar","src":_vm.avatarSrc,"alt":_vm.avatarInitials}})]):(_vm.avatarInitials)?_c('dt-avatar',{attrs:{"kind":"initials","size":"lg","color":_vm.avatarColor}},[_vm._v(" "+_vm._s(_vm.avatarInitials)+" ")]):_vm._e(),(_vm.showUserStatus)?_c('div',{class:[
20284
20631
  'd-ba',
20285
20632
  'd-bc-white',
20286
20633
  'd-baw2',
@@ -20291,7 +20638,7 @@ var contact_infovue_type_template_id_466e560c_render = function () {var _vm=this
20291
20638
  'd-w20p',
20292
20639
  'd-h20p',
20293
20640
  _vm.USER_STATUS_COLOR_MODIFIERS[_vm.userStatusColor] ],attrs:{"data-qa":"contact-info-user-status"}},[_vm._v("   ")]):_vm._e()],1)]},proxy:true},{key:"default",fn:function(){return [_c('div',{attrs:{"data-qa":"contact-info-header"}},[_vm._t("header")],2)]},proxy:true},{key:"subtitle",fn:function(){return [_c('div',{attrs:{"data-qa":"contact-info-subtitle"}},[_vm._t("subtitle")],2)]},proxy:true},{key:"bottom",fn:function(){return [_c('div',{attrs:{"data-qa":"contact-info-bottom"}},[_vm._t("bottom")],2)]},proxy:true},{key:"right",fn:function(){return [_c('div',{attrs:{"data-qa":"contact-info-right"}},[_vm._t("right")],2)]},proxy:true}],null,true)})}
20294
- var contact_infovue_type_template_id_466e560c_staticRenderFns = []
20641
+ var contact_infovue_type_template_id_c1f377a8_staticRenderFns = []
20295
20642
 
20296
20643
 
20297
20644
  ;// CONCATENATED MODULE: ./recipes/list_items/contact_info/contact_info_constants.js
@@ -20425,6 +20772,8 @@ const USER_STATUS_COLOR_MODIFIERS = {
20425
20772
 
20426
20773
  /**
20427
20774
  * Optional avatar image url.
20775
+ * if provided, it's also required to provide a value in the `avatarInitials` prop to use
20776
+ * in the alt attribute of the avatar.
20428
20777
  */
20429
20778
  avatarSrc: {
20430
20779
  type: String,
@@ -20483,8 +20832,8 @@ const USER_STATUS_COLOR_MODIFIERS = {
20483
20832
  ;
20484
20833
  var contact_info_component = normalizeComponent(
20485
20834
  contact_info_contact_infovue_type_script_lang_js_,
20486
- contact_infovue_type_template_id_466e560c_render,
20487
- contact_infovue_type_template_id_466e560c_staticRenderFns,
20835
+ contact_infovue_type_template_id_c1f377a8_render,
20836
+ contact_infovue_type_template_id_c1f377a8_staticRenderFns,
20488
20837
  false,
20489
20838
  null,
20490
20839
  null,