@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.
@@ -1331,6 +1331,24 @@ const LABEL_SIZE_MODIFIERS = {
1331
1331
  lg: 'd-label--lg',
1332
1332
  xl: 'd-label--xl'
1333
1333
  };
1334
+ const EVENT_KEYNAMES = {
1335
+ esc: 'Esc',
1336
+ escape: 'Escape',
1337
+ tab: 'Tab',
1338
+ enter: 'Enter',
1339
+ space: 'Space',
1340
+ spacebar: 'Spacebar',
1341
+ up: 'Up',
1342
+ arrowup: 'ArrowUp',
1343
+ left: 'Left',
1344
+ arrowleft: 'ArrowLeft',
1345
+ right: 'Right',
1346
+ arrowright: 'ArrowRight',
1347
+ down: 'Down',
1348
+ arrowdown: 'ArrowDown',
1349
+ home: 'Home',
1350
+ end: 'End'
1351
+ };
1334
1352
  /*
1335
1353
  * Any string message or message object in the messages prop that do not specify
1336
1354
  * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.
@@ -1830,9 +1848,9 @@ var badge_component = normalizeComponent(
1830
1848
  ;// CONCATENATED MODULE: ./components/badge/index.js
1831
1849
 
1832
1850
 
1833
- ;// 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&
1834
- 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)])}
1835
- var bannervue_type_template_id_6a644b26_staticRenderFns = []
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=756779c1&
1852
+ 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)])}
1853
+ var bannervue_type_template_id_756779c1_staticRenderFns = []
1836
1854
 
1837
1855
 
1838
1856
  ;// 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&
@@ -2128,9 +2146,9 @@ var notice_content_component = normalizeComponent(
2128
2146
  )
2129
2147
 
2130
2148
  /* harmony default export */ const notice_content = (notice_content_component.exports);
2131
- ;// 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&
2132
- 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)}
2133
- var notice_actionvue_type_template_id_49bf6244_staticRenderFns = []
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=0591aece&
2150
+ 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)}
2151
+ var notice_actionvue_type_template_id_0591aece_staticRenderFns = []
2134
2152
 
2135
2153
 
2136
2154
  ;// 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&
@@ -2576,6 +2594,125 @@ var button_component = normalizeComponent(
2576
2594
  )
2577
2595
 
2578
2596
  /* harmony default export */ const button_button = (button_component.exports);
2597
+ ;// CONCATENATED MODULE: ./common/mixins/sr_only_close_button.js
2598
+ /**
2599
+ * @displayName Sr-Only close button mixin
2600
+ */
2601
+ /* harmony default export */ const sr_only_close_button = ({
2602
+ props: {
2603
+ /**
2604
+ * If true, a hidden close button is included for screen readers
2605
+ * @values true, false
2606
+ */
2607
+ visuallyHiddenClose: {
2608
+ type: Boolean,
2609
+ default: false
2610
+ },
2611
+
2612
+ /**
2613
+ * Label for the visually hidden close button
2614
+ * Required if visuallyHiddenClose is set to `true`
2615
+ */
2616
+ visuallyHiddenCloseLabel: {
2617
+ type: String,
2618
+ default: null
2619
+ }
2620
+ },
2621
+ watch: {
2622
+ $props: {
2623
+ immediate: true,
2624
+ deep: true,
2625
+
2626
+ handler() {
2627
+ this.validateVisuallyHiddenCloseProps();
2628
+ }
2629
+
2630
+ }
2631
+ },
2632
+ computed: {
2633
+ showVisuallyHiddenClose() {
2634
+ return this.visuallyHiddenClose && this.visuallyHiddenCloseLabel != null;
2635
+ }
2636
+
2637
+ },
2638
+ methods: {
2639
+ validateVisuallyHiddenCloseProps() {
2640
+ if (this.visuallyHiddenClose && !this.visuallyHiddenCloseLabel) {
2641
+ console.error(`If visuallyHiddenClose prop is true, the component includes
2642
+ a visually hidden close button and you must set the visuallyHiddenCloseLabel prop.`);
2643
+ }
2644
+ }
2645
+
2646
+ }
2647
+ });
2648
+ ;// 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&
2649
+ 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)}
2650
+ var sr_only_close_buttonvue_type_template_id_3480ff70_staticRenderFns = []
2651
+
2652
+
2653
+ ;// CONCATENATED MODULE: ./components/button/index.js
2654
+
2655
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./common/sr_only_close_button.vue?vue&type=script&lang=js&
2656
+ //
2657
+ //
2658
+ //
2659
+ //
2660
+ //
2661
+ //
2662
+ //
2663
+ //
2664
+ //
2665
+ //
2666
+ //
2667
+ //
2668
+ //
2669
+
2670
+
2671
+ /* harmony default export */ const sr_only_close_buttonvue_type_script_lang_js_ = ({
2672
+ name: 'SrOnlyCloseButton',
2673
+ components: {
2674
+ IconClose: IconClose,
2675
+ DtButton: button_button
2676
+ },
2677
+ props: {
2678
+ /**
2679
+ * Label for the visually hidden close button
2680
+ * Required if visuallyHiddenClose is set to `true`
2681
+ */
2682
+ visuallyHiddenCloseLabel: {
2683
+ type: String,
2684
+ default: null
2685
+ }
2686
+ },
2687
+ methods: {
2688
+ close() {
2689
+ this.$emit('close');
2690
+ }
2691
+
2692
+ }
2693
+ });
2694
+ ;// CONCATENATED MODULE: ./common/sr_only_close_button.vue?vue&type=script&lang=js&
2695
+ /* harmony default export */ const common_sr_only_close_buttonvue_type_script_lang_js_ = (sr_only_close_buttonvue_type_script_lang_js_);
2696
+ ;// CONCATENATED MODULE: ./common/sr_only_close_button.vue
2697
+
2698
+
2699
+
2700
+
2701
+
2702
+ /* normalize component */
2703
+ ;
2704
+ var sr_only_close_button_component = normalizeComponent(
2705
+ common_sr_only_close_buttonvue_type_script_lang_js_,
2706
+ sr_only_close_buttonvue_type_template_id_3480ff70_render,
2707
+ sr_only_close_buttonvue_type_template_id_3480ff70_staticRenderFns,
2708
+ false,
2709
+ null,
2710
+ null,
2711
+ null
2712
+
2713
+ )
2714
+
2715
+ /* harmony default export */ const common_sr_only_close_button = (sr_only_close_button_component.exports);
2579
2716
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/notice/notice_action.vue?vue&type=script&lang=js&
2580
2717
  //
2581
2718
  //
@@ -2601,14 +2738,24 @@ var button_component = normalizeComponent(
2601
2738
  //
2602
2739
  //
2603
2740
  //
2741
+ //
2742
+ //
2743
+ //
2744
+ //
2745
+ //
2746
+ //
2747
+
2748
+
2604
2749
 
2605
2750
 
2606
2751
  /* harmony default export */ const notice_actionvue_type_script_lang_js_ = ({
2607
2752
  name: 'DtNoticeAction',
2608
2753
  components: {
2609
2754
  IconClose: IconClose,
2610
- DtButton: button_button
2755
+ DtButton: button_button,
2756
+ SrOnlyCloseButton: common_sr_only_close_button
2611
2757
  },
2758
+ mixins: [sr_only_close_button],
2612
2759
  props: {
2613
2760
  /**
2614
2761
  * Props for the notice close button.
@@ -2634,6 +2781,28 @@ var button_component = normalizeComponent(
2634
2781
  * @event close
2635
2782
  */
2636
2783
  'close'],
2784
+ computed: {
2785
+ noticeActionListeners() {
2786
+ return { ...this.$listeners,
2787
+ click: event => {
2788
+ this.close();
2789
+ this.$emit('click', event);
2790
+ }
2791
+ };
2792
+ }
2793
+
2794
+ },
2795
+ watch: {
2796
+ $props: {
2797
+ immediate: true,
2798
+ deep: true,
2799
+
2800
+ handler() {
2801
+ this.validateProps();
2802
+ }
2803
+
2804
+ }
2805
+ },
2637
2806
 
2638
2807
  created() {
2639
2808
  if (!this.hideClose && !this.closeButtonProps.ariaLabel) {
@@ -2656,6 +2825,12 @@ var button_component = normalizeComponent(
2656
2825
  methods: {
2657
2826
  close() {
2658
2827
  this.$emit('close');
2828
+ },
2829
+
2830
+ validateProps() {
2831
+ if (this.hideClose && !this.visuallyHiddenClose) {
2832
+ console.error('If hideClose prop is true, visuallyHiddenClose and visuallyHiddenCloseLabel props ' + 'need to be set so the component always includes a close button');
2833
+ }
2659
2834
  }
2660
2835
 
2661
2836
  }
@@ -2672,8 +2847,8 @@ var button_component = normalizeComponent(
2672
2847
  ;
2673
2848
  var notice_action_component = normalizeComponent(
2674
2849
  notice_notice_actionvue_type_script_lang_js_,
2675
- notice_actionvue_type_template_id_49bf6244_render,
2676
- notice_actionvue_type_template_id_49bf6244_staticRenderFns,
2850
+ notice_actionvue_type_template_id_0591aece_render,
2851
+ notice_actionvue_type_template_id_0591aece_staticRenderFns,
2677
2852
  false,
2678
2853
  null,
2679
2854
  null,
@@ -2848,6 +3023,9 @@ const focusableElementsList = `button,[href],input,select,textarea,details,[tabi
2848
3023
  //
2849
3024
  //
2850
3025
  //
3026
+ //
3027
+ //
3028
+
2851
3029
 
2852
3030
 
2853
3031
 
@@ -2867,7 +3045,7 @@ const focusableElementsList = `button,[href],input,select,textarea,details,[tabi
2867
3045
  DtNoticeContent: notice_content,
2868
3046
  DtNoticeAction: notice_action
2869
3047
  },
2870
- mixins: [modal],
3048
+ mixins: [modal, sr_only_close_button],
2871
3049
  props: {
2872
3050
  /**
2873
3051
  * Sets an ID on the title element of the component. Useful for aria-describedby
@@ -3050,8 +3228,8 @@ const focusableElementsList = `button,[href],input,select,textarea,details,[tabi
3050
3228
  ;
3051
3229
  var banner_component = normalizeComponent(
3052
3230
  banner_bannervue_type_script_lang_js_,
3053
- bannervue_type_template_id_6a644b26_render,
3054
- bannervue_type_template_id_6a644b26_staticRenderFns,
3231
+ bannervue_type_template_id_756779c1_render,
3232
+ bannervue_type_template_id_756779c1_staticRenderFns,
3055
3233
  false,
3056
3234
  null,
3057
3235
  null,
@@ -3062,13 +3240,13 @@ var banner_component = normalizeComponent(
3062
3240
  /* harmony default export */ const banner = (banner_component.exports);
3063
3241
  ;// CONCATENATED MODULE: ./components/banner/index.js
3064
3242
 
3065
- ;// 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&
3066
- var breadcrumbsvue_type_template_id_44efd414_render = function () {
3243
+ ;// 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&
3244
+ var breadcrumbsvue_type_template_id_5e8b7914_render = function () {
3067
3245
  var _obj;
3068
3246
  var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{class:[
3069
3247
  'd-breadcrumbs',
3070
- ( _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)])}
3071
- var breadcrumbsvue_type_template_id_44efd414_staticRenderFns = []
3248
+ ( _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)])}
3249
+ var breadcrumbsvue_type_template_id_5e8b7914_staticRenderFns = []
3072
3250
 
3073
3251
 
3074
3252
  ;// CONCATENATED MODULE: ./components/breadcrumbs/breadcrumbs_constants.js
@@ -3306,6 +3484,7 @@ var breadcrumb_item_component = normalizeComponent(
3306
3484
  //
3307
3485
  //
3308
3486
  //
3487
+ //
3309
3488
 
3310
3489
 
3311
3490
 
@@ -3383,8 +3562,8 @@ var breadcrumb_item_component = normalizeComponent(
3383
3562
  ;
3384
3563
  var breadcrumbs_component = normalizeComponent(
3385
3564
  breadcrumbs_breadcrumbsvue_type_script_lang_js_,
3386
- breadcrumbsvue_type_template_id_44efd414_render,
3387
- breadcrumbsvue_type_template_id_44efd414_staticRenderFns,
3565
+ breadcrumbsvue_type_template_id_5e8b7914_render,
3566
+ breadcrumbsvue_type_template_id_5e8b7914_staticRenderFns,
3388
3567
  false,
3389
3568
  null,
3390
3569
  null,
@@ -3397,8 +3576,6 @@ var breadcrumbs_component = normalizeComponent(
3397
3576
 
3398
3577
 
3399
3578
 
3400
- ;// CONCATENATED MODULE: ./components/button/index.js
3401
-
3402
3579
  ;// 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&
3403
3580
  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:[
3404
3581
  'd-btn-group',
@@ -3842,7 +4019,7 @@ const ERROR_INVALID_LIST_ELEMENT = 'listElementKey is required or the referenced
3842
4019
  return null;
3843
4020
  }
3844
4021
 
3845
- return Array.from(listElement.querySelectorAll(`[role="${listItemRole}"]`));
4022
+ return Array.from(listElement.querySelectorAll(`[role="${listItemRole}"], #sr-only-close-button`));
3846
4023
  },
3847
4024
 
3848
4025
  onUpKey() {
@@ -3945,7 +4122,7 @@ const ERROR_INVALID_LIST_ELEMENT = 'listElementKey is required or the referenced
3945
4122
  return;
3946
4123
  }
3947
4124
 
3948
- const listItems = Array.from(listElement.querySelectorAll(`[role="${listItemRole}"]`));
4125
+ const listItems = Array.from(listElement.querySelectorAll(`[role="${listItemRole}"], #sr-only-close-button`));
3949
4126
  return listItems.indexOf(listElement.querySelector(`#${id}`));
3950
4127
  },
3951
4128
 
@@ -3958,7 +4135,7 @@ const ERROR_INVALID_LIST_ELEMENT = 'listElementKey is required or the referenced
3958
4135
  return;
3959
4136
  }
3960
4137
 
3961
- return (_listElement$querySel = listElement.querySelectorAll(`[role="${listItemRole}"]`)[index]) === null || _listElement$querySel === void 0 ? void 0 : _listElement$querySel.id;
4138
+ return (_listElement$querySel = listElement.querySelectorAll(`[role="${listItemRole}"], #sr-only-close-button`)[index]) === null || _listElement$querySel === void 0 ? void 0 : _listElement$querySel.id;
3962
4139
  },
3963
4140
 
3964
4141
  scrollActiveItemIntoViewIfNeeded() {
@@ -5311,9 +5488,9 @@ var combobox_loading_list_component = normalizeComponent(
5311
5488
  )
5312
5489
 
5313
5490
  /* harmony default export */ const combobox_loading_list = (combobox_loading_list_component.exports);
5314
- ;// 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&
5315
- 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)}
5316
- var combobox_empty_listvue_type_template_id_d0c59b2c_staticRenderFns = []
5491
+ ;// 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&
5492
+ 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)}
5493
+ var combobox_empty_listvue_type_template_id_ee5abe2c_staticRenderFns = []
5317
5494
 
5318
5495
 
5319
5496
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/combobox/combobox_empty-list.vue?vue&type=script&lang=js&
@@ -5360,8 +5537,8 @@ var combobox_empty_listvue_type_template_id_d0c59b2c_staticRenderFns = []
5360
5537
  ;
5361
5538
  var combobox_empty_list_component = normalizeComponent(
5362
5539
  combobox_combobox_empty_listvue_type_script_lang_js_,
5363
- combobox_empty_listvue_type_template_id_d0c59b2c_render,
5364
- combobox_empty_listvue_type_template_id_d0c59b2c_staticRenderFns,
5540
+ combobox_empty_listvue_type_template_id_ee5abe2c_render,
5541
+ combobox_empty_listvue_type_template_id_ee5abe2c_staticRenderFns,
5365
5542
  false,
5366
5543
  null,
5367
5544
  null,
@@ -6384,28 +6561,28 @@ var collapsible_component = normalizeComponent(
6384
6561
  /* harmony default export */ const collapsible = (collapsible_component.exports);
6385
6562
  ;// CONCATENATED MODULE: ./components/collapsible/index.js
6386
6563
 
6387
- ;// 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&
6388
- 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){
6564
+ ;// 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&
6565
+ 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){
6389
6566
  var attrs = ref.attrs;
6390
6567
  return [_vm._t("anchor",null,null,attrs)]}},{key:"content",fn:function(ref){
6391
6568
  var close = ref.close;
6392
- 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))}
6393
- var dropdownvue_type_template_id_0ddf9e89_staticRenderFns = []
6569
+ 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))}
6570
+ var dropdownvue_type_template_id_1b8b46fc_staticRenderFns = []
6394
6571
 
6395
6572
 
6396
- ;// 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&
6397
- 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":{
6573
+ ;// 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&
6574
+ 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":{
6398
6575
  'aria-expanded': _vm.isOpen.toString(),
6399
6576
  'aria-controls': _vm.id,
6400
6577
  'aria-haspopup': _vm.role,
6401
6578
  }})],2),_c('dt-lazy-show',_vm._g({ref:"content",class:['d-popover__dialog', { 'd-popover__dialog--modal': _vm.modal }, _vm.dialogClass],style:({
6402
6579
  'max-height': _vm.maxHeight,
6403
6580
  'max-width': _vm.maxWidth,
6404
- }),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:[
6581
+ }),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:[
6405
6582
  'd-popover__content',
6406
6583
  _vm.POPOVER_PADDING_CLASSES[_vm.padding],
6407
- _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)}
6408
- var popovervue_type_template_id_c06c43b6_staticRenderFns = []
6584
+ _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)}
6585
+ var popovervue_type_template_id_50a89e08_staticRenderFns = []
6409
6586
 
6410
6587
 
6411
6588
  ;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js
@@ -11352,13 +11529,6 @@ var popover_header_footer_component = normalizeComponent(
11352
11529
  //
11353
11530
  //
11354
11531
  //
11355
- //
11356
- //
11357
- //
11358
- //
11359
- //
11360
- //
11361
- //
11362
11532
 
11363
11533
  /* eslint-disable max-lines */
11364
11534
 
@@ -11382,17 +11552,16 @@ var popover_header_footer_component = normalizeComponent(
11382
11552
  * CHILD COMPONENTS *
11383
11553
  ********************/
11384
11554
  components: {
11555
+ SrOnlyCloseButton: common_sr_only_close_button,
11385
11556
  DtLazyShow: lazy_show,
11386
11557
  PopoverHeaderFooter: popover_header_footer,
11387
- Portal: Portal,
11388
- DtButton: button_button,
11389
- IconClose: IconClose
11558
+ Portal: Portal
11390
11559
  },
11391
- mixins: [modal],
11560
+ mixins: [modal, sr_only_close_button],
11392
11561
  props: {
11393
11562
  /**
11394
11563
  * Controls whether the popover is shown. Leaving this null will have the popover trigger on click by default.
11395
- * If you set this value, the default trigger behavior will be disabled and you can control it as you need.
11564
+ * If you set this value, the default trigger behavior will be disabled, and you can control it as you need.
11396
11565
  * Supports .sync modifier
11397
11566
  * @values null, true, false
11398
11567
  */
@@ -11675,7 +11844,7 @@ var popover_header_footer_component = normalizeComponent(
11675
11844
  */
11676
11845
  initialFocusElement: {
11677
11846
  type: [String, HTMLElement],
11678
- default: 'none',
11847
+ default: 'first',
11679
11848
  validator: initialFocusElement => {
11680
11849
  return POPOVER_INITIAL_FOCUS_STRINGS.includes(initialFocusElement) || initialFocusElement instanceof HTMLElement || initialFocusElement.startsWith('#');
11681
11850
  }
@@ -11689,24 +11858,6 @@ var popover_header_footer_component = normalizeComponent(
11689
11858
  openWithArrowKeys: {
11690
11859
  type: Boolean,
11691
11860
  default: false
11692
- },
11693
-
11694
- /**
11695
- * If true, a visually hidden close button its included in the popover.
11696
- * @values true, false
11697
- */
11698
- visuallyHiddenClose: {
11699
- type: Boolean,
11700
- default: false
11701
- },
11702
-
11703
- /**
11704
- * Label for the visually hidden close button
11705
- * Required if visuallyHiddenClose is set to `true`
11706
- */
11707
- visuallyHiddenCloseLabel: {
11708
- type: String,
11709
- default: ''
11710
11861
  }
11711
11862
  },
11712
11863
  emits: [
@@ -11736,6 +11887,21 @@ var popover_header_footer_component = normalizeComponent(
11736
11887
  },
11737
11888
 
11738
11889
  computed: {
11890
+ popoverListeners() {
11891
+ return { ...this.$listeners,
11892
+ keydown: event => {
11893
+ this.onKeydown(event);
11894
+ this.$emit('keydown', event);
11895
+ },
11896
+ 'after-leave': event => {
11897
+ this.onLeaveTransitionComplete();
11898
+ },
11899
+ 'after-enter': event => {
11900
+ this.onEnterTransitionComplete();
11901
+ }
11902
+ };
11903
+ },
11904
+
11739
11905
  labelledBy() {
11740
11906
  // aria-labelledby should be set only if aria-labelledby is passed as a prop, or if
11741
11907
  // there is no aria-label and the labelledby should point to the anchor.
@@ -11756,7 +11922,7 @@ var popover_header_footer_component = normalizeComponent(
11756
11922
 
11757
11923
  modal(modal) {
11758
11924
  this.tip.setProps({
11759
- zIndex: modal ? 650 : 300
11925
+ zIndex: this.modal ? 650 : this.calculateAnchorZindex()
11760
11926
  });
11761
11927
  },
11762
11928
 
@@ -11803,6 +11969,9 @@ var popover_header_footer_component = normalizeComponent(
11803
11969
 
11804
11970
  isOpen(isOpen, isPrev) {
11805
11971
  if (isOpen) {
11972
+ this.tip.setProps({
11973
+ zIndex: this.modal ? 650 : this.calculateAnchorZindex()
11974
+ });
11806
11975
  this.tip.show();
11807
11976
  this.addClosePopoverEventListener();
11808
11977
  } else if (!isOpen && isPrev !== isOpen) {
@@ -11871,10 +12040,6 @@ var popover_header_footer_component = normalizeComponent(
11871
12040
  if (this.modal && this.initialFocusElement === 'none') {
11872
12041
  console.error('If the popover is modal you must set the ' + 'initialFocusElement prop. Possible values: "dialog", "first", HTMLElement');
11873
12042
  }
11874
-
11875
- if (this.visuallyHiddenClose && !this.visuallyHiddenCloseLabel) {
11876
- console.error('If visuallyHiddenClose prop is true (default), the popover includes a visually hidden ' + 'close button and you must set the visuallyHiddenCloseLabel prop.');
11877
- }
11878
12043
  },
11879
12044
 
11880
12045
  calculateAnchorZindex() {
@@ -12029,9 +12194,9 @@ var popover_header_footer_component = normalizeComponent(
12029
12194
  },
12030
12195
 
12031
12196
  onClickOutside() {
12032
- if (!this.hideOnClick) return; // If a modal popover is opened inside of this one, do not hide on click out
12197
+ if (!this.hideOnClick) return; // If a popover is opened inside of this one, do not hide on click out
12033
12198
 
12034
- const innerModals = this.popoverContentEl.querySelector('.d-popover__anchor--modal-opened');
12199
+ const innerModals = this.popoverContentEl.querySelector('.d-popover__anchor--opened');
12035
12200
 
12036
12201
  if (!innerModals) {
12037
12202
  this.closePopover();
@@ -12089,8 +12254,8 @@ var popovervue_type_style_index_0_lang_less_ = __webpack_require__(230);
12089
12254
 
12090
12255
  var popover_component = normalizeComponent(
12091
12256
  popover_popovervue_type_script_lang_js_,
12092
- popovervue_type_template_id_c06c43b6_render,
12093
- popovervue_type_template_id_c06c43b6_staticRenderFns,
12257
+ popovervue_type_template_id_50a89e08_render,
12258
+ popovervue_type_template_id_50a89e08_staticRenderFns,
12094
12259
  false,
12095
12260
  null,
12096
12261
  null,
@@ -12160,8 +12325,9 @@ const DROPDOWN_PADDING_CLASSES = {
12160
12325
  //
12161
12326
  //
12162
12327
  //
12163
- //
12164
- //
12328
+
12329
+
12330
+
12165
12331
 
12166
12332
 
12167
12333
 
@@ -12170,7 +12336,8 @@ const DROPDOWN_PADDING_CLASSES = {
12170
12336
  /* harmony default export */ const dropdownvue_type_script_lang_js_ = ({
12171
12337
  name: 'DtDropdown',
12172
12338
  components: {
12173
- DtPopover: popover
12339
+ DtPopover: popover,
12340
+ SrOnlyCloseButton: common_sr_only_close_button
12174
12341
  },
12175
12342
  mixins: [keyboard_list_navigation({
12176
12343
  indexKey: 'highlightIndex',
@@ -12182,7 +12349,7 @@ const DROPDOWN_PADDING_CLASSES = {
12182
12349
  endOfListMethod: 'endOfListMethod',
12183
12350
  activeItemKey: 'activeItemEl',
12184
12351
  focusOnKeyboardNavigation: true
12185
- })],
12352
+ }), sr_only_close_button],
12186
12353
  props: {
12187
12354
  /**
12188
12355
  * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.
@@ -12343,12 +12510,67 @@ const DROPDOWN_PADDING_CLASSES = {
12343
12510
  return {
12344
12511
  LIST_ITEM_NAVIGATION_TYPES: LIST_ITEM_NAVIGATION_TYPES,
12345
12512
  DROPDOWN_PADDING_CLASSES: DROPDOWN_PADDING_CLASSES,
12513
+ EVENT_KEYNAMES: EVENT_KEYNAMES,
12346
12514
  openedWithKeyboard: false,
12347
12515
  isOpen: null
12348
12516
  };
12349
12517
  },
12350
12518
 
12351
12519
  computed: {
12520
+ dropdownListeners() {
12521
+ return { ...this.$listeners,
12522
+ opened: isPopoverOpen => {
12523
+ this.updateInitialHighlightIndex(isPopoverOpen);
12524
+ },
12525
+ keydown: event => {
12526
+ const eventCode = event.code;
12527
+
12528
+ switch (eventCode) {
12529
+ case EVENT_KEYNAMES.up:
12530
+ case EVENT_KEYNAMES.arrowup:
12531
+ this.onKeyValidation(event, 'onUpKeyPress');
12532
+ event.stopPropagation();
12533
+ event.preventDefault();
12534
+ break;
12535
+
12536
+ case EVENT_KEYNAMES.down:
12537
+ case EVENT_KEYNAMES.arrowdown:
12538
+ this.onKeyValidation(event, 'onDownKeyPress');
12539
+ event.stopPropagation();
12540
+ event.preventDefault();
12541
+ break;
12542
+
12543
+ case EVENT_KEYNAMES.space:
12544
+ case EVENT_KEYNAMES.spacebar:
12545
+ this.onSpaceKey();
12546
+ break;
12547
+
12548
+ case EVENT_KEYNAMES.enter:
12549
+ this.onEnterKey();
12550
+ break;
12551
+
12552
+ case EVENT_KEYNAMES.home:
12553
+ this.onKeyValidation(event, 'onHomeKeyPress');
12554
+ event.stopPropagation();
12555
+ event.preventDefault();
12556
+ break;
12557
+
12558
+ case EVENT_KEYNAMES.end:
12559
+ this.onKeyValidation(event, 'onEndKeyPress');
12560
+ event.stopPropagation();
12561
+ event.preventDefault();
12562
+ break;
12563
+
12564
+ default:
12565
+ this.onKeyValidation(event, 'onKeyPress');
12566
+ break;
12567
+ }
12568
+
12569
+ this.$emit('keydown', event);
12570
+ }
12571
+ };
12572
+ },
12573
+
12352
12574
  beginningOfListMethod() {
12353
12575
  return this.onBeginningOfList || this.jumpToEnd;
12354
12576
  },
@@ -12391,6 +12613,10 @@ const DROPDOWN_PADDING_CLASSES = {
12391
12613
  },
12392
12614
 
12393
12615
  afterHighlight() {
12616
+ if (this.visuallyHiddenClose && this.highlightIndex === this._itemsLength() - 1) {
12617
+ return;
12618
+ }
12619
+
12394
12620
  this.$emit('highlight', this.highlightIndex);
12395
12621
  },
12396
12622
 
@@ -12398,7 +12624,7 @@ const DROPDOWN_PADDING_CLASSES = {
12398
12624
  this.isOpen = isPopoverOpen;
12399
12625
 
12400
12626
  if (isPopoverOpen) {
12401
- if (this.openedWithKeyboard && this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS) {
12627
+ if (this.openedWithKeyboard && this.isArrowKeyNav) {
12402
12628
  this.setHighlightIndex(0);
12403
12629
  }
12404
12630
 
@@ -12497,8 +12723,8 @@ var dropdownvue_type_style_index_0_lang_less_ = __webpack_require__(782);
12497
12723
 
12498
12724
  var dropdown_component = normalizeComponent(
12499
12725
  dropdown_dropdownvue_type_script_lang_js_,
12500
- dropdownvue_type_template_id_0ddf9e89_render,
12501
- dropdownvue_type_template_id_0ddf9e89_staticRenderFns,
12726
+ dropdownvue_type_template_id_1b8b46fc_render,
12727
+ dropdownvue_type_template_id_1b8b46fc_staticRenderFns,
12502
12728
  false,
12503
12729
  null,
12504
12730
  null,
@@ -14098,18 +14324,18 @@ var input_group_component = normalizeComponent(
14098
14324
  /* harmony default export */ const input_group_input_group = (input_group_component.exports);
14099
14325
  ;// CONCATENATED MODULE: ./components/input_group/index.js
14100
14326
 
14101
- ;// 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&
14102
- 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:[
14327
+ ;// 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&
14328
+ 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:[
14103
14329
  'd-modal',
14104
14330
  _vm.MODAL_KIND_MODIFIERS[_vm.kind],
14105
14331
  _vm.MODAL_SIZE_MODIFIERS[_vm.size],
14106
- _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:[
14332
+ _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:[
14107
14333
  'd-modal__banner',
14108
14334
  _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:[
14109
14335
  'd-modal__dialog',
14110
14336
  { 'd-modal__dialog--scrollable': _vm.fixedHeaderFooter },
14111
- _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)}
14112
- var modalvue_type_template_id_d71a3468_staticRenderFns = []
14337
+ _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)}
14338
+ var modalvue_type_template_id_170e46bc_staticRenderFns = []
14113
14339
 
14114
14340
 
14115
14341
  ;// CONCATENATED MODULE: ./components/modal/modal_constants.js
@@ -14229,6 +14455,11 @@ const MODAL_SIZE_MODIFIERS = {
14229
14455
  //
14230
14456
  //
14231
14457
  //
14458
+ //
14459
+ //
14460
+
14461
+
14462
+
14232
14463
 
14233
14464
 
14234
14465
 
@@ -14246,9 +14477,10 @@ const MODAL_SIZE_MODIFIERS = {
14246
14477
  components: {
14247
14478
  DtLazyShow: lazy_show,
14248
14479
  DtButton: button_button,
14249
- IconClose: IconClose
14480
+ IconClose: IconClose,
14481
+ SrOnlyCloseButton: common_sr_only_close_button
14250
14482
  },
14251
- mixins: [modal],
14483
+ mixins: [modal, sr_only_close_button],
14252
14484
  props: {
14253
14485
  /**
14254
14486
  * A set of props to be passed into the modal's close button.
@@ -14397,11 +14629,38 @@ const MODAL_SIZE_MODIFIERS = {
14397
14629
  data() {
14398
14630
  return {
14399
14631
  MODAL_KIND_MODIFIERS: MODAL_KIND_MODIFIERS,
14400
- MODAL_SIZE_MODIFIERS: MODAL_SIZE_MODIFIERS
14632
+ MODAL_SIZE_MODIFIERS: MODAL_SIZE_MODIFIERS,
14633
+ EVENT_KEYNAMES: EVENT_KEYNAMES
14401
14634
  };
14402
14635
  },
14403
14636
 
14404
14637
  computed: {
14638
+ modalListeners() {
14639
+ return { ...this.$listeners,
14640
+ click: event => {
14641
+ event.target === event.currentTarget && this.close();
14642
+ this.$emit('click', event);
14643
+ },
14644
+ keydown: event => {
14645
+ switch (event.code) {
14646
+ case EVENT_KEYNAMES.esc:
14647
+ case EVENT_KEYNAMES.escape:
14648
+ this.close();
14649
+ break;
14650
+
14651
+ case EVENT_KEYNAMES.tab:
14652
+ this.trapFocus(event);
14653
+ break;
14654
+ }
14655
+
14656
+ this.$emit('keydown', event);
14657
+ },
14658
+ 'after-enter': event => {
14659
+ event.target === event.currentTarget && this.setFocusAfterTransition();
14660
+ }
14661
+ };
14662
+ },
14663
+
14405
14664
  open() {
14406
14665
  return `${!this.show}`;
14407
14666
  },
@@ -14428,6 +14687,15 @@ const MODAL_SIZE_MODIFIERS = {
14428
14687
  }
14429
14688
  }
14430
14689
 
14690
+ },
14691
+ $props: {
14692
+ immediate: true,
14693
+ deep: true,
14694
+
14695
+ handler() {
14696
+ this.validateProps();
14697
+ }
14698
+
14431
14699
  }
14432
14700
  },
14433
14701
  methods: {
@@ -14443,6 +14711,13 @@ const MODAL_SIZE_MODIFIERS = {
14443
14711
  if (this.show) {
14444
14712
  this.focusTrappedTabPress(e);
14445
14713
  }
14714
+ },
14715
+
14716
+ validateProps() {
14717
+ if (this.hideClose && !this.visuallyHiddenClose) {
14718
+ console.error(`If hideClose prop is true, visuallyHiddenClose and visuallyHiddenCloseLabel props
14719
+ need to be set so the component always includes a close button`);
14720
+ }
14446
14721
  }
14447
14722
 
14448
14723
  }
@@ -14459,8 +14734,8 @@ const MODAL_SIZE_MODIFIERS = {
14459
14734
  ;
14460
14735
  var modal_component = normalizeComponent(
14461
14736
  modal_modalvue_type_script_lang_js_,
14462
- modalvue_type_template_id_d71a3468_render,
14463
- modalvue_type_template_id_d71a3468_staticRenderFns,
14737
+ modalvue_type_template_id_170e46bc_render,
14738
+ modalvue_type_template_id_170e46bc_staticRenderFns,
14464
14739
  false,
14465
14740
  null,
14466
14741
  null,
@@ -14655,9 +14930,9 @@ var list_section_component = normalizeComponent(
14655
14930
  /* harmony default export */ const list_section = (list_section_component.exports);
14656
14931
  ;// CONCATENATED MODULE: ./components/list_section/index.js
14657
14932
 
14658
- ;// 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&
14659
- 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)}
14660
- var noticevue_type_template_id_30c65ac1_staticRenderFns = []
14933
+ ;// 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&
14934
+ 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)}
14935
+ var noticevue_type_template_id_e0e44b44_staticRenderFns = []
14661
14936
 
14662
14937
 
14663
14938
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/notice/notice.vue?vue&type=script&lang=js&
@@ -14700,6 +14975,8 @@ var noticevue_type_template_id_30c65ac1_staticRenderFns = []
14700
14975
  //
14701
14976
  //
14702
14977
  //
14978
+ //
14979
+
14703
14980
 
14704
14981
 
14705
14982
 
@@ -14716,6 +14993,7 @@ var noticevue_type_template_id_30c65ac1_staticRenderFns = []
14716
14993
  DtNoticeContent: notice_content,
14717
14994
  DtNoticeAction: notice_action
14718
14995
  },
14996
+ mixins: [sr_only_close_button],
14719
14997
  props: {
14720
14998
  /**
14721
14999
  * Sets an ID on the title element of the component. Useful for aria-describedby
@@ -14835,8 +15113,8 @@ var noticevue_type_template_id_30c65ac1_staticRenderFns = []
14835
15113
  ;
14836
15114
  var notice_component = normalizeComponent(
14837
15115
  notice_noticevue_type_script_lang_js_,
14838
- noticevue_type_template_id_30c65ac1_render,
14839
- noticevue_type_template_id_30c65ac1_staticRenderFns,
15116
+ noticevue_type_template_id_e0e44b44_render,
15117
+ noticevue_type_template_id_e0e44b44_staticRenderFns,
14840
15118
  false,
14841
15119
  null,
14842
15120
  null,
@@ -15776,14 +16054,14 @@ var tab_group_component = normalizeComponent(
15776
16054
  )
15777
16055
 
15778
16056
  /* harmony default export */ const tab_group = (tab_group_component.exports);
15779
- ;// 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&
15780
- var tabvue_type_template_id_91977b48_render = function () {
16057
+ ;// 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&
16058
+ var tabvue_type_template_id_2eb1f514_render = function () {
15781
16059
  var _obj;
15782
- var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-button',_vm._b({class:[
16060
+ var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-button',_vm._g(_vm._b({class:[
15783
16061
  'd-tab',
15784
16062
  ( _obj = {}, _obj[_vm.TAB_IMPORTANCE_MODIFIERS.selected] = _vm.isSelected, _obj ),
15785
- _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)}
15786
- var tabvue_type_template_id_91977b48_staticRenderFns = []
16063
+ _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)}
16064
+ var tabvue_type_template_id_2eb1f514_staticRenderFns = []
15787
16065
 
15788
16066
 
15789
16067
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/tabs/tab.vue?vue&type=script&lang=js&
@@ -15812,7 +16090,6 @@ var tabvue_type_template_id_91977b48_staticRenderFns = []
15812
16090
  //
15813
16091
  //
15814
16092
  //
15815
- //
15816
16093
 
15817
16094
 
15818
16095
  /**
@@ -15888,6 +16165,19 @@ var tabvue_type_template_id_91977b48_staticRenderFns = []
15888
16165
  computed: {
15889
16166
  isSelected() {
15890
16167
  return this.groupContext.selected === this.panelId;
16168
+ },
16169
+
16170
+ tabListeners() {
16171
+ return { ...this.$listeners,
16172
+ click: event => {
16173
+ this.selectPanel();
16174
+ this.$emit('click', event);
16175
+ },
16176
+ focus: event => {
16177
+ this.setFocus(this.id);
16178
+ this.$emit('focus', event);
16179
+ }
16180
+ };
15891
16181
  }
15892
16182
 
15893
16183
  },
@@ -15925,8 +16215,8 @@ var tabvue_type_template_id_91977b48_staticRenderFns = []
15925
16215
  ;
15926
16216
  var tab_component = normalizeComponent(
15927
16217
  tabs_tabvue_type_script_lang_js_,
15928
- tabvue_type_template_id_91977b48_render,
15929
- tabvue_type_template_id_91977b48_staticRenderFns,
16218
+ tabvue_type_template_id_2eb1f514_render,
16219
+ tabvue_type_template_id_2eb1f514_staticRenderFns,
15930
16220
  false,
15931
16221
  null,
15932
16222
  null,
@@ -17054,12 +17344,12 @@ var select_menu_component = normalizeComponent(
17054
17344
  ;// CONCATENATED MODULE: ./components/select_menu/index.js
17055
17345
 
17056
17346
 
17057
- ;// 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&
17058
- 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:[
17347
+ ;// 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&
17348
+ 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:[
17059
17349
  'd-toast',
17060
17350
  _vm.kindClass,
17061
- { '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()}
17062
- var toastvue_type_template_id_48807c9a_staticRenderFns = []
17351
+ { '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()}
17352
+ var toastvue_type_template_id_b85afb74_staticRenderFns = []
17063
17353
 
17064
17354
 
17065
17355
  ;// CONCATENATED MODULE: ./components/toast/toast_constants.js
@@ -17118,6 +17408,9 @@ const TOAST_MIN_DURATION = 6000;
17118
17408
  //
17119
17409
  //
17120
17410
  //
17411
+ //
17412
+ //
17413
+
17121
17414
 
17122
17415
 
17123
17416
 
@@ -17137,6 +17430,7 @@ const TOAST_MIN_DURATION = 6000;
17137
17430
  DtNoticeContent: notice_content,
17138
17431
  DtNoticeAction: notice_action
17139
17432
  },
17433
+ mixins: [sr_only_close_button],
17140
17434
  props: {
17141
17435
  /**
17142
17436
  * Sets an ID on the title element of the component. Useful for aria-describedby
@@ -17349,8 +17643,8 @@ const TOAST_MIN_DURATION = 6000;
17349
17643
  ;
17350
17644
  var toast_component = normalizeComponent(
17351
17645
  toast_toastvue_type_script_lang_js_,
17352
- toastvue_type_template_id_48807c9a_render,
17353
- toastvue_type_template_id_48807c9a_staticRenderFns,
17646
+ toastvue_type_template_id_b85afb74_render,
17647
+ toastvue_type_template_id_b85afb74_staticRenderFns,
17354
17648
  false,
17355
17649
  null,
17356
17650
  null,
@@ -17362,14 +17656,20 @@ var toast_component = normalizeComponent(
17362
17656
  ;// CONCATENATED MODULE: ./components/toast/index.js
17363
17657
 
17364
17658
 
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/toggle/toggle.vue?vue&type=template&id=8e140268&
17366
- 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', {
17367
- 'd-toggle--checked': _vm.internalChecked,
17368
- 'd-toggle--disabled': _vm.disabled,
17369
- }],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"})])])}
17370
- var togglevue_type_template_id_8e140268_staticRenderFns = []
17659
+ ;// 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&
17660
+ 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()])])}
17661
+ var togglevue_type_template_id_5a3c3595_staticRenderFns = []
17371
17662
 
17372
17663
 
17664
+ ;// CONCATENATED MODULE: ./components/toggle/toggle_constants.js
17665
+ const TOGGLE_SIZE_MODIFIERS = {
17666
+ sm: 'd-toggle--small',
17667
+ md: ''
17668
+ };
17669
+ const TOGGLE_CHECKED_VALUES = [false, true, 'mixed'];
17670
+ /* harmony default export */ const toggle_constants = ({
17671
+ TOGGLE_SIZE_MODIFIERS
17672
+ });
17373
17673
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/toggle/toggle.vue?vue&type=script&lang=js&
17374
17674
  //
17375
17675
  //
@@ -17404,6 +17704,7 @@ var togglevue_type_template_id_8e140268_staticRenderFns = []
17404
17704
  //
17405
17705
 
17406
17706
 
17707
+
17407
17708
  /**
17408
17709
  * A toggle (or "switch") is a button control element that allows the user to make a binary (on/off) selection.
17409
17710
  * @see https://dialpad.design/components/toggle.html
@@ -17441,11 +17742,31 @@ var togglevue_type_template_id_8e140268_staticRenderFns = []
17441
17742
  /**
17442
17743
  * Value of the toggle
17443
17744
  * @model checked
17444
- * @values true, false
17745
+ * @values true, false, 'mixed'
17445
17746
  */
17446
17747
  checked: {
17748
+ type: [Boolean, String],
17749
+ default: false,
17750
+ validator: v => TOGGLE_CHECKED_VALUES.includes(v)
17751
+ },
17752
+
17753
+ /**
17754
+ * The size of the toggle.
17755
+ * @values sm, md
17756
+ */
17757
+ size: {
17758
+ type: String,
17759
+ default: 'md',
17760
+ validator: s => Object.keys(TOGGLE_SIZE_MODIFIERS).includes(s)
17761
+ },
17762
+
17763
+ /**
17764
+ * Shows the icon
17765
+ * @values true, false
17766
+ */
17767
+ showIcon: {
17447
17768
  type: Boolean,
17448
- default: false
17769
+ default: true
17449
17770
  },
17450
17771
 
17451
17772
  /**
@@ -17485,6 +17806,22 @@ var togglevue_type_template_id_8e140268_staticRenderFns = []
17485
17806
  return { ...this.$listeners,
17486
17807
  click: _ => this.toggleCheckedValue()
17487
17808
  };
17809
+ },
17810
+
17811
+ isIndeterminate() {
17812
+ return this.internalChecked === 'mixed';
17813
+ },
17814
+
17815
+ toggleRole() {
17816
+ return this.isIndeterminate ? 'checkbox' : 'switch';
17817
+ },
17818
+
17819
+ toggleClasses() {
17820
+ return ['d-toggle', TOGGLE_SIZE_MODIFIERS[this.size], {
17821
+ 'd-toggle--checked': this.internalChecked === true,
17822
+ 'd-toggle--disabled': this.disabled,
17823
+ 'd-toggle--indeterminate': this.isIndeterminate
17824
+ }];
17488
17825
  }
17489
17826
 
17490
17827
  },
@@ -17533,8 +17870,8 @@ var togglevue_type_template_id_8e140268_staticRenderFns = []
17533
17870
  ;
17534
17871
  var toggle_component = normalizeComponent(
17535
17872
  toggle_togglevue_type_script_lang_js_,
17536
- togglevue_type_template_id_8e140268_render,
17537
- togglevue_type_template_id_8e140268_staticRenderFns,
17873
+ togglevue_type_template_id_5a3c3595_render,
17874
+ togglevue_type_template_id_5a3c3595_staticRenderFns,
17538
17875
  false,
17539
17876
  null,
17540
17877
  null,
@@ -17545,15 +17882,15 @@ var toggle_component = normalizeComponent(
17545
17882
  /* harmony default export */ const toggle = (toggle_component.exports);
17546
17883
  ;// CONCATENATED MODULE: ./components/toggle/index.js
17547
17884
 
17548
- ;// 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&
17549
- var tooltipvue_type_template_id_2cddd20a_render = function () {
17885
+ ;// 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&
17886
+ var tooltipvue_type_template_id_7bbc33e0_render = function () {
17550
17887
  var _obj;
17551
- 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:[
17888
+ 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:[
17552
17889
  'd-tooltip',
17553
17890
  ("d-tooltip__arrow-tippy--" + _vm.currentPlacement),
17554
17891
  ( _obj = {}, _obj[ _vm.TOOLTIP_KIND_MODIFIERS.inverted ] = _vm.inverted, _obj ),
17555
- _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)}
17556
- var tooltipvue_type_template_id_2cddd20a_staticRenderFns = []
17892
+ _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)}
17893
+ var tooltipvue_type_template_id_7bbc33e0_staticRenderFns = []
17557
17894
 
17558
17895
 
17559
17896
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip_constants.js
@@ -17616,7 +17953,6 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
17616
17953
  //
17617
17954
  //
17618
17955
  //
17619
- //
17620
17956
 
17621
17957
 
17622
17958
 
@@ -17781,6 +18117,17 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
17781
18117
  },
17782
18118
 
17783
18119
  computed: {
18120
+ tooltipListeners() {
18121
+ return { ...this.$listeners,
18122
+ 'after-leave': event => {
18123
+ this.onLeaveTransitionComplete();
18124
+ },
18125
+ 'after-enter': event => {
18126
+ this.onEnterTransitionComplete();
18127
+ }
18128
+ };
18129
+ },
18130
+
17784
18131
  tippyProps() {
17785
18132
  return {
17786
18133
  offset: this.offset,
@@ -17945,8 +18292,8 @@ var tooltipvue_type_style_index_0_lang_less_ = __webpack_require__(213);
17945
18292
 
17946
18293
  var tooltip_component = normalizeComponent(
17947
18294
  tooltip_tooltipvue_type_script_lang_js_,
17948
- tooltipvue_type_template_id_2cddd20a_render,
17949
- tooltipvue_type_template_id_2cddd20a_staticRenderFns,
18295
+ tooltipvue_type_template_id_7bbc33e0_render,
18296
+ tooltipvue_type_template_id_7bbc33e0_staticRenderFns,
17950
18297
  false,
17951
18298
  null,
17952
18299
  null,
@@ -18628,15 +18975,15 @@ var root_layout_component = normalizeComponent(
18628
18975
  ;// CONCATENATED MODULE: ./components/root_layout/index.js
18629
18976
 
18630
18977
 
18631
- ;// 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&
18632
- 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){
18978
+ ;// 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&
18979
+ 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){
18633
18980
  var inputProps = ref.inputProps;
18634
18981
  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){
18635
18982
  var opened = ref.opened;
18636
18983
  var listProps = ref.listProps;
18637
18984
  var clearHighlightIndex = ref.clearHighlightIndex;
18638
- 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))}
18639
- var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
18985
+ 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))}
18986
+ var combobox_with_popovervue_type_template_id_96ff85ec_staticRenderFns = []
18640
18987
 
18641
18988
 
18642
18989
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=script&lang=js&
@@ -18740,6 +19087,10 @@ var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
18740
19087
  //
18741
19088
  //
18742
19089
  //
19090
+ //
19091
+ //
19092
+ //
19093
+
18743
19094
 
18744
19095
 
18745
19096
 
@@ -18754,6 +19105,7 @@ var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
18754
19105
  ComboboxLoadingList: combobox_loading_list,
18755
19106
  ComboboxEmptyList: combobox_empty_list
18756
19107
  },
19108
+ mixins: [sr_only_close_button],
18757
19109
  props: {
18758
19110
  /**
18759
19111
  * String to use for the list's aria-label.
@@ -18876,15 +19228,6 @@ var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
18876
19228
  default: false
18877
19229
  },
18878
19230
 
18879
- /**
18880
- * Determines modal state. If enabled popover has a modal overlay
18881
- * preventing interaction with elements below it, but it is invisible.
18882
- */
18883
- modal: {
18884
- type: Boolean,
18885
- default: true
18886
- },
18887
-
18888
19231
  /**
18889
19232
  * Displays the list when the combobox is focused, before the user has typed anything.
18890
19233
  * When this is enabled the list will not close after selection.
@@ -19036,7 +19379,7 @@ var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
19036
19379
 
19037
19380
  onFocusIn(e) {
19038
19381
  if (this.hasSuggestionList && e && this.$refs.input.querySelector('input') === e.target) {
19039
- // only trigger if we show suggestion list when focus and
19382
+ // only trigger if we show suggestion list when focused, and
19040
19383
  // it's the input specifically that was focused
19041
19384
  this.showComboboxList();
19042
19385
  }
@@ -19049,7 +19392,7 @@ var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
19049
19392
  var _this$$refs$ref;
19050
19393
 
19051
19394
  return (_this$$refs$ref = this.$refs[ref]) === null || _this$$refs$ref === void 0 ? void 0 : _this$$refs$ref.contains(e.relatedTarget);
19052
- }); // If outside of the combobox then close
19395
+ }) || this.visuallyHiddenClose; // If outside the combobox then close
19053
19396
 
19054
19397
  if (!isComboboxStillFocused) {
19055
19398
  this.closeComboboxList();
@@ -19078,8 +19421,8 @@ var combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns = []
19078
19421
  ;
19079
19422
  var combobox_with_popover_component = normalizeComponent(
19080
19423
  combobox_with_popover_combobox_with_popovervue_type_script_lang_js_,
19081
- combobox_with_popovervue_type_template_id_27a3126a_render,
19082
- combobox_with_popovervue_type_template_id_27a3126a_staticRenderFns,
19424
+ combobox_with_popovervue_type_template_id_96ff85ec_render,
19425
+ combobox_with_popovervue_type_template_id_96ff85ec_staticRenderFns,
19083
19426
  false,
19084
19427
  null,
19085
19428
  null,
@@ -19090,11 +19433,11 @@ var combobox_with_popover_component = normalizeComponent(
19090
19433
  /* harmony default export */ const combobox_with_popover = (combobox_with_popover_component.exports);
19091
19434
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/index.js
19092
19435
 
19093
- ;// 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&
19094
- 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){
19436
+ ;// 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&
19437
+ 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){
19095
19438
  var onInput = ref.onInput;
19096
19439
  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)})}
19097
- var combobox_multi_selectvue_type_template_id_6305bf12_staticRenderFns = []
19440
+ var combobox_multi_selectvue_type_template_id_652b0440_staticRenderFns = []
19098
19441
 
19099
19442
 
19100
19443
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/combobox_multi_select_story_constants.js
@@ -19296,6 +19639,9 @@ const MULTI_SELECT_SIZES = {
19296
19639
  //
19297
19640
  //
19298
19641
  //
19642
+ //
19643
+ //
19644
+
19299
19645
 
19300
19646
 
19301
19647
 
@@ -19310,6 +19656,7 @@ const MULTI_SELECT_SIZES = {
19310
19656
  DtChip: chip,
19311
19657
  DtValidationMessages: validation_messages
19312
19658
  },
19659
+ mixins: [sr_only_close_button],
19313
19660
  props: {
19314
19661
  /**
19315
19662
  * Label for the combobox
@@ -19476,7 +19823,7 @@ const MULTI_SELECT_SIZES = {
19476
19823
  data() {
19477
19824
  return {
19478
19825
  value: '',
19479
- popoverOffset: [0, 0],
19826
+ popoverOffset: [0, 4],
19480
19827
  showValidationMessages: false,
19481
19828
  initialInputPadding: {},
19482
19829
  resizeWindowObserver: null
@@ -19709,7 +20056,7 @@ const MULTI_SELECT_SIZES = {
19709
20056
  // If the new chip goes to the next line and the input box expands,
19710
20057
  // move the popover down to the next line. Same when chips are removed
19711
20058
 
19712
- this.popoverOffset = [0, 0];
20059
+ this.popoverOffset = [0, 4];
19713
20060
  },
19714
20061
 
19715
20062
  getFullWidth(el) {
@@ -19762,8 +20109,8 @@ const MULTI_SELECT_SIZES = {
19762
20109
  ;
19763
20110
  var combobox_multi_select_component = normalizeComponent(
19764
20111
  combobox_multi_select_combobox_multi_selectvue_type_script_lang_js_,
19765
- combobox_multi_selectvue_type_template_id_6305bf12_render,
19766
- combobox_multi_selectvue_type_template_id_6305bf12_staticRenderFns,
20112
+ combobox_multi_selectvue_type_template_id_652b0440_render,
20113
+ combobox_multi_selectvue_type_template_id_652b0440_staticRenderFns,
19767
20114
  false,
19768
20115
  null,
19769
20116
  null,
@@ -19775,9 +20122,9 @@ var combobox_multi_select_component = normalizeComponent(
19775
20122
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/index.js
19776
20123
 
19777
20124
 
19778
- ;// 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&
19779
- 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)}
19780
- var callbar_buttonvue_type_template_id_0de8daf7_staticRenderFns = []
20125
+ ;// 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&
20126
+ 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)}
20127
+ var callbar_buttonvue_type_template_id_57656787_staticRenderFns = []
19781
20128
 
19782
20129
 
19783
20130
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./recipes/buttons/callbar_button/callbar_button.vue?vue&type=script&lang=js&
@@ -19903,7 +20250,7 @@ var callbar_buttonvue_type_template_id_0de8daf7_staticRenderFns = []
19903
20250
  'click'],
19904
20251
  computed: {
19905
20252
  callbarButtonClass() {
19906
- return [this.buttonClass, 'dt-recipe-callbar-button', 'd-stack4', 'd-px0', {
20253
+ return [this.buttonClass, 'dt-recipe-callbar-button', 'd-stack4', 'd-px0', 'h:d-bgc-black-200', 'h:d-bgo50', {
19907
20254
  'dt-recipe-callbar-button--circle': this.circle,
19908
20255
  'dt-recipe-callbar-button--active': this.active,
19909
20256
  'dt-recipe-callbar-button--danger': this.danger
@@ -19929,8 +20276,8 @@ var callbar_buttonvue_type_style_index_0_lang_less_ = __webpack_require__(759);
19929
20276
 
19930
20277
  var callbar_button_component = normalizeComponent(
19931
20278
  callbar_button_callbar_buttonvue_type_script_lang_js_,
19932
- callbar_buttonvue_type_template_id_0de8daf7_render,
19933
- callbar_buttonvue_type_template_id_0de8daf7_staticRenderFns,
20279
+ callbar_buttonvue_type_template_id_57656787_render,
20280
+ callbar_buttonvue_type_template_id_57656787_staticRenderFns,
19934
20281
  false,
19935
20282
  null,
19936
20283
  null,
@@ -20261,8 +20608,8 @@ var callbar_button_with_popover_component = normalizeComponent(
20261
20608
  /* harmony default export */ const callbar_button_with_popover = (callbar_button_with_popover_component.exports);
20262
20609
  ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button_with_popover/index.js
20263
20610
 
20264
- ;// 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&
20265
- 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:[
20611
+ ;// 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&
20612
+ 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:[
20266
20613
  'd-ba',
20267
20614
  'd-bc-white',
20268
20615
  'd-baw2',
@@ -20273,7 +20620,7 @@ var contact_infovue_type_template_id_466e560c_render = function () {var _vm=this
20273
20620
  'd-w20p',
20274
20621
  'd-h20p',
20275
20622
  _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)})}
20276
- var contact_infovue_type_template_id_466e560c_staticRenderFns = []
20623
+ var contact_infovue_type_template_id_c1f377a8_staticRenderFns = []
20277
20624
 
20278
20625
 
20279
20626
  ;// CONCATENATED MODULE: ./recipes/list_items/contact_info/contact_info_constants.js
@@ -20407,6 +20754,8 @@ const USER_STATUS_COLOR_MODIFIERS = {
20407
20754
 
20408
20755
  /**
20409
20756
  * Optional avatar image url.
20757
+ * if provided, it's also required to provide a value in the `avatarInitials` prop to use
20758
+ * in the alt attribute of the avatar.
20410
20759
  */
20411
20760
  avatarSrc: {
20412
20761
  type: String,
@@ -20465,8 +20814,8 @@ const USER_STATUS_COLOR_MODIFIERS = {
20465
20814
  ;
20466
20815
  var contact_info_component = normalizeComponent(
20467
20816
  contact_info_contact_infovue_type_script_lang_js_,
20468
- contact_infovue_type_template_id_466e560c_render,
20469
- contact_infovue_type_template_id_466e560c_staticRenderFns,
20817
+ contact_infovue_type_template_id_c1f377a8_render,
20818
+ contact_infovue_type_template_id_c1f377a8_staticRenderFns,
20470
20819
  false,
20471
20820
  null,
20472
20821
  null,