@dialpad/dialtone-vue 3.47.0 → 3.50.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.
@@ -1209,6 +1209,7 @@ __webpack_require__.d(__webpack_exports__, {
1209
1209
  "DtRecipeIvrNode": () => (/* reexport */ ivr_node),
1210
1210
  "DtRecipeTopBannerInfo": () => (/* reexport */ top_banner_info),
1211
1211
  "DtRootLayout": () => (/* reexport */ root_layout),
1212
+ "DtScroller": () => (/* reexport */ DtScroller),
1212
1213
  "DtSelectMenu": () => (/* reexport */ select_menu),
1213
1214
  "DtSkeleton": () => (/* reexport */ skeleton_skeleton),
1214
1215
  "DtSkeletonListItem": () => (/* reexport */ skeleton_list_item),
@@ -1272,7 +1273,6 @@ __webpack_require__.d(__webpack_exports__, {
1272
1273
  "TOOLTIP_HIDE_ON_CLICK_VARIANTS": () => (/* reexport */ TOOLTIP_HIDE_ON_CLICK_VARIANTS),
1273
1274
  "TOOLTIP_KIND_MODIFIERS": () => (/* reexport */ TOOLTIP_KIND_MODIFIERS),
1274
1275
  "TOOLTIP_STICKY_VALUES": () => (/* reexport */ TOOLTIP_STICKY_VALUES),
1275
- "USER_STATUS_COLOR_MODIFIERS": () => (/* reexport */ USER_STATUS_COLOR_MODIFIERS),
1276
1276
  "VALIDATION_MESSAGE_TYPES": () => (/* reexport */ VALIDATION_MESSAGE_TYPES),
1277
1277
  "VALID_WIDTH_SIZE": () => (/* reexport */ VALID_WIDTH_SIZE),
1278
1278
  "filterFormattedMessages": () => (/* reexport */ filterFormattedMessages),
@@ -1301,7 +1301,7 @@ if (typeof window !== 'undefined') {
1301
1301
 
1302
1302
  ;// CONCATENATED MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
1303
1303
  const external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject = require("vue");
1304
- ;// 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/avatar/avatar.vue?vue&type=template&id=0795f071
1304
+ ;// 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/avatar/avatar.vue?vue&type=template&id=ac8c0ad8
1305
1305
 
1306
1306
  const _hoisted_1 = ["id"];
1307
1307
  const _hoisted_2 = {
@@ -1310,7 +1310,7 @@ const _hoisted_2 = {
1310
1310
  };
1311
1311
  const _hoisted_3 = {
1312
1312
  key: 0,
1313
- class: "d-avatar__count",
1313
+ class: "d-avatar__count d-zi-base1",
1314
1314
  "data-qa": "dt-avatar-count"
1315
1315
  };
1316
1316
  function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -1323,18 +1323,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1323
1323
  "data-qa": "dt-avatar"
1324
1324
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", _hoisted_2, [$options.showDefaultSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default", {
1325
1325
  key: 0
1326
- }) : $options.showInitials ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
1326
+ }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), $options.showInitials ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
1327
1327
  key: 1,
1328
- class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)($data.AVATAR_KIND_MODIFIERS.initials)
1328
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["d-ps-absolute d-zi-base", $data.AVATAR_KIND_MODIFIERS.initials])
1329
1329
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($data.formattedInitials), 3)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 512), $options.showGroup ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", _hoisted_3, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($options.formattedGroup), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), $props.presence && !$options.showGroup ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_presence, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
1330
1330
  key: 1,
1331
1331
  presence: $props.presence,
1332
- class: ['d-avatar__presence', $data.AVATAR_PRESENCE_SIZE_MODIFIERS[$props.size]]
1332
+ class: ["d-zi-base1", ['d-avatar__presence', $data.AVATAR_PRESENCE_SIZE_MODIFIERS[$props.size]]]
1333
1333
  }, $props.presenceProps, {
1334
1334
  "data-qa": "dt-presence"
1335
1335
  }), null, 16, ["presence", "class"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 14, _hoisted_1);
1336
1336
  }
1337
- ;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=template&id=0795f071
1337
+ ;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=template&id=ac8c0ad8
1338
1338
 
1339
1339
  ;// CONCATENATED MODULE: ./common/constants.js
1340
1340
  /* TODO: Move and sort these in a constants directory
@@ -1410,7 +1410,8 @@ const DEFAULT_PREFIX = 'dt';
1410
1410
 
1411
1411
  const seedrandom = __webpack_require__(377);
1412
1412
 
1413
- let UNIQUE_ID_COUNTER = 0; // selector to find focusable not hidden inputs
1413
+ let UNIQUE_ID_COUNTER = 0;
1414
+ let TIMER; // selector to find focusable not hidden inputs
1414
1415
 
1415
1416
  const FOCUSABLE_SELECTOR_NOT_HIDDEN = 'input:not([type=hidden]):not(:disabled)'; // selector to find focusable not disables elements
1416
1417
 
@@ -1534,7 +1535,7 @@ function hasSlotContent(slot) {
1534
1535
  */
1535
1536
 
1536
1537
  const kebabCaseToPascalCase = string => {
1537
- return string.toLowerCase().split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
1538
+ return string === null || string === void 0 ? void 0 : string.toLowerCase().split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
1538
1539
  };
1539
1540
  /**
1540
1541
  * Transform a string from PascalCase to kebab-case
@@ -1552,6 +1553,17 @@ const extractVueListeners = attrs => {
1552
1553
  });
1553
1554
  return Object.fromEntries(listeners);
1554
1555
  };
1556
+ /*
1557
+ * Set's a global timer to debounce the execution of a function.
1558
+ * @param { object } func - the function that is going to be called after timeout
1559
+ * @param { number } [timeout=300] timeout
1560
+ * */
1561
+
1562
+ function debounce(func) {
1563
+ let timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300;
1564
+ clearTimeout(TIMER);
1565
+ TIMER = setTimeout(func, timeout);
1566
+ }
1555
1567
  /* harmony default export */ const utils = ({
1556
1568
  getUniqueString,
1557
1569
  getRandomElement,
@@ -1562,7 +1574,8 @@ const extractVueListeners = attrs => {
1562
1574
  htmlFragment,
1563
1575
  flushPromises,
1564
1576
  kebabCaseToPascalCase,
1565
- extractVueListeners
1577
+ extractVueListeners,
1578
+ debounce
1566
1579
  });
1567
1580
  ;// 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/presence/presence.vue?vue&type=template&id=77957bb3
1568
1581
 
@@ -1667,6 +1680,13 @@ const AVATAR_PRESENCE_SIZE_MODIFIERS = {
1667
1680
  md: 'd-avatar__presence--md',
1668
1681
  lg: 'd-avatar__presence--lg'
1669
1682
  };
1683
+ const AVATAR_PRESENCE_STATES = {
1684
+ NONE: null,
1685
+ BUSY: 'busy',
1686
+ AWAY: 'away',
1687
+ OFFLINE: 'offline',
1688
+ ACTIVE: 'active'
1689
+ };
1670
1690
  const AVATAR_ICON_SIZES = {
1671
1691
  xs: '100',
1672
1692
  sm: '200',
@@ -1754,7 +1774,10 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
1754
1774
  */
1755
1775
  presence: {
1756
1776
  type: String,
1757
- default: null
1777
+ default: AVATAR_PRESENCE_STATES.NONE,
1778
+ validator: state => {
1779
+ return Object.values(AVATAR_PRESENCE_STATES).includes(state);
1780
+ }
1758
1781
  },
1759
1782
 
1760
1783
  /**
@@ -1796,13 +1819,14 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
1796
1819
  data() {
1797
1820
  return {
1798
1821
  // initials, image or icon
1799
- kind: 'image',
1822
+ kind: null,
1800
1823
  AVATAR_SIZE_MODIFIERS: AVATAR_SIZE_MODIFIERS,
1801
1824
  AVATAR_KIND_MODIFIERS: AVATAR_KIND_MODIFIERS,
1802
1825
  AVATAR_PRESENCE_SIZE_MODIFIERS: AVATAR_PRESENCE_SIZE_MODIFIERS,
1803
1826
  imageLoadedSuccessfully: null,
1804
1827
  slottedInitials: '',
1805
- formattedInitials: ''
1828
+ formattedInitials: '',
1829
+ initializing: false
1806
1830
  };
1807
1831
  },
1808
1832
 
@@ -1815,11 +1839,11 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
1815
1839
  },
1816
1840
 
1817
1841
  showDefaultSlot() {
1818
- return this.kind !== 'initials' && this.imageLoadedSuccessfully !== false;
1842
+ return this.kind !== 'initials' || this.kind === 'image' && this.imageLoadedSuccessfully === true;
1819
1843
  },
1820
1844
 
1821
1845
  showInitials() {
1822
- return this.kind === 'initials' || this.initials;
1846
+ return this.kind === 'initials' || this.kind === 'image' && this.initials;
1823
1847
  },
1824
1848
 
1825
1849
  showGroup() {
@@ -1852,28 +1876,27 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
1852
1876
  },
1853
1877
 
1854
1878
  updated() {
1855
- if (this.kind === 'initials') {
1856
- this.slottedInitials = this.$el.children[0].textContent;
1857
- this.formatInitials(this.slottedInitials);
1858
- }
1879
+ this.init();
1859
1880
  },
1860
1881
 
1861
1882
  methods: {
1862
- init() {
1883
+ async init() {
1884
+ if (this.initializing) return;
1885
+ this.kind = null;
1886
+ await this.$nextTick();
1863
1887
  const firstChild = this.$refs.canvas.children[0] || this.$refs.canvas;
1864
-
1865
- if (!firstChild) {
1866
- return;
1867
- }
1868
-
1888
+ this.formatInitials(this.initials);
1869
1889
  this.setKind(firstChild);
1870
1890
  this.kindHandler(firstChild);
1891
+ this.initializing = true;
1892
+ await this.$nextTick();
1893
+ this.initializing = false;
1871
1894
  },
1872
1895
 
1873
1896
  kindHandler(el) {
1874
1897
  switch (this.kind) {
1875
1898
  case 'image':
1876
- el.classList.add('d-avatar__image');
1899
+ el.classList.add('d-avatar__image', 'd-zi-base1');
1877
1900
  this.validateImageAttrsPresence();
1878
1901
  this.setImageListeners(el);
1879
1902
  break;
@@ -1883,25 +1906,27 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
1883
1906
  break;
1884
1907
 
1885
1908
  case 'initials':
1909
+ if (!el.textContent) return;
1886
1910
  this.slottedInitials = el.textContent;
1887
- this.formatInitials(this.slottedInitials);
1911
+ this.formatInitials(this.slottedInitials.trim() || this.initials);
1888
1912
  break;
1889
1913
  }
1890
1914
  },
1891
1915
 
1892
1916
  setImageListeners(el) {
1893
- el.addEventListener('error', () => {
1894
- this.formatInitials(this.initials);
1895
- this.imageLoadedSuccessfully = false;
1917
+ el.addEventListener('load', () => this._loadedImageEventHandler(el), {
1918
+ once: true
1896
1919
  });
1897
- el.addEventListener('load', () => {
1898
- el.classList.add('d-avatar--image-loaded');
1899
- this.imageLoadedSuccessfully = true;
1920
+ el.addEventListener('error', () => this._erroredImageEventHandler(el), {
1921
+ once: true
1900
1922
  });
1901
1923
  },
1902
1924
 
1903
1925
  formatInitials(initials) {
1904
- if (!initials) return;
1926
+ if (!initials) {
1927
+ this.formattedInitials = '';
1928
+ return;
1929
+ }
1905
1930
 
1906
1931
  if (this.validatedSize === 'xs') {
1907
1932
  this.formattedInitials = '';
@@ -1913,7 +1938,7 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
1913
1938
  },
1914
1939
 
1915
1940
  setKind(element) {
1916
- if (this.isSvgType(element)) {
1941
+ if (this.isIconType(element)) {
1917
1942
  this.kind = 'icon';
1918
1943
  return;
1919
1944
  }
@@ -1926,7 +1951,7 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
1926
1951
  this.kind = 'initials';
1927
1952
  },
1928
1953
 
1929
- isSvgType(element) {
1954
+ isIconType(element) {
1930
1955
  var _element$tagName;
1931
1956
 
1932
1957
  return (element === null || element === void 0 ? void 0 : (_element$tagName = element.tagName) === null || _element$tagName === void 0 ? void 0 : _element$tagName.toUpperCase()) === 'SVG';
@@ -1972,16 +1997,28 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
1972
1997
  if (isSrcMissing || isAltMissing) {
1973
1998
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.warn)('src and alt attributes are required for image avatars', this);
1974
1999
  }
2000
+ },
2001
+
2002
+ _loadedImageEventHandler(el) {
2003
+ this.imageLoadedSuccessfully = true;
2004
+ el.classList.remove('d-d-none');
2005
+ el.classList.add('d-avatar--image-loaded');
2006
+ },
2007
+
2008
+ _erroredImageEventHandler(el) {
2009
+ this.imageLoadedSuccessfully = false;
2010
+ el.classList.remove('d-avatar--image-loaded');
2011
+ el.classList.add('d-d-none');
1975
2012
  }
1976
2013
 
1977
2014
  }
1978
2015
  });
1979
2016
  ;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=script&lang=js
1980
2017
 
1981
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.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/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/avatar/avatar.vue?vue&type=style&index=0&id=0795f071&lang=less
2018
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.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/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/avatar/avatar.vue?vue&type=style&index=0&id=ac8c0ad8&lang=less
1982
2019
  // extracted by mini-css-extract-plugin
1983
2020
 
1984
- ;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=style&index=0&id=0795f071&lang=less
2021
+ ;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=style&index=0&id=ac8c0ad8&lang=less
1985
2022
 
1986
2023
  ;// CONCATENATED MODULE: ./components/avatar/avatar.vue
1987
2024
 
@@ -3048,7 +3085,7 @@ const notice_action_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(noti
3048
3085
 
3049
3086
  /* harmony default export */ const notice_action = (notice_action_exports_);
3050
3087
  ;// CONCATENATED MODULE: ./common/mixins/modal.js
3051
- const focusableAttrs = ':not(:disabled):not([aria-disabled="true"])';
3088
+ const focusableAttrs = ':not(:disabled):not([aria-disabled="true"]):not([role="presentation"])';
3052
3089
  const tabbableAttrs = `${focusableAttrs}:not([tabindex="-1"])`;
3053
3090
  const focusableElementsList = `button,[href],input,select,textarea,details,[tabindex]`;
3054
3091
  /**
@@ -7055,7 +7092,7 @@ function orderModifiers(modifiers) {
7055
7092
  }, []);
7056
7093
  }
7057
7094
  ;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/debounce.js
7058
- function debounce(fn) {
7095
+ function debounce_debounce(fn) {
7059
7096
  var pending;
7060
7097
  return function () {
7061
7098
  if (!pending) {
@@ -7240,7 +7277,7 @@ function popperGenerator(generatorOptions) {
7240
7277
  },
7241
7278
  // Async and optimistically optimized update – it will not be executed if
7242
7279
  // not necessary (debounced to run at most once-per-tick)
7243
- update: debounce(function () {
7280
+ update: debounce_debounce(function () {
7244
7281
  return new Promise(function (resolve) {
7245
7282
  instance.forceUpdate();
7246
7283
  resolve(state);
@@ -11046,7 +11083,6 @@ const getArrowDetected = fn => ({
11046
11083
  ;// CONCATENATED MODULE: ./components/popover/tippy_utils.js
11047
11084
 
11048
11085
 
11049
-
11050
11086
  const BASE_TIPPY_DIRECTIONS = ['bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end', 'left', 'left-start', 'left-end', 'top', 'top-start', 'top-end'];
11051
11087
  const TIPPY_STICKY_VALUES = [true, false, 'reference', 'popper'];
11052
11088
  const tippy_utils_createTippy = (anchorElement, options) => {
@@ -11095,24 +11131,17 @@ const getPopperOptions = function () {
11095
11131
  };
11096
11132
  };
11097
11133
 
11098
- const createAnchor = (anchorWrapper, tabIndex) => {
11134
+ const createAnchor = anchorWrapper => {
11099
11135
  const span = document.createElement('span');
11100
- span.setAttribute('tabindex', tabIndex);
11101
11136
  span.innerText = anchorWrapper.innerText || '';
11102
11137
  anchorWrapper.innerText = '';
11103
11138
  anchorWrapper.appendChild(span);
11104
11139
  return span;
11105
11140
  };
11106
11141
 
11107
- const getAnchor = function (anchorWrapper) {
11108
- let tabIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '0';
11142
+ const getAnchor = anchorWrapper => {
11109
11143
  const anchor = anchorWrapper === null || anchorWrapper === void 0 ? void 0 : anchorWrapper.children[0];
11110
11144
  if (!anchor) return createAnchor(anchorWrapper);
11111
-
11112
- if (!findFirstFocusableNode(anchor)) {
11113
- anchor.setAttribute('tabindex', tabIndex);
11114
- }
11115
-
11116
11145
  return anchor;
11117
11146
  };
11118
11147
  const getContentWrapper = content => {
@@ -17423,16 +17452,17 @@ const toggle_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(togglevue_t
17423
17452
  /* harmony default export */ const toggle = (toggle_exports_);
17424
17453
  ;// CONCATENATED MODULE: ./components/toggle/index.js
17425
17454
 
17426
- ;// 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/tooltip/tooltip.vue?vue&type=template&id=52eb174c
17455
+ ;// 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/tooltip/tooltip.vue?vue&type=template&id=1868931e
17427
17456
 
17428
- const tooltipvue_type_template_id_52eb174c_hoisted_1 = {
17457
+ const tooltipvue_type_template_id_1868931e_hoisted_1 = {
17429
17458
  "data-qa": "dt-tooltip-container"
17430
17459
  };
17431
- function tooltipvue_type_template_id_52eb174c_render(_ctx, _cache, $props, $setup, $data, $options) {
17460
+ function tooltipvue_type_template_id_1868931e_render(_ctx, _cache, $props, $setup, $data, $options) {
17432
17461
  const _component_dt_lazy_show = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-lazy-show");
17433
17462
 
17434
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", tooltipvue_type_template_id_52eb174c_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("a", {
17463
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", tooltipvue_type_template_id_1868931e_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("a", {
17435
17464
  ref: "anchor",
17465
+ tabindex: "-1",
17436
17466
  role: "presentation",
17437
17467
  "data-qa": "dt-tooltip-anchor",
17438
17468
  onFocusin: _cache[0] || (_cache[0] = function () {
@@ -17467,7 +17497,7 @@ function tooltipvue_type_template_id_52eb174c_render(_ctx, _cache, $props, $setu
17467
17497
  _: 3
17468
17498
  }, 16, ["id", "show", "appear", "transition", "class"])]);
17469
17499
  }
17470
- ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=template&id=52eb174c
17500
+ ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=template&id=1868931e
17471
17501
 
17472
17502
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip_constants.js
17473
17503
  /*
@@ -17821,10 +17851,10 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
17821
17851
  });
17822
17852
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=script&lang=js
17823
17853
 
17824
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.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/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=style&index=0&id=52eb174c&lang=less
17854
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.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/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=style&index=0&id=1868931e&lang=less
17825
17855
  // extracted by mini-css-extract-plugin
17826
17856
 
17827
- ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=style&index=0&id=52eb174c&lang=less
17857
+ ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=style&index=0&id=1868931e&lang=less
17828
17858
 
17829
17859
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue
17830
17860
 
@@ -17834,7 +17864,7 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
17834
17864
  ;
17835
17865
 
17836
17866
 
17837
- const tooltip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(tooltipvue_type_script_lang_js, [['render',tooltipvue_type_template_id_52eb174c_render]])
17867
+ const tooltip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(tooltipvue_type_script_lang_js, [['render',tooltipvue_type_template_id_1868931e_render]])
17838
17868
 
17839
17869
  /* harmony default export */ const tooltip = (tooltip_exports_);
17840
17870
  ;// CONCATENATED MODULE: ./components/tooltip/index.js
@@ -18528,249 +18558,1577 @@ const stack_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(stackvue_typ
18528
18558
  /* harmony default export */ const stack = (stack_exports_);
18529
18559
  ;// CONCATENATED MODULE: ./components/stack/index.js
18530
18560
 
18531
- ;// 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]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=bdafd0f4
18532
-
18533
- const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_1 = ["id"];
18534
- const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_2 = {
18535
- ref: "header"
18536
- };
18537
- const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_3 = ["onMouseleave", "onFocusout"];
18538
- const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_4 = {
18539
- ref: "footer"
18540
- };
18541
- function combobox_with_popovervue_type_template_id_bdafd0f4_render(_ctx, _cache, $props, $setup, $data, $options) {
18542
- const _component_combobox_loading_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("combobox-loading-list");
18543
-
18544
- const _component_combobox_empty_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("combobox-empty-list");
18545
-
18546
- const _component_dt_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-popover");
18547
-
18548
- const _component_dt_combobox = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-combobox");
18549
-
18550
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_combobox, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
18551
- ref: "combobox",
18552
- loading: $props.loading,
18553
- label: $props.label,
18554
- "label-visible": $props.labelVisible,
18555
- size: $props.size,
18556
- description: $props.description,
18557
- "empty-list": $props.emptyList,
18558
- "empty-state-message": $props.emptyStateMessage,
18559
- "show-list": $data.isListShown,
18560
- "on-beginning-of-list": $props.onBeginningOfList,
18561
- "on-end-of-list": $props.onEndOfList,
18562
- "list-rendered-outside": true,
18563
- "list-id": $props.listId,
18564
- "data-qa": "dt-combobox"
18565
- }, $options.comboboxListeners), {
18566
- input: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref => {
18567
- let {
18568
- inputProps
18569
- } = _ref;
18570
- return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
18571
- id: $data.externalAnchor,
18572
- ref: "input",
18573
- onFocusin: _cache[0] || (_cache[0] = function () {
18574
- return $options.onFocusIn && $options.onFocusIn(...arguments);
18575
- }),
18576
- onKeydown: [_cache[1] || (_cache[1] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($event => $options.openOnArrowKeyPress($event), ["up"])), _cache[2] || (_cache[2] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($event => $options.openOnArrowKeyPress($event), ["down"]))]
18577
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "input", {
18578
- inputProps: inputProps,
18579
- onInput: $options.handleDisplayList
18580
- })], 40, combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_1)];
18581
- }),
18582
- list: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref2 => {
18583
- let {
18584
- opened,
18585
- listProps,
18586
- clearHighlightIndex
18587
- } = _ref2;
18588
- return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_popover, {
18589
- ref: "popover",
18590
- open: $data.isListShown,
18591
- "onUpdate:open": _cache[3] || (_cache[3] = $event => $data.isListShown = $event),
18592
- "hide-on-click": false,
18593
- "max-height": $props.maxHeight,
18594
- "max-width": $props.maxWidth,
18595
- offset: $props.popoverOffset,
18596
- sticky: $props.popoverSticky,
18597
- placement: "bottom-start",
18598
- "initial-focus-element": "none",
18599
- padding: "none",
18600
- role: "listbox",
18601
- "external-anchor": $data.externalAnchor,
18602
- "content-width": $props.contentWidth,
18603
- "content-appear": true,
18604
- "content-tabindex": null,
18605
- modal: false,
18606
- "auto-focus": false,
18607
- "append-to": $props.appendTo,
18608
- "visually-hidden-close-label": _ctx.visuallyHiddenCloseLabel,
18609
- "visually-hidden-close": _ctx.visuallyHiddenClose,
18610
- onOpened: opened
18611
- }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createSlots)({
18612
- content: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
18613
- ref: "listWrapper",
18614
- class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)([$data.DROPDOWN_PADDING_CLASSES[$props.padding], $props.listClass]),
18615
- onMouseleave: clearHighlightIndex,
18616
- onFocusout: clearHighlightIndex
18617
- }, [$props.loading ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_combobox_loading_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
18618
- key: 0
18619
- }, listProps)), null, 16)) : $props.emptyList && $props.emptyStateMessage ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_combobox_empty_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
18620
- key: 1
18621
- }, listProps, {
18622
- message: $props.emptyStateMessage
18623
- }), null, 16, ["message"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "list", {
18624
- key: 2,
18625
- listProps: listProps
18626
- })], 42, combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_3)]),
18627
- _: 2
18628
- }, [$data.hasSlotContent(_ctx.$slots.header) ? {
18629
- name: "headerContent",
18630
- fn: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "header")], 512)]),
18631
- key: "0"
18632
- } : undefined, $data.hasSlotContent(_ctx.$slots.footer) ? {
18633
- name: "footerContent",
18634
- fn: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_4, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "footer")], 512)]),
18635
- key: "1"
18636
- } : undefined]), 1032, ["open", "max-height", "max-width", "offset", "sticky", "external-anchor", "content-width", "append-to", "visually-hidden-close-label", "visually-hidden-close", "onOpened"])];
18637
- }),
18638
- _: 3
18639
- }, 16, ["loading", "label", "label-visible", "size", "description", "empty-list", "empty-state-message", "show-list", "on-beginning-of-list", "on-end-of-list", "list-id"]);
18640
- }
18641
- ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=bdafd0f4
18642
-
18643
- ;// 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]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=script&lang=js
18644
- /* eslint-disable vuejs-accessibility/no-static-element-interactions */
18645
-
18646
-
18647
-
18648
-
18649
-
18650
-
18651
-
18561
+ ;// 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/scroller/modules/core-scroller.vue?vue&type=script&setup=true&lang=js
18652
18562
 
18653
18563
 
18654
- /* harmony default export */ const combobox_with_popovervue_type_script_lang_js = ({
18655
- name: 'DtRecipeComboboxWithPopover',
18656
- components: {
18657
- DtCombobox: combobox,
18658
- DtPopover: popover,
18659
- ComboboxLoadingList: combobox_loading_list,
18660
- ComboboxEmptyList: combobox_empty_list
18661
- },
18662
- mixins: [sr_only_close_button],
18564
+ /* harmony default export */ const core_scrollervue_type_script_setup_true_lang_js = ({
18565
+ __name: 'core-scroller',
18663
18566
  props: {
18664
18567
  /**
18665
- * String to use for the input label.
18666
- */
18667
- label: {
18668
- type: String,
18568
+ * List of items you want to display in the scroller.
18569
+ */
18570
+ items: {
18571
+ type: Array,
18669
18572
  required: true
18670
18573
  },
18671
18574
 
18672
18575
  /**
18673
- * Determines visibility of input label.
18674
- * @values true, false
18675
- */
18676
- labelVisible: {
18677
- type: Boolean,
18678
- default: true
18576
+ *
18577
+ * Field used to identify items and optimize managing rendered views
18578
+ */
18579
+ keyField: {
18580
+ type: String,
18581
+ default: 'id'
18679
18582
  },
18680
18583
 
18681
18584
  /**
18682
- * Size of the input, one of `xs`, `sm`, `md`, `lg`, `xl`
18683
- * @values null, xs, sm, md, lg, xl
18684
- */
18685
- size: {
18585
+ * Direction of the scroller. Can be either `vertical` or `horizontal`.
18586
+ */
18587
+ direction: {
18686
18588
  type: String,
18687
- default: null,
18688
- validator: t => Object.values(LABEL_SIZES).includes(t)
18589
+ default: 'vertical',
18590
+ validator: value => ['vertical', 'horizontal'].includes(value)
18689
18591
  },
18690
18592
 
18691
18593
  /**
18692
- * Description for the input
18693
- */
18694
- description: {
18695
- type: String,
18696
- default: ''
18594
+ * Size of the items in the list.
18595
+ * If it is set to null (the default value), it will use variable size mode.
18596
+ */
18597
+ itemSize: {
18598
+ type: Number,
18599
+ default: null
18697
18600
  },
18698
18601
 
18699
18602
  /**
18700
- * Determines when to show the list element and also controls the aria-expanded attribute.
18701
- * Leaving this null will have the combobox trigger on input focus by default.
18702
- * If you set this value, the default trigger behavior will be disabled and you can
18703
- * control it as you need.
18704
- */
18705
- showList: {
18706
- type: Boolean,
18603
+ * Minimum size used if the height (or width in horizontal mode) of an item is unknown.
18604
+ */
18605
+ minItemSize: {
18606
+ type: [Number, String],
18707
18607
  default: null
18708
18608
  },
18709
18609
 
18710
18610
  /**
18711
- * Sets an ID on the list element of the component. Used by several aria attributes
18712
- * as well as when deriving the IDs for each item.
18713
- */
18714
- listId: {
18611
+ * Field used to get the item's size in variable size mode.
18612
+ */
18613
+ sizeField: {
18715
18614
  type: String,
18716
-
18717
- default() {
18718
- return getUniqueString();
18719
- }
18720
-
18615
+ default: 'size'
18721
18616
  },
18722
18617
 
18723
18618
  /**
18724
- * Additional class for the wrapper list element.
18725
- */
18726
- listClass: {
18727
- type: [String, Array, Object],
18728
- default: ''
18619
+ * Amount of pixel to add to edges of the scrolling visible area to start rendering items further away.
18620
+ */
18621
+ buffer: {
18622
+ type: Number,
18623
+ default: 200
18729
18624
  },
18730
18625
 
18731
18626
  /**
18732
- * A method that will be called when the selection goes past the beginning of the list.
18733
- */
18734
- onBeginningOfList: {
18735
- type: Function,
18736
- default: null
18627
+ * If true, the hover state will be skipped.
18628
+ * This can be useful if you want to use the hover state for other purposes.
18629
+ */
18630
+ skipHover: {
18631
+ type: Boolean,
18632
+ default: false
18737
18633
  },
18738
18634
 
18739
18635
  /**
18740
- * A method that will be called when the selection goes past the end of the list.
18741
- */
18742
- onEndOfList: {
18743
- type: Function,
18744
- default: null
18636
+ * The element to render as the list's wrapper.
18637
+ */
18638
+ listTag: {
18639
+ type: String,
18640
+ default: 'div'
18745
18641
  },
18746
18642
 
18747
18643
  /**
18748
- * Determines maximum height for the popover before overflow.
18749
- * Possible units rem|px|em
18750
- */
18751
- maxHeight: {
18644
+ * The element to render as the list item.
18645
+ */
18646
+ itemTag: {
18752
18647
  type: String,
18753
- default: ''
18648
+ default: 'div'
18754
18649
  },
18755
18650
 
18756
18651
  /**
18757
- * Determines maximum width for the popover before overflow.
18758
- * Possible units rem|px|%|em
18759
- */
18760
- maxWidth: {
18761
- type: String,
18652
+ * The custom classes added to the item list wrapper.
18653
+ */
18654
+ listClass: {
18655
+ type: [String, Object, Array],
18762
18656
  default: ''
18763
18657
  },
18764
18658
 
18765
18659
  /**
18766
- * Vertical padding size around the list element.
18767
- */
18768
- padding: {
18769
- type: String,
18770
- default: 'small',
18771
- validator: padding => {
18772
- return Object.keys(DROPDOWN_PADDING_CLASSES).some(item => item === padding);
18773
- }
18660
+ * The custom classes added to each item.
18661
+ */
18662
+ itemClass: {
18663
+ type: [String, Object, Array],
18664
+ default: ''
18665
+ }
18666
+ },
18667
+ emits: ['scroll-start', 'scroll-end'],
18668
+
18669
+ setup(__props, _ref) {
18670
+ let {
18671
+ expose,
18672
+ emit
18673
+ } = _ref;
18674
+ const props = __props;
18675
+ const views = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.reactive)(new Map());
18676
+ const reactiveItems = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.reactive)(props.items);
18677
+ const unusedViews = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.reactive)(new Map());
18678
+ const updateTimeout = null;
18679
+ const pool = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)([]);
18680
+ const hoverKey = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
18681
+ const ready = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(false);
18682
+ const scroller = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
18683
+ let startIndex = 0;
18684
+ let endIndex = 0;
18685
+ let scrollDirty = false;
18686
+ let lastUpdateScrollPosition = 0;
18687
+ let sortTimer = null;
18688
+ let computedMinItemSize = null;
18689
+ let totalSize = 0;
18690
+ let uid = 0;
18691
+ const sizes = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
18692
+ if (props.itemSize === null) {
18693
+ const sizes = {
18694
+ '-1': {
18695
+ accumulator: 0
18696
+ }
18697
+ };
18698
+ const items = props.items;
18699
+ const field = props.sizeField;
18700
+ const minItemSize = props.minItemSize;
18701
+ let computedMinSize = 10000;
18702
+ let accumulator = 0;
18703
+ let current;
18704
+
18705
+ for (let i = 0, l = items.length; i < l; i++) {
18706
+ current = items[i][field] || minItemSize;
18707
+
18708
+ if (current < computedMinSize) {
18709
+ computedMinSize = current;
18710
+ }
18711
+
18712
+ accumulator += current;
18713
+ sizes[i] = {
18714
+ accumulator,
18715
+ size: current
18716
+ };
18717
+ }
18718
+
18719
+ computedMinItemSize = computedMinSize;
18720
+ return sizes;
18721
+ }
18722
+
18723
+ return [];
18724
+ });
18725
+ const simpleArray = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
18726
+ return props.items.length && typeof props.items[0] !== 'object';
18727
+ });
18728
+ const itemIndexByKey = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
18729
+ const result = {};
18730
+
18731
+ for (let i = 0, l = props.items.length; i < l; i++) {
18732
+ result[props.items[i][props.keyField]] = i;
18733
+ }
18734
+
18735
+ return result;
18736
+ });
18737
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(reactiveItems, () => {
18738
+ _updateVisibleItems(true);
18739
+ });
18740
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(sizes, () => {
18741
+ _updateVisibleItems(false);
18742
+ }, {
18743
+ deep: true
18744
+ });
18745
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.onMounted)(() => {
18746
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.nextTick)(() => {
18747
+ // In SSR mode, render the real number of visible items
18748
+ _updateVisibleItems(true);
18749
+
18750
+ ready.value = true;
18751
+ });
18752
+ });
18753
+
18754
+ const _addView = (pool, index, item, key, type) => {
18755
+ const nr = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.markRaw)({
18756
+ id: uid++,
18757
+ index,
18758
+ used: true,
18759
+ key,
18760
+ type
18761
+ });
18762
+ const view = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.shallowReactive)({
18763
+ item,
18764
+ position: 0,
18765
+ nr
18766
+ });
18767
+ pool.value.push(view);
18768
+ return view;
18769
+ };
18770
+
18771
+ const _unuseView = function (view) {
18772
+ let fake = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
18773
+ const _unusedViews = unusedViews;
18774
+ const type = view.nr.type;
18775
+
18776
+ let unusedPool = _unusedViews.get(type);
18777
+
18778
+ if (!unusedPool) {
18779
+ unusedPool = [];
18780
+
18781
+ _unusedViews.set(type, unusedPool);
18782
+ }
18783
+
18784
+ unusedPool.push(view);
18785
+
18786
+ if (!fake) {
18787
+ view.nr.used = false;
18788
+ view.position = -9999;
18789
+ }
18790
+ };
18791
+
18792
+ const _getScroll = () => {
18793
+ const isVertical = props.direction === 'vertical';
18794
+ let scrollState;
18795
+
18796
+ if (isVertical) {
18797
+ scrollState = {
18798
+ start: scroller.value.scrollTop,
18799
+ end: scroller.value.scrollTop + scroller.value.clientHeight
18800
+ };
18801
+ } else {
18802
+ scrollState = {
18803
+ start: scroller.value.scrollLeft,
18804
+ end: scroller.value.scrollLeft + scroller.value.clientWidth
18805
+ };
18806
+ }
18807
+
18808
+ return scrollState;
18809
+ };
18810
+
18811
+ const _itemsLimitError = () => {
18812
+ setTimeout(() => {
18813
+ // eslint-disable-next-line max-len
18814
+ console.error('It seems the scroller element isn\'t scrolling, so it tries to render all the items at once.', 'Scroller:', scroller); // eslint-disable-next-line max-len
18815
+
18816
+ console.error('Make sure the scroller has a fixed height (or width) and \'overflow-y\' (or \'overflow-x\') set to \'auto\' so it can scroll correctly and only render the items visible in the scroll viewport.');
18817
+ });
18818
+ throw new Error('Rendered items limit reached');
18819
+ };
18820
+
18821
+ const _sortViews = () => {
18822
+ pool.value.sort((viewA, viewB) => viewA.nr.index - viewB.nr.index);
18823
+ };
18824
+
18825
+ const _updateVisibleItems = function (checkItem) {
18826
+ let checkPositionDiff = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
18827
+ const itemSize = props.itemSize;
18828
+ const minItemSize = computedMinItemSize;
18829
+ const keyField = simpleArray.value ? null : props.keyField;
18830
+ const items = props.items;
18831
+ const count = items.length;
18832
+ const _sizes = sizes.value;
18833
+ const _views = views;
18834
+ const _unusedViews = unusedViews;
18835
+ const _pool = pool;
18836
+ const _itemIndexByKey = itemIndexByKey;
18837
+
18838
+ let _startIndex, _endIndex;
18839
+
18840
+ let _totalSize;
18841
+
18842
+ let visibleStartIndex, visibleEndIndex;
18843
+
18844
+ if (!count) {
18845
+ _startIndex = _endIndex = visibleStartIndex = visibleEndIndex = _totalSize = 0;
18846
+ } else {
18847
+ const scroll = _getScroll(); // Skip update if use hasn't scrolled enough
18848
+
18849
+
18850
+ if (checkPositionDiff) {
18851
+ let positionDiff = scroll.start - lastUpdateScrollPosition.value;
18852
+ if (positionDiff < 0) positionDiff = -positionDiff;
18853
+
18854
+ if (itemSize === null && positionDiff < minItemSize.value || positionDiff < itemSize) {
18855
+ return {
18856
+ continuous: true
18857
+ };
18858
+ }
18859
+ }
18860
+
18861
+ lastUpdateScrollPosition = scroll.start;
18862
+ const _buffer = props.buffer;
18863
+ scroll.start -= _buffer;
18864
+ scroll.end += _buffer; // Variable size mode
18865
+
18866
+ if (itemSize === null) {
18867
+ var _sizes3;
18868
+
18869
+ let h;
18870
+ let a = 0;
18871
+ let b = count - 1;
18872
+ let i = ~~(count / 2);
18873
+ let oldI; // Searching for _startIndex
18874
+
18875
+ do {
18876
+ var _sizes$i, _sizes2;
18877
+
18878
+ oldI = i;
18879
+ h = (_sizes$i = _sizes[i]) === null || _sizes$i === void 0 ? void 0 : _sizes$i.accumulator;
18880
+
18881
+ if (h < scroll.start) {
18882
+ a = i;
18883
+ } else if (i < count - 1 && ((_sizes2 = _sizes[i + 1]) === null || _sizes2 === void 0 ? void 0 : _sizes2.accumulator) > scroll.start) {
18884
+ b = i;
18885
+ }
18886
+
18887
+ i = ~~((a + b) / 2);
18888
+ } while (i !== oldI);
18889
+
18890
+ i < 0 && (i = 0);
18891
+ _startIndex = i; // For container style
18892
+
18893
+ _totalSize = (_sizes3 = _sizes[count - 1]) === null || _sizes3 === void 0 ? void 0 : _sizes3.accumulator; // Searching for _endIndex
18894
+
18895
+ for (_endIndex = i; _endIndex < count && ((_sizes$_endIndex = _sizes[_endIndex]) === null || _sizes$_endIndex === void 0 ? void 0 : _sizes$_endIndex.accumulator) < scroll.end; _endIndex++) {
18896
+ var _sizes$_endIndex;
18897
+
18898
+ ;
18899
+ }
18900
+
18901
+ if (_endIndex === -1) {
18902
+ _endIndex = items.length - 1;
18903
+ } else {
18904
+ _endIndex++; // Bounds
18905
+
18906
+ _endIndex > count && (_endIndex = count);
18907
+ } // search visible _startIndex
18908
+
18909
+
18910
+ for (visibleStartIndex = startIndex; visibleStartIndex < count && ((_sizes$visibleStartIn = _sizes[visibleStartIndex]) === null || _sizes$visibleStartIn === void 0 ? void 0 : _sizes$visibleStartIn.accumulator) < scroll.start; visibleStartIndex++) {
18911
+ var _sizes$visibleStartIn;
18912
+
18913
+ ;
18914
+ } // search visible endIndex
18915
+
18916
+
18917
+ for (visibleEndIndex = visibleStartIndex; visibleEndIndex < count && ((_sizes$visibleEndInde = _sizes[visibleEndIndex]) === null || _sizes$visibleEndInde === void 0 ? void 0 : _sizes$visibleEndInde.accumulator) < scroll.end; visibleEndIndex++) {
18918
+ var _sizes$visibleEndInde;
18919
+
18920
+ ;
18921
+ }
18922
+ } else {
18923
+ // Fixed size mode
18924
+ _startIndex = ~~(scroll.start / itemSize);
18925
+ const remainer = _startIndex % 1;
18926
+ _startIndex -= remainer;
18927
+ _endIndex = Math.ceil(scroll.end / itemSize);
18928
+ visibleStartIndex = Math.max(0, Math.floor(scroll.start / itemSize));
18929
+ visibleEndIndex = Math.floor(scroll.end / itemSize); // Bounds
18930
+
18931
+ _startIndex < 0 && (_startIndex = 0);
18932
+ _endIndex > count && (_endIndex = count);
18933
+ visibleStartIndex < 0 && (visibleStartIndex = 0);
18934
+ visibleEndIndex > count && (visibleEndIndex = count);
18935
+ _totalSize = Math.ceil(count / 1) * itemSize;
18936
+ }
18937
+ } // items limit 1000
18938
+
18939
+
18940
+ if (_endIndex - _startIndex > 1000) {
18941
+ _itemsLimitError();
18942
+ }
18943
+
18944
+ totalSize = _totalSize;
18945
+ let view;
18946
+ const continuous = _startIndex <= endIndex && _endIndex >= _startIndex; // Unuse views that are no longer visible
18947
+
18948
+ if (continuous) {
18949
+ for (let i = 0, l = _pool.value.length; i < l; i++) {
18950
+ var _view;
18951
+
18952
+ view = _pool.value[i];
18953
+
18954
+ if ((_view = view) !== null && _view !== void 0 && _view.nr.used) {
18955
+ // Update view item index
18956
+ if (checkItem) {
18957
+ view.nr.index = _itemIndexByKey[view.item[keyField]];
18958
+ } // Check if index is still in visible range
18959
+
18960
+
18961
+ if (view.nr.index == null || view.nr.index < _startIndex || view.nr.index >= _endIndex) {
18962
+ _unuseView(view);
18963
+ }
18964
+ }
18965
+ }
18966
+ }
18967
+
18968
+ const unusedIndex = continuous ? null : new Map();
18969
+ let item, type;
18970
+ let v;
18971
+
18972
+ for (let i = _startIndex; i < _endIndex; i++) {
18973
+ var _item, _sizes$i2;
18974
+
18975
+ item = items[i];
18976
+ const key = keyField ? (_item = item) === null || _item === void 0 ? void 0 : _item[keyField] : item;
18977
+
18978
+ if (key == null) {
18979
+ throw new Error(`Key is ${key} on item (keyField is '${keyField}')`);
18980
+ }
18981
+
18982
+ view = _views.get(key);
18983
+
18984
+ if (!itemSize && !((_sizes$i2 = _sizes[i]) !== null && _sizes$i2 !== void 0 && _sizes$i2.size)) {
18985
+ if (view) _unuseView(view);
18986
+ continue;
18987
+ }
18988
+
18989
+ type = item.type;
18990
+
18991
+ let unusedPool = _unusedViews.get(type);
18992
+
18993
+ let newlyUsedView = false; // No view assigned to item
18994
+
18995
+ if (!view) {
18996
+ if (continuous) {
18997
+ // Reuse existing view
18998
+ if (unusedPool && unusedPool.length) {
18999
+ view = unusedPool.pop();
19000
+ } else {
19001
+ view = _addView(_pool, i, item, key, type);
19002
+ }
19003
+ } else {
19004
+ // Use existing view
19005
+ // We don't care if they are already used
19006
+ // because we are not in continous scrolling
19007
+ v = unusedIndex.get(type) || 0;
19008
+
19009
+ if (!unusedPool || v >= unusedPool.length) {
19010
+ view = _addView(_pool, i, item, key, type);
19011
+
19012
+ _unuseView(view, true);
19013
+
19014
+ unusedPool = _unusedViews.get(type);
19015
+ }
19016
+
19017
+ view = unusedPool[v];
19018
+ unusedIndex.set(type, v + 1);
19019
+ } // Assign view to item
19020
+
19021
+
19022
+ _views.delete(view.nr.key);
19023
+
19024
+ view.nr.used = true;
19025
+ view.nr.index = i;
19026
+ view.nr.key = key;
19027
+ view.nr.type = type;
19028
+
19029
+ _views.set(key, view);
19030
+
19031
+ newlyUsedView = true;
19032
+ } else {
19033
+ // View already assigned to item
19034
+ if (!view.nr.used) {
19035
+ view.nr.used = true;
19036
+ newlyUsedView = true;
19037
+
19038
+ if (unusedPool) {
19039
+ const index = unusedPool.indexOf(view);
19040
+ if (index !== -1) unusedPool.splice(index, 1);
19041
+ }
19042
+ }
19043
+ } // Always set item in case it's a new object with the same key
19044
+
19045
+
19046
+ view.item = item;
19047
+
19048
+ if (newlyUsedView) {
19049
+ if (i === items.length - 1) emit('scroll-end');
19050
+ if (i === 0) emit('scroll-start');
19051
+ } // Update position
19052
+
19053
+
19054
+ if (itemSize === null) {
19055
+ var _sizes4;
19056
+
19057
+ view.position = (_sizes4 = _sizes[i - 1]) === null || _sizes4 === void 0 ? void 0 : _sizes4.accumulator;
19058
+ view.offset = 0;
19059
+ } else {
19060
+ view.position = Math.floor(i) * itemSize;
19061
+ view.offset = i % 1 * itemSize;
19062
+ }
19063
+ }
19064
+
19065
+ startIndex = _startIndex;
19066
+ endIndex = _endIndex; // After the user has finished scrolling
19067
+ // Sort views so text selection is correct
19068
+
19069
+ clearTimeout(sortTimer);
19070
+ sortTimer = setTimeout(_sortViews, 300);
19071
+ return {
19072
+ continuous
19073
+ };
19074
+ };
19075
+
19076
+ const _scrollToPosition = position => {
19077
+ const direction = props.direction === 'vertical' ? {
19078
+ scroll: 'scrollTop',
19079
+ start: 'top'
19080
+ } : {
19081
+ scroll: 'scrollLeft',
19082
+ start: 'left'
19083
+ };
19084
+ const viewport = scroller.value;
19085
+ const scrollDirection = direction.scroll;
19086
+ viewport[scrollDirection] = position;
19087
+ };
19088
+
19089
+ const scrollToItem = index => {
19090
+ let scroll;
19091
+
19092
+ if (props.itemSize === null) {
19093
+ var _sizes$value;
19094
+
19095
+ scroll = index > 0 ? (_sizes$value = sizes.value[index - 1]) === null || _sizes$value === void 0 ? void 0 : _sizes$value.accumulator : 0;
19096
+ } else {
19097
+ scroll = Math.floor(index) * props.itemSize;
19098
+ }
19099
+
19100
+ _scrollToPosition(scroll);
19101
+ };
19102
+
19103
+ const handleScroll = () => {
19104
+ if (!scrollDirty) {
19105
+ scrollDirty = true;
19106
+ if (updateTimeout) return;
19107
+
19108
+ const requestUpdate = () => requestAnimationFrame(() => {
19109
+ scrollDirty = false;
19110
+
19111
+ _updateVisibleItems(false, true);
19112
+ });
19113
+
19114
+ requestUpdate();
19115
+ }
19116
+ };
19117
+
19118
+ expose({
19119
+ scrollToItem
19120
+ });
19121
+ return (_ctx, _cache) => {
19122
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
19123
+ ref_key: "scroller",
19124
+ ref: scroller,
19125
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["vue-recycle-scroller", {
19126
+ ready: ready.value,
19127
+ [`direction-${__props.direction}`]: true
19128
+ }]),
19129
+ onScrollPassive: handleScroll
19130
+ }, [((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.listTag), {
19131
+ ref: "wrapper",
19132
+ style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)({
19133
+ [__props.direction === 'vertical' ? 'minHeight' : 'minWidth']: `${(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.unref)(totalSize)}px`
19134
+ }),
19135
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["vue-recycle-scroller__item-wrapper", __props.listClass])
19136
+ }, {
19137
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Fragment, null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderList)(pool.value, view => {
19138
+ 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.itemTag), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
19139
+ key: view.nr.id,
19140
+ style: ready.value ? {
19141
+ transform: `translate${__props.direction === 'vertical' ? 'Y' : 'X'}(${view.position}px) translate${__props.direction === 'vertical' ? 'X' : 'Y'}(${view.offset}px)`,
19142
+ width: undefined,
19143
+ height: undefined
19144
+ } : null,
19145
+ class: ["vue-recycle-scroller__item-view", [__props.itemClass, {
19146
+ hover: !__props.skipHover && hoverKey.value === view.nr.key
19147
+ }]]
19148
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toHandlers)(__props.skipHover ? {} : {
19149
+ mouseenter: () => {
19150
+ hoverKey.value = view.nr.key;
19151
+ },
19152
+ mouseleave: () => {
19153
+ hoverKey.value = null;
19154
+ }
19155
+ })), {
19156
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default", {
19157
+ item: view.item,
19158
+ index: view.nr.index,
19159
+ active: view.nr.used
19160
+ })]),
19161
+ _: 2
19162
+ }, 1040, ["style", "class"]);
19163
+ }), 128))]),
19164
+ _: 3
19165
+ }, 8, ["style", "class"]))], 34);
19166
+ };
19167
+ }
19168
+
19169
+ });
19170
+ ;// CONCATENATED MODULE: ./components/scroller/modules/core-scroller.vue?vue&type=script&setup=true&lang=js
19171
+
19172
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/scroller/modules/core-scroller.vue?vue&type=style&index=0&id=d2aff5e0&lang=css
19173
+ // extracted by mini-css-extract-plugin
19174
+
19175
+ ;// CONCATENATED MODULE: ./components/scroller/modules/core-scroller.vue?vue&type=style&index=0&id=d2aff5e0&lang=css
19176
+
19177
+ ;// CONCATENATED MODULE: ./components/scroller/modules/core-scroller.vue
19178
+
19179
+
19180
+
19181
+ ;
19182
+
19183
+ const core_scroller_exports_ = core_scrollervue_type_script_setup_true_lang_js;
19184
+
19185
+ /* harmony default export */ const core_scroller = (core_scroller_exports_);
19186
+ ;// 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/scroller/modules/dynamic-scroller.vue?vue&type=template&id=419ca1d0
19187
+
19188
+ function dynamic_scrollervue_type_template_id_419ca1d0_render(_ctx, _cache, $props, $setup, $data, $options) {
19189
+ const _component_dt_scroller_item = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-scroller-item");
19190
+
19191
+ const _component_core_scroller = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("core-scroller");
19192
+
19193
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_core_scroller, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
19194
+ ref: "scroller",
19195
+ items: $options.itemsWithSize,
19196
+ "min-item-size": $props.minItemSize,
19197
+ direction: $props.direction,
19198
+ "key-field": "id",
19199
+ "list-tag": $props.listTag,
19200
+ "item-tag": $props.itemTag
19201
+ }, _ctx.$attrs), {
19202
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref => {
19203
+ let {
19204
+ item: itemWithSize,
19205
+ index,
19206
+ active
19207
+ } = _ref;
19208
+ return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_scroller_item, {
19209
+ item: itemWithSize,
19210
+ active: active,
19211
+ "size-dependencies": [itemWithSize.message],
19212
+ "data-index": index
19213
+ }, {
19214
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default", (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.guardReactiveProps)({
19215
+ item: itemWithSize.item,
19216
+ index,
19217
+ active,
19218
+ itemWithSize
19219
+ })))]),
19220
+ _: 2
19221
+ }, 1032, ["item", "active", "size-dependencies", "data-index"])];
19222
+ }),
19223
+ _: 3
19224
+ }, 16, ["items", "min-item-size", "direction", "list-tag", "item-tag"]);
19225
+ }
19226
+ ;// CONCATENATED MODULE: ./components/scroller/modules/dynamic-scroller.vue?vue&type=template&id=419ca1d0
19227
+
19228
+ ;// 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/scroller/modules/scroller-item.vue?vue&type=script&lang=js
19229
+
19230
+ /* harmony default export */ const scroller_itemvue_type_script_lang_js = ({
19231
+ name: 'DtScrollerItem',
19232
+ inject: ['vscrollData', 'vscrollParent', 'vscrollResizeObserver'],
19233
+ props: {
19234
+ // eslint-disable-next-line vue/require-prop-types
19235
+ item: {
19236
+ required: true
19237
+ },
19238
+ watchData: {
19239
+ type: Boolean,
19240
+ default: false
19241
+ },
19242
+
19243
+ /**
19244
+ * Indicates if the view is actively used to display an item.
19245
+ */
19246
+ active: {
19247
+ type: Boolean,
19248
+ required: true
19249
+ },
19250
+ index: {
19251
+ type: Number,
19252
+ default: undefined
19253
+ },
19254
+ sizeDependencies: {
19255
+ type: [Array, Object],
19256
+ default: null
19257
+ },
19258
+ tag: {
19259
+ type: String,
19260
+ default: 'div'
19261
+ }
19262
+ },
19263
+ computed: {
19264
+ id() {
19265
+ if (this.vscrollData.simpleArray) return this.index; // eslint-disable-next-line no-prototype-builtins
19266
+
19267
+ if (this.vscrollData.keyField in this.item) return this.item[this.vscrollData.keyField];
19268
+ throw new Error(`keyField '${this.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`);
19269
+ },
19270
+
19271
+ size() {
19272
+ return this.vscrollData.sizes[this.id] || 0;
19273
+ },
19274
+
19275
+ finalActive() {
19276
+ return this.active && this.vscrollData.active;
19277
+ }
19278
+
19279
+ },
19280
+ watch: {
19281
+ watchData: 'updateWatchData',
19282
+
19283
+ id(value, oldValue) {
19284
+ this.$el.$_vs_id = this.id;
19285
+
19286
+ if (!this.size) {
19287
+ this.onDataUpdate();
19288
+ }
19289
+
19290
+ if (this.$_sizeObserved) {
19291
+ // In case the old item had the same size, it won't trigger the ResizeObserver
19292
+ // since we are reusing the same DOM node
19293
+ const oldSize = this.vscrollData.sizes[oldValue];
19294
+ const size = this.vscrollData.sizes[value];
19295
+
19296
+ if (oldSize != null && oldSize !== size) {
19297
+ this.applySize(oldSize);
19298
+ }
19299
+ }
19300
+ },
19301
+
19302
+ finalActive(value) {
19303
+ if (!this.size) {
19304
+ if (value) {
19305
+ if (!this.vscrollParent.$_undefinedMap[this.id]) {
19306
+ this.vscrollParent.$_undefinedSizes++;
19307
+ this.vscrollParent.$_undefinedMap[this.id] = true;
19308
+ }
19309
+ } else {
19310
+ if (this.vscrollParent.$_undefinedMap[this.id]) {
19311
+ this.vscrollParent.$_undefinedSizes--;
19312
+ this.vscrollParent.$_undefinedMap[this.id] = false;
19313
+ }
19314
+ }
19315
+ }
19316
+
19317
+ if (this.vscrollResizeObserver) {
19318
+ if (value) {
19319
+ this.observeSize();
19320
+ } else {
19321
+ this.unobserveSize();
19322
+ }
19323
+ } else if (value && this.$_pendingVScrollUpdate === this.id) {
19324
+ this.updateSize();
19325
+ }
19326
+ }
19327
+
19328
+ },
19329
+
19330
+ created() {
19331
+ if (this.$isServer) return;
19332
+ this.$_forceNextVScrollUpdate = null;
19333
+ this.updateWatchData();
19334
+
19335
+ if (!this.vscrollResizeObserver) {
19336
+ for (const k in this.sizeDependencies) {
19337
+ this.$watch(() => this.sizeDependencies[k], this.onDataUpdate);
19338
+ }
19339
+ }
19340
+ },
19341
+
19342
+ mounted() {
19343
+ if (this.finalActive) {
19344
+ this.updateSize();
19345
+ this.observeSize();
19346
+ }
19347
+ },
19348
+
19349
+ beforeUnmount() {
19350
+ this.unobserveSize();
19351
+ },
19352
+
19353
+ methods: {
19354
+ updateSize() {
19355
+ if (this.finalActive) {
19356
+ if (this.$_pendingSizeUpdate !== this.id) {
19357
+ this.$_pendingSizeUpdate = this.id;
19358
+ this.$_forceNextVScrollUpdate = null;
19359
+ this.$_pendingVScrollUpdate = null;
19360
+ this.computeSize(this.id);
19361
+ }
19362
+ } else {
19363
+ this.$_forceNextVScrollUpdate = this.id;
19364
+ }
19365
+ },
19366
+
19367
+ updateWatchData() {
19368
+ if (this.watchData && !this.vscrollResizeObserver) {
19369
+ this.$_watchData = this.$watch('item', () => {
19370
+ this.onDataUpdate();
19371
+ }, {
19372
+ deep: true
19373
+ });
19374
+ } else if (this.$_watchData) {
19375
+ this.$_watchData();
19376
+ this.$_watchData = null;
19377
+ }
19378
+ },
19379
+
19380
+ onVscrollUpdate(_ref) {
19381
+ let {
19382
+ force
19383
+ } = _ref;
19384
+
19385
+ // If not active, sechedule a size update when it becomes active
19386
+ if (!this.finalActive && force) {
19387
+ this.$_pendingVScrollUpdate = this.id;
19388
+ }
19389
+
19390
+ if (this.$_forceNextVScrollUpdate === this.id || force || !this.size) {
19391
+ this.updateSize();
19392
+ }
19393
+ },
19394
+
19395
+ onDataUpdate() {
19396
+ this.updateSize();
19397
+ },
19398
+
19399
+ computeSize(id) {
19400
+ this.$nextTick(() => {
19401
+ if (this.id === id) {
19402
+ const width = this.$el.offsetWidth;
19403
+ const height = this.$el.offsetHeight;
19404
+ this.applyWidthHeight(width, height);
19405
+ }
19406
+
19407
+ this.$_pendingSizeUpdate = null;
19408
+ });
19409
+ },
19410
+
19411
+ applyWidthHeight(width, height) {
19412
+ const size = ~~(this.vscrollParent.direction === 'vertical' ? height : width);
19413
+
19414
+ if (size && this.size !== size) {
19415
+ this.applySize(size);
19416
+ }
19417
+ },
19418
+
19419
+ applySize(size) {
19420
+ if (this.vscrollParent.$_undefinedMap[this.id]) {
19421
+ this.vscrollParent.$_undefinedSizes--;
19422
+ this.vscrollParent.$_undefinedMap[this.id] = undefined;
19423
+ }
19424
+
19425
+ this.vscrollData.sizes[this.id] = size;
19426
+ },
19427
+
19428
+ observeSize() {
19429
+ if (!this.vscrollResizeObserver) return;
19430
+ if (this.$_sizeObserved) return;
19431
+ this.vscrollResizeObserver.observe(this.$el);
19432
+ this.$el.$_vs_id = this.id;
19433
+ this.$el.$_vs_onResize = this.onResize;
19434
+ this.$_sizeObserved = true;
19435
+ },
19436
+
19437
+ unobserveSize() {
19438
+ if (!this.vscrollResizeObserver) return;
19439
+ if (!this.$_sizeObserved) return;
19440
+ this.vscrollResizeObserver.unobserve(this.$el);
19441
+ this.$el.$_vs_onResize = undefined;
19442
+ this.$_sizeObserved = false;
19443
+ },
19444
+
19445
+ onResize(id, width, height) {
19446
+ if (this.id === id) {
19447
+ this.applyWidthHeight(width, height);
19448
+ }
19449
+ }
19450
+
19451
+ },
19452
+
19453
+ render() {
19454
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.h)(this.tag, this.$slots.default());
19455
+ }
19456
+
19457
+ });
19458
+ ;// CONCATENATED MODULE: ./components/scroller/modules/scroller-item.vue?vue&type=script&lang=js
19459
+
19460
+ ;// CONCATENATED MODULE: ./components/scroller/modules/scroller-item.vue
19461
+
19462
+
19463
+
19464
+ const scroller_item_exports_ = scroller_itemvue_type_script_lang_js;
19465
+
19466
+ /* harmony default export */ const scroller_item = (scroller_item_exports_);
19467
+ ;// 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/scroller/modules/dynamic-scroller.vue?vue&type=script&lang=js
19468
+
19469
+
19470
+ /* harmony default export */ const dynamic_scrollervue_type_script_lang_js = ({
19471
+ name: 'DynamicScroller',
19472
+ components: {
19473
+ CoreScroller: core_scroller,
19474
+ DtScrollerItem: scroller_item
19475
+ },
19476
+
19477
+ provide() {
19478
+ if (typeof ResizeObserver !== 'undefined') {
19479
+ this.$_resizeObserver = new ResizeObserver(entries => {
19480
+ requestAnimationFrame(() => {
19481
+ if (!Array.isArray(entries)) {
19482
+ return;
19483
+ }
19484
+
19485
+ for (const entry of entries) {
19486
+ if (entry.target && entry.target.$_vs_onResize) {
19487
+ let width, height;
19488
+
19489
+ if (entry.borderBoxSize) {
19490
+ const resizeObserverSize = entry.borderBoxSize[0];
19491
+ width = resizeObserverSize.inlineSize;
19492
+ height = resizeObserverSize.blockSize;
19493
+ } else {
19494
+ // @TODO remove when contentRect is deprecated
19495
+ width = entry.contentRect.width;
19496
+ height = entry.contentRect.height;
19497
+ }
19498
+
19499
+ entry.target.$_vs_onResize(entry.target.$_vs_id, width, height);
19500
+ }
19501
+ }
19502
+ });
19503
+ });
19504
+ }
19505
+
19506
+ return {
19507
+ vscrollData: this.vscrollData,
19508
+ vscrollParent: this,
19509
+ vscrollResizeObserver: this.$_resizeObserver
19510
+ };
19511
+ },
19512
+
19513
+ inheritAttrs: false,
19514
+ props: {
19515
+ /*
19516
+ * The items to render.
19517
+ * If the items are simple arrays, the index will be used as the key.
19518
+ * If the items are objects, the keyField will be used as the key.
19519
+ */
19520
+ items: {
19521
+ type: Array,
19522
+ required: true
19523
+ },
19524
+
19525
+ /*
19526
+ * Indicates if the items are dynamic.
19527
+ * If true, the items will be wrapped in a DtScrollerItem component.
19528
+ * This is required for dynamic items to be able to react to changes in their size.
19529
+ */
19530
+ dynamic: {
19531
+ type: Boolean,
19532
+ default: false
19533
+ },
19534
+
19535
+ /*
19536
+ * The key field to use for the items.
19537
+ * Only used if the items are objects.
19538
+ */
19539
+ keyField: {
19540
+ type: String,
19541
+ default: 'id'
19542
+ },
19543
+
19544
+ /*
19545
+ * The direction of the scroller.
19546
+ * Can be either 'vertical' or 'horizontal'.
19547
+ */
19548
+ direction: {
19549
+ type: String,
19550
+ default: 'vertical',
19551
+ validator: value => ['vertical', 'horizontal'].includes(value)
19552
+ },
19553
+
19554
+ /*
19555
+ * The tag to use for the list.
19556
+ */
19557
+ listTag: {
19558
+ type: String,
19559
+ default: 'div'
19560
+ },
19561
+
19562
+ /*
19563
+ * The tag to use for the items.
19564
+ */
19565
+ itemTag: {
19566
+ type: String,
19567
+ default: 'div'
19568
+ },
19569
+
19570
+ /*
19571
+ * Display height (or width in horizontal mode) of the items in pixels
19572
+ * used to calculate the scroll size and position.
19573
+ * Is required for the initial render of items in DYNAMIC size mode.
19574
+ */
19575
+ minItemSize: {
19576
+ type: [Number, String]
19577
+ }
19578
+ },
19579
+
19580
+ data() {
19581
+ return {
19582
+ vscrollData: {
19583
+ active: true,
19584
+ sizes: {},
19585
+ keyField: this.keyField,
19586
+ simpleArray: false
19587
+ }
19588
+ };
19589
+ },
19590
+
19591
+ computed: {
19592
+ simpleArray() {
19593
+ return this.items.length && typeof this.items[0] !== 'object';
19594
+ },
19595
+
19596
+ itemsWithSize() {
19597
+ const result = [];
19598
+ const {
19599
+ items,
19600
+ keyField,
19601
+ simpleArray
19602
+ } = this;
19603
+ const sizes = this.vscrollData.sizes;
19604
+ const l = items.length;
19605
+
19606
+ for (let i = 0; i < l; i++) {
19607
+ const item = items[i];
19608
+ const id = simpleArray ? i : item[keyField];
19609
+ let size = sizes[id];
19610
+
19611
+ if (typeof size === 'undefined' && !this.$_undefinedMap[id]) {
19612
+ size = 0;
19613
+ }
19614
+
19615
+ result.push({
19616
+ item,
19617
+ id,
19618
+ size
19619
+ });
19620
+ }
19621
+
19622
+ return result;
19623
+ }
19624
+
19625
+ },
19626
+ watch: {
19627
+ simpleArray: {
19628
+ handler(value) {
19629
+ this.vscrollData.simpleArray = value;
19630
+ },
19631
+
19632
+ immediate: true
19633
+ },
19634
+
19635
+ itemsWithSize(next, prev) {
19636
+ const scrollTop = this.$el.scrollTop; // Calculate total diff between prev and next sizes
19637
+ // over current scroll top. Then add it to scrollTop to
19638
+ // avoid jumping the contents that the user is seeing.
19639
+
19640
+ let prevActiveTop = 0;
19641
+ let activeTop = 0;
19642
+ const length = Math.min(next.length, prev.length);
19643
+
19644
+ for (let i = 0; i < length; i++) {
19645
+ if (prevActiveTop >= scrollTop) {
19646
+ break;
19647
+ }
19648
+
19649
+ prevActiveTop += prev[i].size || this.minItemSize;
19650
+ activeTop += next[i].size || this.minItemSize;
19651
+ }
19652
+
19653
+ const offset = activeTop - prevActiveTop;
19654
+
19655
+ if (offset === 0) {
19656
+ return;
19657
+ }
19658
+
19659
+ this.$el.scrollTop += offset;
19660
+ }
19661
+
19662
+ },
19663
+
19664
+ beforeCreate() {
19665
+ this.$_updates = [];
19666
+ this.$_undefinedSizes = 0;
19667
+ this.$_undefinedMap = {};
19668
+ },
19669
+
19670
+ activated() {
19671
+ this.vscrollData.active = true;
19672
+ },
19673
+
19674
+ deactivated() {
19675
+ this.vscrollData.active = false;
19676
+ },
19677
+
19678
+ methods: {
19679
+ scrollToItem(index) {
19680
+ const scroller = this.$refs.scroller;
19681
+ if (scroller) scroller.scrollToItem(index);
19682
+ }
19683
+
19684
+ }
19685
+ });
19686
+ ;// CONCATENATED MODULE: ./components/scroller/modules/dynamic-scroller.vue?vue&type=script&lang=js
19687
+
19688
+ ;// CONCATENATED MODULE: ./components/scroller/modules/dynamic-scroller.vue
19689
+
19690
+
19691
+
19692
+
19693
+ ;
19694
+ const dynamic_scroller_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(dynamic_scrollervue_type_script_lang_js, [['render',dynamic_scrollervue_type_template_id_419ca1d0_render]])
19695
+
19696
+ /* harmony default export */ const dynamic_scroller = (dynamic_scroller_exports_);
19697
+ ;// 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/scroller/DtScroller.vue?vue&type=script&setup=true&lang=js
19698
+
19699
+
19700
+
19701
+
19702
+ /* harmony default export */ const DtScrollervue_type_script_setup_true_lang_js = ({
19703
+ __name: 'DtScroller',
19704
+ props: {
19705
+ /**
19706
+ * The direction of the scroller.
19707
+ * @values vertical, horizontal
19708
+ */
19709
+ direction: {
19710
+ type: String,
19711
+ default: 'vertical',
19712
+ validator: value => ['vertical', 'horizontal'].includes(value)
19713
+ },
19714
+
19715
+ /**
19716
+ * Indicates if the items need to react to changes in their size.
19717
+ * If disabled the itemSize prop is required and you will get improved performance.
19718
+ * If enabled the minItemSize prop is required and you
19719
+ * will have reduced performance but the ability to reactively size list items
19720
+ * @values true, false
19721
+ */
19722
+ dynamic: {
19723
+ type: Boolean,
19724
+ default: false
19725
+ },
19726
+
19727
+ /**
19728
+ * Display height (or width in horizontal mode) of the items in pixels
19729
+ * used to calculate the scroll size and position.
19730
+ * Required if DYNAMIC is false
19731
+ */
19732
+ itemSize: {
19733
+ type: Number,
19734
+ default: null
19735
+ },
19736
+
19737
+ /**
19738
+ * The tag to use for the items.
19739
+ */
19740
+ itemTag: {
19741
+ type: String,
19742
+ default: 'div'
19743
+ },
19744
+
19745
+ /**
19746
+ * The items to render.
19747
+ * If the items are simple arrays, the index will be used as the key.
19748
+ * If the items are objects, the keyField will be used as the key.
19749
+ * @example items: [ 'item1', 'item2', 'item3' ]
19750
+ * @example items: [ { id: 1, name: 'item1' }, { id: 2, name: 'item2' }, { id: 3, name: 'item3' } ]
19751
+ */
19752
+ items: {
19753
+ type: Array,
19754
+ required: true
19755
+ },
19756
+
19757
+ /**
19758
+ * The key field to use for the items.
19759
+ * If the items are objects, the scroller needs to be able to identify them.
19760
+ * By default it will look for an id field on the items.
19761
+ * This can be configured with this prop if you are using another field name.
19762
+ */
19763
+ keyField: {
19764
+ type: String,
19765
+ default: 'id'
19766
+ },
19767
+
19768
+ /**
19769
+ * The tag to use for the list.
19770
+ */
19771
+ listTag: {
19772
+ type: String,
19773
+ default: 'div'
19774
+ },
19775
+
19776
+ /**
19777
+ * Minimum size used if the height (or width in horizontal mode) of a item is unknown.
19778
+ * Is required for the initial render of items in DYNAMIC size mode.
19779
+ */
19780
+ minItemSize: {
19781
+ type: [Number, String],
19782
+ default: null
19783
+ },
19784
+
19785
+ /**
19786
+ * The height of the scroller.
19787
+ * Can be a number (in pixels) or a string (in CSS units).
19788
+ */
19789
+ scrollerHeight: {
19790
+ type: [String, Number],
19791
+ default: '100%'
19792
+ },
19793
+
19794
+ /**
19795
+ * The width of the scroller.
19796
+ * Can be a number (in pixels) or a string (in CSS units).
19797
+ */
19798
+ scrollerWidth: {
19799
+ type: [String, Number],
19800
+ default: '100%'
19801
+ }
19802
+ },
19803
+ emits: ['scroll-start', 'scroll-end'],
19804
+
19805
+ setup(__props, _ref) {
19806
+ let {
19807
+ expose,
19808
+ emit: emits
19809
+ } = _ref;
19810
+ const props = __props;
19811
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.provide)('emit', emits);
19812
+ const scroller = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
19813
+ const computedStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
19814
+ return {
19815
+ width: typeof props.scrollerWidth === 'number' ? `${props.scrollerWidth}px` : props.scrollerWidth,
19816
+ height: typeof props.scrollerHeight === 'number' ? `${props.scrollerHeight}px` : props.scrollerHeight
19817
+ };
19818
+ });
19819
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(props, () => {
19820
+ validateProps();
19821
+ }, {
19822
+ deep: true,
19823
+ immediate: true
19824
+ });
19825
+
19826
+ function scrollToItem(index) {
19827
+ if (scroller.value) scroller.value.scrollToItem(index);
19828
+ }
19829
+
19830
+ function validateProps() {
19831
+ if (props.dynamic && !props.minItemSize) {
19832
+ console.error('DtScroller error: \'minItemSize\' is required on \'dynamic\' mode.');
19833
+ }
19834
+
19835
+ if (!props.dynamic && !props.itemSize) {
19836
+ console.error('DtScroller error: \'itemSize\' is required.');
19837
+ }
19838
+ }
19839
+
19840
+ expose({
19841
+ scrollToItem
19842
+ });
19843
+ return (_ctx, _cache) => {
19844
+ 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.dynamic ? dynamic_scroller : core_scroller), {
19845
+ ref_key: "scroller",
19846
+ ref: scroller,
19847
+ "data-qa": "dt-scroller",
19848
+ items: __props.items,
19849
+ "item-size": __props.itemSize,
19850
+ "min-item-size": __props.minItemSize,
19851
+ direction: __props.direction,
19852
+ "key-field": "id",
19853
+ "list-tag": __props.listTag,
19854
+ "item-tag": __props.itemTag,
19855
+ style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.unref)(computedStyle)),
19856
+ tabindex: "0",
19857
+ onScrollStart: _cache[0] || (_cache[0] = $event => _ctx.$emit('scroll-start')),
19858
+ onScrollEnd: _cache[1] || (_cache[1] = $event => _ctx.$emit('scroll-end'))
19859
+ }, {
19860
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref2 => {
19861
+ let {
19862
+ item,
19863
+ index,
19864
+ active
19865
+ } = _ref2;
19866
+ return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default", (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.guardReactiveProps)({
19867
+ item: item,
19868
+ index,
19869
+ active
19870
+ })))];
19871
+ }),
19872
+ _: 3
19873
+ }, 40, ["items", "item-size", "min-item-size", "direction", "list-tag", "item-tag", "style"]);
19874
+ };
19875
+ }
19876
+
19877
+ });
19878
+ ;// CONCATENATED MODULE: ./components/scroller/DtScroller.vue?vue&type=script&setup=true&lang=js
19879
+
19880
+ ;// CONCATENATED MODULE: ./components/scroller/DtScroller.vue
19881
+
19882
+
19883
+
19884
+ const DtScroller_exports_ = DtScrollervue_type_script_setup_true_lang_js;
19885
+
19886
+ /* harmony default export */ const DtScroller = (DtScroller_exports_);
19887
+ ;// CONCATENATED MODULE: ./components/scroller/index.js
19888
+
19889
+ ;// 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]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=bdafd0f4
19890
+
19891
+ const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_1 = ["id"];
19892
+ const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_2 = {
19893
+ ref: "header"
19894
+ };
19895
+ const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_3 = ["onMouseleave", "onFocusout"];
19896
+ const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_4 = {
19897
+ ref: "footer"
19898
+ };
19899
+ function combobox_with_popovervue_type_template_id_bdafd0f4_render(_ctx, _cache, $props, $setup, $data, $options) {
19900
+ const _component_combobox_loading_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("combobox-loading-list");
19901
+
19902
+ const _component_combobox_empty_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("combobox-empty-list");
19903
+
19904
+ const _component_dt_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-popover");
19905
+
19906
+ const _component_dt_combobox = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-combobox");
19907
+
19908
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_combobox, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
19909
+ ref: "combobox",
19910
+ loading: $props.loading,
19911
+ label: $props.label,
19912
+ "label-visible": $props.labelVisible,
19913
+ size: $props.size,
19914
+ description: $props.description,
19915
+ "empty-list": $props.emptyList,
19916
+ "empty-state-message": $props.emptyStateMessage,
19917
+ "show-list": $data.isListShown,
19918
+ "on-beginning-of-list": $props.onBeginningOfList,
19919
+ "on-end-of-list": $props.onEndOfList,
19920
+ "list-rendered-outside": true,
19921
+ "list-id": $props.listId,
19922
+ "data-qa": "dt-combobox"
19923
+ }, $options.comboboxListeners), {
19924
+ input: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref => {
19925
+ let {
19926
+ inputProps
19927
+ } = _ref;
19928
+ return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
19929
+ id: $data.externalAnchor,
19930
+ ref: "input",
19931
+ onFocusin: _cache[0] || (_cache[0] = function () {
19932
+ return $options.onFocusIn && $options.onFocusIn(...arguments);
19933
+ }),
19934
+ onKeydown: [_cache[1] || (_cache[1] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($event => $options.openOnArrowKeyPress($event), ["up"])), _cache[2] || (_cache[2] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($event => $options.openOnArrowKeyPress($event), ["down"]))]
19935
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "input", {
19936
+ inputProps: inputProps,
19937
+ onInput: $options.handleDisplayList
19938
+ })], 40, combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_1)];
19939
+ }),
19940
+ list: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref2 => {
19941
+ let {
19942
+ opened,
19943
+ listProps,
19944
+ clearHighlightIndex
19945
+ } = _ref2;
19946
+ return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_popover, {
19947
+ ref: "popover",
19948
+ open: $data.isListShown,
19949
+ "onUpdate:open": _cache[3] || (_cache[3] = $event => $data.isListShown = $event),
19950
+ "hide-on-click": false,
19951
+ "max-height": $props.maxHeight,
19952
+ "max-width": $props.maxWidth,
19953
+ offset: $props.popoverOffset,
19954
+ sticky: $props.popoverSticky,
19955
+ placement: "bottom-start",
19956
+ "initial-focus-element": "none",
19957
+ padding: "none",
19958
+ role: "listbox",
19959
+ "external-anchor": $data.externalAnchor,
19960
+ "content-width": $props.contentWidth,
19961
+ "content-appear": true,
19962
+ "content-tabindex": null,
19963
+ modal: false,
19964
+ "auto-focus": false,
19965
+ "append-to": $props.appendTo,
19966
+ "visually-hidden-close-label": _ctx.visuallyHiddenCloseLabel,
19967
+ "visually-hidden-close": _ctx.visuallyHiddenClose,
19968
+ onOpened: opened
19969
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createSlots)({
19970
+ content: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
19971
+ ref: "listWrapper",
19972
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)([$data.DROPDOWN_PADDING_CLASSES[$props.padding], $props.listClass]),
19973
+ onMouseleave: clearHighlightIndex,
19974
+ onFocusout: clearHighlightIndex
19975
+ }, [$props.loading ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_combobox_loading_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
19976
+ key: 0
19977
+ }, listProps)), null, 16)) : $props.emptyList && $props.emptyStateMessage ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_combobox_empty_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
19978
+ key: 1
19979
+ }, listProps, {
19980
+ message: $props.emptyStateMessage
19981
+ }), null, 16, ["message"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "list", {
19982
+ key: 2,
19983
+ listProps: listProps
19984
+ })], 42, combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_3)]),
19985
+ _: 2
19986
+ }, [$data.hasSlotContent(_ctx.$slots.header) ? {
19987
+ name: "headerContent",
19988
+ fn: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "header")], 512)]),
19989
+ key: "0"
19990
+ } : undefined, $data.hasSlotContent(_ctx.$slots.footer) ? {
19991
+ name: "footerContent",
19992
+ fn: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_4, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "footer")], 512)]),
19993
+ key: "1"
19994
+ } : undefined]), 1032, ["open", "max-height", "max-width", "offset", "sticky", "external-anchor", "content-width", "append-to", "visually-hidden-close-label", "visually-hidden-close", "onOpened"])];
19995
+ }),
19996
+ _: 3
19997
+ }, 16, ["loading", "label", "label-visible", "size", "description", "empty-list", "empty-state-message", "show-list", "on-beginning-of-list", "on-end-of-list", "list-id"]);
19998
+ }
19999
+ ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=bdafd0f4
20000
+
20001
+ ;// 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]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=script&lang=js
20002
+ /* eslint-disable vuejs-accessibility/no-static-element-interactions */
20003
+
20004
+
20005
+
20006
+
20007
+
20008
+
20009
+
20010
+
20011
+
20012
+ /* harmony default export */ const combobox_with_popovervue_type_script_lang_js = ({
20013
+ name: 'DtRecipeComboboxWithPopover',
20014
+ components: {
20015
+ DtCombobox: combobox,
20016
+ DtPopover: popover,
20017
+ ComboboxLoadingList: combobox_loading_list,
20018
+ ComboboxEmptyList: combobox_empty_list
20019
+ },
20020
+ mixins: [sr_only_close_button],
20021
+ props: {
20022
+ /**
20023
+ * String to use for the input label.
20024
+ */
20025
+ label: {
20026
+ type: String,
20027
+ required: true
20028
+ },
20029
+
20030
+ /**
20031
+ * Determines visibility of input label.
20032
+ * @values true, false
20033
+ */
20034
+ labelVisible: {
20035
+ type: Boolean,
20036
+ default: true
20037
+ },
20038
+
20039
+ /**
20040
+ * Size of the input, one of `xs`, `sm`, `md`, `lg`, `xl`
20041
+ * @values null, xs, sm, md, lg, xl
20042
+ */
20043
+ size: {
20044
+ type: String,
20045
+ default: null,
20046
+ validator: t => Object.values(LABEL_SIZES).includes(t)
20047
+ },
20048
+
20049
+ /**
20050
+ * Description for the input
20051
+ */
20052
+ description: {
20053
+ type: String,
20054
+ default: ''
20055
+ },
20056
+
20057
+ /**
20058
+ * Determines when to show the list element and also controls the aria-expanded attribute.
20059
+ * Leaving this null will have the combobox trigger on input focus by default.
20060
+ * If you set this value, the default trigger behavior will be disabled and you can
20061
+ * control it as you need.
20062
+ */
20063
+ showList: {
20064
+ type: Boolean,
20065
+ default: null
20066
+ },
20067
+
20068
+ /**
20069
+ * Sets an ID on the list element of the component. Used by several aria attributes
20070
+ * as well as when deriving the IDs for each item.
20071
+ */
20072
+ listId: {
20073
+ type: String,
20074
+
20075
+ default() {
20076
+ return getUniqueString();
20077
+ }
20078
+
20079
+ },
20080
+
20081
+ /**
20082
+ * Additional class for the wrapper list element.
20083
+ */
20084
+ listClass: {
20085
+ type: [String, Array, Object],
20086
+ default: ''
20087
+ },
20088
+
20089
+ /**
20090
+ * A method that will be called when the selection goes past the beginning of the list.
20091
+ */
20092
+ onBeginningOfList: {
20093
+ type: Function,
20094
+ default: null
20095
+ },
20096
+
20097
+ /**
20098
+ * A method that will be called when the selection goes past the end of the list.
20099
+ */
20100
+ onEndOfList: {
20101
+ type: Function,
20102
+ default: null
20103
+ },
20104
+
20105
+ /**
20106
+ * Determines maximum height for the popover before overflow.
20107
+ * Possible units rem|px|em
20108
+ */
20109
+ maxHeight: {
20110
+ type: String,
20111
+ default: ''
20112
+ },
20113
+
20114
+ /**
20115
+ * Determines maximum width for the popover before overflow.
20116
+ * Possible units rem|px|%|em
20117
+ */
20118
+ maxWidth: {
20119
+ type: String,
20120
+ default: ''
20121
+ },
20122
+
20123
+ /**
20124
+ * Vertical padding size around the list element.
20125
+ */
20126
+ padding: {
20127
+ type: String,
20128
+ default: 'small',
20129
+ validator: padding => {
20130
+ return Object.keys(DROPDOWN_PADDING_CLASSES).some(item => item === padding);
20131
+ }
18774
20132
  },
18775
20133
 
18776
20134
  /**
@@ -19739,9 +21097,9 @@ const combobox_multi_select_exports_ = /*#__PURE__*/(0,exportHelper/* default */
19739
21097
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/index.js
19740
21098
 
19741
21099
 
19742
- ;// 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]!./recipes/buttons/callbar_button/callbar_button.vue?vue&type=template&id=5a354a3a
21100
+ ;// 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]!./recipes/buttons/callbar_button/callbar_button.vue?vue&type=template&id=26061d5a
19743
21101
 
19744
- function callbar_buttonvue_type_template_id_5a354a3a_render(_ctx, _cache, $props, $setup, $data, $options) {
21102
+ function callbar_buttonvue_type_template_id_26061d5a_render(_ctx, _cache, $props, $setup, $data, $options) {
19745
21103
  const _component_dt_button = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-button");
19746
21104
 
19747
21105
  const _component_dt_tooltip = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-tooltip");
@@ -19756,19 +21114,19 @@ function callbar_buttonvue_type_template_id_5a354a3a_render(_ctx, _cache, $props
19756
21114
  "icon-position": "top",
19757
21115
  disabled: $props.disabled,
19758
21116
  "aria-label": $props.ariaLabel,
19759
- "label-class": "d-fs-100",
21117
+ "label-class": $options.callbarButtonTextClass,
19760
21118
  width: $options.buttonWidth,
19761
21119
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)($options.callbarButtonClass)
19762
21120
  }, {
19763
21121
  icon: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "icon")]),
19764
21122
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default")]),
19765
21123
  _: 3
19766
- }, 8, ["importance", "disabled", "aria-label", "width", "class"])]),
21124
+ }, 8, ["importance", "disabled", "aria-label", "label-class", "width", "class"])]),
19767
21125
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "tooltip")]),
19768
21126
  _: 3
19769
21127
  }, 8, ["id"]);
19770
21128
  }
19771
- ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button/callbar_button.vue?vue&type=template&id=5a354a3a
21129
+ ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button/callbar_button.vue?vue&type=template&id=26061d5a
19772
21130
 
19773
21131
  ;// 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]!./recipes/buttons/callbar_button/callbar_button.vue?vue&type=script&lang=js
19774
21132
 
@@ -19856,6 +21214,14 @@ const VALID_WIDTH_SIZE = ['sm', 'md', 'lg', 'xl'];
19856
21214
  default: ''
19857
21215
  },
19858
21216
 
21217
+ /**
21218
+ * Additional class name for the button text.
21219
+ */
21220
+ textClass: {
21221
+ type: [String, Array, Object],
21222
+ default: ''
21223
+ },
21224
+
19859
21225
  /*
19860
21226
  * Width size. Valid values are: 'xl', 'lg', 'md' and 'sm'.
19861
21227
  */
@@ -19867,7 +21233,7 @@ const VALID_WIDTH_SIZE = ['sm', 'md', 'lg', 'xl'];
19867
21233
  },
19868
21234
  computed: {
19869
21235
  callbarButtonClass() {
19870
- return [this.buttonClass, 'dt-recipe-callbar-button', 'd-px0', {
21236
+ return [this.buttonClass, 'dt-recipe-callbar-button', 'd-px0', 'd-fc-black-900', {
19871
21237
  'dt-recipe-callbar-button--circle': this.circle,
19872
21238
  'd-btn--icon-only': this.circle,
19873
21239
  'dt-recipe-callbar-button--active': this.active,
@@ -19875,6 +21241,10 @@ const VALID_WIDTH_SIZE = ['sm', 'md', 'lg', 'xl'];
19875
21241
  }];
19876
21242
  },
19877
21243
 
21244
+ callbarButtonTextClass() {
21245
+ return ['d-fs-100 lg:d-d-none md:d-d-none sm:d-d-none', this.textClass];
21246
+ },
21247
+
19878
21248
  buttonWidth() {
19879
21249
  switch (this.buttonWidthSize) {
19880
21250
  case 'sm':
@@ -19892,10 +21262,10 @@ const VALID_WIDTH_SIZE = ['sm', 'md', 'lg', 'xl'];
19892
21262
  });
19893
21263
  ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button/callbar_button.vue?vue&type=script&lang=js
19894
21264
 
19895
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.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/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/buttons/callbar_button/callbar_button.vue?vue&type=style&index=0&id=5a354a3a&lang=less
21265
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.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/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/buttons/callbar_button/callbar_button.vue?vue&type=style&index=0&id=26061d5a&lang=less
19896
21266
  // extracted by mini-css-extract-plugin
19897
21267
 
19898
- ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button/callbar_button.vue?vue&type=style&index=0&id=5a354a3a&lang=less
21268
+ ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button/callbar_button.vue?vue&type=style&index=0&id=26061d5a&lang=less
19899
21269
 
19900
21270
  ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button/callbar_button.vue
19901
21271
 
@@ -19905,17 +21275,17 @@ const VALID_WIDTH_SIZE = ['sm', 'md', 'lg', 'xl'];
19905
21275
  ;
19906
21276
 
19907
21277
 
19908
- const callbar_button_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(callbar_buttonvue_type_script_lang_js, [['render',callbar_buttonvue_type_template_id_5a354a3a_render]])
21278
+ const callbar_button_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(callbar_buttonvue_type_script_lang_js, [['render',callbar_buttonvue_type_template_id_26061d5a_render]])
19909
21279
 
19910
21280
  /* harmony default export */ const callbar_button = (callbar_button_exports_);
19911
21281
  ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button/index.js
19912
21282
 
19913
- ;// 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]!./recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue?vue&type=template&id=fef43d00
21283
+ ;// 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]!./recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue?vue&type=template&id=20c26330
19914
21284
 
19915
- const callbar_button_with_popovervue_type_template_id_fef43d00_hoisted_1 = {
21285
+ const callbar_button_with_popovervue_type_template_id_20c26330_hoisted_1 = {
19916
21286
  class: "d-d-flex d-ai-center"
19917
21287
  };
19918
- function callbar_button_with_popovervue_type_template_id_fef43d00_render(_ctx, _cache, $props, $setup, $data, $options) {
21288
+ function callbar_button_with_popovervue_type_template_id_20c26330_render(_ctx, _cache, $props, $setup, $data, $options) {
19919
21289
  const _component_dt_recipe_callbar_button = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-recipe-callbar-button");
19920
21290
 
19921
21291
  const _component_dt_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-icon");
@@ -19924,13 +21294,14 @@ function callbar_button_with_popovervue_type_template_id_fef43d00_render(_ctx, _
19924
21294
 
19925
21295
  const _component_dt_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-popover");
19926
21296
 
19927
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", callbar_button_with_popovervue_type_template_id_fef43d00_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_recipe_callbar_button, {
21297
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", callbar_button_with_popovervue_type_template_id_20c26330_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_recipe_callbar_button, {
19928
21298
  "aria-label": $props.ariaLabel,
19929
21299
  disabled: $props.disabled,
19930
21300
  active: $props.active,
19931
21301
  danger: $props.danger,
19932
21302
  "button-class": $props.buttonClass,
19933
21303
  "button-width-size": $props.buttonWidthSize,
21304
+ "text-class": $props.textClass,
19934
21305
  class: "dt-recipe--callbar-button-with-popover--main-button",
19935
21306
  onClick: $options.buttonClick
19936
21307
  }, {
@@ -19938,7 +21309,7 @@ function callbar_button_with_popovervue_type_template_id_fef43d00_render(_ctx, _
19938
21309
  tooltip: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "tooltip")]),
19939
21310
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default")]),
19940
21311
  _: 3
19941
- }, 8, ["aria-label", "disabled", "active", "danger", "button-class", "button-width-size", "onClick"]), $options.showArrowButton ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_popover, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
21312
+ }, 8, ["aria-label", "disabled", "active", "danger", "button-class", "button-width-size", "text-class", "onClick"]), $options.showArrowButton ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_popover, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
19942
21313
  key: 0,
19943
21314
  id: $props.id,
19944
21315
  open: $data.open,
@@ -19974,7 +21345,7 @@ function callbar_button_with_popovervue_type_template_id_fef43d00_render(_ctx, _
19974
21345
  _: 3
19975
21346
  }, 16, ["id", "open", "placement", "initial-focus-element", "show-close-button", "dialog-class", "onOpened"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)]);
19976
21347
  }
19977
- ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue?vue&type=template&id=fef43d00
21348
+ ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue?vue&type=template&id=20c26330
19978
21349
 
19979
21350
  ;// 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]!./recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue?vue&type=script&lang=js
19980
21351
 
@@ -20129,6 +21500,14 @@ function callbar_button_with_popovervue_type_template_id_fef43d00_render(_ctx, _
20129
21500
  default: ''
20130
21501
  },
20131
21502
 
21503
+ /**
21504
+ * Additional class name for the button text.
21505
+ */
21506
+ textClass: {
21507
+ type: [String, Array, Object],
21508
+ default: ''
21509
+ },
21510
+
20132
21511
  /*
20133
21512
  * Width size. Valid values are: 'xl', 'lg', 'md' and 'sm'.
20134
21513
  */
@@ -20199,10 +21578,10 @@ function callbar_button_with_popovervue_type_template_id_fef43d00_render(_ctx, _
20199
21578
  });
20200
21579
  ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue?vue&type=script&lang=js
20201
21580
 
20202
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.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/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue?vue&type=style&index=0&id=fef43d00&lang=less
21581
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.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/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue?vue&type=style&index=0&id=20c26330&lang=less
20203
21582
  // extracted by mini-css-extract-plugin
20204
21583
 
20205
- ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue?vue&type=style&index=0&id=fef43d00&lang=less
21584
+ ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue?vue&type=style&index=0&id=20c26330&lang=less
20206
21585
 
20207
21586
  ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue
20208
21587
 
@@ -20212,31 +21591,31 @@ function callbar_button_with_popovervue_type_template_id_fef43d00_render(_ctx, _
20212
21591
  ;
20213
21592
 
20214
21593
 
20215
- const callbar_button_with_popover_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(callbar_button_with_popovervue_type_script_lang_js, [['render',callbar_button_with_popovervue_type_template_id_fef43d00_render]])
21594
+ const callbar_button_with_popover_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(callbar_button_with_popovervue_type_script_lang_js, [['render',callbar_button_with_popovervue_type_template_id_20c26330_render]])
20216
21595
 
20217
21596
  /* harmony default export */ const callbar_button_with_popover = (callbar_button_with_popover_exports_);
20218
21597
  ;// CONCATENATED MODULE: ./recipes/buttons/callbar_button_with_popover/index.js
20219
21598
 
20220
- ;// 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]!./recipes/list_items/contact_info/contact_info.vue?vue&type=template&id=9fe40f88
21599
+ ;// 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]!./recipes/list_items/contact_info/contact_info.vue?vue&type=template&id=0720678b
20221
21600
 
20222
- const contact_infovue_type_template_id_9fe40f88_hoisted_1 = {
21601
+ const contact_infovue_type_template_id_0720678b_hoisted_1 = {
20223
21602
  class: "d-ps-relative",
20224
21603
  "data-qa": "contact-info-left"
20225
21604
  };
20226
- const contact_infovue_type_template_id_9fe40f88_hoisted_2 = ["src", "alt"];
20227
- const contact_infovue_type_template_id_9fe40f88_hoisted_3 = {
21605
+ const contact_infovue_type_template_id_0720678b_hoisted_2 = ["src", "alt"];
21606
+ const contact_infovue_type_template_id_0720678b_hoisted_3 = {
20228
21607
  "data-qa": "contact-info-header"
20229
21608
  };
20230
- const contact_infovue_type_template_id_9fe40f88_hoisted_4 = {
21609
+ const contact_infovue_type_template_id_0720678b_hoisted_4 = {
20231
21610
  "data-qa": "contact-info-subtitle"
20232
21611
  };
20233
- const contact_infovue_type_template_id_9fe40f88_hoisted_5 = {
21612
+ const contact_infovue_type_template_id_0720678b_hoisted_5 = {
20234
21613
  "data-qa": "contact-info-bottom"
20235
21614
  };
20236
- const contact_infovue_type_template_id_9fe40f88_hoisted_6 = {
21615
+ const contact_infovue_type_template_id_0720678b_hoisted_6 = {
20237
21616
  "data-qa": "contact-info-right"
20238
21617
  };
20239
- function contact_infovue_type_template_id_9fe40f88_render(_ctx, _cache, $props, $setup, $data, $options) {
21618
+ function contact_infovue_type_template_id_0720678b_render(_ctx, _cache, $props, $setup, $data, $options) {
20240
21619
  const _component_dt_avatar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-avatar");
20241
21620
 
20242
21621
  const _component_dt_list_item = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-list-item");
@@ -20247,48 +21626,35 @@ function contact_infovue_type_template_id_9fe40f88_render(_ctx, _cache, $props,
20247
21626
  "element-type": "div",
20248
21627
  "data-qa": "contact-info"
20249
21628
  }, {
20250
- left: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_9fe40f88_hoisted_1, [$props.avatarSrc ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_avatar, {
21629
+ left: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_0720678b_hoisted_1, [$props.avatarSrc ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_avatar, {
20251
21630
  key: 0,
20252
- size: "lg"
21631
+ size: $props.avatarSize,
21632
+ presence: $props.presence
20253
21633
  }, {
20254
21634
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("img", {
20255
21635
  "data-qa": "dt-contact-avatar",
20256
21636
  src: $props.avatarSrc,
20257
21637
  alt: $props.avatarInitials
20258
- }, null, 8, contact_infovue_type_template_id_9fe40f88_hoisted_2)]),
21638
+ }, null, 8, contact_infovue_type_template_id_0720678b_hoisted_2)]),
20259
21639
  _: 1
20260
- })) : $props.avatarInitials ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_avatar, {
21640
+ }, 8, ["size", "presence"])) : $props.avatarInitials ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_avatar, {
20261
21641
  key: 1,
20262
- size: "lg"
21642
+ size: $props.avatarSize,
21643
+ presence: $props.presence
20263
21644
  }, {
20264
21645
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.avatarInitials), 1)]),
20265
21646
  _: 1
20266
- })) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), $options.showUserStatus ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
20267
- key: 2,
20268
- class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['d-ba', 'd-bc-white', 'd-baw2', 'd-bar2', 'd-ps-absolute', 'd-bn1', 'd-rn1', 'd-w20p', 'd-h20p', $data.USER_STATUS_COLOR_MODIFIERS[$props.userStatusColor]]),
20269
- "data-qa": "contact-info-user-status"
20270
- }, "   ", 2)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])]),
20271
- default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_9fe40f88_hoisted_3, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "header")])]),
20272
- subtitle: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_9fe40f88_hoisted_4, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "subtitle")])]),
20273
- bottom: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_9fe40f88_hoisted_5, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "bottom")])]),
20274
- right: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_9fe40f88_hoisted_6, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "right")])]),
21647
+ }, 8, ["size", "presence"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])]),
21648
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_0720678b_hoisted_3, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "header")])]),
21649
+ subtitle: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_0720678b_hoisted_4, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "subtitle")])]),
21650
+ bottom: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_0720678b_hoisted_5, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "bottom")])]),
21651
+ right: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_0720678b_hoisted_6, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "right")])]),
20275
21652
  _: 3
20276
21653
  }, 8, ["id", "role"]);
20277
21654
  }
20278
- ;// CONCATENATED MODULE: ./recipes/list_items/contact_info/contact_info.vue?vue&type=template&id=9fe40f88
20279
-
20280
- ;// CONCATENATED MODULE: ./recipes/list_items/contact_info/contact_info_constants.js
20281
- const USER_STATUS_COLOR_MODIFIERS = {
20282
- none: '',
20283
- green: 'd-bgc-green-300',
20284
- gold: 'd-bgc-gold-200',
20285
- red: 'd-bgc-red-200'
20286
- };
20287
- /* harmony default export */ const contact_info_constants = ({
20288
- USER_STATUS_COLOR_MODIFIERS
20289
- });
20290
- ;// 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]!./recipes/list_items/contact_info/contact_info.vue?vue&type=script&lang=js
21655
+ ;// CONCATENATED MODULE: ./recipes/list_items/contact_info/contact_info.vue?vue&type=template&id=0720678b
20291
21656
 
21657
+ ;// 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]!./recipes/list_items/contact_info/contact_info.vue?vue&type=script&lang=js
20292
21658
 
20293
21659
 
20294
21660
 
@@ -20345,25 +21711,24 @@ const USER_STATUS_COLOR_MODIFIERS = {
20345
21711
 
20346
21712
  /**
20347
21713
  * Status color of user from contact.
21714
+ * The size of the avatar
21715
+ * @values xs, sm, md, lg, xl
20348
21716
  */
20349
- userStatusColor: {
21717
+ avatarSize: {
20350
21718
  type: String,
20351
- default: 'none',
20352
- validator: color => Object.keys(USER_STATUS_COLOR_MODIFIERS).includes(color)
20353
- }
20354
- },
20355
-
20356
- data() {
20357
- return {
20358
- USER_STATUS_COLOR_MODIFIERS: USER_STATUS_COLOR_MODIFIERS
20359
- };
20360
- },
21719
+ default: 'lg'
21720
+ },
20361
21721
 
20362
- computed: {
20363
- showUserStatus() {
20364
- return this.userStatusColor !== 'none';
21722
+ /**
21723
+ * Determines whether to show the presence indicator for
21724
+ * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',
21725
+ * or 'active'. By default, it's null and nothing is shown.
21726
+ * @values null, busy, away, offline, active
21727
+ */
21728
+ presence: {
21729
+ type: String,
21730
+ default: null
20365
21731
  }
20366
-
20367
21732
  }
20368
21733
  });
20369
21734
  ;// CONCATENATED MODULE: ./recipes/list_items/contact_info/contact_info.vue?vue&type=script&lang=js
@@ -20374,12 +21739,11 @@ const USER_STATUS_COLOR_MODIFIERS = {
20374
21739
 
20375
21740
 
20376
21741
  ;
20377
- const contact_info_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(contact_infovue_type_script_lang_js, [['render',contact_infovue_type_template_id_9fe40f88_render]])
21742
+ const contact_info_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(contact_infovue_type_script_lang_js, [['render',contact_infovue_type_template_id_0720678b_render]])
20378
21743
 
20379
21744
  /* harmony default export */ const contact_info = (contact_info_exports_);
20380
21745
  ;// CONCATENATED MODULE: ./recipes/list_items/contact_info/index.js
20381
21746
 
20382
-
20383
21747
  ;// 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]!./recipes/notices/top_banner_info/top_banner_info.vue?vue&type=template&id=ca4ec176
20384
21748
 
20385
21749
  const top_banner_infovue_type_template_id_ca4ec176_hoisted_1 = {
@@ -20460,19 +21824,19 @@ const top_banner_info_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(to
20460
21824
  ;// CONCATENATED MODULE: ./recipes/notices/top_banner_info/index.js
20461
21825
 
20462
21826
 
20463
- ;// 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]!./recipes/cards/ivr_node/ivr_node.vue?vue&type=template&id=19695402
21827
+ ;// 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]!./recipes/cards/ivr_node/ivr_node.vue?vue&type=template&id=61018687
20464
21828
 
20465
- const ivr_nodevue_type_template_id_19695402_hoisted_1 = {
21829
+ const ivr_nodevue_type_template_id_61018687_hoisted_1 = {
20466
21830
  class: "d-d-flex d-ai-center"
20467
21831
  };
20468
- const ivr_nodevue_type_template_id_19695402_hoisted_2 = {
21832
+ const ivr_nodevue_type_template_id_61018687_hoisted_2 = {
20469
21833
  class: "d-fs-200 d-fw-bold",
20470
21834
  "data-qa": "ivr-node-label"
20471
21835
  };
20472
- const ivr_nodevue_type_template_id_19695402_hoisted_3 = {
21836
+ const ivr_nodevue_type_template_id_61018687_hoisted_3 = {
20473
21837
  class: "d-w164"
20474
21838
  };
20475
- function ivr_nodevue_type_template_id_19695402_render(_ctx, _cache, $props, $setup, $data, $options) {
21839
+ function ivr_nodevue_type_template_id_61018687_render(_ctx, _cache, $props, $setup, $data, $options) {
20476
21840
  const _component_dt_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-icon");
20477
21841
 
20478
21842
  const _component_dt_button = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-button");
@@ -20486,16 +21850,18 @@ function ivr_nodevue_type_template_id_19695402_render(_ctx, _cache, $props, $set
20486
21850
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toHandlers)($options.nodeListeners, true)), [$props.dtmfKey ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
20487
21851
  key: 0,
20488
21852
  "data-qa": "dt-top-connector-dtmf",
20489
- class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["d-zi-base1 d-ai-center d-jc-center d-d-flex d-w24 d-h24 d-bar-circle d-bc-purple-600 d-bgc-purple-600 d-mbn12 d-fc-white d-fs-200", {
21853
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["ivr-connector d-w24 d-h24 d-bar-circle d-mbn12 d-fc-white d-fs-200", {
20490
21854
  'd-mbn16': $props.isSelected
20491
21855
  }])
20492
- }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.dtmfKey), 3)) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
20493
- key: 1,
21856
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.dtmfKey), 3)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), _ctx.$slots.connector ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "connector", {
21857
+ key: 1
21858
+ }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), !$props.dtmfKey && !_ctx.$slots.connector ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
21859
+ key: 2,
20494
21860
  "data-qa": "dt-top-connector",
20495
- class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["d-zi-base1 d-d-flex d-w8 d-h8 d-bar-circle d-bc-purple-600 d-bgc-purple-600 d-mbn4", {
21861
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["ivr-connector d-w8 d-h8 d-bar-circle d-mbn4", {
20496
21862
  'd-mbn8': $props.isSelected
20497
21863
  }])
20498
- }, null, 2)), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_card, {
21864
+ }, null, 2)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_card, {
20499
21865
  "content-class": "d-bt d-bc-black-300 d-px12 d-pt8 d-pb12",
20500
21866
  "container-class": ['d-w100p', {
20501
21867
  'd-ba d-bar8 d-baw4': $props.isSelected
@@ -20504,7 +21870,7 @@ function ivr_nodevue_type_template_id_19695402_render(_ctx, _cache, $props, $set
20504
21870
  'd-btr4': !$props.isSelected
20505
21871
  }]
20506
21872
  }, {
20507
- header: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", ivr_nodevue_type_template_id_19695402_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_button, {
21873
+ header: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", ivr_nodevue_type_template_id_61018687_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_button, {
20508
21874
  "aria-label": $props.nodeType,
20509
21875
  importance: "clear",
20510
21876
  "data-qa": "dt-ivr-node-icon"
@@ -20517,7 +21883,7 @@ function ivr_nodevue_type_template_id_19695402_render(_ctx, _cache, $props, $set
20517
21883
  }])
20518
21884
  }, null, 8, ["name", "class"])]),
20519
21885
  _: 1
20520
- }, 8, ["aria-label"]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("p", ivr_nodevue_type_template_id_19695402_hoisted_2, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.nodeLabel), 1)]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_dropdown, {
21886
+ }, 8, ["aria-label"]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("p", ivr_nodevue_type_template_id_61018687_hoisted_2, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.nodeLabel), 1)]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_dropdown, {
20521
21887
  open: $data.isOpen,
20522
21888
  "onUpdate:open": _cache[0] || (_cache[0] = $event => $data.isOpen = $event),
20523
21889
  placement: "bottom"
@@ -20538,7 +21904,7 @@ function ivr_nodevue_type_template_id_19695402_render(_ctx, _cache, $props, $set
20538
21904
  let {
20539
21905
  close
20540
21906
  } = _ref;
20541
- return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", ivr_nodevue_type_template_id_19695402_hoisted_3, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "menuItems", {
21907
+ return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", ivr_nodevue_type_template_id_61018687_hoisted_3, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "menuItems", {
20542
21908
  close: close
20543
21909
  })])];
20544
21910
  }),
@@ -20548,7 +21914,7 @@ function ivr_nodevue_type_template_id_19695402_render(_ctx, _cache, $props, $set
20548
21914
  _: 3
20549
21915
  }, 8, ["container-class", "header-class"])], 16);
20550
21916
  }
20551
- ;// CONCATENATED MODULE: ./recipes/cards/ivr_node/ivr_node.vue?vue&type=template&id=19695402
21917
+ ;// CONCATENATED MODULE: ./recipes/cards/ivr_node/ivr_node.vue?vue&type=template&id=61018687
20552
21918
 
20553
21919
  ;// CONCATENATED MODULE: ./recipes/cards/ivr_node/ivr_node_constants.js
20554
21920
  const IVR_NODE_PROMPT_MENU = 'promptmenu';
@@ -20706,10 +22072,10 @@ const IVR_NODE_COLOR_MAPPING = {
20706
22072
  });
20707
22073
  ;// CONCATENATED MODULE: ./recipes/cards/ivr_node/ivr_node.vue?vue&type=script&lang=js
20708
22074
 
20709
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.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/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/cards/ivr_node/ivr_node.vue?vue&type=style&index=0&id=19695402&lang=less
22075
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.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/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/cards/ivr_node/ivr_node.vue?vue&type=style&index=0&id=61018687&lang=less
20710
22076
  // extracted by mini-css-extract-plugin
20711
22077
 
20712
- ;// CONCATENATED MODULE: ./recipes/cards/ivr_node/ivr_node.vue?vue&type=style&index=0&id=19695402&lang=less
22078
+ ;// CONCATENATED MODULE: ./recipes/cards/ivr_node/ivr_node.vue?vue&type=style&index=0&id=61018687&lang=less
20713
22079
 
20714
22080
  ;// CONCATENATED MODULE: ./recipes/cards/ivr_node/ivr_node.vue
20715
22081
 
@@ -20719,7 +22085,7 @@ const IVR_NODE_COLOR_MAPPING = {
20719
22085
  ;
20720
22086
 
20721
22087
 
20722
- const ivr_node_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(ivr_nodevue_type_script_lang_js, [['render',ivr_nodevue_type_template_id_19695402_render]])
22088
+ const ivr_node_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(ivr_nodevue_type_script_lang_js, [['render',ivr_nodevue_type_template_id_61018687_render]])
20723
22089
 
20724
22090
  /* harmony default export */ const ivr_node = (ivr_node_exports_);
20725
22091
  ;// CONCATENATED MODULE: ./recipes/cards/ivr_node/index.js
@@ -20809,35 +22175,49 @@ const grouped_chip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(group
20809
22175
  /* harmony default export */ const grouped_chip = (grouped_chip_exports_);
20810
22176
  ;// CONCATENATED MODULE: ./recipes/chips/grouped_chip/index.js
20811
22177
 
20812
- ;// 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]!./recipes/leftbar/general_row/general_row.vue?vue&type=template&id=06ebf262
22178
+ ;// 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]!./recipes/leftbar/general_row/general_row.vue?vue&type=template&id=46f0cd86
20813
22179
 
20814
- const general_rowvue_type_template_id_06ebf262_hoisted_1 = {
22180
+ const general_rowvue_type_template_id_46f0cd86_hoisted_1 = ["aria-label", "title"];
22181
+ const general_rowvue_type_template_id_46f0cd86_hoisted_2 = {
20815
22182
  class: "dt-leftbar-row__alpha"
20816
22183
  };
20817
- const general_rowvue_type_template_id_06ebf262_hoisted_2 = {
22184
+ const general_rowvue_type_template_id_46f0cd86_hoisted_3 = {
22185
+ key: 0,
22186
+ class: "dt-leftbar-row__is-typing"
22187
+ };
22188
+
22189
+ const general_rowvue_type_template_id_46f0cd86_hoisted_4 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", null, null, -1);
22190
+
22191
+ const general_rowvue_type_template_id_46f0cd86_hoisted_5 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", null, null, -1);
22192
+
22193
+ const general_rowvue_type_template_id_46f0cd86_hoisted_6 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", null, null, -1);
22194
+
22195
+ const general_rowvue_type_template_id_46f0cd86_hoisted_7 = [general_rowvue_type_template_id_46f0cd86_hoisted_4, general_rowvue_type_template_id_46f0cd86_hoisted_5, general_rowvue_type_template_id_46f0cd86_hoisted_6];
22196
+ const general_rowvue_type_template_id_46f0cd86_hoisted_8 = {
20818
22197
  class: "dt-leftbar-row__label"
20819
22198
  };
20820
- const general_rowvue_type_template_id_06ebf262_hoisted_3 = {
22199
+ const _hoisted_9 = {
20821
22200
  class: "dt-leftbar-row__omega"
20822
22201
  };
20823
- const general_rowvue_type_template_id_06ebf262_hoisted_4 = {
20824
- key: 0,
22202
+ const _hoisted_10 = {
20825
22203
  class: "dt-leftbar-row__dnd"
20826
22204
  };
20827
- const general_rowvue_type_template_id_06ebf262_hoisted_5 = {
22205
+ const _hoisted_11 = {
20828
22206
  key: 1,
20829
22207
  class: "dt-leftbar-row__active-voice"
20830
22208
  };
20831
- const general_rowvue_type_template_id_06ebf262_hoisted_6 = {
22209
+ const _hoisted_12 = {
20832
22210
  key: 0,
20833
22211
  class: "dt-leftbar-row__action",
20834
22212
  "data-qa": "dt-leftbar-row-action"
20835
22213
  };
20836
- function general_rowvue_type_template_id_06ebf262_render(_ctx, _cache, $props, $setup, $data, $options) {
22214
+ function general_rowvue_type_template_id_46f0cd86_render(_ctx, _cache, $props, $setup, $data, $options) {
20837
22215
  const _component_dt_recipe_leftbar_general_row_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-recipe-leftbar-general-row-icon");
20838
22216
 
20839
22217
  const _component_dt_emoji_text_wrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-emoji-text-wrapper");
20840
22218
 
22219
+ const _component_dt_tooltip = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-tooltip");
22220
+
20841
22221
  const _component_dt_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-icon");
20842
22222
 
20843
22223
  const _component_dt_badge = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-badge");
@@ -20849,47 +22229,74 @@ function general_rowvue_type_template_id_06ebf262_render(_ctx, _cache, $props, $
20849
22229
  "data-qa": "dt-leftbar-row"
20850
22230
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("button", (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
20851
22231
  class: "dt-leftbar-row__primary",
20852
- "data-qa": "dt-leftbar-row-link"
20853
- }, _ctx.$attrs), [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", general_rowvue_type_template_id_06ebf262_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "left", {}, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_recipe_leftbar_general_row_icon, {
22232
+ "data-qa": "dt-leftbar-row-link",
22233
+ "aria-label": $options.getAriaLabel,
22234
+ title: $props.description
22235
+ }, _ctx.$attrs), [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", general_rowvue_type_template_id_46f0cd86_hoisted_2, [$props.isTyping ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", general_rowvue_type_template_id_46f0cd86_hoisted_3, general_rowvue_type_template_id_46f0cd86_hoisted_7)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "left", {
22236
+ key: 1
22237
+ }, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_recipe_leftbar_general_row_icon, {
22238
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)({
22239
+ 'd-o50': $props.isTyping
22240
+ }),
20854
22241
  type: $options.getIcon,
20855
22242
  color: $props.color,
20856
22243
  "data-qa": "dt-leftbar-row-icon"
20857
- }, null, 8, ["type", "color"])])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", general_rowvue_type_template_id_06ebf262_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "label", {}, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_emoji_text_wrapper, {
22244
+ }, null, 8, ["class", "type", "color"])])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", general_rowvue_type_template_id_46f0cd86_hoisted_8, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "label", {}, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_emoji_text_wrapper, {
20858
22245
  class: "dt-leftbar-row__description",
20859
22246
  "data-qa": "dt-leftbar-row-description"
20860
22247
  }, {
20861
22248
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.description), 1)]),
20862
22249
  _: 1
20863
- })])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", general_rowvue_type_template_id_06ebf262_hoisted_3, [$props.dndText ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", general_rowvue_type_template_id_06ebf262_hoisted_4, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.dndText), 1)) : $props.activeVoiceChat ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", general_rowvue_type_template_id_06ebf262_hoisted_5, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_icon, {
22250
+ })])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", _hoisted_9, [$props.dndText ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_tooltip, {
22251
+ key: 0,
22252
+ placement: "top",
22253
+ message: $props.dndTextTooltip
22254
+ }, {
22255
+ anchor: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", _hoisted_10, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.dndText), 1)]),
22256
+ _: 1
22257
+ }, 8, ["message"])) : $props.activeVoiceChat ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", _hoisted_11, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_icon, {
20864
22258
  size: "300",
20865
22259
  name: "activity"
20866
- })])) : !!$props.unreadCount && $props.hasUnreads ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_badge, {
22260
+ })])) : !!$props.unreadCount && $props.hasUnreads ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_tooltip, {
20867
22261
  key: 2,
20868
- kind: "count",
20869
- type: "bulletin",
20870
- "data-qa": "dt-leftbar-row-unread-badge"
22262
+ message: $props.unreadCountTooltip,
22263
+ placement: "top"
20871
22264
  }, {
20872
- default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.unreadCount), 1)]),
22265
+ anchor: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_badge, {
22266
+ kind: "count",
22267
+ type: "bulletin",
22268
+ "data-qa": "dt-leftbar-row-unread-badge"
22269
+ }, {
22270
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.unreadCount), 1)]),
22271
+ _: 1
22272
+ })]),
20873
22273
  _: 1
20874
- })) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])], 16), $props.hasCallButton ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", general_rowvue_type_template_id_06ebf262_hoisted_6, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_button, {
20875
- class: "dt-leftbar-row__action-button",
20876
- "data-qa": "dt-leftbar-row-action-call-button",
20877
- circle: "",
20878
- size: "xs",
20879
- kind: "inverted",
20880
- onFocus: _cache[0] || (_cache[0] = $event => $data.actionFocused = true),
20881
- onBlur: _cache[1] || (_cache[1] = $event => $data.actionFocused = false),
20882
- onMouseout: _cache[2] || (_cache[2] = $event => $data.actionFocused = false),
20883
- onClick: _cache[3] || (_cache[3] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => _ctx.$emit('call', $event), ["stop"]))
22274
+ }, 8, ["message"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])], 16, general_rowvue_type_template_id_46f0cd86_hoisted_1), $props.hasCallButton ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", _hoisted_12, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_tooltip, {
22275
+ message: $props.callButtonTooltip,
22276
+ placement: "top"
20884
22277
  }, {
20885
- icon: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_icon, {
20886
- name: "phone",
20887
- size: "200"
20888
- })]),
22278
+ anchor: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_button, {
22279
+ class: "dt-leftbar-row__action-button",
22280
+ "data-qa": "dt-leftbar-row-action-call-button",
22281
+ circle: "",
22282
+ size: "xs",
22283
+ kind: "inverted",
22284
+ "aria-label": $props.callButtonTooltip,
22285
+ onFocus: _cache[0] || (_cache[0] = $event => $data.actionFocused = true),
22286
+ onBlur: _cache[1] || (_cache[1] = $event => $data.actionFocused = false),
22287
+ onMouseleave: _cache[2] || (_cache[2] = $event => $data.actionFocused = false),
22288
+ onClick: _cache[3] || (_cache[3] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => _ctx.$emit('call', $event), ["stop"]))
22289
+ }, {
22290
+ icon: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_icon, {
22291
+ name: "phone",
22292
+ size: "200"
22293
+ })]),
22294
+ _: 1
22295
+ }, 8, ["aria-label"])]),
20889
22296
  _: 1
20890
- })])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 2);
22297
+ }, 8, ["message"])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 2);
20891
22298
  }
20892
- ;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=template&id=06ebf262
22299
+ ;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=template&id=46f0cd86
20893
22300
 
20894
22301
  ;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row_constants.js
20895
22302
  const LEFTBAR_GENERAL_ROW_TYPES = {
@@ -20899,6 +22306,9 @@ const LEFTBAR_GENERAL_ROW_TYPES = {
20899
22306
  THREADS: 'threads',
20900
22307
  LOCKED_CHANNEL: 'locked channel',
20901
22308
  CONTACT_CENTER: 'contact center',
22309
+ QUICK_START: 'quick start',
22310
+ COACHING_GROUP: 'coaching group',
22311
+ COACHING_CENTER: 'coaching center',
20902
22312
  DIALBOT: 'dialbot',
20903
22313
  ASSIGNED: 'assigned',
20904
22314
  DIGITAL: 'digital'
@@ -20909,6 +22319,9 @@ const LEFTBAR_GENERAL_ROW_ICON_MAPPING = {
20909
22319
  [LEFTBAR_GENERAL_ROW_TYPES.CHANNELS]: 'hash',
20910
22320
  [LEFTBAR_GENERAL_ROW_TYPES.THREADS]: 'thread',
20911
22321
  [LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL]: 'lock',
22322
+ [LEFTBAR_GENERAL_ROW_TYPES.QUICK_START]: 'sparkle',
22323
+ [LEFTBAR_GENERAL_ROW_TYPES.COACHING_GROUP]: 'users',
22324
+ [LEFTBAR_GENERAL_ROW_TYPES.COACHING_CENTER]: 'external-link',
20912
22325
  'locked channel unread': 'lock-filled',
20913
22326
  'channel unread': 'hash-bold',
20914
22327
  [LEFTBAR_GENERAL_ROW_TYPES.ASSIGNED]: 'at-sign',
@@ -21441,12 +22854,12 @@ const emoji_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(emojivue_typ
21441
22854
  const emoji_text_wrapper_exports_ = emoji_text_wrappervue_type_script_lang_js;
21442
22855
 
21443
22856
  /* harmony default export */ const emoji_text_wrapper = (emoji_text_wrapper_exports_);
21444
- ;// 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]!./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=template&id=06ed62b0
22857
+ ;// 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]!./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=template&id=27d28559
21445
22858
 
21446
- function leftbar_general_row_iconvue_type_template_id_06ed62b0_render(_ctx, _cache, $props, $setup, $data, $options) {
22859
+ function leftbar_general_row_iconvue_type_template_id_27d28559_render(_ctx, _cache, $props, $setup, $data, $options) {
21447
22860
  const _component_dt_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-icon");
21448
22861
 
21449
- const _component_icon_dialpad_glyph = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("icon-dialpad-glyph");
22862
+ const _component_icon_dialbot = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("icon-dialbot");
21450
22863
 
21451
22864
  return $options.isIconType ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_icon, {
21452
22865
  key: 0,
@@ -21458,45 +22871,43 @@ function leftbar_general_row_iconvue_type_template_id_06ed62b0_render(_ctx, _cac
21458
22871
  }, null, 2)) : $options.isDialbotType ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
21459
22872
  key: 2,
21460
22873
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)($options.dialbotClasses)
21461
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_icon_dialpad_glyph, {
21462
- class: "d-svg--size18",
21463
- color: "white"
22874
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_icon_dialbot, {
22875
+ class: "d-svg--size24"
21464
22876
  })], 2)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true);
21465
22877
  }
21466
- ;// CONCATENATED MODULE: ./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=template&id=06ed62b0
22878
+ ;// CONCATENATED MODULE: ./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=template&id=27d28559
21467
22879
 
21468
- ;// CONCATENATED MODULE: ./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconDialpadGlyph.vue?vue&type=template&id=85d2b6f4
22880
+ ;// CONCATENATED MODULE: ./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconDialbot.vue?vue&type=template&id=afc48fb0
21469
22881
 
21470
22882
 
21471
- const IconDialpadGlyphvue_type_template_id_85d2b6f4_hoisted_1 = {
22883
+ const IconDialbotvue_type_template_id_afc48fb0_hoisted_1 = {
21472
22884
  "aria-hidden": "true",
21473
22885
  focusable: "false",
21474
- "aria-label": "Dialpad Glyph",
21475
- class: "d-svg d-svg--system d-svg__dialpadGlyph",
21476
- viewBox: "0 0 24 24"
22886
+ "aria-label": "Dialbot",
22887
+ class: "d-svg d-svg--native d-svg__dialbot",
22888
+ width: "358",
22889
+ height: "358",
22890
+ viewBox: "0 0 358 358",
22891
+ fill: "none"
21477
22892
  }
21478
- const IconDialpadGlyphvue_type_template_id_85d2b6f4_hoisted_2 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("path", {
21479
- "fill-rule": "evenodd",
21480
- "clip-rule": "evenodd",
21481
- d: "M12.025 11.197V4.18a.077.077 0 0 0-.132-.053L8.91 7.204a5.095 5.095 0 0 0-7.08 4.693 5.095 5.095 0 0 0 5.096 5.094 5.096 5.096 0 0 0 5.049-4.394v7.019c0 .069.083.102.131.053l2.982-3.079c.61.258 1.28.4 1.984.4a5.095 5.095 0 0 0 5.096-5.093 5.095 5.095 0 0 0-5.096-5.093 5.096 5.096 0 0 0-5.048 4.393Z"
21482
- }, null, -1)
21483
- const IconDialpadGlyphvue_type_template_id_85d2b6f4_hoisted_3 = [
21484
- IconDialpadGlyphvue_type_template_id_85d2b6f4_hoisted_2
22893
+ const IconDialbotvue_type_template_id_afc48fb0_hoisted_2 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createStaticVNode)("<circle cx=\"179\" cy=\"179\" r=\"179\" fill=\"url(#paint0_linear_1957_89480)\"></circle><path d=\"M179 268.5v-11.933V268.5Zm86.517 0v11.933h19.308l-8.635-17.27-10.673 5.337Zm-16.73-33.459-9.3-7.478-4.797 5.967 3.424 6.848 10.673-5.337ZM179 101.433c42.839 0 77.567 34.728 77.567 77.567h23.866c0-56.02-45.413-101.433-101.433-101.433v23.866ZM101.433 179c0-42.839 34.728-77.567 77.567-77.567V77.567C122.98 77.567 77.567 122.98 77.567 179h23.866ZM179 256.567c-42.839 0-77.567-34.728-77.567-77.567H77.567c0 56.02 45.413 101.433 101.433 101.433v-23.866Zm86.517 0H179v23.866h86.517v-23.866Zm-27.403-16.189 16.729 33.459 21.347-10.674-16.729-33.459-21.347 10.674ZM256.567 179c0 18.396-6.39 35.268-17.08 48.563l18.6 14.955c13.975-17.38 22.346-39.488 22.346-63.518h-23.866Z\" fill=\"white\"></path><path d=\"M226.733 202.867c-6.527 5.701-13.942 10.11-22.243 13.226-8.302 3.116-16.781 4.674-25.437 4.674-8.727 0-17.241-1.558-25.543-4.674-8.301-3.116-15.716-7.525-22.243-13.226v-11.933c4.399 2.651 9.365 4.939 14.9 6.861a112.143 112.143 0 0 0 16.816 4.674c5.747 1.127 11.104 1.691 16.07 1.691 5.038 0 10.395-.564 16.071-1.691a112.209 112.209 0 0 0 16.816-4.674c5.534-1.922 10.465-4.21 14.793-6.861v11.933Z\" fill=\"white\"></path><defs><linearGradient id=\"paint0_linear_1957_89480\" x1=\"0\" y1=\"0\" x2=\"358\" y2=\"358\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#7C52FF\"></stop><stop offset=\"1\" stop-color=\"#F9008E\"></stop></linearGradient></defs>", 4)
22894
+ const IconDialbotvue_type_template_id_afc48fb0_hoisted_6 = [
22895
+ IconDialbotvue_type_template_id_afc48fb0_hoisted_2
21485
22896
  ]
21486
22897
 
21487
- function IconDialpadGlyphvue_type_template_id_85d2b6f4_render(_ctx, _cache) {
21488
- return ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("svg", IconDialpadGlyphvue_type_template_id_85d2b6f4_hoisted_1, IconDialpadGlyphvue_type_template_id_85d2b6f4_hoisted_3))
22898
+ function IconDialbotvue_type_template_id_afc48fb0_render(_ctx, _cache) {
22899
+ return ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("svg", IconDialbotvue_type_template_id_afc48fb0_hoisted_1, IconDialbotvue_type_template_id_afc48fb0_hoisted_6))
21489
22900
  }
21490
- ;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconDialpadGlyph.vue?vue&type=template&id=85d2b6f4
22901
+ ;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconDialbot.vue?vue&type=template&id=afc48fb0
21491
22902
 
21492
- ;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconDialpadGlyph.vue
22903
+ ;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconDialbot.vue
21493
22904
 
21494
22905
  const script = {}
21495
22906
 
21496
22907
  ;
21497
- const IconDialpadGlyph_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(script, [['render',IconDialpadGlyphvue_type_template_id_85d2b6f4_render]])
22908
+ const IconDialbot_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(script, [['render',IconDialbotvue_type_template_id_afc48fb0_render]])
21498
22909
 
21499
- /* harmony default export */ const IconDialpadGlyph = (IconDialpadGlyph_exports_);
22910
+ /* harmony default export */ const IconDialbot = (IconDialbot_exports_);
21500
22911
  ;// 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]!./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=script&lang=js
21501
22912
 
21502
22913
 
@@ -21505,7 +22916,7 @@ const IconDialpadGlyph_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(s
21505
22916
  name: 'DtRecipeLeftbarGeneralRowIcon',
21506
22917
  components: {
21507
22918
  DtIcon: icon,
21508
- IconDialpadGlyph: IconDialpadGlyph
22919
+ IconDialbot: IconDialbot
21509
22920
  },
21510
22921
  props: {
21511
22922
  type: {
@@ -21539,7 +22950,7 @@ const IconDialpadGlyph_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(s
21539
22950
  },
21540
22951
 
21541
22952
  dialbotClasses() {
21542
- return ['d-bar-circle', 'd-bgc-purple-400', 'd-w24', 'd-h24', 'd-d-flex', 'd-ai-center', 'd-jc-center'];
22953
+ return ['d-w24', 'd-h24', 'd-d-flex', 'd-ai-center', 'd-jc-center'];
21543
22954
  }
21544
22955
 
21545
22956
  }
@@ -21552,7 +22963,7 @@ const IconDialpadGlyph_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(s
21552
22963
 
21553
22964
 
21554
22965
  ;
21555
- const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(leftbar_general_row_iconvue_type_script_lang_js, [['render',leftbar_general_row_iconvue_type_template_id_06ed62b0_render]])
22966
+ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(leftbar_general_row_iconvue_type_script_lang_js, [['render',leftbar_general_row_iconvue_type_template_id_27d28559_render]])
21556
22967
 
21557
22968
  /* harmony default export */ const leftbar_general_row_icon = (leftbar_general_row_icon_exports_);
21558
22969
  ;// 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]!./recipes/leftbar/general_row/general_row.vue?vue&type=script&lang=js
@@ -21563,6 +22974,7 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
21563
22974
 
21564
22975
 
21565
22976
 
22977
+
21566
22978
  /* harmony default export */ const general_rowvue_type_script_lang_js = ({
21567
22979
  name: 'DtRecipeGeneralRow',
21568
22980
  components: {
@@ -21570,6 +22982,7 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
21570
22982
  DtBadge: badge,
21571
22983
  DtIcon: icon,
21572
22984
  DtButton: button_button,
22985
+ DtTooltip: tooltip,
21573
22986
  DtRecipeLeftbarGeneralRowIcon: leftbar_general_row_icon
21574
22987
  },
21575
22988
  inheritAttrs: false,
@@ -21587,13 +23000,22 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
21587
23000
  },
21588
23001
 
21589
23002
  /**
21590
- * Text displayed next to the icon
23003
+ * Will be read out by a screen reader upon focus of this row. If not defined "description" will be read.
21591
23004
  */
21592
- description: {
23005
+ ariaLabel: {
21593
23006
  type: String,
21594
23007
  default: ''
21595
23008
  },
21596
23009
 
23010
+ /**
23011
+ * Text displayed next to the icon. Required. Even if you are overriding this field using the label slot
23012
+ * you still must input this as it will be displayed as the "title" attribute for the row.
23013
+ */
23014
+ description: {
23015
+ type: String,
23016
+ required: true
23017
+ },
23018
+
21597
23019
  /**
21598
23020
  * Determines the color of the contact center icon
21599
23021
  */
@@ -21622,6 +23044,14 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
21622
23044
  default: null
21623
23045
  },
21624
23046
 
23047
+ /**
23048
+ * Text shown when the unread count is hovered.
23049
+ */
23050
+ unreadCountTooltip: {
23051
+ type: String,
23052
+ default: ''
23053
+ },
23054
+
21625
23055
  /**
21626
23056
  * Determines if the row is selected
21627
23057
  */
@@ -21655,12 +23085,36 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
21655
23085
  default: ''
21656
23086
  },
21657
23087
 
23088
+ /**
23089
+ * Text shown in tooltip when you hover the dndText
23090
+ */
23091
+ dndTextTooltip: {
23092
+ type: String,
23093
+ default: ''
23094
+ },
23095
+
21658
23096
  /**
21659
23097
  * Whether the row should have a call button. Usually only applicable to individual contact rows.
21660
23098
  */
21661
23099
  hasCallButton: {
21662
23100
  type: Boolean,
21663
23101
  default: false
23102
+ },
23103
+
23104
+ /**
23105
+ * Text shown when the call button is hovered.
23106
+ */
23107
+ callButtonTooltip: {
23108
+ type: String,
23109
+ default: ''
23110
+ },
23111
+
23112
+ /**
23113
+ * Shows an "is typing" animation over the avatar when true.
23114
+ */
23115
+ isTyping: {
23116
+ type: Boolean,
23117
+ default: false
21664
23118
  }
21665
23119
  },
21666
23120
  emits: [
@@ -21705,6 +23159,10 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
21705
23159
 
21706
23160
  generalRowListeners() {
21707
23161
  return extractVueListeners(this.$attrs);
23162
+ },
23163
+
23164
+ getAriaLabel() {
23165
+ return this.ariaLabel ? this.ariaLabel : `${this.description} ${this.unreadCountTooltip} ${this.dndTextTooltip}`;
21708
23166
  }
21709
23167
 
21710
23168
  },
@@ -21730,10 +23188,10 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
21730
23188
  });
21731
23189
  ;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=script&lang=js
21732
23190
 
21733
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.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/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/general_row.vue?vue&type=style&index=0&id=06ebf262&lang=less
23191
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.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/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/general_row.vue?vue&type=style&index=0&id=46f0cd86&lang=less
21734
23192
  // extracted by mini-css-extract-plugin
21735
23193
 
21736
- ;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=style&index=0&id=06ebf262&lang=less
23194
+ ;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=style&index=0&id=46f0cd86&lang=less
21737
23195
 
21738
23196
  ;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue
21739
23197
 
@@ -21743,41 +23201,45 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
21743
23201
  ;
21744
23202
 
21745
23203
 
21746
- const general_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(general_rowvue_type_script_lang_js, [['render',general_rowvue_type_template_id_06ebf262_render]])
23204
+ const general_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(general_rowvue_type_script_lang_js, [['render',general_rowvue_type_template_id_46f0cd86_render]])
21747
23205
 
21748
23206
  /* harmony default export */ const general_row = (general_row_exports_);
21749
23207
  ;// CONCATENATED MODULE: ./recipes/leftbar/general_row/index.js
21750
23208
 
21751
23209
 
21752
- ;// 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]!./recipes/leftbar/group_row/group_row.vue?vue&type=template&id=29f5cb33
23210
+ ;// 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]!./recipes/leftbar/group_row/group_row.vue?vue&type=template&id=af6d6b56
21753
23211
 
21754
- const group_rowvue_type_template_id_29f5cb33_hoisted_1 = ["src", "alt"];
21755
- function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $setup, $data, $options) {
23212
+ const group_rowvue_type_template_id_af6d6b56_hoisted_1 = ["src", "alt"];
23213
+ function group_rowvue_type_template_id_af6d6b56_render(_ctx, _cache, $props, $setup, $data, $options) {
21756
23214
  const _component_dt_avatar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-avatar");
21757
23215
 
21758
23216
  const _component_dt_recipe_general_row = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-recipe-general-row");
21759
23217
 
21760
23218
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_recipe_general_row, {
21761
23219
  description: $props.names,
23220
+ "aria-label": `${$props.groupCountText} ${$props.names}`,
21762
23221
  "unread-count": $props.unreadCount,
21763
23222
  "has-unreads": $props.hasUnreads,
21764
- selected: $props.selected
23223
+ "unread-count-tooltip": $props.unreadCountTooltip,
23224
+ selected: $props.selected,
23225
+ "is-typing": $props.isTyping
21765
23226
  }, {
21766
23227
  left: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_avatar, {
21767
23228
  initials: $props.avatarInitials,
21768
23229
  group: $props.groupCount
21769
23230
  }, {
21770
- default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("img", {
23231
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [$props.avatarSrc ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("img", {
23232
+ key: 0,
21771
23233
  "data-qa": "dt-avatar-image",
21772
23234
  src: $props.avatarSrc,
21773
23235
  alt: $props.avatarInitials
21774
- }, null, 8, group_rowvue_type_template_id_29f5cb33_hoisted_1)]),
23236
+ }, null, 8, group_rowvue_type_template_id_af6d6b56_hoisted_1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)]),
21775
23237
  _: 1
21776
23238
  }, 8, ["initials", "group"])]),
21777
23239
  _: 1
21778
- }, 8, ["description", "unread-count", "has-unreads", "selected"]);
23240
+ }, 8, ["description", "aria-label", "unread-count", "has-unreads", "unread-count-tooltip", "selected", "is-typing"]);
21779
23241
  }
21780
- ;// CONCATENATED MODULE: ./recipes/leftbar/group_row/group_row.vue?vue&type=template&id=29f5cb33
23242
+ ;// CONCATENATED MODULE: ./recipes/leftbar/group_row/group_row.vue?vue&type=template&id=af6d6b56
21781
23243
 
21782
23244
  ;// 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]!./recipes/leftbar/group_row/group_row.vue?vue&type=script&lang=js
21783
23245
 
@@ -21817,12 +23279,20 @@ function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $se
21817
23279
  required: true
21818
23280
  },
21819
23281
 
23282
+ /**
23283
+ * Screen reader will read out the number of users in the group using this text. Ex: "2 users"
23284
+ */
23285
+ groupCountText: {
23286
+ type: String,
23287
+ default: ''
23288
+ },
23289
+
21820
23290
  /**
21821
23291
  * Names of the group members
21822
23292
  */
21823
23293
  names: {
21824
23294
  type: String,
21825
- default: ''
23295
+ required: true
21826
23296
  },
21827
23297
 
21828
23298
  /**
@@ -21833,6 +23303,14 @@ function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $se
21833
23303
  default: null
21834
23304
  },
21835
23305
 
23306
+ /**
23307
+ * Text shown when the unread count is hovered.
23308
+ */
23309
+ unreadCountTooltip: {
23310
+ type: String,
23311
+ default: null
23312
+ },
23313
+
21836
23314
  /**
21837
23315
  * Styles the row with an increased font weight to convey it has unreads. This must be true to see
21838
23316
  * the unread count badge.
@@ -21848,6 +23326,14 @@ function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $se
21848
23326
  selected: {
21849
23327
  type: Boolean,
21850
23328
  default: false
23329
+ },
23330
+
23331
+ /**
23332
+ * Shows an "is typing" animation over the avatar when true.
23333
+ */
23334
+ isTyping: {
23335
+ type: Boolean,
23336
+ default: false
21851
23337
  }
21852
23338
  },
21853
23339
  emits: [
@@ -21867,18 +23353,18 @@ function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $se
21867
23353
 
21868
23354
 
21869
23355
  ;
21870
- const group_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(group_rowvue_type_script_lang_js, [['render',group_rowvue_type_template_id_29f5cb33_render]])
23356
+ const group_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(group_rowvue_type_script_lang_js, [['render',group_rowvue_type_template_id_af6d6b56_render]])
21871
23357
 
21872
23358
  /* harmony default export */ const group_row = (group_row_exports_);
21873
23359
  ;// CONCATENATED MODULE: ./recipes/leftbar/group_row/index.js
21874
23360
 
21875
- ;// 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]!./recipes/leftbar/contact_row/contact_row.vue?vue&type=template&id=8a190578
23361
+ ;// 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]!./recipes/leftbar/contact_row/contact_row.vue?vue&type=template&id=69299a5d
21876
23362
 
21877
- const contact_rowvue_type_template_id_8a190578_hoisted_1 = ["src", "alt"];
21878
- const contact_rowvue_type_template_id_8a190578_hoisted_2 = {
23363
+ const contact_rowvue_type_template_id_69299a5d_hoisted_1 = ["src", "alt"];
23364
+ const contact_rowvue_type_template_id_69299a5d_hoisted_2 = {
21879
23365
  class: "dt-leftbar-row__status"
21880
23366
  };
21881
- function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $setup, $data, $options) {
23367
+ function contact_rowvue_type_template_id_69299a5d_render(_ctx, _cache, $props, $setup, $data, $options) {
21882
23368
  const _component_dt_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-icon");
21883
23369
 
21884
23370
  const _component_dt_avatar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-avatar");
@@ -21889,10 +23375,14 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
21889
23375
 
21890
23376
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_recipe_general_row, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
21891
23377
  "unread-count": $props.unreadCount,
23378
+ description: `${$props.name} ${$props.presenceText} ${$props.userStatus}`,
21892
23379
  "has-unreads": $props.hasUnreads,
21893
23380
  selected: $props.selected,
21894
23381
  "has-call-button": true,
21895
- muted: $props.muted
23382
+ muted: $props.muted,
23383
+ "is-typing": $props.isTyping,
23384
+ "call-button-tooltip": $props.callButtonTooltip,
23385
+ "unread-count-tooltip": $props.unreadCountTooltip
21896
23386
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toHandlers)($options.contactRowListeners), {
21897
23387
  onCall: _cache[0] || (_cache[0] = $event => _ctx.$emit('call', $event))
21898
23388
  }), {
@@ -21906,7 +23396,7 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
21906
23396
  "data-qa": "dt-avatar-image",
21907
23397
  src: $props.avatarSrc,
21908
23398
  alt: $props.name
21909
- }, null, 8, contact_rowvue_type_template_id_8a190578_hoisted_1)) : $props.noInitials ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_icon, {
23399
+ }, null, 8, contact_rowvue_type_template_id_69299a5d_hoisted_1)) : $props.noInitials ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_icon, {
21910
23400
  key: 1,
21911
23401
  name: "user",
21912
23402
  size: "200"
@@ -21922,7 +23412,7 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
21922
23412
  }, {
21923
23413
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.name), 1)]),
21924
23414
  _: 1
21925
- }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_rowvue_type_template_id_8a190578_hoisted_2, [$props.presenceText ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
23415
+ }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_rowvue_type_template_id_69299a5d_hoisted_2, [$props.presenceText ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
21926
23416
  key: 0,
21927
23417
  "data-qa": "dt-leftbar-row-presence-text",
21928
23418
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['dt-leftbar-row__meta-context', $options.presenceColorClass])
@@ -21937,9 +23427,9 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
21937
23427
  _: 1
21938
23428
  })) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])]),
21939
23429
  _: 1
21940
- }, 16, ["unread-count", "has-unreads", "selected", "muted"]);
23430
+ }, 16, ["unread-count", "description", "has-unreads", "selected", "muted", "is-typing", "call-button-tooltip", "unread-count-tooltip"]);
21941
23431
  }
21942
- ;// CONCATENATED MODULE: ./recipes/leftbar/contact_row/contact_row.vue?vue&type=template&id=8a190578
23432
+ ;// CONCATENATED MODULE: ./recipes/leftbar/contact_row/contact_row.vue?vue&type=template&id=69299a5d
21943
23433
 
21944
23434
  ;// 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]!./recipes/leftbar/contact_row/contact_row.vue?vue&type=script&lang=js
21945
23435
 
@@ -21947,7 +23437,6 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
21947
23437
 
21948
23438
 
21949
23439
 
21950
-
21951
23440
  /* harmony default export */ const contact_rowvue_type_script_lang_js = ({
21952
23441
  name: 'DtRecipeGroupRow',
21953
23442
  components: {
@@ -21968,15 +23457,14 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
21968
23457
 
21969
23458
  /**
21970
23459
  * Determines whether to show the presence indicator for
21971
- * Avatar - accepts PRESENCE_STATES values: 'active', 'busy', 'away', 'offline'. defaults to active.
21972
- * @values active, busy, away, offline
23460
+ * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',
23461
+ * or 'active'. By default, it's null and nothing is shown.
23462
+ * defer validation to avatar component.
23463
+ * @values null, busy, away, offline, active
21973
23464
  */
21974
23465
  avatarPresence: {
21975
23466
  type: String,
21976
- default: PRESENCE_STATES.ACTIVE,
21977
- validator: role => {
21978
- return PRESENCE_STATES_LIST.includes(role);
21979
- }
23467
+ default: null
21980
23468
  },
21981
23469
 
21982
23470
  /**
@@ -22050,6 +23538,30 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
22050
23538
  noInitials: {
22051
23539
  type: Boolean,
22052
23540
  default: false
23541
+ },
23542
+
23543
+ /**
23544
+ * Shows an "is typing" animation over the avatar when true.
23545
+ */
23546
+ isTyping: {
23547
+ type: Boolean,
23548
+ default: false
23549
+ },
23550
+
23551
+ /**
23552
+ * Text shown when the call button is hovered.
23553
+ */
23554
+ callButtonTooltip: {
23555
+ type: String,
23556
+ default: ''
23557
+ },
23558
+
23559
+ /**
23560
+ * Text shown when the unread count is hovered.
23561
+ */
23562
+ unreadCountTooltip: {
23563
+ type: String,
23564
+ default: ''
22053
23565
  }
22054
23566
  },
22055
23567
  emits: [
@@ -22097,7 +23609,7 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
22097
23609
 
22098
23610
 
22099
23611
  ;
22100
- const contact_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(contact_rowvue_type_script_lang_js, [['render',contact_rowvue_type_template_id_8a190578_render]])
23612
+ const contact_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(contact_rowvue_type_script_lang_js, [['render',contact_rowvue_type_template_id_69299a5d_render]])
22101
23613
 
22102
23614
  /* harmony default export */ const contact_row = (contact_row_exports_);
22103
23615
  ;// CONCATENATED MODULE: ./recipes/leftbar/contact_row/index.js
@@ -22143,6 +23655,7 @@ const contact_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(contac
22143
23655
 
22144
23656
 
22145
23657
 
23658
+
22146
23659
 
22147
23660
 
22148
23661
  /// Recipes