@dialpad/dialtone-vue 3.2.0 → 3.3.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.
@@ -49,7 +49,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".dt-default-list-item,.dt-default-list
49
49
 
50
50
  /***/ }),
51
51
 
52
- /***/ 143:
52
+ /***/ 987:
53
53
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
54
54
 
55
55
  "use strict";
@@ -377,19 +377,19 @@ var update = add("c62e22ae", content, true, {"sourceMap":false,"shadowMode":fals
377
377
 
378
378
  /***/ }),
379
379
 
380
- /***/ 746:
380
+ /***/ 366:
381
381
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
382
382
 
383
383
  // style-loader: Adds some css to the DOM by adding a <style> tag
384
384
 
385
385
  // load the styles
386
- var content = __webpack_require__(143);
386
+ var content = __webpack_require__(987);
387
387
  if(content.__esModule) content = content.default;
388
388
  if(typeof content === 'string') content = [[module.id, content, '']];
389
389
  if(content.locals) module.exports = content.locals;
390
390
  // add the styles to the DOM
391
391
  var add = (__webpack_require__(402)/* ["default"] */ .Z)
392
- var update = add("5bb61f99", content, true, {"sourceMap":false,"shadowMode":false});
392
+ var update = add("48240900", content, true, {"sourceMap":false,"shadowMode":false});
393
393
 
394
394
  /***/ }),
395
395
 
@@ -11830,23 +11830,19 @@ const list_section_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(list_
11830
11830
  /* harmony default export */ const list_section = (list_section_exports_);
11831
11831
  ;// CONCATENATED MODULE: ./components/list_section/index.js
11832
11832
 
11833
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/list_item.vue?vue&type=template&id=642c4ad3
11833
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/list_item.vue?vue&type=template&id=7876bc36
11834
11834
 
11835
- function list_itemvue_type_template_id_642c4ad3_render(_ctx, _cache, $props, $setup, $data, $options) {
11836
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveDynamicComponent)($props.elementType), {
11835
+ function list_itemvue_type_template_id_7876bc36_render(_ctx, _cache, $props, $setup, $data, $options) {
11836
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveDynamicComponent)($props.elementType), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
11837
11837
  id: $props.id,
11838
- class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['dt-list-item d-ls-none focus-visible', {
11838
+ class: ['dt-list-item d-ls-none focus-visible', {
11839
11839
  'dt-list-item--focusable': $options.isFocusable,
11840
11840
  'dt-list-item--highlighted': $options.isHighlighted
11841
- }]),
11841
+ }],
11842
11842
  tabindex: $options.isFocusable ? 0 : -1,
11843
11843
  role: $props.role,
11844
- "aria-selected": $options.isHighlighted,
11845
- onKeydown: [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($options.onClick, ["enter"]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($options.onClick, ["space"])],
11846
- onMousemove: $options.onMouseHover,
11847
- onMouseleave: $options.onMouseLeave,
11848
- onClick: $options.onClick
11849
- }, {
11844
+ "aria-selected": $options.isHighlighted
11845
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toHandlers)($options.listItemListeners)), {
11850
11846
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [$options.listItemType ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveDynamicComponent)($options.listItemType), {
11851
11847
  key: 0
11852
11848
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createSlots)({
@@ -11860,9 +11856,9 @@ function list_itemvue_type_template_id_642c4ad3_render(_ctx, _cache, $props, $se
11860
11856
  key: 1
11861
11857
  })]),
11862
11858
  _: 3
11863
- }, 40, ["id", "class", "tabindex", "role", "aria-selected", "onKeydown", "onMousemove", "onMouseleave", "onClick"]);
11859
+ }, 16, ["id", "class", "tabindex", "role", "aria-selected"]);
11864
11860
  }
11865
- ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=template&id=642c4ad3
11861
+ ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=template&id=7876bc36
11866
11862
 
11867
11863
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/default_list_item.vue?vue&type=template&id=4c89d4ed
11868
11864
 
@@ -11990,7 +11986,7 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
11990
11986
  validator: t => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t)
11991
11987
  }
11992
11988
  },
11993
- emits: ['click'],
11989
+ emits: ['click', 'keydown', 'mousemove', 'mouseleave'],
11994
11990
 
11995
11991
  data() {
11996
11992
  return {
@@ -12010,6 +12006,26 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
12010
12006
  }
12011
12007
  },
12012
12008
 
12009
+ listItemListeners() {
12010
+ return {
12011
+ keydown: event => {
12012
+ if (['enter', 'space'].includes(event.code.toLowerCase())) {
12013
+ this.onClick(event);
12014
+ }
12015
+
12016
+ this.$emit('keydown', event);
12017
+ },
12018
+ mousemove: event => {
12019
+ this.onMouseHover(event);
12020
+ this.$emit('mousemove', event);
12021
+ },
12022
+ mouseleave: event => {
12023
+ this.onMouseLeave(event);
12024
+ this.$emit('mouseleave', event);
12025
+ }
12026
+ };
12027
+ },
12028
+
12013
12029
  /**
12014
12030
  * For keyboard navigation, whether or not this item is currently highlighted.
12015
12031
  * An injected highlightId will override the default mouseover highlight.
@@ -12036,8 +12052,8 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
12036
12052
 
12037
12053
  },
12038
12054
  methods: {
12039
- onClick() {
12040
- this.$emit('click');
12055
+ onClick(e) {
12056
+ this.$emit('click', e);
12041
12057
  },
12042
12058
 
12043
12059
  onMouseHover() {
@@ -12052,9 +12068,9 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
12052
12068
  });
12053
12069
  ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=script&lang=js
12054
12070
 
12055
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/list_item.vue?vue&type=style&index=0&id=642c4ad3&lang=less
12056
- var list_itemvue_type_style_index_0_id_642c4ad3_lang_less = __webpack_require__(746);
12057
- ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=style&index=0&id=642c4ad3&lang=less
12071
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/list_item.vue?vue&type=style&index=0&id=7876bc36&lang=less
12072
+ var list_itemvue_type_style_index_0_id_7876bc36_lang_less = __webpack_require__(366);
12073
+ ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=style&index=0&id=7876bc36&lang=less
12058
12074
 
12059
12075
  ;// CONCATENATED MODULE: ./components/list_item/list_item.vue
12060
12076
 
@@ -12064,7 +12080,7 @@ var list_itemvue_type_style_index_0_id_642c4ad3_lang_less = __webpack_require__(
12064
12080
  ;
12065
12081
 
12066
12082
 
12067
- const list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(list_itemvue_type_script_lang_js, [['render',list_itemvue_type_template_id_642c4ad3_render]])
12083
+ const list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(list_itemvue_type_script_lang_js, [['render',list_itemvue_type_template_id_7876bc36_render]])
12068
12084
 
12069
12085
  /* harmony default export */ const list_item = (list_item_exports_);
12070
12086
  ;// CONCATENATED MODULE: ./components/list_item/index.js
@@ -13770,27 +13786,27 @@ const select_menu_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(select
13770
13786
  ;// CONCATENATED MODULE: ./components/select_menu/index.js
13771
13787
 
13772
13788
 
13773
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/toast/toast.vue?vue&type=template&id=1cc09485
13789
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/toast/toast.vue?vue&type=template&id=b9998f6e
13774
13790
 
13775
- const toastvue_type_template_id_1cc09485_hoisted_1 = ["aria-hidden"];
13776
- const toastvue_type_template_id_1cc09485_hoisted_2 = {
13791
+ const toastvue_type_template_id_b9998f6e_hoisted_1 = ["aria-hidden"];
13792
+ const toastvue_type_template_id_b9998f6e_hoisted_2 = {
13777
13793
  class: "d-toast__dialog"
13778
13794
  };
13779
- function toastvue_type_template_id_1cc09485_render(_ctx, _cache, $props, $setup, $data, $options) {
13795
+ function toastvue_type_template_id_b9998f6e_render(_ctx, _cache, $props, $setup, $data, $options) {
13780
13796
  const _component_dt_notice_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-notice-icon");
13781
13797
 
13782
13798
  const _component_dt_notice_content = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-notice-content");
13783
13799
 
13784
13800
  const _component_dt_notice_action = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-notice-action");
13785
13801
 
13786
- return !$data.hidden ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
13802
+ return $data.isShown ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
13787
13803
  key: 0,
13788
13804
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['d-toast', $options.kindClass, {
13789
13805
  'd-toast--important': $props.important
13790
13806
  }]),
13791
13807
  "data-qa": "dt-toast",
13792
- "aria-hidden": $data.hidden.toString()
13793
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", toastvue_type_template_id_1cc09485_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_notice_icon, {
13808
+ "aria-hidden": (!$data.isShown).toString()
13809
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", toastvue_type_template_id_b9998f6e_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_notice_icon, {
13794
13810
  kind: $props.kind
13795
13811
  }, {
13796
13812
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "icon")]),
@@ -13807,18 +13823,20 @@ function toastvue_type_template_id_1cc09485_render(_ctx, _cache, $props, $setup,
13807
13823
  }, 8, ["title-id", "content-id", "title", "role"]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_notice_action, {
13808
13824
  "hide-close": $props.hideClose,
13809
13825
  "close-button-props": $props.closeButtonProps,
13810
- onClose: _cache[0] || (_cache[0] = $event => _ctx.$emit('close'))
13826
+ onClose: $options.closeToast
13811
13827
  }, {
13812
13828
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "action")]),
13813
13829
  _: 3
13814
- }, 8, ["hide-close", "close-button-props"])])], 10, toastvue_type_template_id_1cc09485_hoisted_1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true);
13830
+ }, 8, ["hide-close", "close-button-props", "onClose"])])], 10, toastvue_type_template_id_b9998f6e_hoisted_1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true);
13815
13831
  }
13816
- ;// CONCATENATED MODULE: ./components/toast/toast.vue?vue&type=template&id=1cc09485
13832
+ ;// CONCATENATED MODULE: ./components/toast/toast.vue?vue&type=template&id=b9998f6e
13817
13833
 
13818
13834
  ;// CONCATENATED MODULE: ./components/toast/toast_constants.js
13819
13835
  const TOAST_ROLES = ['status', 'alert'];
13836
+ const TOAST_MIN_DURATION = 6000;
13820
13837
  /* harmony default export */ const toast_constants = ({
13821
- TOAST_ROLES
13838
+ TOAST_ROLES,
13839
+ TOAST_MIN_DURATION
13822
13840
  });
13823
13841
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/toast/toast.vue?vue&type=script&lang=js
13824
13842
 
@@ -13908,6 +13926,17 @@ const TOAST_ROLES = ['status', 'alert'];
13908
13926
  default: false
13909
13927
  },
13910
13928
 
13929
+ /**
13930
+ * Controls whether the toast is shown. If a valid duration is provided, the toast will disappear
13931
+ * after reaching the duration time, so it's convenient to use `v-model` with this prop to update
13932
+ * the data in your component.
13933
+ * Supports v-model
13934
+ */
13935
+ show: {
13936
+ type: Boolean,
13937
+ default: false
13938
+ },
13939
+
13911
13940
  /**
13912
13941
  * Props for the toast close button.
13913
13942
  */
@@ -13926,21 +13955,23 @@ const TOAST_ROLES = ['status', 'alert'];
13926
13955
 
13927
13956
  /**
13928
13957
  * The duration in ms the toast will display before disappearing.
13929
- * Defaults to 6000 ms and the prop validation is that provided duration is equal to or greater than 6000.
13958
+ * The toast won't disappear if the duration is not provided.
13959
+ * If it's provided, it should be equal to or greater than 6000.
13930
13960
  */
13931
13961
  duration: {
13932
13962
  type: Number,
13933
- default: 6000,
13963
+ default: null,
13934
13964
  validator: duration => {
13935
- return duration >= 6000;
13965
+ return duration >= TOAST_MIN_DURATION;
13936
13966
  }
13937
13967
  }
13938
13968
  },
13939
- emits: ['close', 'click'],
13969
+ emits: ['close', 'click', 'update:show'],
13940
13970
 
13941
13971
  data() {
13942
13972
  return {
13943
- hidden: true
13973
+ isShown: false,
13974
+ minDuration: TOAST_MIN_DURATION
13944
13975
  };
13945
13976
  },
13946
13977
 
@@ -13954,25 +13985,45 @@ const TOAST_ROLES = ['status', 'alert'];
13954
13985
  base: 'd-toast--base'
13955
13986
  };
13956
13987
  return kindClasses[this.kind];
13988
+ },
13989
+
13990
+ shouldSetTimeout() {
13991
+ return !!this.duration && this.duration >= this.minDuration;
13957
13992
  }
13958
13993
 
13959
13994
  },
13995
+ watch: {
13996
+ show: {
13997
+ handler: function (show) {
13998
+ this.isShown = show;
13999
+
14000
+ if (show) {
14001
+ this.setTimeout();
14002
+ } else {
14003
+ clearTimeout(this.displayTimer);
14004
+ }
14005
+ },
14006
+ immediate: true
14007
+ }
14008
+ },
13960
14009
 
13961
14010
  unmounted() {
13962
14011
  clearTimeout(this.displayTimer);
13963
14012
  },
13964
14013
 
13965
14014
  methods: {
13966
- show() {
13967
- this.hidden = false;
13968
- this.displayTimer = setTimeout(() => {
13969
- this.hidden = true;
13970
- }, this.duration);
14015
+ closeToast(event) {
14016
+ this.$emit('update:show', false);
14017
+ this.$emit('close', event);
13971
14018
  },
13972
14019
 
13973
- close() {
13974
- this.hidden = true;
13975
- clearTimeout(this.displayTimer);
14020
+ setTimeout() {
14021
+ if (this.shouldSetTimeout) {
14022
+ this.displayTimer = setTimeout(() => {
14023
+ this.isShown = false;
14024
+ this.$emit('update:show', false);
14025
+ }, this.duration);
14026
+ }
13976
14027
  }
13977
14028
 
13978
14029
  }
@@ -13985,7 +14036,7 @@ const TOAST_ROLES = ['status', 'alert'];
13985
14036
 
13986
14037
 
13987
14038
  ;
13988
- const toast_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(toastvue_type_script_lang_js, [['render',toastvue_type_template_id_1cc09485_render]])
14039
+ const toast_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(toastvue_type_script_lang_js, [['render',toastvue_type_template_id_b9998f6e_render]])
13989
14040
 
13990
14041
  /* harmony default export */ const toast = (toast_exports_);
13991
14042
  ;// CONCATENATED MODULE: ./components/toast/index.js
@@ -59,7 +59,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".dt-default-list-item,.dt-default-list
59
59
 
60
60
  /***/ }),
61
61
 
62
- /***/ 254:
62
+ /***/ 63:
63
63
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
64
64
 
65
65
  "use strict";
@@ -387,19 +387,19 @@ var update = add("463815e5", content, true, {"sourceMap":false,"shadowMode":fals
387
387
 
388
388
  /***/ }),
389
389
 
390
- /***/ 32:
390
+ /***/ 621:
391
391
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
392
392
 
393
393
  // style-loader: Adds some css to the DOM by adding a <style> tag
394
394
 
395
395
  // load the styles
396
- var content = __webpack_require__(254);
396
+ var content = __webpack_require__(63);
397
397
  if(content.__esModule) content = content.default;
398
398
  if(typeof content === 'string') content = [[module.id, content, '']];
399
399
  if(content.locals) module.exports = content.locals;
400
400
  // add the styles to the DOM
401
401
  var add = (__webpack_require__(402)/* ["default"] */ .Z)
402
- var update = add("65533ed5", content, true, {"sourceMap":false,"shadowMode":false});
402
+ var update = add("51c1283c", content, true, {"sourceMap":false,"shadowMode":false});
403
403
 
404
404
  /***/ }),
405
405
 
@@ -11848,23 +11848,19 @@ const list_section_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(list_
11848
11848
  /* harmony default export */ const list_section = (list_section_exports_);
11849
11849
  ;// CONCATENATED MODULE: ./components/list_section/index.js
11850
11850
 
11851
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/list_item.vue?vue&type=template&id=642c4ad3
11851
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/list_item.vue?vue&type=template&id=7876bc36
11852
11852
 
11853
- function list_itemvue_type_template_id_642c4ad3_render(_ctx, _cache, $props, $setup, $data, $options) {
11854
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveDynamicComponent)($props.elementType), {
11853
+ function list_itemvue_type_template_id_7876bc36_render(_ctx, _cache, $props, $setup, $data, $options) {
11854
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveDynamicComponent)($props.elementType), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
11855
11855
  id: $props.id,
11856
- class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(['dt-list-item d-ls-none focus-visible', {
11856
+ class: ['dt-list-item d-ls-none focus-visible', {
11857
11857
  'dt-list-item--focusable': $options.isFocusable,
11858
11858
  'dt-list-item--highlighted': $options.isHighlighted
11859
- }]),
11859
+ }],
11860
11860
  tabindex: $options.isFocusable ? 0 : -1,
11861
11861
  role: $props.role,
11862
- "aria-selected": $options.isHighlighted,
11863
- onKeydown: [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)($options.onClick, ["enter"]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)($options.onClick, ["space"])],
11864
- onMousemove: $options.onMouseHover,
11865
- onMouseleave: $options.onMouseLeave,
11866
- onClick: $options.onClick
11867
- }, {
11862
+ "aria-selected": $options.isHighlighted
11863
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toHandlers)($options.listItemListeners)), {
11868
11864
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [$options.listItemType ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveDynamicComponent)($options.listItemType), {
11869
11865
  key: 0
11870
11866
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createSlots)({
@@ -11878,9 +11874,9 @@ function list_itemvue_type_template_id_642c4ad3_render(_ctx, _cache, $props, $se
11878
11874
  key: 1
11879
11875
  })]),
11880
11876
  _: 3
11881
- }, 40, ["id", "class", "tabindex", "role", "aria-selected", "onKeydown", "onMousemove", "onMouseleave", "onClick"]);
11877
+ }, 16, ["id", "class", "tabindex", "role", "aria-selected"]);
11882
11878
  }
11883
- ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=template&id=642c4ad3
11879
+ ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=template&id=7876bc36
11884
11880
 
11885
11881
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/default_list_item.vue?vue&type=template&id=4c89d4ed
11886
11882
 
@@ -12008,7 +12004,7 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
12008
12004
  validator: t => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t)
12009
12005
  }
12010
12006
  },
12011
- emits: ['click'],
12007
+ emits: ['click', 'keydown', 'mousemove', 'mouseleave'],
12012
12008
 
12013
12009
  data() {
12014
12010
  return {
@@ -12028,6 +12024,26 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
12028
12024
  }
12029
12025
  },
12030
12026
 
12027
+ listItemListeners() {
12028
+ return {
12029
+ keydown: event => {
12030
+ if (['enter', 'space'].includes(event.code.toLowerCase())) {
12031
+ this.onClick(event);
12032
+ }
12033
+
12034
+ this.$emit('keydown', event);
12035
+ },
12036
+ mousemove: event => {
12037
+ this.onMouseHover(event);
12038
+ this.$emit('mousemove', event);
12039
+ },
12040
+ mouseleave: event => {
12041
+ this.onMouseLeave(event);
12042
+ this.$emit('mouseleave', event);
12043
+ }
12044
+ };
12045
+ },
12046
+
12031
12047
  /**
12032
12048
  * For keyboard navigation, whether or not this item is currently highlighted.
12033
12049
  * An injected highlightId will override the default mouseover highlight.
@@ -12054,8 +12070,8 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
12054
12070
 
12055
12071
  },
12056
12072
  methods: {
12057
- onClick() {
12058
- this.$emit('click');
12073
+ onClick(e) {
12074
+ this.$emit('click', e);
12059
12075
  },
12060
12076
 
12061
12077
  onMouseHover() {
@@ -12070,9 +12086,9 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
12070
12086
  });
12071
12087
  ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=script&lang=js
12072
12088
 
12073
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-74.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-74.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-74.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/list_item.vue?vue&type=style&index=0&id=642c4ad3&lang=less
12074
- var list_itemvue_type_style_index_0_id_642c4ad3_lang_less = __webpack_require__(32);
12075
- ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=style&index=0&id=642c4ad3&lang=less
12089
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-74.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-74.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-74.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/list_item.vue?vue&type=style&index=0&id=7876bc36&lang=less
12090
+ var list_itemvue_type_style_index_0_id_7876bc36_lang_less = __webpack_require__(621);
12091
+ ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=style&index=0&id=7876bc36&lang=less
12076
12092
 
12077
12093
  ;// CONCATENATED MODULE: ./components/list_item/list_item.vue
12078
12094
 
@@ -12082,7 +12098,7 @@ var list_itemvue_type_style_index_0_id_642c4ad3_lang_less = __webpack_require__(
12082
12098
  ;
12083
12099
 
12084
12100
 
12085
- const list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(list_itemvue_type_script_lang_js, [['render',list_itemvue_type_template_id_642c4ad3_render]])
12101
+ const list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(list_itemvue_type_script_lang_js, [['render',list_itemvue_type_template_id_7876bc36_render]])
12086
12102
 
12087
12103
  /* harmony default export */ const list_item = (list_item_exports_);
12088
12104
  ;// CONCATENATED MODULE: ./components/list_item/index.js
@@ -13788,27 +13804,27 @@ const select_menu_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(select
13788
13804
  ;// CONCATENATED MODULE: ./components/select_menu/index.js
13789
13805
 
13790
13806
 
13791
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/toast/toast.vue?vue&type=template&id=1cc09485
13807
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/toast/toast.vue?vue&type=template&id=b9998f6e
13792
13808
 
13793
- const toastvue_type_template_id_1cc09485_hoisted_1 = ["aria-hidden"];
13794
- const toastvue_type_template_id_1cc09485_hoisted_2 = {
13809
+ const toastvue_type_template_id_b9998f6e_hoisted_1 = ["aria-hidden"];
13810
+ const toastvue_type_template_id_b9998f6e_hoisted_2 = {
13795
13811
  class: "d-toast__dialog"
13796
13812
  };
13797
- function toastvue_type_template_id_1cc09485_render(_ctx, _cache, $props, $setup, $data, $options) {
13813
+ function toastvue_type_template_id_b9998f6e_render(_ctx, _cache, $props, $setup, $data, $options) {
13798
13814
  const _component_dt_notice_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-notice-icon");
13799
13815
 
13800
13816
  const _component_dt_notice_content = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-notice-content");
13801
13817
 
13802
13818
  const _component_dt_notice_action = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-notice-action");
13803
13819
 
13804
- return !$data.hidden ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
13820
+ return $data.isShown ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
13805
13821
  key: 0,
13806
13822
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(['d-toast', $options.kindClass, {
13807
13823
  'd-toast--important': $props.important
13808
13824
  }]),
13809
13825
  "data-qa": "dt-toast",
13810
- "aria-hidden": $data.hidden.toString()
13811
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", toastvue_type_template_id_1cc09485_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_dt_notice_icon, {
13826
+ "aria-hidden": (!$data.isShown).toString()
13827
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", toastvue_type_template_id_b9998f6e_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_dt_notice_icon, {
13812
13828
  kind: $props.kind
13813
13829
  }, {
13814
13830
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "icon")]),
@@ -13825,18 +13841,20 @@ function toastvue_type_template_id_1cc09485_render(_ctx, _cache, $props, $setup,
13825
13841
  }, 8, ["title-id", "content-id", "title", "role"]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_dt_notice_action, {
13826
13842
  "hide-close": $props.hideClose,
13827
13843
  "close-button-props": $props.closeButtonProps,
13828
- onClose: _cache[0] || (_cache[0] = $event => _ctx.$emit('close'))
13844
+ onClose: $options.closeToast
13829
13845
  }, {
13830
13846
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "action")]),
13831
13847
  _: 3
13832
- }, 8, ["hide-close", "close-button-props"])])], 10, toastvue_type_template_id_1cc09485_hoisted_1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true);
13848
+ }, 8, ["hide-close", "close-button-props", "onClose"])])], 10, toastvue_type_template_id_b9998f6e_hoisted_1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true);
13833
13849
  }
13834
- ;// CONCATENATED MODULE: ./components/toast/toast.vue?vue&type=template&id=1cc09485
13850
+ ;// CONCATENATED MODULE: ./components/toast/toast.vue?vue&type=template&id=b9998f6e
13835
13851
 
13836
13852
  ;// CONCATENATED MODULE: ./components/toast/toast_constants.js
13837
13853
  const TOAST_ROLES = ['status', 'alert'];
13854
+ const TOAST_MIN_DURATION = 6000;
13838
13855
  /* harmony default export */ const toast_constants = ({
13839
- TOAST_ROLES
13856
+ TOAST_ROLES,
13857
+ TOAST_MIN_DURATION
13840
13858
  });
13841
13859
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/toast/toast.vue?vue&type=script&lang=js
13842
13860
 
@@ -13926,6 +13944,17 @@ const TOAST_ROLES = ['status', 'alert'];
13926
13944
  default: false
13927
13945
  },
13928
13946
 
13947
+ /**
13948
+ * Controls whether the toast is shown. If a valid duration is provided, the toast will disappear
13949
+ * after reaching the duration time, so it's convenient to use `v-model` with this prop to update
13950
+ * the data in your component.
13951
+ * Supports v-model
13952
+ */
13953
+ show: {
13954
+ type: Boolean,
13955
+ default: false
13956
+ },
13957
+
13929
13958
  /**
13930
13959
  * Props for the toast close button.
13931
13960
  */
@@ -13944,21 +13973,23 @@ const TOAST_ROLES = ['status', 'alert'];
13944
13973
 
13945
13974
  /**
13946
13975
  * The duration in ms the toast will display before disappearing.
13947
- * Defaults to 6000 ms and the prop validation is that provided duration is equal to or greater than 6000.
13976
+ * The toast won't disappear if the duration is not provided.
13977
+ * If it's provided, it should be equal to or greater than 6000.
13948
13978
  */
13949
13979
  duration: {
13950
13980
  type: Number,
13951
- default: 6000,
13981
+ default: null,
13952
13982
  validator: duration => {
13953
- return duration >= 6000;
13983
+ return duration >= TOAST_MIN_DURATION;
13954
13984
  }
13955
13985
  }
13956
13986
  },
13957
- emits: ['close', 'click'],
13987
+ emits: ['close', 'click', 'update:show'],
13958
13988
 
13959
13989
  data() {
13960
13990
  return {
13961
- hidden: true
13991
+ isShown: false,
13992
+ minDuration: TOAST_MIN_DURATION
13962
13993
  };
13963
13994
  },
13964
13995
 
@@ -13972,25 +14003,45 @@ const TOAST_ROLES = ['status', 'alert'];
13972
14003
  base: 'd-toast--base'
13973
14004
  };
13974
14005
  return kindClasses[this.kind];
14006
+ },
14007
+
14008
+ shouldSetTimeout() {
14009
+ return !!this.duration && this.duration >= this.minDuration;
13975
14010
  }
13976
14011
 
13977
14012
  },
14013
+ watch: {
14014
+ show: {
14015
+ handler: function (show) {
14016
+ this.isShown = show;
14017
+
14018
+ if (show) {
14019
+ this.setTimeout();
14020
+ } else {
14021
+ clearTimeout(this.displayTimer);
14022
+ }
14023
+ },
14024
+ immediate: true
14025
+ }
14026
+ },
13978
14027
 
13979
14028
  unmounted() {
13980
14029
  clearTimeout(this.displayTimer);
13981
14030
  },
13982
14031
 
13983
14032
  methods: {
13984
- show() {
13985
- this.hidden = false;
13986
- this.displayTimer = setTimeout(() => {
13987
- this.hidden = true;
13988
- }, this.duration);
14033
+ closeToast(event) {
14034
+ this.$emit('update:show', false);
14035
+ this.$emit('close', event);
13989
14036
  },
13990
14037
 
13991
- close() {
13992
- this.hidden = true;
13993
- clearTimeout(this.displayTimer);
14038
+ setTimeout() {
14039
+ if (this.shouldSetTimeout) {
14040
+ this.displayTimer = setTimeout(() => {
14041
+ this.isShown = false;
14042
+ this.$emit('update:show', false);
14043
+ }, this.duration);
14044
+ }
13994
14045
  }
13995
14046
 
13996
14047
  }
@@ -14003,7 +14054,7 @@ const TOAST_ROLES = ['status', 'alert'];
14003
14054
 
14004
14055
 
14005
14056
  ;
14006
- const toast_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(toastvue_type_script_lang_js, [['render',toastvue_type_template_id_1cc09485_render]])
14057
+ const toast_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(toastvue_type_script_lang_js, [['render',toastvue_type_template_id_b9998f6e_render]])
14007
14058
 
14008
14059
  /* harmony default export */ const toast = (toast_exports_);
14009
14060
  ;// CONCATENATED MODULE: ./components/toast/index.js