@dialpad/dialtone-vue 3.47.0 → 3.49.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.
- package/CHANGELOG.json +1 -1
- package/CHANGELOG.md +29 -0
- package/dist/component-documentation.json +1 -1
- package/dist/dialtone-vue.common.js +1858 -352
- package/dist/dialtone-vue.css +1 -1
- package/dist/dialtone-vue.umd.js +1858 -352
- package/dist/dialtone-vue.umd.min.js +1 -1
- package/package.json +3 -3
|
@@ -1199,6 +1199,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
1199
1199
|
"DtRecipeIvrNode": () => (/* reexport */ ivr_node),
|
|
1200
1200
|
"DtRecipeTopBannerInfo": () => (/* reexport */ top_banner_info),
|
|
1201
1201
|
"DtRootLayout": () => (/* reexport */ root_layout),
|
|
1202
|
+
"DtScroller": () => (/* reexport */ DtScroller),
|
|
1202
1203
|
"DtSelectMenu": () => (/* reexport */ select_menu),
|
|
1203
1204
|
"DtSkeleton": () => (/* reexport */ skeleton_skeleton),
|
|
1204
1205
|
"DtSkeletonListItem": () => (/* reexport */ skeleton_list_item),
|
|
@@ -1291,7 +1292,7 @@ if (typeof window !== 'undefined') {
|
|
|
1291
1292
|
|
|
1292
1293
|
;// CONCATENATED MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
|
|
1293
1294
|
const external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject = require("vue");
|
|
1294
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/avatar/avatar.vue?vue&type=template&id=
|
|
1295
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/avatar/avatar.vue?vue&type=template&id=ac8c0ad8
|
|
1295
1296
|
|
|
1296
1297
|
const _hoisted_1 = ["id"];
|
|
1297
1298
|
const _hoisted_2 = {
|
|
@@ -1300,7 +1301,7 @@ const _hoisted_2 = {
|
|
|
1300
1301
|
};
|
|
1301
1302
|
const _hoisted_3 = {
|
|
1302
1303
|
key: 0,
|
|
1303
|
-
class: "d-avatar__count",
|
|
1304
|
+
class: "d-avatar__count d-zi-base1",
|
|
1304
1305
|
"data-qa": "dt-avatar-count"
|
|
1305
1306
|
};
|
|
1306
1307
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
@@ -1313,18 +1314,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1313
1314
|
"data-qa": "dt-avatar"
|
|
1314
1315
|
}, [(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", {
|
|
1315
1316
|
key: 0
|
|
1316
|
-
}) : $options.showInitials ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
|
|
1317
|
+
}) : (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", {
|
|
1317
1318
|
key: 1,
|
|
1318
|
-
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)($data.AVATAR_KIND_MODIFIERS.initials)
|
|
1319
|
+
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["d-ps-absolute d-zi-base", $data.AVATAR_KIND_MODIFIERS.initials])
|
|
1319
1320
|
}, (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)({
|
|
1320
1321
|
key: 1,
|
|
1321
1322
|
presence: $props.presence,
|
|
1322
|
-
class: ['d-avatar__presence', $data.AVATAR_PRESENCE_SIZE_MODIFIERS[$props.size]]
|
|
1323
|
+
class: ["d-zi-base1", ['d-avatar__presence', $data.AVATAR_PRESENCE_SIZE_MODIFIERS[$props.size]]]
|
|
1323
1324
|
}, $props.presenceProps, {
|
|
1324
1325
|
"data-qa": "dt-presence"
|
|
1325
1326
|
}), null, 16, ["presence", "class"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 14, _hoisted_1);
|
|
1326
1327
|
}
|
|
1327
|
-
;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=template&id=
|
|
1328
|
+
;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=template&id=ac8c0ad8
|
|
1328
1329
|
|
|
1329
1330
|
;// CONCATENATED MODULE: ./common/constants.js
|
|
1330
1331
|
/* TODO: Move and sort these in a constants directory
|
|
@@ -1400,7 +1401,8 @@ const DEFAULT_PREFIX = 'dt';
|
|
|
1400
1401
|
|
|
1401
1402
|
const seedrandom = __webpack_require__(377);
|
|
1402
1403
|
|
|
1403
|
-
let UNIQUE_ID_COUNTER = 0;
|
|
1404
|
+
let UNIQUE_ID_COUNTER = 0;
|
|
1405
|
+
let TIMER; // selector to find focusable not hidden inputs
|
|
1404
1406
|
|
|
1405
1407
|
const FOCUSABLE_SELECTOR_NOT_HIDDEN = 'input:not([type=hidden]):not(:disabled)'; // selector to find focusable not disables elements
|
|
1406
1408
|
|
|
@@ -1524,7 +1526,7 @@ function hasSlotContent(slot) {
|
|
|
1524
1526
|
*/
|
|
1525
1527
|
|
|
1526
1528
|
const kebabCaseToPascalCase = string => {
|
|
1527
|
-
return string.toLowerCase().split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
|
|
1529
|
+
return string === null || string === void 0 ? void 0 : string.toLowerCase().split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
|
|
1528
1530
|
};
|
|
1529
1531
|
/**
|
|
1530
1532
|
* Transform a string from PascalCase to kebab-case
|
|
@@ -1542,6 +1544,17 @@ const extractVueListeners = attrs => {
|
|
|
1542
1544
|
});
|
|
1543
1545
|
return Object.fromEntries(listeners);
|
|
1544
1546
|
};
|
|
1547
|
+
/*
|
|
1548
|
+
* Set's a global timer to debounce the execution of a function.
|
|
1549
|
+
* @param { object } func - the function that is going to be called after timeout
|
|
1550
|
+
* @param { number } [timeout=300] timeout
|
|
1551
|
+
* */
|
|
1552
|
+
|
|
1553
|
+
function debounce(func) {
|
|
1554
|
+
let timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300;
|
|
1555
|
+
clearTimeout(TIMER);
|
|
1556
|
+
TIMER = setTimeout(func, timeout);
|
|
1557
|
+
}
|
|
1545
1558
|
/* harmony default export */ const utils = ({
|
|
1546
1559
|
getUniqueString,
|
|
1547
1560
|
getRandomElement,
|
|
@@ -1552,7 +1565,8 @@ const extractVueListeners = attrs => {
|
|
|
1552
1565
|
htmlFragment,
|
|
1553
1566
|
flushPromises,
|
|
1554
1567
|
kebabCaseToPascalCase,
|
|
1555
|
-
extractVueListeners
|
|
1568
|
+
extractVueListeners,
|
|
1569
|
+
debounce
|
|
1556
1570
|
});
|
|
1557
1571
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/presence/presence.vue?vue&type=template&id=77957bb3
|
|
1558
1572
|
|
|
@@ -1657,6 +1671,13 @@ const AVATAR_PRESENCE_SIZE_MODIFIERS = {
|
|
|
1657
1671
|
md: 'd-avatar__presence--md',
|
|
1658
1672
|
lg: 'd-avatar__presence--lg'
|
|
1659
1673
|
};
|
|
1674
|
+
const AVATAR_PRESENCE_STATES = {
|
|
1675
|
+
NONE: null,
|
|
1676
|
+
BUSY: 'busy',
|
|
1677
|
+
AWAY: 'away',
|
|
1678
|
+
OFFLINE: 'offline',
|
|
1679
|
+
ACTIVE: 'active'
|
|
1680
|
+
};
|
|
1660
1681
|
const AVATAR_ICON_SIZES = {
|
|
1661
1682
|
xs: '100',
|
|
1662
1683
|
sm: '200',
|
|
@@ -1744,7 +1765,10 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1744
1765
|
*/
|
|
1745
1766
|
presence: {
|
|
1746
1767
|
type: String,
|
|
1747
|
-
default:
|
|
1768
|
+
default: AVATAR_PRESENCE_STATES.NONE,
|
|
1769
|
+
validator: state => {
|
|
1770
|
+
return Object.values(AVATAR_PRESENCE_STATES).includes(state);
|
|
1771
|
+
}
|
|
1748
1772
|
},
|
|
1749
1773
|
|
|
1750
1774
|
/**
|
|
@@ -1786,13 +1810,14 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1786
1810
|
data() {
|
|
1787
1811
|
return {
|
|
1788
1812
|
// initials, image or icon
|
|
1789
|
-
kind:
|
|
1813
|
+
kind: null,
|
|
1790
1814
|
AVATAR_SIZE_MODIFIERS: AVATAR_SIZE_MODIFIERS,
|
|
1791
1815
|
AVATAR_KIND_MODIFIERS: AVATAR_KIND_MODIFIERS,
|
|
1792
1816
|
AVATAR_PRESENCE_SIZE_MODIFIERS: AVATAR_PRESENCE_SIZE_MODIFIERS,
|
|
1793
1817
|
imageLoadedSuccessfully: null,
|
|
1794
1818
|
slottedInitials: '',
|
|
1795
|
-
formattedInitials: ''
|
|
1819
|
+
formattedInitials: '',
|
|
1820
|
+
initializing: false
|
|
1796
1821
|
};
|
|
1797
1822
|
},
|
|
1798
1823
|
|
|
@@ -1805,11 +1830,11 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1805
1830
|
},
|
|
1806
1831
|
|
|
1807
1832
|
showDefaultSlot() {
|
|
1808
|
-
return this.kind !== 'initials' && this.imageLoadedSuccessfully
|
|
1833
|
+
return this.kind !== 'initials' || this.kind === 'image' && this.imageLoadedSuccessfully === true;
|
|
1809
1834
|
},
|
|
1810
1835
|
|
|
1811
1836
|
showInitials() {
|
|
1812
|
-
return this.kind === 'initials' || this.initials;
|
|
1837
|
+
return this.kind === 'initials' || this.kind === 'image' && this.initials;
|
|
1813
1838
|
},
|
|
1814
1839
|
|
|
1815
1840
|
showGroup() {
|
|
@@ -1842,28 +1867,27 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1842
1867
|
},
|
|
1843
1868
|
|
|
1844
1869
|
updated() {
|
|
1845
|
-
|
|
1846
|
-
this.slottedInitials = this.$el.children[0].textContent;
|
|
1847
|
-
this.formatInitials(this.slottedInitials);
|
|
1848
|
-
}
|
|
1870
|
+
this.init();
|
|
1849
1871
|
},
|
|
1850
1872
|
|
|
1851
1873
|
methods: {
|
|
1852
|
-
init() {
|
|
1874
|
+
async init() {
|
|
1875
|
+
if (this.initializing) return;
|
|
1876
|
+
this.kind = null;
|
|
1877
|
+
await this.$nextTick();
|
|
1853
1878
|
const firstChild = this.$refs.canvas.children[0] || this.$refs.canvas;
|
|
1854
|
-
|
|
1855
|
-
if (!firstChild) {
|
|
1856
|
-
return;
|
|
1857
|
-
}
|
|
1858
|
-
|
|
1879
|
+
this.formatInitials(this.initials);
|
|
1859
1880
|
this.setKind(firstChild);
|
|
1860
1881
|
this.kindHandler(firstChild);
|
|
1882
|
+
this.initializing = true;
|
|
1883
|
+
await this.$nextTick();
|
|
1884
|
+
this.initializing = false;
|
|
1861
1885
|
},
|
|
1862
1886
|
|
|
1863
1887
|
kindHandler(el) {
|
|
1864
1888
|
switch (this.kind) {
|
|
1865
1889
|
case 'image':
|
|
1866
|
-
el.classList.add('d-avatar__image');
|
|
1890
|
+
el.classList.add('d-avatar__image', 'd-zi-base1');
|
|
1867
1891
|
this.validateImageAttrsPresence();
|
|
1868
1892
|
this.setImageListeners(el);
|
|
1869
1893
|
break;
|
|
@@ -1873,25 +1897,27 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1873
1897
|
break;
|
|
1874
1898
|
|
|
1875
1899
|
case 'initials':
|
|
1900
|
+
if (!el.textContent) return;
|
|
1876
1901
|
this.slottedInitials = el.textContent;
|
|
1877
|
-
this.formatInitials(this.slottedInitials);
|
|
1902
|
+
this.formatInitials(this.slottedInitials.trim() || this.initials);
|
|
1878
1903
|
break;
|
|
1879
1904
|
}
|
|
1880
1905
|
},
|
|
1881
1906
|
|
|
1882
1907
|
setImageListeners(el) {
|
|
1883
|
-
el.addEventListener('
|
|
1884
|
-
|
|
1885
|
-
this.imageLoadedSuccessfully = false;
|
|
1908
|
+
el.addEventListener('load', () => this._loadedImageEventHandler(el), {
|
|
1909
|
+
once: true
|
|
1886
1910
|
});
|
|
1887
|
-
el.addEventListener('
|
|
1888
|
-
|
|
1889
|
-
this.imageLoadedSuccessfully = true;
|
|
1911
|
+
el.addEventListener('error', () => this._erroredImageEventHandler(el), {
|
|
1912
|
+
once: true
|
|
1890
1913
|
});
|
|
1891
1914
|
},
|
|
1892
1915
|
|
|
1893
1916
|
formatInitials(initials) {
|
|
1894
|
-
if (!initials)
|
|
1917
|
+
if (!initials) {
|
|
1918
|
+
this.formattedInitials = '';
|
|
1919
|
+
return;
|
|
1920
|
+
}
|
|
1895
1921
|
|
|
1896
1922
|
if (this.validatedSize === 'xs') {
|
|
1897
1923
|
this.formattedInitials = '';
|
|
@@ -1903,7 +1929,7 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1903
1929
|
},
|
|
1904
1930
|
|
|
1905
1931
|
setKind(element) {
|
|
1906
|
-
if (this.
|
|
1932
|
+
if (this.isIconType(element)) {
|
|
1907
1933
|
this.kind = 'icon';
|
|
1908
1934
|
return;
|
|
1909
1935
|
}
|
|
@@ -1916,7 +1942,7 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1916
1942
|
this.kind = 'initials';
|
|
1917
1943
|
},
|
|
1918
1944
|
|
|
1919
|
-
|
|
1945
|
+
isIconType(element) {
|
|
1920
1946
|
var _element$tagName;
|
|
1921
1947
|
|
|
1922
1948
|
return (element === null || element === void 0 ? void 0 : (_element$tagName = element.tagName) === null || _element$tagName === void 0 ? void 0 : _element$tagName.toUpperCase()) === 'SVG';
|
|
@@ -1962,16 +1988,28 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1962
1988
|
if (isSrcMissing || isAltMissing) {
|
|
1963
1989
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.warn)('src and alt attributes are required for image avatars', this);
|
|
1964
1990
|
}
|
|
1991
|
+
},
|
|
1992
|
+
|
|
1993
|
+
_loadedImageEventHandler(el) {
|
|
1994
|
+
this.imageLoadedSuccessfully = true;
|
|
1995
|
+
el.classList.remove('d-d-none');
|
|
1996
|
+
el.classList.add('d-avatar--image-loaded');
|
|
1997
|
+
},
|
|
1998
|
+
|
|
1999
|
+
_erroredImageEventHandler(el) {
|
|
2000
|
+
this.imageLoadedSuccessfully = false;
|
|
2001
|
+
el.classList.remove('d-avatar--image-loaded');
|
|
2002
|
+
el.classList.add('d-d-none');
|
|
1965
2003
|
}
|
|
1966
2004
|
|
|
1967
2005
|
}
|
|
1968
2006
|
});
|
|
1969
2007
|
;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=script&lang=js
|
|
1970
2008
|
|
|
1971
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/avatar/avatar.vue?vue&type=style&index=0&id=
|
|
2009
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.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
|
|
1972
2010
|
// extracted by mini-css-extract-plugin
|
|
1973
2011
|
|
|
1974
|
-
;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=style&index=0&id=
|
|
2012
|
+
;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=style&index=0&id=ac8c0ad8&lang=less
|
|
1975
2013
|
|
|
1976
2014
|
;// CONCATENATED MODULE: ./components/avatar/avatar.vue
|
|
1977
2015
|
|
|
@@ -3038,7 +3076,7 @@ const notice_action_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(noti
|
|
|
3038
3076
|
|
|
3039
3077
|
/* harmony default export */ const notice_action = (notice_action_exports_);
|
|
3040
3078
|
;// CONCATENATED MODULE: ./common/mixins/modal.js
|
|
3041
|
-
const focusableAttrs = ':not(:disabled):not([aria-disabled="true"])';
|
|
3079
|
+
const focusableAttrs = ':not(:disabled):not([aria-disabled="true"]):not([role="presentation"])';
|
|
3042
3080
|
const tabbableAttrs = `${focusableAttrs}:not([tabindex="-1"])`;
|
|
3043
3081
|
const focusableElementsList = `button,[href],input,select,textarea,details,[tabindex]`;
|
|
3044
3082
|
/**
|
|
@@ -7045,7 +7083,7 @@ function orderModifiers(modifiers) {
|
|
|
7045
7083
|
}, []);
|
|
7046
7084
|
}
|
|
7047
7085
|
;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/debounce.js
|
|
7048
|
-
function
|
|
7086
|
+
function debounce_debounce(fn) {
|
|
7049
7087
|
var pending;
|
|
7050
7088
|
return function () {
|
|
7051
7089
|
if (!pending) {
|
|
@@ -7230,7 +7268,7 @@ function popperGenerator(generatorOptions) {
|
|
|
7230
7268
|
},
|
|
7231
7269
|
// Async and optimistically optimized update – it will not be executed if
|
|
7232
7270
|
// not necessary (debounced to run at most once-per-tick)
|
|
7233
|
-
update:
|
|
7271
|
+
update: debounce_debounce(function () {
|
|
7234
7272
|
return new Promise(function (resolve) {
|
|
7235
7273
|
instance.forceUpdate();
|
|
7236
7274
|
resolve(state);
|
|
@@ -11036,7 +11074,6 @@ const getArrowDetected = fn => ({
|
|
|
11036
11074
|
;// CONCATENATED MODULE: ./components/popover/tippy_utils.js
|
|
11037
11075
|
|
|
11038
11076
|
|
|
11039
|
-
|
|
11040
11077
|
const BASE_TIPPY_DIRECTIONS = ['bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end', 'left', 'left-start', 'left-end', 'top', 'top-start', 'top-end'];
|
|
11041
11078
|
const TIPPY_STICKY_VALUES = [true, false, 'reference', 'popper'];
|
|
11042
11079
|
const tippy_utils_createTippy = (anchorElement, options) => {
|
|
@@ -11085,24 +11122,17 @@ const getPopperOptions = function () {
|
|
|
11085
11122
|
};
|
|
11086
11123
|
};
|
|
11087
11124
|
|
|
11088
|
-
const createAnchor =
|
|
11125
|
+
const createAnchor = anchorWrapper => {
|
|
11089
11126
|
const span = document.createElement('span');
|
|
11090
|
-
span.setAttribute('tabindex', tabIndex);
|
|
11091
11127
|
span.innerText = anchorWrapper.innerText || '';
|
|
11092
11128
|
anchorWrapper.innerText = '';
|
|
11093
11129
|
anchorWrapper.appendChild(span);
|
|
11094
11130
|
return span;
|
|
11095
11131
|
};
|
|
11096
11132
|
|
|
11097
|
-
const getAnchor =
|
|
11098
|
-
let tabIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '0';
|
|
11133
|
+
const getAnchor = anchorWrapper => {
|
|
11099
11134
|
const anchor = anchorWrapper === null || anchorWrapper === void 0 ? void 0 : anchorWrapper.children[0];
|
|
11100
11135
|
if (!anchor) return createAnchor(anchorWrapper);
|
|
11101
|
-
|
|
11102
|
-
if (!findFirstFocusableNode(anchor)) {
|
|
11103
|
-
anchor.setAttribute('tabindex', tabIndex);
|
|
11104
|
-
}
|
|
11105
|
-
|
|
11106
11136
|
return anchor;
|
|
11107
11137
|
};
|
|
11108
11138
|
const getContentWrapper = content => {
|
|
@@ -17413,16 +17443,17 @@ const toggle_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(togglevue_t
|
|
|
17413
17443
|
/* harmony default export */ const toggle = (toggle_exports_);
|
|
17414
17444
|
;// CONCATENATED MODULE: ./components/toggle/index.js
|
|
17415
17445
|
|
|
17416
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=template&id=
|
|
17446
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=template&id=1868931e
|
|
17417
17447
|
|
|
17418
|
-
const
|
|
17448
|
+
const tooltipvue_type_template_id_1868931e_hoisted_1 = {
|
|
17419
17449
|
"data-qa": "dt-tooltip-container"
|
|
17420
17450
|
};
|
|
17421
|
-
function
|
|
17451
|
+
function tooltipvue_type_template_id_1868931e_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
17422
17452
|
const _component_dt_lazy_show = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-lazy-show");
|
|
17423
17453
|
|
|
17424
|
-
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div",
|
|
17454
|
+
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", {
|
|
17425
17455
|
ref: "anchor",
|
|
17456
|
+
tabindex: "-1",
|
|
17426
17457
|
role: "presentation",
|
|
17427
17458
|
"data-qa": "dt-tooltip-anchor",
|
|
17428
17459
|
onFocusin: _cache[0] || (_cache[0] = function () {
|
|
@@ -17457,7 +17488,7 @@ function tooltipvue_type_template_id_52eb174c_render(_ctx, _cache, $props, $setu
|
|
|
17457
17488
|
_: 3
|
|
17458
17489
|
}, 16, ["id", "show", "appear", "transition", "class"])]);
|
|
17459
17490
|
}
|
|
17460
|
-
;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=template&id=
|
|
17491
|
+
;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=template&id=1868931e
|
|
17461
17492
|
|
|
17462
17493
|
;// CONCATENATED MODULE: ./components/tooltip/tooltip_constants.js
|
|
17463
17494
|
/*
|
|
@@ -17811,10 +17842,10 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
|
|
|
17811
17842
|
});
|
|
17812
17843
|
;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=script&lang=js
|
|
17813
17844
|
|
|
17814
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=style&index=0&id=
|
|
17845
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.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
|
|
17815
17846
|
// extracted by mini-css-extract-plugin
|
|
17816
17847
|
|
|
17817
|
-
;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=style&index=0&id=
|
|
17848
|
+
;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=style&index=0&id=1868931e&lang=less
|
|
17818
17849
|
|
|
17819
17850
|
;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue
|
|
17820
17851
|
|
|
@@ -17824,7 +17855,7 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
|
|
|
17824
17855
|
;
|
|
17825
17856
|
|
|
17826
17857
|
|
|
17827
|
-
const tooltip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(tooltipvue_type_script_lang_js, [['render',
|
|
17858
|
+
const tooltip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(tooltipvue_type_script_lang_js, [['render',tooltipvue_type_template_id_1868931e_render]])
|
|
17828
17859
|
|
|
17829
17860
|
/* harmony default export */ const tooltip = (tooltip_exports_);
|
|
17830
17861
|
;// CONCATENATED MODULE: ./components/tooltip/index.js
|
|
@@ -18518,249 +18549,1577 @@ const stack_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(stackvue_typ
|
|
|
18518
18549
|
/* harmony default export */ const stack = (stack_exports_);
|
|
18519
18550
|
;// CONCATENATED MODULE: ./components/stack/index.js
|
|
18520
18551
|
|
|
18521
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/
|
|
18522
|
-
|
|
18523
|
-
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_1 = ["id"];
|
|
18524
|
-
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_2 = {
|
|
18525
|
-
ref: "header"
|
|
18526
|
-
};
|
|
18527
|
-
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_3 = ["onMouseleave", "onFocusout"];
|
|
18528
|
-
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_4 = {
|
|
18529
|
-
ref: "footer"
|
|
18530
|
-
};
|
|
18531
|
-
function combobox_with_popovervue_type_template_id_bdafd0f4_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
18532
|
-
const _component_combobox_loading_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("combobox-loading-list");
|
|
18533
|
-
|
|
18534
|
-
const _component_combobox_empty_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("combobox-empty-list");
|
|
18535
|
-
|
|
18536
|
-
const _component_dt_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-popover");
|
|
18537
|
-
|
|
18538
|
-
const _component_dt_combobox = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-combobox");
|
|
18539
|
-
|
|
18540
|
-
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)({
|
|
18541
|
-
ref: "combobox",
|
|
18542
|
-
loading: $props.loading,
|
|
18543
|
-
label: $props.label,
|
|
18544
|
-
"label-visible": $props.labelVisible,
|
|
18545
|
-
size: $props.size,
|
|
18546
|
-
description: $props.description,
|
|
18547
|
-
"empty-list": $props.emptyList,
|
|
18548
|
-
"empty-state-message": $props.emptyStateMessage,
|
|
18549
|
-
"show-list": $data.isListShown,
|
|
18550
|
-
"on-beginning-of-list": $props.onBeginningOfList,
|
|
18551
|
-
"on-end-of-list": $props.onEndOfList,
|
|
18552
|
-
"list-rendered-outside": true,
|
|
18553
|
-
"list-id": $props.listId,
|
|
18554
|
-
"data-qa": "dt-combobox"
|
|
18555
|
-
}, $options.comboboxListeners), {
|
|
18556
|
-
input: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref => {
|
|
18557
|
-
let {
|
|
18558
|
-
inputProps
|
|
18559
|
-
} = _ref;
|
|
18560
|
-
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
|
|
18561
|
-
id: $data.externalAnchor,
|
|
18562
|
-
ref: "input",
|
|
18563
|
-
onFocusin: _cache[0] || (_cache[0] = function () {
|
|
18564
|
-
return $options.onFocusIn && $options.onFocusIn(...arguments);
|
|
18565
|
-
}),
|
|
18566
|
-
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"]))]
|
|
18567
|
-
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "input", {
|
|
18568
|
-
inputProps: inputProps,
|
|
18569
|
-
onInput: $options.handleDisplayList
|
|
18570
|
-
})], 40, combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_1)];
|
|
18571
|
-
}),
|
|
18572
|
-
list: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref2 => {
|
|
18573
|
-
let {
|
|
18574
|
-
opened,
|
|
18575
|
-
listProps,
|
|
18576
|
-
clearHighlightIndex
|
|
18577
|
-
} = _ref2;
|
|
18578
|
-
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_popover, {
|
|
18579
|
-
ref: "popover",
|
|
18580
|
-
open: $data.isListShown,
|
|
18581
|
-
"onUpdate:open": _cache[3] || (_cache[3] = $event => $data.isListShown = $event),
|
|
18582
|
-
"hide-on-click": false,
|
|
18583
|
-
"max-height": $props.maxHeight,
|
|
18584
|
-
"max-width": $props.maxWidth,
|
|
18585
|
-
offset: $props.popoverOffset,
|
|
18586
|
-
sticky: $props.popoverSticky,
|
|
18587
|
-
placement: "bottom-start",
|
|
18588
|
-
"initial-focus-element": "none",
|
|
18589
|
-
padding: "none",
|
|
18590
|
-
role: "listbox",
|
|
18591
|
-
"external-anchor": $data.externalAnchor,
|
|
18592
|
-
"content-width": $props.contentWidth,
|
|
18593
|
-
"content-appear": true,
|
|
18594
|
-
"content-tabindex": null,
|
|
18595
|
-
modal: false,
|
|
18596
|
-
"auto-focus": false,
|
|
18597
|
-
"append-to": $props.appendTo,
|
|
18598
|
-
"visually-hidden-close-label": _ctx.visuallyHiddenCloseLabel,
|
|
18599
|
-
"visually-hidden-close": _ctx.visuallyHiddenClose,
|
|
18600
|
-
onOpened: opened
|
|
18601
|
-
}, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createSlots)({
|
|
18602
|
-
content: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
|
|
18603
|
-
ref: "listWrapper",
|
|
18604
|
-
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)([$data.DROPDOWN_PADDING_CLASSES[$props.padding], $props.listClass]),
|
|
18605
|
-
onMouseleave: clearHighlightIndex,
|
|
18606
|
-
onFocusout: clearHighlightIndex
|
|
18607
|
-
}, [$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)({
|
|
18608
|
-
key: 0
|
|
18609
|
-
}, 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)({
|
|
18610
|
-
key: 1
|
|
18611
|
-
}, listProps, {
|
|
18612
|
-
message: $props.emptyStateMessage
|
|
18613
|
-
}), null, 16, ["message"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "list", {
|
|
18614
|
-
key: 2,
|
|
18615
|
-
listProps: listProps
|
|
18616
|
-
})], 42, combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_3)]),
|
|
18617
|
-
_: 2
|
|
18618
|
-
}, [$data.hasSlotContent(_ctx.$slots.header) ? {
|
|
18619
|
-
name: "headerContent",
|
|
18620
|
-
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)]),
|
|
18621
|
-
key: "0"
|
|
18622
|
-
} : undefined, $data.hasSlotContent(_ctx.$slots.footer) ? {
|
|
18623
|
-
name: "footerContent",
|
|
18624
|
-
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)]),
|
|
18625
|
-
key: "1"
|
|
18626
|
-
} : undefined]), 1032, ["open", "max-height", "max-width", "offset", "sticky", "external-anchor", "content-width", "append-to", "visually-hidden-close-label", "visually-hidden-close", "onOpened"])];
|
|
18627
|
-
}),
|
|
18628
|
-
_: 3
|
|
18629
|
-
}, 16, ["loading", "label", "label-visible", "size", "description", "empty-list", "empty-state-message", "show-list", "on-beginning-of-list", "on-end-of-list", "list-id"]);
|
|
18630
|
-
}
|
|
18631
|
-
;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=bdafd0f4
|
|
18632
|
-
|
|
18633
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=script&lang=js
|
|
18634
|
-
/* eslint-disable vuejs-accessibility/no-static-element-interactions */
|
|
18635
|
-
|
|
18636
|
-
|
|
18637
|
-
|
|
18638
|
-
|
|
18639
|
-
|
|
18640
|
-
|
|
18641
|
-
|
|
18552
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/scroller/modules/core-scroller.vue?vue&type=script&setup=true&lang=js
|
|
18642
18553
|
|
|
18643
18554
|
|
|
18644
|
-
/* harmony default export */ const
|
|
18645
|
-
|
|
18646
|
-
components: {
|
|
18647
|
-
DtCombobox: combobox,
|
|
18648
|
-
DtPopover: popover,
|
|
18649
|
-
ComboboxLoadingList: combobox_loading_list,
|
|
18650
|
-
ComboboxEmptyList: combobox_empty_list
|
|
18651
|
-
},
|
|
18652
|
-
mixins: [sr_only_close_button],
|
|
18555
|
+
/* harmony default export */ const core_scrollervue_type_script_setup_true_lang_js = ({
|
|
18556
|
+
__name: 'core-scroller',
|
|
18653
18557
|
props: {
|
|
18654
18558
|
/**
|
|
18655
|
-
|
|
18656
|
-
|
|
18657
|
-
|
|
18658
|
-
type:
|
|
18559
|
+
* List of items you want to display in the scroller.
|
|
18560
|
+
*/
|
|
18561
|
+
items: {
|
|
18562
|
+
type: Array,
|
|
18659
18563
|
required: true
|
|
18660
18564
|
},
|
|
18661
18565
|
|
|
18662
18566
|
/**
|
|
18663
|
-
|
|
18664
|
-
|
|
18665
|
-
|
|
18666
|
-
|
|
18667
|
-
type:
|
|
18668
|
-
default:
|
|
18567
|
+
*
|
|
18568
|
+
* Field used to identify items and optimize managing rendered views
|
|
18569
|
+
*/
|
|
18570
|
+
keyField: {
|
|
18571
|
+
type: String,
|
|
18572
|
+
default: 'id'
|
|
18669
18573
|
},
|
|
18670
18574
|
|
|
18671
18575
|
/**
|
|
18672
|
-
|
|
18673
|
-
|
|
18674
|
-
|
|
18675
|
-
size: {
|
|
18576
|
+
* Direction of the scroller. Can be either `vertical` or `horizontal`.
|
|
18577
|
+
*/
|
|
18578
|
+
direction: {
|
|
18676
18579
|
type: String,
|
|
18677
|
-
default:
|
|
18678
|
-
validator:
|
|
18580
|
+
default: 'vertical',
|
|
18581
|
+
validator: value => ['vertical', 'horizontal'].includes(value)
|
|
18679
18582
|
},
|
|
18680
18583
|
|
|
18681
18584
|
/**
|
|
18682
|
-
|
|
18683
|
-
|
|
18684
|
-
|
|
18685
|
-
|
|
18686
|
-
|
|
18585
|
+
* Size of the items in the list.
|
|
18586
|
+
* If it is set to null (the default value), it will use variable size mode.
|
|
18587
|
+
*/
|
|
18588
|
+
itemSize: {
|
|
18589
|
+
type: Number,
|
|
18590
|
+
default: null
|
|
18687
18591
|
},
|
|
18688
18592
|
|
|
18689
18593
|
/**
|
|
18690
|
-
|
|
18691
|
-
|
|
18692
|
-
|
|
18693
|
-
|
|
18694
|
-
*/
|
|
18695
|
-
showList: {
|
|
18696
|
-
type: Boolean,
|
|
18594
|
+
* Minimum size used if the height (or width in horizontal mode) of an item is unknown.
|
|
18595
|
+
*/
|
|
18596
|
+
minItemSize: {
|
|
18597
|
+
type: [Number, String],
|
|
18697
18598
|
default: null
|
|
18698
18599
|
},
|
|
18699
18600
|
|
|
18700
18601
|
/**
|
|
18701
|
-
|
|
18702
|
-
|
|
18703
|
-
|
|
18704
|
-
listId: {
|
|
18602
|
+
* Field used to get the item's size in variable size mode.
|
|
18603
|
+
*/
|
|
18604
|
+
sizeField: {
|
|
18705
18605
|
type: String,
|
|
18706
|
-
|
|
18707
|
-
default() {
|
|
18708
|
-
return getUniqueString();
|
|
18709
|
-
}
|
|
18710
|
-
|
|
18606
|
+
default: 'size'
|
|
18711
18607
|
},
|
|
18712
18608
|
|
|
18713
18609
|
/**
|
|
18714
|
-
|
|
18715
|
-
|
|
18716
|
-
|
|
18717
|
-
type:
|
|
18718
|
-
default:
|
|
18610
|
+
* Amount of pixel to add to edges of the scrolling visible area to start rendering items further away.
|
|
18611
|
+
*/
|
|
18612
|
+
buffer: {
|
|
18613
|
+
type: Number,
|
|
18614
|
+
default: 200
|
|
18719
18615
|
},
|
|
18720
18616
|
|
|
18721
18617
|
/**
|
|
18722
|
-
|
|
18723
|
-
|
|
18724
|
-
|
|
18725
|
-
|
|
18726
|
-
|
|
18618
|
+
* If true, the hover state will be skipped.
|
|
18619
|
+
* This can be useful if you want to use the hover state for other purposes.
|
|
18620
|
+
*/
|
|
18621
|
+
skipHover: {
|
|
18622
|
+
type: Boolean,
|
|
18623
|
+
default: false
|
|
18727
18624
|
},
|
|
18728
18625
|
|
|
18729
18626
|
/**
|
|
18730
|
-
|
|
18731
|
-
|
|
18732
|
-
|
|
18733
|
-
type:
|
|
18734
|
-
default:
|
|
18627
|
+
* The element to render as the list's wrapper.
|
|
18628
|
+
*/
|
|
18629
|
+
listTag: {
|
|
18630
|
+
type: String,
|
|
18631
|
+
default: 'div'
|
|
18735
18632
|
},
|
|
18736
18633
|
|
|
18737
18634
|
/**
|
|
18738
|
-
|
|
18739
|
-
|
|
18740
|
-
|
|
18741
|
-
maxHeight: {
|
|
18635
|
+
* The element to render as the list item.
|
|
18636
|
+
*/
|
|
18637
|
+
itemTag: {
|
|
18742
18638
|
type: String,
|
|
18743
|
-
default: ''
|
|
18639
|
+
default: 'div'
|
|
18744
18640
|
},
|
|
18745
18641
|
|
|
18746
18642
|
/**
|
|
18747
|
-
|
|
18748
|
-
|
|
18749
|
-
|
|
18750
|
-
|
|
18751
|
-
type: String,
|
|
18643
|
+
* The custom classes added to the item list wrapper.
|
|
18644
|
+
*/
|
|
18645
|
+
listClass: {
|
|
18646
|
+
type: [String, Object, Array],
|
|
18752
18647
|
default: ''
|
|
18753
18648
|
},
|
|
18754
18649
|
|
|
18755
18650
|
/**
|
|
18756
|
-
|
|
18757
|
-
|
|
18758
|
-
|
|
18759
|
-
type: String,
|
|
18760
|
-
default: '
|
|
18761
|
-
|
|
18762
|
-
|
|
18763
|
-
|
|
18651
|
+
* The custom classes added to each item.
|
|
18652
|
+
*/
|
|
18653
|
+
itemClass: {
|
|
18654
|
+
type: [String, Object, Array],
|
|
18655
|
+
default: ''
|
|
18656
|
+
}
|
|
18657
|
+
},
|
|
18658
|
+
emits: ['scroll-start', 'scroll-end'],
|
|
18659
|
+
|
|
18660
|
+
setup(__props, _ref) {
|
|
18661
|
+
let {
|
|
18662
|
+
expose,
|
|
18663
|
+
emit
|
|
18664
|
+
} = _ref;
|
|
18665
|
+
const props = __props;
|
|
18666
|
+
const views = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.reactive)(new Map());
|
|
18667
|
+
const reactiveItems = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.reactive)(props.items);
|
|
18668
|
+
const unusedViews = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.reactive)(new Map());
|
|
18669
|
+
const updateTimeout = null;
|
|
18670
|
+
const pool = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)([]);
|
|
18671
|
+
const hoverKey = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
|
|
18672
|
+
const ready = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(false);
|
|
18673
|
+
const scroller = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
|
|
18674
|
+
let startIndex = 0;
|
|
18675
|
+
let endIndex = 0;
|
|
18676
|
+
let scrollDirty = false;
|
|
18677
|
+
let lastUpdateScrollPosition = 0;
|
|
18678
|
+
let sortTimer = null;
|
|
18679
|
+
let computedMinItemSize = null;
|
|
18680
|
+
let totalSize = 0;
|
|
18681
|
+
let uid = 0;
|
|
18682
|
+
const sizes = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
|
|
18683
|
+
if (props.itemSize === null) {
|
|
18684
|
+
const sizes = {
|
|
18685
|
+
'-1': {
|
|
18686
|
+
accumulator: 0
|
|
18687
|
+
}
|
|
18688
|
+
};
|
|
18689
|
+
const items = props.items;
|
|
18690
|
+
const field = props.sizeField;
|
|
18691
|
+
const minItemSize = props.minItemSize;
|
|
18692
|
+
let computedMinSize = 10000;
|
|
18693
|
+
let accumulator = 0;
|
|
18694
|
+
let current;
|
|
18695
|
+
|
|
18696
|
+
for (let i = 0, l = items.length; i < l; i++) {
|
|
18697
|
+
current = items[i][field] || minItemSize;
|
|
18698
|
+
|
|
18699
|
+
if (current < computedMinSize) {
|
|
18700
|
+
computedMinSize = current;
|
|
18701
|
+
}
|
|
18702
|
+
|
|
18703
|
+
accumulator += current;
|
|
18704
|
+
sizes[i] = {
|
|
18705
|
+
accumulator,
|
|
18706
|
+
size: current
|
|
18707
|
+
};
|
|
18708
|
+
}
|
|
18709
|
+
|
|
18710
|
+
computedMinItemSize = computedMinSize;
|
|
18711
|
+
return sizes;
|
|
18712
|
+
}
|
|
18713
|
+
|
|
18714
|
+
return [];
|
|
18715
|
+
});
|
|
18716
|
+
const simpleArray = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
|
|
18717
|
+
return props.items.length && typeof props.items[0] !== 'object';
|
|
18718
|
+
});
|
|
18719
|
+
const itemIndexByKey = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
|
|
18720
|
+
const result = {};
|
|
18721
|
+
|
|
18722
|
+
for (let i = 0, l = props.items.length; i < l; i++) {
|
|
18723
|
+
result[props.items[i][props.keyField]] = i;
|
|
18724
|
+
}
|
|
18725
|
+
|
|
18726
|
+
return result;
|
|
18727
|
+
});
|
|
18728
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(reactiveItems, () => {
|
|
18729
|
+
_updateVisibleItems(true);
|
|
18730
|
+
});
|
|
18731
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(sizes, () => {
|
|
18732
|
+
_updateVisibleItems(false);
|
|
18733
|
+
}, {
|
|
18734
|
+
deep: true
|
|
18735
|
+
});
|
|
18736
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.onMounted)(() => {
|
|
18737
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.nextTick)(() => {
|
|
18738
|
+
// In SSR mode, render the real number of visible items
|
|
18739
|
+
_updateVisibleItems(true);
|
|
18740
|
+
|
|
18741
|
+
ready.value = true;
|
|
18742
|
+
});
|
|
18743
|
+
});
|
|
18744
|
+
|
|
18745
|
+
const _addView = (pool, index, item, key, type) => {
|
|
18746
|
+
const nr = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.markRaw)({
|
|
18747
|
+
id: uid++,
|
|
18748
|
+
index,
|
|
18749
|
+
used: true,
|
|
18750
|
+
key,
|
|
18751
|
+
type
|
|
18752
|
+
});
|
|
18753
|
+
const view = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.shallowReactive)({
|
|
18754
|
+
item,
|
|
18755
|
+
position: 0,
|
|
18756
|
+
nr
|
|
18757
|
+
});
|
|
18758
|
+
pool.value.push(view);
|
|
18759
|
+
return view;
|
|
18760
|
+
};
|
|
18761
|
+
|
|
18762
|
+
const _unuseView = function (view) {
|
|
18763
|
+
let fake = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
18764
|
+
const _unusedViews = unusedViews;
|
|
18765
|
+
const type = view.nr.type;
|
|
18766
|
+
|
|
18767
|
+
let unusedPool = _unusedViews.get(type);
|
|
18768
|
+
|
|
18769
|
+
if (!unusedPool) {
|
|
18770
|
+
unusedPool = [];
|
|
18771
|
+
|
|
18772
|
+
_unusedViews.set(type, unusedPool);
|
|
18773
|
+
}
|
|
18774
|
+
|
|
18775
|
+
unusedPool.push(view);
|
|
18776
|
+
|
|
18777
|
+
if (!fake) {
|
|
18778
|
+
view.nr.used = false;
|
|
18779
|
+
view.position = -9999;
|
|
18780
|
+
}
|
|
18781
|
+
};
|
|
18782
|
+
|
|
18783
|
+
const _getScroll = () => {
|
|
18784
|
+
const isVertical = props.direction === 'vertical';
|
|
18785
|
+
let scrollState;
|
|
18786
|
+
|
|
18787
|
+
if (isVertical) {
|
|
18788
|
+
scrollState = {
|
|
18789
|
+
start: scroller.value.scrollTop,
|
|
18790
|
+
end: scroller.value.scrollTop + scroller.value.clientHeight
|
|
18791
|
+
};
|
|
18792
|
+
} else {
|
|
18793
|
+
scrollState = {
|
|
18794
|
+
start: scroller.value.scrollLeft,
|
|
18795
|
+
end: scroller.value.scrollLeft + scroller.value.clientWidth
|
|
18796
|
+
};
|
|
18797
|
+
}
|
|
18798
|
+
|
|
18799
|
+
return scrollState;
|
|
18800
|
+
};
|
|
18801
|
+
|
|
18802
|
+
const _itemsLimitError = () => {
|
|
18803
|
+
setTimeout(() => {
|
|
18804
|
+
// eslint-disable-next-line max-len
|
|
18805
|
+
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
|
|
18806
|
+
|
|
18807
|
+
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.');
|
|
18808
|
+
});
|
|
18809
|
+
throw new Error('Rendered items limit reached');
|
|
18810
|
+
};
|
|
18811
|
+
|
|
18812
|
+
const _sortViews = () => {
|
|
18813
|
+
pool.value.sort((viewA, viewB) => viewA.nr.index - viewB.nr.index);
|
|
18814
|
+
};
|
|
18815
|
+
|
|
18816
|
+
const _updateVisibleItems = function (checkItem) {
|
|
18817
|
+
let checkPositionDiff = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
18818
|
+
const itemSize = props.itemSize;
|
|
18819
|
+
const minItemSize = computedMinItemSize;
|
|
18820
|
+
const keyField = simpleArray.value ? null : props.keyField;
|
|
18821
|
+
const items = props.items;
|
|
18822
|
+
const count = items.length;
|
|
18823
|
+
const _sizes = sizes.value;
|
|
18824
|
+
const _views = views;
|
|
18825
|
+
const _unusedViews = unusedViews;
|
|
18826
|
+
const _pool = pool;
|
|
18827
|
+
const _itemIndexByKey = itemIndexByKey;
|
|
18828
|
+
|
|
18829
|
+
let _startIndex, _endIndex;
|
|
18830
|
+
|
|
18831
|
+
let _totalSize;
|
|
18832
|
+
|
|
18833
|
+
let visibleStartIndex, visibleEndIndex;
|
|
18834
|
+
|
|
18835
|
+
if (!count) {
|
|
18836
|
+
_startIndex = _endIndex = visibleStartIndex = visibleEndIndex = _totalSize = 0;
|
|
18837
|
+
} else {
|
|
18838
|
+
const scroll = _getScroll(); // Skip update if use hasn't scrolled enough
|
|
18839
|
+
|
|
18840
|
+
|
|
18841
|
+
if (checkPositionDiff) {
|
|
18842
|
+
let positionDiff = scroll.start - lastUpdateScrollPosition.value;
|
|
18843
|
+
if (positionDiff < 0) positionDiff = -positionDiff;
|
|
18844
|
+
|
|
18845
|
+
if (itemSize === null && positionDiff < minItemSize.value || positionDiff < itemSize) {
|
|
18846
|
+
return {
|
|
18847
|
+
continuous: true
|
|
18848
|
+
};
|
|
18849
|
+
}
|
|
18850
|
+
}
|
|
18851
|
+
|
|
18852
|
+
lastUpdateScrollPosition = scroll.start;
|
|
18853
|
+
const _buffer = props.buffer;
|
|
18854
|
+
scroll.start -= _buffer;
|
|
18855
|
+
scroll.end += _buffer; // Variable size mode
|
|
18856
|
+
|
|
18857
|
+
if (itemSize === null) {
|
|
18858
|
+
var _sizes3;
|
|
18859
|
+
|
|
18860
|
+
let h;
|
|
18861
|
+
let a = 0;
|
|
18862
|
+
let b = count - 1;
|
|
18863
|
+
let i = ~~(count / 2);
|
|
18864
|
+
let oldI; // Searching for _startIndex
|
|
18865
|
+
|
|
18866
|
+
do {
|
|
18867
|
+
var _sizes$i, _sizes2;
|
|
18868
|
+
|
|
18869
|
+
oldI = i;
|
|
18870
|
+
h = (_sizes$i = _sizes[i]) === null || _sizes$i === void 0 ? void 0 : _sizes$i.accumulator;
|
|
18871
|
+
|
|
18872
|
+
if (h < scroll.start) {
|
|
18873
|
+
a = i;
|
|
18874
|
+
} else if (i < count - 1 && ((_sizes2 = _sizes[i + 1]) === null || _sizes2 === void 0 ? void 0 : _sizes2.accumulator) > scroll.start) {
|
|
18875
|
+
b = i;
|
|
18876
|
+
}
|
|
18877
|
+
|
|
18878
|
+
i = ~~((a + b) / 2);
|
|
18879
|
+
} while (i !== oldI);
|
|
18880
|
+
|
|
18881
|
+
i < 0 && (i = 0);
|
|
18882
|
+
_startIndex = i; // For container style
|
|
18883
|
+
|
|
18884
|
+
_totalSize = (_sizes3 = _sizes[count - 1]) === null || _sizes3 === void 0 ? void 0 : _sizes3.accumulator; // Searching for _endIndex
|
|
18885
|
+
|
|
18886
|
+
for (_endIndex = i; _endIndex < count && ((_sizes$_endIndex = _sizes[_endIndex]) === null || _sizes$_endIndex === void 0 ? void 0 : _sizes$_endIndex.accumulator) < scroll.end; _endIndex++) {
|
|
18887
|
+
var _sizes$_endIndex;
|
|
18888
|
+
|
|
18889
|
+
;
|
|
18890
|
+
}
|
|
18891
|
+
|
|
18892
|
+
if (_endIndex === -1) {
|
|
18893
|
+
_endIndex = items.length - 1;
|
|
18894
|
+
} else {
|
|
18895
|
+
_endIndex++; // Bounds
|
|
18896
|
+
|
|
18897
|
+
_endIndex > count && (_endIndex = count);
|
|
18898
|
+
} // search visible _startIndex
|
|
18899
|
+
|
|
18900
|
+
|
|
18901
|
+
for (visibleStartIndex = startIndex; visibleStartIndex < count && ((_sizes$visibleStartIn = _sizes[visibleStartIndex]) === null || _sizes$visibleStartIn === void 0 ? void 0 : _sizes$visibleStartIn.accumulator) < scroll.start; visibleStartIndex++) {
|
|
18902
|
+
var _sizes$visibleStartIn;
|
|
18903
|
+
|
|
18904
|
+
;
|
|
18905
|
+
} // search visible endIndex
|
|
18906
|
+
|
|
18907
|
+
|
|
18908
|
+
for (visibleEndIndex = visibleStartIndex; visibleEndIndex < count && ((_sizes$visibleEndInde = _sizes[visibleEndIndex]) === null || _sizes$visibleEndInde === void 0 ? void 0 : _sizes$visibleEndInde.accumulator) < scroll.end; visibleEndIndex++) {
|
|
18909
|
+
var _sizes$visibleEndInde;
|
|
18910
|
+
|
|
18911
|
+
;
|
|
18912
|
+
}
|
|
18913
|
+
} else {
|
|
18914
|
+
// Fixed size mode
|
|
18915
|
+
_startIndex = ~~(scroll.start / itemSize);
|
|
18916
|
+
const remainer = _startIndex % 1;
|
|
18917
|
+
_startIndex -= remainer;
|
|
18918
|
+
_endIndex = Math.ceil(scroll.end / itemSize);
|
|
18919
|
+
visibleStartIndex = Math.max(0, Math.floor(scroll.start / itemSize));
|
|
18920
|
+
visibleEndIndex = Math.floor(scroll.end / itemSize); // Bounds
|
|
18921
|
+
|
|
18922
|
+
_startIndex < 0 && (_startIndex = 0);
|
|
18923
|
+
_endIndex > count && (_endIndex = count);
|
|
18924
|
+
visibleStartIndex < 0 && (visibleStartIndex = 0);
|
|
18925
|
+
visibleEndIndex > count && (visibleEndIndex = count);
|
|
18926
|
+
_totalSize = Math.ceil(count / 1) * itemSize;
|
|
18927
|
+
}
|
|
18928
|
+
} // items limit 1000
|
|
18929
|
+
|
|
18930
|
+
|
|
18931
|
+
if (_endIndex - _startIndex > 1000) {
|
|
18932
|
+
_itemsLimitError();
|
|
18933
|
+
}
|
|
18934
|
+
|
|
18935
|
+
totalSize = _totalSize;
|
|
18936
|
+
let view;
|
|
18937
|
+
const continuous = _startIndex <= endIndex && _endIndex >= _startIndex; // Unuse views that are no longer visible
|
|
18938
|
+
|
|
18939
|
+
if (continuous) {
|
|
18940
|
+
for (let i = 0, l = _pool.value.length; i < l; i++) {
|
|
18941
|
+
var _view;
|
|
18942
|
+
|
|
18943
|
+
view = _pool.value[i];
|
|
18944
|
+
|
|
18945
|
+
if ((_view = view) !== null && _view !== void 0 && _view.nr.used) {
|
|
18946
|
+
// Update view item index
|
|
18947
|
+
if (checkItem) {
|
|
18948
|
+
view.nr.index = _itemIndexByKey[view.item[keyField]];
|
|
18949
|
+
} // Check if index is still in visible range
|
|
18950
|
+
|
|
18951
|
+
|
|
18952
|
+
if (view.nr.index == null || view.nr.index < _startIndex || view.nr.index >= _endIndex) {
|
|
18953
|
+
_unuseView(view);
|
|
18954
|
+
}
|
|
18955
|
+
}
|
|
18956
|
+
}
|
|
18957
|
+
}
|
|
18958
|
+
|
|
18959
|
+
const unusedIndex = continuous ? null : new Map();
|
|
18960
|
+
let item, type;
|
|
18961
|
+
let v;
|
|
18962
|
+
|
|
18963
|
+
for (let i = _startIndex; i < _endIndex; i++) {
|
|
18964
|
+
var _item, _sizes$i2;
|
|
18965
|
+
|
|
18966
|
+
item = items[i];
|
|
18967
|
+
const key = keyField ? (_item = item) === null || _item === void 0 ? void 0 : _item[keyField] : item;
|
|
18968
|
+
|
|
18969
|
+
if (key == null) {
|
|
18970
|
+
throw new Error(`Key is ${key} on item (keyField is '${keyField}')`);
|
|
18971
|
+
}
|
|
18972
|
+
|
|
18973
|
+
view = _views.get(key);
|
|
18974
|
+
|
|
18975
|
+
if (!itemSize && !((_sizes$i2 = _sizes[i]) !== null && _sizes$i2 !== void 0 && _sizes$i2.size)) {
|
|
18976
|
+
if (view) _unuseView(view);
|
|
18977
|
+
continue;
|
|
18978
|
+
}
|
|
18979
|
+
|
|
18980
|
+
type = item.type;
|
|
18981
|
+
|
|
18982
|
+
let unusedPool = _unusedViews.get(type);
|
|
18983
|
+
|
|
18984
|
+
let newlyUsedView = false; // No view assigned to item
|
|
18985
|
+
|
|
18986
|
+
if (!view) {
|
|
18987
|
+
if (continuous) {
|
|
18988
|
+
// Reuse existing view
|
|
18989
|
+
if (unusedPool && unusedPool.length) {
|
|
18990
|
+
view = unusedPool.pop();
|
|
18991
|
+
} else {
|
|
18992
|
+
view = _addView(_pool, i, item, key, type);
|
|
18993
|
+
}
|
|
18994
|
+
} else {
|
|
18995
|
+
// Use existing view
|
|
18996
|
+
// We don't care if they are already used
|
|
18997
|
+
// because we are not in continous scrolling
|
|
18998
|
+
v = unusedIndex.get(type) || 0;
|
|
18999
|
+
|
|
19000
|
+
if (!unusedPool || v >= unusedPool.length) {
|
|
19001
|
+
view = _addView(_pool, i, item, key, type);
|
|
19002
|
+
|
|
19003
|
+
_unuseView(view, true);
|
|
19004
|
+
|
|
19005
|
+
unusedPool = _unusedViews.get(type);
|
|
19006
|
+
}
|
|
19007
|
+
|
|
19008
|
+
view = unusedPool[v];
|
|
19009
|
+
unusedIndex.set(type, v + 1);
|
|
19010
|
+
} // Assign view to item
|
|
19011
|
+
|
|
19012
|
+
|
|
19013
|
+
_views.delete(view.nr.key);
|
|
19014
|
+
|
|
19015
|
+
view.nr.used = true;
|
|
19016
|
+
view.nr.index = i;
|
|
19017
|
+
view.nr.key = key;
|
|
19018
|
+
view.nr.type = type;
|
|
19019
|
+
|
|
19020
|
+
_views.set(key, view);
|
|
19021
|
+
|
|
19022
|
+
newlyUsedView = true;
|
|
19023
|
+
} else {
|
|
19024
|
+
// View already assigned to item
|
|
19025
|
+
if (!view.nr.used) {
|
|
19026
|
+
view.nr.used = true;
|
|
19027
|
+
newlyUsedView = true;
|
|
19028
|
+
|
|
19029
|
+
if (unusedPool) {
|
|
19030
|
+
const index = unusedPool.indexOf(view);
|
|
19031
|
+
if (index !== -1) unusedPool.splice(index, 1);
|
|
19032
|
+
}
|
|
19033
|
+
}
|
|
19034
|
+
} // Always set item in case it's a new object with the same key
|
|
19035
|
+
|
|
19036
|
+
|
|
19037
|
+
view.item = item;
|
|
19038
|
+
|
|
19039
|
+
if (newlyUsedView) {
|
|
19040
|
+
if (i === items.length - 1) emit('scroll-end');
|
|
19041
|
+
if (i === 0) emit('scroll-start');
|
|
19042
|
+
} // Update position
|
|
19043
|
+
|
|
19044
|
+
|
|
19045
|
+
if (itemSize === null) {
|
|
19046
|
+
var _sizes4;
|
|
19047
|
+
|
|
19048
|
+
view.position = (_sizes4 = _sizes[i - 1]) === null || _sizes4 === void 0 ? void 0 : _sizes4.accumulator;
|
|
19049
|
+
view.offset = 0;
|
|
19050
|
+
} else {
|
|
19051
|
+
view.position = Math.floor(i) * itemSize;
|
|
19052
|
+
view.offset = i % 1 * itemSize;
|
|
19053
|
+
}
|
|
19054
|
+
}
|
|
19055
|
+
|
|
19056
|
+
startIndex = _startIndex;
|
|
19057
|
+
endIndex = _endIndex; // After the user has finished scrolling
|
|
19058
|
+
// Sort views so text selection is correct
|
|
19059
|
+
|
|
19060
|
+
clearTimeout(sortTimer);
|
|
19061
|
+
sortTimer = setTimeout(_sortViews, 300);
|
|
19062
|
+
return {
|
|
19063
|
+
continuous
|
|
19064
|
+
};
|
|
19065
|
+
};
|
|
19066
|
+
|
|
19067
|
+
const _scrollToPosition = position => {
|
|
19068
|
+
const direction = props.direction === 'vertical' ? {
|
|
19069
|
+
scroll: 'scrollTop',
|
|
19070
|
+
start: 'top'
|
|
19071
|
+
} : {
|
|
19072
|
+
scroll: 'scrollLeft',
|
|
19073
|
+
start: 'left'
|
|
19074
|
+
};
|
|
19075
|
+
const viewport = scroller.value;
|
|
19076
|
+
const scrollDirection = direction.scroll;
|
|
19077
|
+
viewport[scrollDirection] = position;
|
|
19078
|
+
};
|
|
19079
|
+
|
|
19080
|
+
const scrollToItem = index => {
|
|
19081
|
+
let scroll;
|
|
19082
|
+
|
|
19083
|
+
if (props.itemSize === null) {
|
|
19084
|
+
var _sizes$value;
|
|
19085
|
+
|
|
19086
|
+
scroll = index > 0 ? (_sizes$value = sizes.value[index - 1]) === null || _sizes$value === void 0 ? void 0 : _sizes$value.accumulator : 0;
|
|
19087
|
+
} else {
|
|
19088
|
+
scroll = Math.floor(index) * props.itemSize;
|
|
19089
|
+
}
|
|
19090
|
+
|
|
19091
|
+
_scrollToPosition(scroll);
|
|
19092
|
+
};
|
|
19093
|
+
|
|
19094
|
+
const handleScroll = () => {
|
|
19095
|
+
if (!scrollDirty) {
|
|
19096
|
+
scrollDirty = true;
|
|
19097
|
+
if (updateTimeout) return;
|
|
19098
|
+
|
|
19099
|
+
const requestUpdate = () => requestAnimationFrame(() => {
|
|
19100
|
+
scrollDirty = false;
|
|
19101
|
+
|
|
19102
|
+
_updateVisibleItems(false, true);
|
|
19103
|
+
});
|
|
19104
|
+
|
|
19105
|
+
requestUpdate();
|
|
19106
|
+
}
|
|
19107
|
+
};
|
|
19108
|
+
|
|
19109
|
+
expose({
|
|
19110
|
+
scrollToItem
|
|
19111
|
+
});
|
|
19112
|
+
return (_ctx, _cache) => {
|
|
19113
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
|
|
19114
|
+
ref_key: "scroller",
|
|
19115
|
+
ref: scroller,
|
|
19116
|
+
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["vue-recycle-scroller", {
|
|
19117
|
+
ready: ready.value,
|
|
19118
|
+
[`direction-${__props.direction}`]: true
|
|
19119
|
+
}]),
|
|
19120
|
+
onScrollPassive: handleScroll
|
|
19121
|
+
}, [((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), {
|
|
19122
|
+
ref: "wrapper",
|
|
19123
|
+
style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)({
|
|
19124
|
+
[__props.direction === 'vertical' ? 'minHeight' : 'minWidth']: `${(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.unref)(totalSize)}px`
|
|
19125
|
+
}),
|
|
19126
|
+
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["vue-recycle-scroller__item-wrapper", __props.listClass])
|
|
19127
|
+
}, {
|
|
19128
|
+
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 => {
|
|
19129
|
+
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)({
|
|
19130
|
+
key: view.nr.id,
|
|
19131
|
+
style: ready.value ? {
|
|
19132
|
+
transform: `translate${__props.direction === 'vertical' ? 'Y' : 'X'}(${view.position}px) translate${__props.direction === 'vertical' ? 'X' : 'Y'}(${view.offset}px)`,
|
|
19133
|
+
width: undefined,
|
|
19134
|
+
height: undefined
|
|
19135
|
+
} : null,
|
|
19136
|
+
class: ["vue-recycle-scroller__item-view", [__props.itemClass, {
|
|
19137
|
+
hover: !__props.skipHover && hoverKey.value === view.nr.key
|
|
19138
|
+
}]]
|
|
19139
|
+
}, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toHandlers)(__props.skipHover ? {} : {
|
|
19140
|
+
mouseenter: () => {
|
|
19141
|
+
hoverKey.value = view.nr.key;
|
|
19142
|
+
},
|
|
19143
|
+
mouseleave: () => {
|
|
19144
|
+
hoverKey.value = null;
|
|
19145
|
+
}
|
|
19146
|
+
})), {
|
|
19147
|
+
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default", {
|
|
19148
|
+
item: view.item,
|
|
19149
|
+
index: view.nr.index,
|
|
19150
|
+
active: view.nr.used
|
|
19151
|
+
})]),
|
|
19152
|
+
_: 2
|
|
19153
|
+
}, 1040, ["style", "class"]);
|
|
19154
|
+
}), 128))]),
|
|
19155
|
+
_: 3
|
|
19156
|
+
}, 8, ["style", "class"]))], 34);
|
|
19157
|
+
};
|
|
19158
|
+
}
|
|
19159
|
+
|
|
19160
|
+
});
|
|
19161
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/core-scroller.vue?vue&type=script&setup=true&lang=js
|
|
19162
|
+
|
|
19163
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.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
|
|
19164
|
+
// extracted by mini-css-extract-plugin
|
|
19165
|
+
|
|
19166
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/core-scroller.vue?vue&type=style&index=0&id=d2aff5e0&lang=css
|
|
19167
|
+
|
|
19168
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/core-scroller.vue
|
|
19169
|
+
|
|
19170
|
+
|
|
19171
|
+
|
|
19172
|
+
;
|
|
19173
|
+
|
|
19174
|
+
const core_scroller_exports_ = core_scrollervue_type_script_setup_true_lang_js;
|
|
19175
|
+
|
|
19176
|
+
/* harmony default export */ const core_scroller = (core_scroller_exports_);
|
|
19177
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/scroller/modules/dynamic-scroller.vue?vue&type=template&id=419ca1d0
|
|
19178
|
+
|
|
19179
|
+
function dynamic_scrollervue_type_template_id_419ca1d0_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
19180
|
+
const _component_dt_scroller_item = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-scroller-item");
|
|
19181
|
+
|
|
19182
|
+
const _component_core_scroller = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("core-scroller");
|
|
19183
|
+
|
|
19184
|
+
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)({
|
|
19185
|
+
ref: "scroller",
|
|
19186
|
+
items: $options.itemsWithSize,
|
|
19187
|
+
"min-item-size": $props.minItemSize,
|
|
19188
|
+
direction: $props.direction,
|
|
19189
|
+
"key-field": "id",
|
|
19190
|
+
"list-tag": $props.listTag,
|
|
19191
|
+
"item-tag": $props.itemTag
|
|
19192
|
+
}, _ctx.$attrs), {
|
|
19193
|
+
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref => {
|
|
19194
|
+
let {
|
|
19195
|
+
item: itemWithSize,
|
|
19196
|
+
index,
|
|
19197
|
+
active
|
|
19198
|
+
} = _ref;
|
|
19199
|
+
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_scroller_item, {
|
|
19200
|
+
item: itemWithSize,
|
|
19201
|
+
active: active,
|
|
19202
|
+
"size-dependencies": [itemWithSize.message],
|
|
19203
|
+
"data-index": index
|
|
19204
|
+
}, {
|
|
19205
|
+
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)({
|
|
19206
|
+
item: itemWithSize.item,
|
|
19207
|
+
index,
|
|
19208
|
+
active,
|
|
19209
|
+
itemWithSize
|
|
19210
|
+
})))]),
|
|
19211
|
+
_: 2
|
|
19212
|
+
}, 1032, ["item", "active", "size-dependencies", "data-index"])];
|
|
19213
|
+
}),
|
|
19214
|
+
_: 3
|
|
19215
|
+
}, 16, ["items", "min-item-size", "direction", "list-tag", "item-tag"]);
|
|
19216
|
+
}
|
|
19217
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/dynamic-scroller.vue?vue&type=template&id=419ca1d0
|
|
19218
|
+
|
|
19219
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/scroller/modules/scroller-item.vue?vue&type=script&lang=js
|
|
19220
|
+
|
|
19221
|
+
/* harmony default export */ const scroller_itemvue_type_script_lang_js = ({
|
|
19222
|
+
name: 'DtScrollerItem',
|
|
19223
|
+
inject: ['vscrollData', 'vscrollParent', 'vscrollResizeObserver'],
|
|
19224
|
+
props: {
|
|
19225
|
+
// eslint-disable-next-line vue/require-prop-types
|
|
19226
|
+
item: {
|
|
19227
|
+
required: true
|
|
19228
|
+
},
|
|
19229
|
+
watchData: {
|
|
19230
|
+
type: Boolean,
|
|
19231
|
+
default: false
|
|
19232
|
+
},
|
|
19233
|
+
|
|
19234
|
+
/**
|
|
19235
|
+
* Indicates if the view is actively used to display an item.
|
|
19236
|
+
*/
|
|
19237
|
+
active: {
|
|
19238
|
+
type: Boolean,
|
|
19239
|
+
required: true
|
|
19240
|
+
},
|
|
19241
|
+
index: {
|
|
19242
|
+
type: Number,
|
|
19243
|
+
default: undefined
|
|
19244
|
+
},
|
|
19245
|
+
sizeDependencies: {
|
|
19246
|
+
type: [Array, Object],
|
|
19247
|
+
default: null
|
|
19248
|
+
},
|
|
19249
|
+
tag: {
|
|
19250
|
+
type: String,
|
|
19251
|
+
default: 'div'
|
|
19252
|
+
}
|
|
19253
|
+
},
|
|
19254
|
+
computed: {
|
|
19255
|
+
id() {
|
|
19256
|
+
if (this.vscrollData.simpleArray) return this.index; // eslint-disable-next-line no-prototype-builtins
|
|
19257
|
+
|
|
19258
|
+
if (this.vscrollData.keyField in this.item) return this.item[this.vscrollData.keyField];
|
|
19259
|
+
throw new Error(`keyField '${this.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`);
|
|
19260
|
+
},
|
|
19261
|
+
|
|
19262
|
+
size() {
|
|
19263
|
+
return this.vscrollData.sizes[this.id] || 0;
|
|
19264
|
+
},
|
|
19265
|
+
|
|
19266
|
+
finalActive() {
|
|
19267
|
+
return this.active && this.vscrollData.active;
|
|
19268
|
+
}
|
|
19269
|
+
|
|
19270
|
+
},
|
|
19271
|
+
watch: {
|
|
19272
|
+
watchData: 'updateWatchData',
|
|
19273
|
+
|
|
19274
|
+
id(value, oldValue) {
|
|
19275
|
+
this.$el.$_vs_id = this.id;
|
|
19276
|
+
|
|
19277
|
+
if (!this.size) {
|
|
19278
|
+
this.onDataUpdate();
|
|
19279
|
+
}
|
|
19280
|
+
|
|
19281
|
+
if (this.$_sizeObserved) {
|
|
19282
|
+
// In case the old item had the same size, it won't trigger the ResizeObserver
|
|
19283
|
+
// since we are reusing the same DOM node
|
|
19284
|
+
const oldSize = this.vscrollData.sizes[oldValue];
|
|
19285
|
+
const size = this.vscrollData.sizes[value];
|
|
19286
|
+
|
|
19287
|
+
if (oldSize != null && oldSize !== size) {
|
|
19288
|
+
this.applySize(oldSize);
|
|
19289
|
+
}
|
|
19290
|
+
}
|
|
19291
|
+
},
|
|
19292
|
+
|
|
19293
|
+
finalActive(value) {
|
|
19294
|
+
if (!this.size) {
|
|
19295
|
+
if (value) {
|
|
19296
|
+
if (!this.vscrollParent.$_undefinedMap[this.id]) {
|
|
19297
|
+
this.vscrollParent.$_undefinedSizes++;
|
|
19298
|
+
this.vscrollParent.$_undefinedMap[this.id] = true;
|
|
19299
|
+
}
|
|
19300
|
+
} else {
|
|
19301
|
+
if (this.vscrollParent.$_undefinedMap[this.id]) {
|
|
19302
|
+
this.vscrollParent.$_undefinedSizes--;
|
|
19303
|
+
this.vscrollParent.$_undefinedMap[this.id] = false;
|
|
19304
|
+
}
|
|
19305
|
+
}
|
|
19306
|
+
}
|
|
19307
|
+
|
|
19308
|
+
if (this.vscrollResizeObserver) {
|
|
19309
|
+
if (value) {
|
|
19310
|
+
this.observeSize();
|
|
19311
|
+
} else {
|
|
19312
|
+
this.unobserveSize();
|
|
19313
|
+
}
|
|
19314
|
+
} else if (value && this.$_pendingVScrollUpdate === this.id) {
|
|
19315
|
+
this.updateSize();
|
|
19316
|
+
}
|
|
19317
|
+
}
|
|
19318
|
+
|
|
19319
|
+
},
|
|
19320
|
+
|
|
19321
|
+
created() {
|
|
19322
|
+
if (this.$isServer) return;
|
|
19323
|
+
this.$_forceNextVScrollUpdate = null;
|
|
19324
|
+
this.updateWatchData();
|
|
19325
|
+
|
|
19326
|
+
if (!this.vscrollResizeObserver) {
|
|
19327
|
+
for (const k in this.sizeDependencies) {
|
|
19328
|
+
this.$watch(() => this.sizeDependencies[k], this.onDataUpdate);
|
|
19329
|
+
}
|
|
19330
|
+
}
|
|
19331
|
+
},
|
|
19332
|
+
|
|
19333
|
+
mounted() {
|
|
19334
|
+
if (this.finalActive) {
|
|
19335
|
+
this.updateSize();
|
|
19336
|
+
this.observeSize();
|
|
19337
|
+
}
|
|
19338
|
+
},
|
|
19339
|
+
|
|
19340
|
+
beforeUnmount() {
|
|
19341
|
+
this.unobserveSize();
|
|
19342
|
+
},
|
|
19343
|
+
|
|
19344
|
+
methods: {
|
|
19345
|
+
updateSize() {
|
|
19346
|
+
if (this.finalActive) {
|
|
19347
|
+
if (this.$_pendingSizeUpdate !== this.id) {
|
|
19348
|
+
this.$_pendingSizeUpdate = this.id;
|
|
19349
|
+
this.$_forceNextVScrollUpdate = null;
|
|
19350
|
+
this.$_pendingVScrollUpdate = null;
|
|
19351
|
+
this.computeSize(this.id);
|
|
19352
|
+
}
|
|
19353
|
+
} else {
|
|
19354
|
+
this.$_forceNextVScrollUpdate = this.id;
|
|
19355
|
+
}
|
|
19356
|
+
},
|
|
19357
|
+
|
|
19358
|
+
updateWatchData() {
|
|
19359
|
+
if (this.watchData && !this.vscrollResizeObserver) {
|
|
19360
|
+
this.$_watchData = this.$watch('item', () => {
|
|
19361
|
+
this.onDataUpdate();
|
|
19362
|
+
}, {
|
|
19363
|
+
deep: true
|
|
19364
|
+
});
|
|
19365
|
+
} else if (this.$_watchData) {
|
|
19366
|
+
this.$_watchData();
|
|
19367
|
+
this.$_watchData = null;
|
|
19368
|
+
}
|
|
19369
|
+
},
|
|
19370
|
+
|
|
19371
|
+
onVscrollUpdate(_ref) {
|
|
19372
|
+
let {
|
|
19373
|
+
force
|
|
19374
|
+
} = _ref;
|
|
19375
|
+
|
|
19376
|
+
// If not active, sechedule a size update when it becomes active
|
|
19377
|
+
if (!this.finalActive && force) {
|
|
19378
|
+
this.$_pendingVScrollUpdate = this.id;
|
|
19379
|
+
}
|
|
19380
|
+
|
|
19381
|
+
if (this.$_forceNextVScrollUpdate === this.id || force || !this.size) {
|
|
19382
|
+
this.updateSize();
|
|
19383
|
+
}
|
|
19384
|
+
},
|
|
19385
|
+
|
|
19386
|
+
onDataUpdate() {
|
|
19387
|
+
this.updateSize();
|
|
19388
|
+
},
|
|
19389
|
+
|
|
19390
|
+
computeSize(id) {
|
|
19391
|
+
this.$nextTick(() => {
|
|
19392
|
+
if (this.id === id) {
|
|
19393
|
+
const width = this.$el.offsetWidth;
|
|
19394
|
+
const height = this.$el.offsetHeight;
|
|
19395
|
+
this.applyWidthHeight(width, height);
|
|
19396
|
+
}
|
|
19397
|
+
|
|
19398
|
+
this.$_pendingSizeUpdate = null;
|
|
19399
|
+
});
|
|
19400
|
+
},
|
|
19401
|
+
|
|
19402
|
+
applyWidthHeight(width, height) {
|
|
19403
|
+
const size = ~~(this.vscrollParent.direction === 'vertical' ? height : width);
|
|
19404
|
+
|
|
19405
|
+
if (size && this.size !== size) {
|
|
19406
|
+
this.applySize(size);
|
|
19407
|
+
}
|
|
19408
|
+
},
|
|
19409
|
+
|
|
19410
|
+
applySize(size) {
|
|
19411
|
+
if (this.vscrollParent.$_undefinedMap[this.id]) {
|
|
19412
|
+
this.vscrollParent.$_undefinedSizes--;
|
|
19413
|
+
this.vscrollParent.$_undefinedMap[this.id] = undefined;
|
|
19414
|
+
}
|
|
19415
|
+
|
|
19416
|
+
this.vscrollData.sizes[this.id] = size;
|
|
19417
|
+
},
|
|
19418
|
+
|
|
19419
|
+
observeSize() {
|
|
19420
|
+
if (!this.vscrollResizeObserver) return;
|
|
19421
|
+
if (this.$_sizeObserved) return;
|
|
19422
|
+
this.vscrollResizeObserver.observe(this.$el);
|
|
19423
|
+
this.$el.$_vs_id = this.id;
|
|
19424
|
+
this.$el.$_vs_onResize = this.onResize;
|
|
19425
|
+
this.$_sizeObserved = true;
|
|
19426
|
+
},
|
|
19427
|
+
|
|
19428
|
+
unobserveSize() {
|
|
19429
|
+
if (!this.vscrollResizeObserver) return;
|
|
19430
|
+
if (!this.$_sizeObserved) return;
|
|
19431
|
+
this.vscrollResizeObserver.unobserve(this.$el);
|
|
19432
|
+
this.$el.$_vs_onResize = undefined;
|
|
19433
|
+
this.$_sizeObserved = false;
|
|
19434
|
+
},
|
|
19435
|
+
|
|
19436
|
+
onResize(id, width, height) {
|
|
19437
|
+
if (this.id === id) {
|
|
19438
|
+
this.applyWidthHeight(width, height);
|
|
19439
|
+
}
|
|
19440
|
+
}
|
|
19441
|
+
|
|
19442
|
+
},
|
|
19443
|
+
|
|
19444
|
+
render() {
|
|
19445
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.h)(this.tag, this.$slots.default());
|
|
19446
|
+
}
|
|
19447
|
+
|
|
19448
|
+
});
|
|
19449
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/scroller-item.vue?vue&type=script&lang=js
|
|
19450
|
+
|
|
19451
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/scroller-item.vue
|
|
19452
|
+
|
|
19453
|
+
|
|
19454
|
+
|
|
19455
|
+
const scroller_item_exports_ = scroller_itemvue_type_script_lang_js;
|
|
19456
|
+
|
|
19457
|
+
/* harmony default export */ const scroller_item = (scroller_item_exports_);
|
|
19458
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/scroller/modules/dynamic-scroller.vue?vue&type=script&lang=js
|
|
19459
|
+
|
|
19460
|
+
|
|
19461
|
+
/* harmony default export */ const dynamic_scrollervue_type_script_lang_js = ({
|
|
19462
|
+
name: 'DynamicScroller',
|
|
19463
|
+
components: {
|
|
19464
|
+
CoreScroller: core_scroller,
|
|
19465
|
+
DtScrollerItem: scroller_item
|
|
19466
|
+
},
|
|
19467
|
+
|
|
19468
|
+
provide() {
|
|
19469
|
+
if (typeof ResizeObserver !== 'undefined') {
|
|
19470
|
+
this.$_resizeObserver = new ResizeObserver(entries => {
|
|
19471
|
+
requestAnimationFrame(() => {
|
|
19472
|
+
if (!Array.isArray(entries)) {
|
|
19473
|
+
return;
|
|
19474
|
+
}
|
|
19475
|
+
|
|
19476
|
+
for (const entry of entries) {
|
|
19477
|
+
if (entry.target && entry.target.$_vs_onResize) {
|
|
19478
|
+
let width, height;
|
|
19479
|
+
|
|
19480
|
+
if (entry.borderBoxSize) {
|
|
19481
|
+
const resizeObserverSize = entry.borderBoxSize[0];
|
|
19482
|
+
width = resizeObserverSize.inlineSize;
|
|
19483
|
+
height = resizeObserverSize.blockSize;
|
|
19484
|
+
} else {
|
|
19485
|
+
// @TODO remove when contentRect is deprecated
|
|
19486
|
+
width = entry.contentRect.width;
|
|
19487
|
+
height = entry.contentRect.height;
|
|
19488
|
+
}
|
|
19489
|
+
|
|
19490
|
+
entry.target.$_vs_onResize(entry.target.$_vs_id, width, height);
|
|
19491
|
+
}
|
|
19492
|
+
}
|
|
19493
|
+
});
|
|
19494
|
+
});
|
|
19495
|
+
}
|
|
19496
|
+
|
|
19497
|
+
return {
|
|
19498
|
+
vscrollData: this.vscrollData,
|
|
19499
|
+
vscrollParent: this,
|
|
19500
|
+
vscrollResizeObserver: this.$_resizeObserver
|
|
19501
|
+
};
|
|
19502
|
+
},
|
|
19503
|
+
|
|
19504
|
+
inheritAttrs: false,
|
|
19505
|
+
props: {
|
|
19506
|
+
/*
|
|
19507
|
+
* The items to render.
|
|
19508
|
+
* If the items are simple arrays, the index will be used as the key.
|
|
19509
|
+
* If the items are objects, the keyField will be used as the key.
|
|
19510
|
+
*/
|
|
19511
|
+
items: {
|
|
19512
|
+
type: Array,
|
|
19513
|
+
required: true
|
|
19514
|
+
},
|
|
19515
|
+
|
|
19516
|
+
/*
|
|
19517
|
+
* Indicates if the items are dynamic.
|
|
19518
|
+
* If true, the items will be wrapped in a DtScrollerItem component.
|
|
19519
|
+
* This is required for dynamic items to be able to react to changes in their size.
|
|
19520
|
+
*/
|
|
19521
|
+
dynamic: {
|
|
19522
|
+
type: Boolean,
|
|
19523
|
+
default: false
|
|
19524
|
+
},
|
|
19525
|
+
|
|
19526
|
+
/*
|
|
19527
|
+
* The key field to use for the items.
|
|
19528
|
+
* Only used if the items are objects.
|
|
19529
|
+
*/
|
|
19530
|
+
keyField: {
|
|
19531
|
+
type: String,
|
|
19532
|
+
default: 'id'
|
|
19533
|
+
},
|
|
19534
|
+
|
|
19535
|
+
/*
|
|
19536
|
+
* The direction of the scroller.
|
|
19537
|
+
* Can be either 'vertical' or 'horizontal'.
|
|
19538
|
+
*/
|
|
19539
|
+
direction: {
|
|
19540
|
+
type: String,
|
|
19541
|
+
default: 'vertical',
|
|
19542
|
+
validator: value => ['vertical', 'horizontal'].includes(value)
|
|
19543
|
+
},
|
|
19544
|
+
|
|
19545
|
+
/*
|
|
19546
|
+
* The tag to use for the list.
|
|
19547
|
+
*/
|
|
19548
|
+
listTag: {
|
|
19549
|
+
type: String,
|
|
19550
|
+
default: 'div'
|
|
19551
|
+
},
|
|
19552
|
+
|
|
19553
|
+
/*
|
|
19554
|
+
* The tag to use for the items.
|
|
19555
|
+
*/
|
|
19556
|
+
itemTag: {
|
|
19557
|
+
type: String,
|
|
19558
|
+
default: 'div'
|
|
19559
|
+
},
|
|
19560
|
+
|
|
19561
|
+
/*
|
|
19562
|
+
* Display height (or width in horizontal mode) of the items in pixels
|
|
19563
|
+
* used to calculate the scroll size and position.
|
|
19564
|
+
* Is required for the initial render of items in DYNAMIC size mode.
|
|
19565
|
+
*/
|
|
19566
|
+
minItemSize: {
|
|
19567
|
+
type: [Number, String]
|
|
19568
|
+
}
|
|
19569
|
+
},
|
|
19570
|
+
|
|
19571
|
+
data() {
|
|
19572
|
+
return {
|
|
19573
|
+
vscrollData: {
|
|
19574
|
+
active: true,
|
|
19575
|
+
sizes: {},
|
|
19576
|
+
keyField: this.keyField,
|
|
19577
|
+
simpleArray: false
|
|
19578
|
+
}
|
|
19579
|
+
};
|
|
19580
|
+
},
|
|
19581
|
+
|
|
19582
|
+
computed: {
|
|
19583
|
+
simpleArray() {
|
|
19584
|
+
return this.items.length && typeof this.items[0] !== 'object';
|
|
19585
|
+
},
|
|
19586
|
+
|
|
19587
|
+
itemsWithSize() {
|
|
19588
|
+
const result = [];
|
|
19589
|
+
const {
|
|
19590
|
+
items,
|
|
19591
|
+
keyField,
|
|
19592
|
+
simpleArray
|
|
19593
|
+
} = this;
|
|
19594
|
+
const sizes = this.vscrollData.sizes;
|
|
19595
|
+
const l = items.length;
|
|
19596
|
+
|
|
19597
|
+
for (let i = 0; i < l; i++) {
|
|
19598
|
+
const item = items[i];
|
|
19599
|
+
const id = simpleArray ? i : item[keyField];
|
|
19600
|
+
let size = sizes[id];
|
|
19601
|
+
|
|
19602
|
+
if (typeof size === 'undefined' && !this.$_undefinedMap[id]) {
|
|
19603
|
+
size = 0;
|
|
19604
|
+
}
|
|
19605
|
+
|
|
19606
|
+
result.push({
|
|
19607
|
+
item,
|
|
19608
|
+
id,
|
|
19609
|
+
size
|
|
19610
|
+
});
|
|
19611
|
+
}
|
|
19612
|
+
|
|
19613
|
+
return result;
|
|
19614
|
+
}
|
|
19615
|
+
|
|
19616
|
+
},
|
|
19617
|
+
watch: {
|
|
19618
|
+
simpleArray: {
|
|
19619
|
+
handler(value) {
|
|
19620
|
+
this.vscrollData.simpleArray = value;
|
|
19621
|
+
},
|
|
19622
|
+
|
|
19623
|
+
immediate: true
|
|
19624
|
+
},
|
|
19625
|
+
|
|
19626
|
+
itemsWithSize(next, prev) {
|
|
19627
|
+
const scrollTop = this.$el.scrollTop; // Calculate total diff between prev and next sizes
|
|
19628
|
+
// over current scroll top. Then add it to scrollTop to
|
|
19629
|
+
// avoid jumping the contents that the user is seeing.
|
|
19630
|
+
|
|
19631
|
+
let prevActiveTop = 0;
|
|
19632
|
+
let activeTop = 0;
|
|
19633
|
+
const length = Math.min(next.length, prev.length);
|
|
19634
|
+
|
|
19635
|
+
for (let i = 0; i < length; i++) {
|
|
19636
|
+
if (prevActiveTop >= scrollTop) {
|
|
19637
|
+
break;
|
|
19638
|
+
}
|
|
19639
|
+
|
|
19640
|
+
prevActiveTop += prev[i].size || this.minItemSize;
|
|
19641
|
+
activeTop += next[i].size || this.minItemSize;
|
|
19642
|
+
}
|
|
19643
|
+
|
|
19644
|
+
const offset = activeTop - prevActiveTop;
|
|
19645
|
+
|
|
19646
|
+
if (offset === 0) {
|
|
19647
|
+
return;
|
|
19648
|
+
}
|
|
19649
|
+
|
|
19650
|
+
this.$el.scrollTop += offset;
|
|
19651
|
+
}
|
|
19652
|
+
|
|
19653
|
+
},
|
|
19654
|
+
|
|
19655
|
+
beforeCreate() {
|
|
19656
|
+
this.$_updates = [];
|
|
19657
|
+
this.$_undefinedSizes = 0;
|
|
19658
|
+
this.$_undefinedMap = {};
|
|
19659
|
+
},
|
|
19660
|
+
|
|
19661
|
+
activated() {
|
|
19662
|
+
this.vscrollData.active = true;
|
|
19663
|
+
},
|
|
19664
|
+
|
|
19665
|
+
deactivated() {
|
|
19666
|
+
this.vscrollData.active = false;
|
|
19667
|
+
},
|
|
19668
|
+
|
|
19669
|
+
methods: {
|
|
19670
|
+
scrollToItem(index) {
|
|
19671
|
+
const scroller = this.$refs.scroller;
|
|
19672
|
+
if (scroller) scroller.scrollToItem(index);
|
|
19673
|
+
}
|
|
19674
|
+
|
|
19675
|
+
}
|
|
19676
|
+
});
|
|
19677
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/dynamic-scroller.vue?vue&type=script&lang=js
|
|
19678
|
+
|
|
19679
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/dynamic-scroller.vue
|
|
19680
|
+
|
|
19681
|
+
|
|
19682
|
+
|
|
19683
|
+
|
|
19684
|
+
;
|
|
19685
|
+
const dynamic_scroller_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(dynamic_scrollervue_type_script_lang_js, [['render',dynamic_scrollervue_type_template_id_419ca1d0_render]])
|
|
19686
|
+
|
|
19687
|
+
/* harmony default export */ const dynamic_scroller = (dynamic_scroller_exports_);
|
|
19688
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/scroller/DtScroller.vue?vue&type=script&setup=true&lang=js
|
|
19689
|
+
|
|
19690
|
+
|
|
19691
|
+
|
|
19692
|
+
|
|
19693
|
+
/* harmony default export */ const DtScrollervue_type_script_setup_true_lang_js = ({
|
|
19694
|
+
__name: 'DtScroller',
|
|
19695
|
+
props: {
|
|
19696
|
+
/**
|
|
19697
|
+
* The direction of the scroller.
|
|
19698
|
+
* @values vertical, horizontal
|
|
19699
|
+
*/
|
|
19700
|
+
direction: {
|
|
19701
|
+
type: String,
|
|
19702
|
+
default: 'vertical',
|
|
19703
|
+
validator: value => ['vertical', 'horizontal'].includes(value)
|
|
19704
|
+
},
|
|
19705
|
+
|
|
19706
|
+
/**
|
|
19707
|
+
* Indicates if the items need to react to changes in their size.
|
|
19708
|
+
* If disabled the itemSize prop is required and you will get improved performance.
|
|
19709
|
+
* If enabled the minItemSize prop is required and you
|
|
19710
|
+
* will have reduced performance but the ability to reactively size list items
|
|
19711
|
+
* @values true, false
|
|
19712
|
+
*/
|
|
19713
|
+
dynamic: {
|
|
19714
|
+
type: Boolean,
|
|
19715
|
+
default: false
|
|
19716
|
+
},
|
|
19717
|
+
|
|
19718
|
+
/**
|
|
19719
|
+
* Display height (or width in horizontal mode) of the items in pixels
|
|
19720
|
+
* used to calculate the scroll size and position.
|
|
19721
|
+
* Required if DYNAMIC is false
|
|
19722
|
+
*/
|
|
19723
|
+
itemSize: {
|
|
19724
|
+
type: Number,
|
|
19725
|
+
default: null
|
|
19726
|
+
},
|
|
19727
|
+
|
|
19728
|
+
/**
|
|
19729
|
+
* The tag to use for the items.
|
|
19730
|
+
*/
|
|
19731
|
+
itemTag: {
|
|
19732
|
+
type: String,
|
|
19733
|
+
default: 'div'
|
|
19734
|
+
},
|
|
19735
|
+
|
|
19736
|
+
/**
|
|
19737
|
+
* The items to render.
|
|
19738
|
+
* If the items are simple arrays, the index will be used as the key.
|
|
19739
|
+
* If the items are objects, the keyField will be used as the key.
|
|
19740
|
+
* @example items: [ 'item1', 'item2', 'item3' ]
|
|
19741
|
+
* @example items: [ { id: 1, name: 'item1' }, { id: 2, name: 'item2' }, { id: 3, name: 'item3' } ]
|
|
19742
|
+
*/
|
|
19743
|
+
items: {
|
|
19744
|
+
type: Array,
|
|
19745
|
+
required: true
|
|
19746
|
+
},
|
|
19747
|
+
|
|
19748
|
+
/**
|
|
19749
|
+
* The key field to use for the items.
|
|
19750
|
+
* If the items are objects, the scroller needs to be able to identify them.
|
|
19751
|
+
* By default it will look for an id field on the items.
|
|
19752
|
+
* This can be configured with this prop if you are using another field name.
|
|
19753
|
+
*/
|
|
19754
|
+
keyField: {
|
|
19755
|
+
type: String,
|
|
19756
|
+
default: 'id'
|
|
19757
|
+
},
|
|
19758
|
+
|
|
19759
|
+
/**
|
|
19760
|
+
* The tag to use for the list.
|
|
19761
|
+
*/
|
|
19762
|
+
listTag: {
|
|
19763
|
+
type: String,
|
|
19764
|
+
default: 'div'
|
|
19765
|
+
},
|
|
19766
|
+
|
|
19767
|
+
/**
|
|
19768
|
+
* Minimum size used if the height (or width in horizontal mode) of a item is unknown.
|
|
19769
|
+
* Is required for the initial render of items in DYNAMIC size mode.
|
|
19770
|
+
*/
|
|
19771
|
+
minItemSize: {
|
|
19772
|
+
type: [Number, String],
|
|
19773
|
+
default: null
|
|
19774
|
+
},
|
|
19775
|
+
|
|
19776
|
+
/**
|
|
19777
|
+
* The height of the scroller.
|
|
19778
|
+
* Can be a number (in pixels) or a string (in CSS units).
|
|
19779
|
+
*/
|
|
19780
|
+
scrollerHeight: {
|
|
19781
|
+
type: [String, Number],
|
|
19782
|
+
default: '100%'
|
|
19783
|
+
},
|
|
19784
|
+
|
|
19785
|
+
/**
|
|
19786
|
+
* The width of the scroller.
|
|
19787
|
+
* Can be a number (in pixels) or a string (in CSS units).
|
|
19788
|
+
*/
|
|
19789
|
+
scrollerWidth: {
|
|
19790
|
+
type: [String, Number],
|
|
19791
|
+
default: '100%'
|
|
19792
|
+
}
|
|
19793
|
+
},
|
|
19794
|
+
emits: ['scroll-start', 'scroll-end'],
|
|
19795
|
+
|
|
19796
|
+
setup(__props, _ref) {
|
|
19797
|
+
let {
|
|
19798
|
+
expose,
|
|
19799
|
+
emit: emits
|
|
19800
|
+
} = _ref;
|
|
19801
|
+
const props = __props;
|
|
19802
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.provide)('emit', emits);
|
|
19803
|
+
const scroller = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
|
|
19804
|
+
const computedStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
|
|
19805
|
+
return {
|
|
19806
|
+
width: typeof props.scrollerWidth === 'number' ? `${props.scrollerWidth}px` : props.scrollerWidth,
|
|
19807
|
+
height: typeof props.scrollerHeight === 'number' ? `${props.scrollerHeight}px` : props.scrollerHeight
|
|
19808
|
+
};
|
|
19809
|
+
});
|
|
19810
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(props, () => {
|
|
19811
|
+
validateProps();
|
|
19812
|
+
}, {
|
|
19813
|
+
deep: true,
|
|
19814
|
+
immediate: true
|
|
19815
|
+
});
|
|
19816
|
+
|
|
19817
|
+
function scrollToItem(index) {
|
|
19818
|
+
if (scroller.value) scroller.value.scrollToItem(index);
|
|
19819
|
+
}
|
|
19820
|
+
|
|
19821
|
+
function validateProps() {
|
|
19822
|
+
if (props.dynamic && !props.minItemSize) {
|
|
19823
|
+
console.error('DtScroller error: \'minItemSize\' is required on \'dynamic\' mode.');
|
|
19824
|
+
}
|
|
19825
|
+
|
|
19826
|
+
if (!props.dynamic && !props.itemSize) {
|
|
19827
|
+
console.error('DtScroller error: \'itemSize\' is required.');
|
|
19828
|
+
}
|
|
19829
|
+
}
|
|
19830
|
+
|
|
19831
|
+
expose({
|
|
19832
|
+
scrollToItem
|
|
19833
|
+
});
|
|
19834
|
+
return (_ctx, _cache) => {
|
|
19835
|
+
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), {
|
|
19836
|
+
ref_key: "scroller",
|
|
19837
|
+
ref: scroller,
|
|
19838
|
+
"data-qa": "dt-scroller",
|
|
19839
|
+
items: __props.items,
|
|
19840
|
+
"item-size": __props.itemSize,
|
|
19841
|
+
"min-item-size": __props.minItemSize,
|
|
19842
|
+
direction: __props.direction,
|
|
19843
|
+
"key-field": "id",
|
|
19844
|
+
"list-tag": __props.listTag,
|
|
19845
|
+
"item-tag": __props.itemTag,
|
|
19846
|
+
style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.unref)(computedStyle)),
|
|
19847
|
+
tabindex: "0",
|
|
19848
|
+
onScrollStart: _cache[0] || (_cache[0] = $event => _ctx.$emit('scroll-start')),
|
|
19849
|
+
onScrollEnd: _cache[1] || (_cache[1] = $event => _ctx.$emit('scroll-end'))
|
|
19850
|
+
}, {
|
|
19851
|
+
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref2 => {
|
|
19852
|
+
let {
|
|
19853
|
+
item,
|
|
19854
|
+
index,
|
|
19855
|
+
active
|
|
19856
|
+
} = _ref2;
|
|
19857
|
+
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)({
|
|
19858
|
+
item: item,
|
|
19859
|
+
index,
|
|
19860
|
+
active
|
|
19861
|
+
})))];
|
|
19862
|
+
}),
|
|
19863
|
+
_: 3
|
|
19864
|
+
}, 40, ["items", "item-size", "min-item-size", "direction", "list-tag", "item-tag", "style"]);
|
|
19865
|
+
};
|
|
19866
|
+
}
|
|
19867
|
+
|
|
19868
|
+
});
|
|
19869
|
+
;// CONCATENATED MODULE: ./components/scroller/DtScroller.vue?vue&type=script&setup=true&lang=js
|
|
19870
|
+
|
|
19871
|
+
;// CONCATENATED MODULE: ./components/scroller/DtScroller.vue
|
|
19872
|
+
|
|
19873
|
+
|
|
19874
|
+
|
|
19875
|
+
const DtScroller_exports_ = DtScrollervue_type_script_setup_true_lang_js;
|
|
19876
|
+
|
|
19877
|
+
/* harmony default export */ const DtScroller = (DtScroller_exports_);
|
|
19878
|
+
;// CONCATENATED MODULE: ./components/scroller/index.js
|
|
19879
|
+
|
|
19880
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=bdafd0f4
|
|
19881
|
+
|
|
19882
|
+
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_1 = ["id"];
|
|
19883
|
+
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_2 = {
|
|
19884
|
+
ref: "header"
|
|
19885
|
+
};
|
|
19886
|
+
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_3 = ["onMouseleave", "onFocusout"];
|
|
19887
|
+
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_4 = {
|
|
19888
|
+
ref: "footer"
|
|
19889
|
+
};
|
|
19890
|
+
function combobox_with_popovervue_type_template_id_bdafd0f4_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
19891
|
+
const _component_combobox_loading_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("combobox-loading-list");
|
|
19892
|
+
|
|
19893
|
+
const _component_combobox_empty_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("combobox-empty-list");
|
|
19894
|
+
|
|
19895
|
+
const _component_dt_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-popover");
|
|
19896
|
+
|
|
19897
|
+
const _component_dt_combobox = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-combobox");
|
|
19898
|
+
|
|
19899
|
+
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)({
|
|
19900
|
+
ref: "combobox",
|
|
19901
|
+
loading: $props.loading,
|
|
19902
|
+
label: $props.label,
|
|
19903
|
+
"label-visible": $props.labelVisible,
|
|
19904
|
+
size: $props.size,
|
|
19905
|
+
description: $props.description,
|
|
19906
|
+
"empty-list": $props.emptyList,
|
|
19907
|
+
"empty-state-message": $props.emptyStateMessage,
|
|
19908
|
+
"show-list": $data.isListShown,
|
|
19909
|
+
"on-beginning-of-list": $props.onBeginningOfList,
|
|
19910
|
+
"on-end-of-list": $props.onEndOfList,
|
|
19911
|
+
"list-rendered-outside": true,
|
|
19912
|
+
"list-id": $props.listId,
|
|
19913
|
+
"data-qa": "dt-combobox"
|
|
19914
|
+
}, $options.comboboxListeners), {
|
|
19915
|
+
input: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref => {
|
|
19916
|
+
let {
|
|
19917
|
+
inputProps
|
|
19918
|
+
} = _ref;
|
|
19919
|
+
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
|
|
19920
|
+
id: $data.externalAnchor,
|
|
19921
|
+
ref: "input",
|
|
19922
|
+
onFocusin: _cache[0] || (_cache[0] = function () {
|
|
19923
|
+
return $options.onFocusIn && $options.onFocusIn(...arguments);
|
|
19924
|
+
}),
|
|
19925
|
+
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"]))]
|
|
19926
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "input", {
|
|
19927
|
+
inputProps: inputProps,
|
|
19928
|
+
onInput: $options.handleDisplayList
|
|
19929
|
+
})], 40, combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_1)];
|
|
19930
|
+
}),
|
|
19931
|
+
list: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref2 => {
|
|
19932
|
+
let {
|
|
19933
|
+
opened,
|
|
19934
|
+
listProps,
|
|
19935
|
+
clearHighlightIndex
|
|
19936
|
+
} = _ref2;
|
|
19937
|
+
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_popover, {
|
|
19938
|
+
ref: "popover",
|
|
19939
|
+
open: $data.isListShown,
|
|
19940
|
+
"onUpdate:open": _cache[3] || (_cache[3] = $event => $data.isListShown = $event),
|
|
19941
|
+
"hide-on-click": false,
|
|
19942
|
+
"max-height": $props.maxHeight,
|
|
19943
|
+
"max-width": $props.maxWidth,
|
|
19944
|
+
offset: $props.popoverOffset,
|
|
19945
|
+
sticky: $props.popoverSticky,
|
|
19946
|
+
placement: "bottom-start",
|
|
19947
|
+
"initial-focus-element": "none",
|
|
19948
|
+
padding: "none",
|
|
19949
|
+
role: "listbox",
|
|
19950
|
+
"external-anchor": $data.externalAnchor,
|
|
19951
|
+
"content-width": $props.contentWidth,
|
|
19952
|
+
"content-appear": true,
|
|
19953
|
+
"content-tabindex": null,
|
|
19954
|
+
modal: false,
|
|
19955
|
+
"auto-focus": false,
|
|
19956
|
+
"append-to": $props.appendTo,
|
|
19957
|
+
"visually-hidden-close-label": _ctx.visuallyHiddenCloseLabel,
|
|
19958
|
+
"visually-hidden-close": _ctx.visuallyHiddenClose,
|
|
19959
|
+
onOpened: opened
|
|
19960
|
+
}, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createSlots)({
|
|
19961
|
+
content: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
|
|
19962
|
+
ref: "listWrapper",
|
|
19963
|
+
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)([$data.DROPDOWN_PADDING_CLASSES[$props.padding], $props.listClass]),
|
|
19964
|
+
onMouseleave: clearHighlightIndex,
|
|
19965
|
+
onFocusout: clearHighlightIndex
|
|
19966
|
+
}, [$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)({
|
|
19967
|
+
key: 0
|
|
19968
|
+
}, 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)({
|
|
19969
|
+
key: 1
|
|
19970
|
+
}, listProps, {
|
|
19971
|
+
message: $props.emptyStateMessage
|
|
19972
|
+
}), null, 16, ["message"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "list", {
|
|
19973
|
+
key: 2,
|
|
19974
|
+
listProps: listProps
|
|
19975
|
+
})], 42, combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_3)]),
|
|
19976
|
+
_: 2
|
|
19977
|
+
}, [$data.hasSlotContent(_ctx.$slots.header) ? {
|
|
19978
|
+
name: "headerContent",
|
|
19979
|
+
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)]),
|
|
19980
|
+
key: "0"
|
|
19981
|
+
} : undefined, $data.hasSlotContent(_ctx.$slots.footer) ? {
|
|
19982
|
+
name: "footerContent",
|
|
19983
|
+
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)]),
|
|
19984
|
+
key: "1"
|
|
19985
|
+
} : undefined]), 1032, ["open", "max-height", "max-width", "offset", "sticky", "external-anchor", "content-width", "append-to", "visually-hidden-close-label", "visually-hidden-close", "onOpened"])];
|
|
19986
|
+
}),
|
|
19987
|
+
_: 3
|
|
19988
|
+
}, 16, ["loading", "label", "label-visible", "size", "description", "empty-list", "empty-state-message", "show-list", "on-beginning-of-list", "on-end-of-list", "list-id"]);
|
|
19989
|
+
}
|
|
19990
|
+
;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=bdafd0f4
|
|
19991
|
+
|
|
19992
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=script&lang=js
|
|
19993
|
+
/* eslint-disable vuejs-accessibility/no-static-element-interactions */
|
|
19994
|
+
|
|
19995
|
+
|
|
19996
|
+
|
|
19997
|
+
|
|
19998
|
+
|
|
19999
|
+
|
|
20000
|
+
|
|
20001
|
+
|
|
20002
|
+
|
|
20003
|
+
/* harmony default export */ const combobox_with_popovervue_type_script_lang_js = ({
|
|
20004
|
+
name: 'DtRecipeComboboxWithPopover',
|
|
20005
|
+
components: {
|
|
20006
|
+
DtCombobox: combobox,
|
|
20007
|
+
DtPopover: popover,
|
|
20008
|
+
ComboboxLoadingList: combobox_loading_list,
|
|
20009
|
+
ComboboxEmptyList: combobox_empty_list
|
|
20010
|
+
},
|
|
20011
|
+
mixins: [sr_only_close_button],
|
|
20012
|
+
props: {
|
|
20013
|
+
/**
|
|
20014
|
+
* String to use for the input label.
|
|
20015
|
+
*/
|
|
20016
|
+
label: {
|
|
20017
|
+
type: String,
|
|
20018
|
+
required: true
|
|
20019
|
+
},
|
|
20020
|
+
|
|
20021
|
+
/**
|
|
20022
|
+
* Determines visibility of input label.
|
|
20023
|
+
* @values true, false
|
|
20024
|
+
*/
|
|
20025
|
+
labelVisible: {
|
|
20026
|
+
type: Boolean,
|
|
20027
|
+
default: true
|
|
20028
|
+
},
|
|
20029
|
+
|
|
20030
|
+
/**
|
|
20031
|
+
* Size of the input, one of `xs`, `sm`, `md`, `lg`, `xl`
|
|
20032
|
+
* @values null, xs, sm, md, lg, xl
|
|
20033
|
+
*/
|
|
20034
|
+
size: {
|
|
20035
|
+
type: String,
|
|
20036
|
+
default: null,
|
|
20037
|
+
validator: t => Object.values(LABEL_SIZES).includes(t)
|
|
20038
|
+
},
|
|
20039
|
+
|
|
20040
|
+
/**
|
|
20041
|
+
* Description for the input
|
|
20042
|
+
*/
|
|
20043
|
+
description: {
|
|
20044
|
+
type: String,
|
|
20045
|
+
default: ''
|
|
20046
|
+
},
|
|
20047
|
+
|
|
20048
|
+
/**
|
|
20049
|
+
* Determines when to show the list element and also controls the aria-expanded attribute.
|
|
20050
|
+
* Leaving this null will have the combobox trigger on input focus by default.
|
|
20051
|
+
* If you set this value, the default trigger behavior will be disabled and you can
|
|
20052
|
+
* control it as you need.
|
|
20053
|
+
*/
|
|
20054
|
+
showList: {
|
|
20055
|
+
type: Boolean,
|
|
20056
|
+
default: null
|
|
20057
|
+
},
|
|
20058
|
+
|
|
20059
|
+
/**
|
|
20060
|
+
* Sets an ID on the list element of the component. Used by several aria attributes
|
|
20061
|
+
* as well as when deriving the IDs for each item.
|
|
20062
|
+
*/
|
|
20063
|
+
listId: {
|
|
20064
|
+
type: String,
|
|
20065
|
+
|
|
20066
|
+
default() {
|
|
20067
|
+
return getUniqueString();
|
|
20068
|
+
}
|
|
20069
|
+
|
|
20070
|
+
},
|
|
20071
|
+
|
|
20072
|
+
/**
|
|
20073
|
+
* Additional class for the wrapper list element.
|
|
20074
|
+
*/
|
|
20075
|
+
listClass: {
|
|
20076
|
+
type: [String, Array, Object],
|
|
20077
|
+
default: ''
|
|
20078
|
+
},
|
|
20079
|
+
|
|
20080
|
+
/**
|
|
20081
|
+
* A method that will be called when the selection goes past the beginning of the list.
|
|
20082
|
+
*/
|
|
20083
|
+
onBeginningOfList: {
|
|
20084
|
+
type: Function,
|
|
20085
|
+
default: null
|
|
20086
|
+
},
|
|
20087
|
+
|
|
20088
|
+
/**
|
|
20089
|
+
* A method that will be called when the selection goes past the end of the list.
|
|
20090
|
+
*/
|
|
20091
|
+
onEndOfList: {
|
|
20092
|
+
type: Function,
|
|
20093
|
+
default: null
|
|
20094
|
+
},
|
|
20095
|
+
|
|
20096
|
+
/**
|
|
20097
|
+
* Determines maximum height for the popover before overflow.
|
|
20098
|
+
* Possible units rem|px|em
|
|
20099
|
+
*/
|
|
20100
|
+
maxHeight: {
|
|
20101
|
+
type: String,
|
|
20102
|
+
default: ''
|
|
20103
|
+
},
|
|
20104
|
+
|
|
20105
|
+
/**
|
|
20106
|
+
* Determines maximum width for the popover before overflow.
|
|
20107
|
+
* Possible units rem|px|%|em
|
|
20108
|
+
*/
|
|
20109
|
+
maxWidth: {
|
|
20110
|
+
type: String,
|
|
20111
|
+
default: ''
|
|
20112
|
+
},
|
|
20113
|
+
|
|
20114
|
+
/**
|
|
20115
|
+
* Vertical padding size around the list element.
|
|
20116
|
+
*/
|
|
20117
|
+
padding: {
|
|
20118
|
+
type: String,
|
|
20119
|
+
default: 'small',
|
|
20120
|
+
validator: padding => {
|
|
20121
|
+
return Object.keys(DROPDOWN_PADDING_CLASSES).some(item => item === padding);
|
|
20122
|
+
}
|
|
18764
20123
|
},
|
|
18765
20124
|
|
|
18766
20125
|
/**
|
|
@@ -20799,35 +22158,49 @@ const grouped_chip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(group
|
|
|
20799
22158
|
/* harmony default export */ const grouped_chip = (grouped_chip_exports_);
|
|
20800
22159
|
;// CONCATENATED MODULE: ./recipes/chips/grouped_chip/index.js
|
|
20801
22160
|
|
|
20802
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/general_row.vue?vue&type=template&id=
|
|
22161
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/general_row.vue?vue&type=template&id=46f0cd86
|
|
20803
22162
|
|
|
20804
|
-
const
|
|
22163
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_1 = ["aria-label", "title"];
|
|
22164
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_2 = {
|
|
20805
22165
|
class: "dt-leftbar-row__alpha"
|
|
20806
22166
|
};
|
|
20807
|
-
const
|
|
22167
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_3 = {
|
|
22168
|
+
key: 0,
|
|
22169
|
+
class: "dt-leftbar-row__is-typing"
|
|
22170
|
+
};
|
|
22171
|
+
|
|
22172
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_4 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", null, null, -1);
|
|
22173
|
+
|
|
22174
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_5 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", null, null, -1);
|
|
22175
|
+
|
|
22176
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_6 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", null, null, -1);
|
|
22177
|
+
|
|
22178
|
+
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];
|
|
22179
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_8 = {
|
|
20808
22180
|
class: "dt-leftbar-row__label"
|
|
20809
22181
|
};
|
|
20810
|
-
const
|
|
22182
|
+
const _hoisted_9 = {
|
|
20811
22183
|
class: "dt-leftbar-row__omega"
|
|
20812
22184
|
};
|
|
20813
|
-
const
|
|
20814
|
-
key: 0,
|
|
22185
|
+
const _hoisted_10 = {
|
|
20815
22186
|
class: "dt-leftbar-row__dnd"
|
|
20816
22187
|
};
|
|
20817
|
-
const
|
|
22188
|
+
const _hoisted_11 = {
|
|
20818
22189
|
key: 1,
|
|
20819
22190
|
class: "dt-leftbar-row__active-voice"
|
|
20820
22191
|
};
|
|
20821
|
-
const
|
|
22192
|
+
const _hoisted_12 = {
|
|
20822
22193
|
key: 0,
|
|
20823
22194
|
class: "dt-leftbar-row__action",
|
|
20824
22195
|
"data-qa": "dt-leftbar-row-action"
|
|
20825
22196
|
};
|
|
20826
|
-
function
|
|
22197
|
+
function general_rowvue_type_template_id_46f0cd86_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
20827
22198
|
const _component_dt_recipe_leftbar_general_row_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-recipe-leftbar-general-row-icon");
|
|
20828
22199
|
|
|
20829
22200
|
const _component_dt_emoji_text_wrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-emoji-text-wrapper");
|
|
20830
22201
|
|
|
22202
|
+
const _component_dt_tooltip = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-tooltip");
|
|
22203
|
+
|
|
20831
22204
|
const _component_dt_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-icon");
|
|
20832
22205
|
|
|
20833
22206
|
const _component_dt_badge = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-badge");
|
|
@@ -20839,47 +22212,74 @@ function general_rowvue_type_template_id_06ebf262_render(_ctx, _cache, $props, $
|
|
|
20839
22212
|
"data-qa": "dt-leftbar-row"
|
|
20840
22213
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("button", (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
|
|
20841
22214
|
class: "dt-leftbar-row__primary",
|
|
20842
|
-
"data-qa": "dt-leftbar-row-link"
|
|
20843
|
-
|
|
22215
|
+
"data-qa": "dt-leftbar-row-link",
|
|
22216
|
+
"aria-label": $options.getAriaLabel,
|
|
22217
|
+
title: $props.description
|
|
22218
|
+
}, _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", {
|
|
22219
|
+
key: 1
|
|
22220
|
+
}, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_recipe_leftbar_general_row_icon, {
|
|
22221
|
+
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)({
|
|
22222
|
+
'd-o50': $props.isTyping
|
|
22223
|
+
}),
|
|
20844
22224
|
type: $options.getIcon,
|
|
20845
22225
|
color: $props.color,
|
|
20846
22226
|
"data-qa": "dt-leftbar-row-icon"
|
|
20847
|
-
}, null, 8, ["type", "color"])])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div",
|
|
22227
|
+
}, 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, {
|
|
20848
22228
|
class: "dt-leftbar-row__description",
|
|
20849
22229
|
"data-qa": "dt-leftbar-row-description"
|
|
20850
22230
|
}, {
|
|
20851
22231
|
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)]),
|
|
20852
22232
|
_: 1
|
|
20853
|
-
})])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div",
|
|
22233
|
+
})])]), (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, {
|
|
22234
|
+
key: 0,
|
|
22235
|
+
placement: "top",
|
|
22236
|
+
message: $props.dndTextTooltip
|
|
22237
|
+
}, {
|
|
22238
|
+
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)]),
|
|
22239
|
+
_: 1
|
|
22240
|
+
}, 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, {
|
|
20854
22241
|
size: "300",
|
|
20855
22242
|
name: "activity"
|
|
20856
|
-
})])) : !!$props.unreadCount && $props.hasUnreads ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(
|
|
22243
|
+
})])) : !!$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, {
|
|
20857
22244
|
key: 2,
|
|
20858
|
-
|
|
20859
|
-
|
|
20860
|
-
"data-qa": "dt-leftbar-row-unread-badge"
|
|
22245
|
+
message: $props.unreadCountTooltip,
|
|
22246
|
+
placement: "top"
|
|
20861
22247
|
}, {
|
|
20862
|
-
|
|
22248
|
+
anchor: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_badge, {
|
|
22249
|
+
kind: "count",
|
|
22250
|
+
type: "bulletin",
|
|
22251
|
+
"data-qa": "dt-leftbar-row-unread-badge"
|
|
22252
|
+
}, {
|
|
22253
|
+
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)]),
|
|
22254
|
+
_: 1
|
|
22255
|
+
})]),
|
|
20863
22256
|
_: 1
|
|
20864
|
-
})) : (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",
|
|
20865
|
-
|
|
20866
|
-
|
|
20867
|
-
circle: "",
|
|
20868
|
-
size: "xs",
|
|
20869
|
-
kind: "inverted",
|
|
20870
|
-
onFocus: _cache[0] || (_cache[0] = $event => $data.actionFocused = true),
|
|
20871
|
-
onBlur: _cache[1] || (_cache[1] = $event => $data.actionFocused = false),
|
|
20872
|
-
onMouseout: _cache[2] || (_cache[2] = $event => $data.actionFocused = false),
|
|
20873
|
-
onClick: _cache[3] || (_cache[3] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => _ctx.$emit('call', $event), ["stop"]))
|
|
22257
|
+
}, 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, {
|
|
22258
|
+
message: $props.callButtonTooltip,
|
|
22259
|
+
placement: "top"
|
|
20874
22260
|
}, {
|
|
20875
|
-
|
|
20876
|
-
|
|
20877
|
-
|
|
20878
|
-
|
|
22261
|
+
anchor: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_button, {
|
|
22262
|
+
class: "dt-leftbar-row__action-button",
|
|
22263
|
+
"data-qa": "dt-leftbar-row-action-call-button",
|
|
22264
|
+
circle: "",
|
|
22265
|
+
size: "xs",
|
|
22266
|
+
kind: "inverted",
|
|
22267
|
+
"aria-label": $props.callButtonTooltip,
|
|
22268
|
+
onFocus: _cache[0] || (_cache[0] = $event => $data.actionFocused = true),
|
|
22269
|
+
onBlur: _cache[1] || (_cache[1] = $event => $data.actionFocused = false),
|
|
22270
|
+
onMouseleave: _cache[2] || (_cache[2] = $event => $data.actionFocused = false),
|
|
22271
|
+
onClick: _cache[3] || (_cache[3] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => _ctx.$emit('call', $event), ["stop"]))
|
|
22272
|
+
}, {
|
|
22273
|
+
icon: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_icon, {
|
|
22274
|
+
name: "phone",
|
|
22275
|
+
size: "200"
|
|
22276
|
+
})]),
|
|
22277
|
+
_: 1
|
|
22278
|
+
}, 8, ["aria-label"])]),
|
|
20879
22279
|
_: 1
|
|
20880
|
-
})])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 2);
|
|
22280
|
+
}, 8, ["message"])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 2);
|
|
20881
22281
|
}
|
|
20882
|
-
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=template&id=
|
|
22282
|
+
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=template&id=46f0cd86
|
|
20883
22283
|
|
|
20884
22284
|
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row_constants.js
|
|
20885
22285
|
const LEFTBAR_GENERAL_ROW_TYPES = {
|
|
@@ -20889,6 +22289,9 @@ const LEFTBAR_GENERAL_ROW_TYPES = {
|
|
|
20889
22289
|
THREADS: 'threads',
|
|
20890
22290
|
LOCKED_CHANNEL: 'locked channel',
|
|
20891
22291
|
CONTACT_CENTER: 'contact center',
|
|
22292
|
+
QUICK_START: 'quick start',
|
|
22293
|
+
COACHING_GROUP: 'coaching group',
|
|
22294
|
+
COACHING_CENTER: 'coaching center',
|
|
20892
22295
|
DIALBOT: 'dialbot',
|
|
20893
22296
|
ASSIGNED: 'assigned',
|
|
20894
22297
|
DIGITAL: 'digital'
|
|
@@ -20899,6 +22302,9 @@ const LEFTBAR_GENERAL_ROW_ICON_MAPPING = {
|
|
|
20899
22302
|
[LEFTBAR_GENERAL_ROW_TYPES.CHANNELS]: 'hash',
|
|
20900
22303
|
[LEFTBAR_GENERAL_ROW_TYPES.THREADS]: 'thread',
|
|
20901
22304
|
[LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL]: 'lock',
|
|
22305
|
+
[LEFTBAR_GENERAL_ROW_TYPES.QUICK_START]: 'sparkle',
|
|
22306
|
+
[LEFTBAR_GENERAL_ROW_TYPES.COACHING_GROUP]: 'users',
|
|
22307
|
+
[LEFTBAR_GENERAL_ROW_TYPES.COACHING_CENTER]: 'external-link',
|
|
20902
22308
|
'locked channel unread': 'lock-filled',
|
|
20903
22309
|
'channel unread': 'hash-bold',
|
|
20904
22310
|
[LEFTBAR_GENERAL_ROW_TYPES.ASSIGNED]: 'at-sign',
|
|
@@ -21431,12 +22837,12 @@ const emoji_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(emojivue_typ
|
|
|
21431
22837
|
const emoji_text_wrapper_exports_ = emoji_text_wrappervue_type_script_lang_js;
|
|
21432
22838
|
|
|
21433
22839
|
/* harmony default export */ const emoji_text_wrapper = (emoji_text_wrapper_exports_);
|
|
21434
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=template&id=
|
|
22840
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=template&id=27d28559
|
|
21435
22841
|
|
|
21436
|
-
function
|
|
22842
|
+
function leftbar_general_row_iconvue_type_template_id_27d28559_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
21437
22843
|
const _component_dt_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-icon");
|
|
21438
22844
|
|
|
21439
|
-
const
|
|
22845
|
+
const _component_icon_dialbot = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("icon-dialbot");
|
|
21440
22846
|
|
|
21441
22847
|
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, {
|
|
21442
22848
|
key: 0,
|
|
@@ -21448,45 +22854,43 @@ function leftbar_general_row_iconvue_type_template_id_06ed62b0_render(_ctx, _cac
|
|
|
21448
22854
|
}, 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", {
|
|
21449
22855
|
key: 2,
|
|
21450
22856
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)($options.dialbotClasses)
|
|
21451
|
-
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(
|
|
21452
|
-
class: "d-svg--
|
|
21453
|
-
color: "white"
|
|
22857
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_icon_dialbot, {
|
|
22858
|
+
class: "d-svg--size24"
|
|
21454
22859
|
})], 2)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true);
|
|
21455
22860
|
}
|
|
21456
|
-
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=template&id=
|
|
22861
|
+
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=template&id=27d28559
|
|
21457
22862
|
|
|
21458
|
-
;// 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/
|
|
22863
|
+
;// 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
|
|
21459
22864
|
|
|
21460
22865
|
|
|
21461
|
-
const
|
|
22866
|
+
const IconDialbotvue_type_template_id_afc48fb0_hoisted_1 = {
|
|
21462
22867
|
"aria-hidden": "true",
|
|
21463
22868
|
focusable: "false",
|
|
21464
|
-
"aria-label": "
|
|
21465
|
-
class: "d-svg d-svg--
|
|
21466
|
-
|
|
22869
|
+
"aria-label": "Dialbot",
|
|
22870
|
+
class: "d-svg d-svg--native d-svg__dialbot",
|
|
22871
|
+
width: "358",
|
|
22872
|
+
height: "358",
|
|
22873
|
+
viewBox: "0 0 358 358",
|
|
22874
|
+
fill: "none"
|
|
21467
22875
|
}
|
|
21468
|
-
const
|
|
21469
|
-
|
|
21470
|
-
|
|
21471
|
-
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"
|
|
21472
|
-
}, null, -1)
|
|
21473
|
-
const IconDialpadGlyphvue_type_template_id_85d2b6f4_hoisted_3 = [
|
|
21474
|
-
IconDialpadGlyphvue_type_template_id_85d2b6f4_hoisted_2
|
|
22876
|
+
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)
|
|
22877
|
+
const IconDialbotvue_type_template_id_afc48fb0_hoisted_6 = [
|
|
22878
|
+
IconDialbotvue_type_template_id_afc48fb0_hoisted_2
|
|
21475
22879
|
]
|
|
21476
22880
|
|
|
21477
|
-
function
|
|
21478
|
-
return ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("svg",
|
|
22881
|
+
function IconDialbotvue_type_template_id_afc48fb0_render(_ctx, _cache) {
|
|
22882
|
+
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))
|
|
21479
22883
|
}
|
|
21480
|
-
;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/
|
|
22884
|
+
;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconDialbot.vue?vue&type=template&id=afc48fb0
|
|
21481
22885
|
|
|
21482
|
-
;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/
|
|
22886
|
+
;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconDialbot.vue
|
|
21483
22887
|
|
|
21484
22888
|
const script = {}
|
|
21485
22889
|
|
|
21486
22890
|
;
|
|
21487
|
-
const
|
|
22891
|
+
const IconDialbot_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(script, [['render',IconDialbotvue_type_template_id_afc48fb0_render]])
|
|
21488
22892
|
|
|
21489
|
-
/* harmony default export */ const
|
|
22893
|
+
/* harmony default export */ const IconDialbot = (IconDialbot_exports_);
|
|
21490
22894
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=script&lang=js
|
|
21491
22895
|
|
|
21492
22896
|
|
|
@@ -21495,7 +22899,7 @@ const IconDialpadGlyph_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(s
|
|
|
21495
22899
|
name: 'DtRecipeLeftbarGeneralRowIcon',
|
|
21496
22900
|
components: {
|
|
21497
22901
|
DtIcon: icon,
|
|
21498
|
-
|
|
22902
|
+
IconDialbot: IconDialbot
|
|
21499
22903
|
},
|
|
21500
22904
|
props: {
|
|
21501
22905
|
type: {
|
|
@@ -21529,7 +22933,7 @@ const IconDialpadGlyph_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(s
|
|
|
21529
22933
|
},
|
|
21530
22934
|
|
|
21531
22935
|
dialbotClasses() {
|
|
21532
|
-
return ['d-
|
|
22936
|
+
return ['d-w24', 'd-h24', 'd-d-flex', 'd-ai-center', 'd-jc-center'];
|
|
21533
22937
|
}
|
|
21534
22938
|
|
|
21535
22939
|
}
|
|
@@ -21542,7 +22946,7 @@ const IconDialpadGlyph_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(s
|
|
|
21542
22946
|
|
|
21543
22947
|
|
|
21544
22948
|
;
|
|
21545
|
-
const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(leftbar_general_row_iconvue_type_script_lang_js, [['render',
|
|
22949
|
+
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]])
|
|
21546
22950
|
|
|
21547
22951
|
/* harmony default export */ const leftbar_general_row_icon = (leftbar_general_row_icon_exports_);
|
|
21548
22952
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/general_row.vue?vue&type=script&lang=js
|
|
@@ -21553,6 +22957,7 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21553
22957
|
|
|
21554
22958
|
|
|
21555
22959
|
|
|
22960
|
+
|
|
21556
22961
|
/* harmony default export */ const general_rowvue_type_script_lang_js = ({
|
|
21557
22962
|
name: 'DtRecipeGeneralRow',
|
|
21558
22963
|
components: {
|
|
@@ -21560,6 +22965,7 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21560
22965
|
DtBadge: badge,
|
|
21561
22966
|
DtIcon: icon,
|
|
21562
22967
|
DtButton: button_button,
|
|
22968
|
+
DtTooltip: tooltip,
|
|
21563
22969
|
DtRecipeLeftbarGeneralRowIcon: leftbar_general_row_icon
|
|
21564
22970
|
},
|
|
21565
22971
|
inheritAttrs: false,
|
|
@@ -21577,13 +22983,22 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21577
22983
|
},
|
|
21578
22984
|
|
|
21579
22985
|
/**
|
|
21580
|
-
*
|
|
22986
|
+
* Will be read out by a screen reader upon focus of this row. If not defined "description" will be read.
|
|
21581
22987
|
*/
|
|
21582
|
-
|
|
22988
|
+
ariaLabel: {
|
|
21583
22989
|
type: String,
|
|
21584
22990
|
default: ''
|
|
21585
22991
|
},
|
|
21586
22992
|
|
|
22993
|
+
/**
|
|
22994
|
+
* Text displayed next to the icon. Required. Even if you are overriding this field using the label slot
|
|
22995
|
+
* you still must input this as it will be displayed as the "title" attribute for the row.
|
|
22996
|
+
*/
|
|
22997
|
+
description: {
|
|
22998
|
+
type: String,
|
|
22999
|
+
required: true
|
|
23000
|
+
},
|
|
23001
|
+
|
|
21587
23002
|
/**
|
|
21588
23003
|
* Determines the color of the contact center icon
|
|
21589
23004
|
*/
|
|
@@ -21612,6 +23027,14 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21612
23027
|
default: null
|
|
21613
23028
|
},
|
|
21614
23029
|
|
|
23030
|
+
/**
|
|
23031
|
+
* Text shown when the unread count is hovered.
|
|
23032
|
+
*/
|
|
23033
|
+
unreadCountTooltip: {
|
|
23034
|
+
type: String,
|
|
23035
|
+
default: ''
|
|
23036
|
+
},
|
|
23037
|
+
|
|
21615
23038
|
/**
|
|
21616
23039
|
* Determines if the row is selected
|
|
21617
23040
|
*/
|
|
@@ -21645,12 +23068,36 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21645
23068
|
default: ''
|
|
21646
23069
|
},
|
|
21647
23070
|
|
|
23071
|
+
/**
|
|
23072
|
+
* Text shown in tooltip when you hover the dndText
|
|
23073
|
+
*/
|
|
23074
|
+
dndTextTooltip: {
|
|
23075
|
+
type: String,
|
|
23076
|
+
default: ''
|
|
23077
|
+
},
|
|
23078
|
+
|
|
21648
23079
|
/**
|
|
21649
23080
|
* Whether the row should have a call button. Usually only applicable to individual contact rows.
|
|
21650
23081
|
*/
|
|
21651
23082
|
hasCallButton: {
|
|
21652
23083
|
type: Boolean,
|
|
21653
23084
|
default: false
|
|
23085
|
+
},
|
|
23086
|
+
|
|
23087
|
+
/**
|
|
23088
|
+
* Text shown when the call button is hovered.
|
|
23089
|
+
*/
|
|
23090
|
+
callButtonTooltip: {
|
|
23091
|
+
type: String,
|
|
23092
|
+
default: ''
|
|
23093
|
+
},
|
|
23094
|
+
|
|
23095
|
+
/**
|
|
23096
|
+
* Shows an "is typing" animation over the avatar when true.
|
|
23097
|
+
*/
|
|
23098
|
+
isTyping: {
|
|
23099
|
+
type: Boolean,
|
|
23100
|
+
default: false
|
|
21654
23101
|
}
|
|
21655
23102
|
},
|
|
21656
23103
|
emits: [
|
|
@@ -21695,6 +23142,10 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21695
23142
|
|
|
21696
23143
|
generalRowListeners() {
|
|
21697
23144
|
return extractVueListeners(this.$attrs);
|
|
23145
|
+
},
|
|
23146
|
+
|
|
23147
|
+
getAriaLabel() {
|
|
23148
|
+
return this.ariaLabel ? this.ariaLabel : `${this.description} ${this.unreadCountTooltip} ${this.dndTextTooltip}`;
|
|
21698
23149
|
}
|
|
21699
23150
|
|
|
21700
23151
|
},
|
|
@@ -21720,10 +23171,10 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21720
23171
|
});
|
|
21721
23172
|
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=script&lang=js
|
|
21722
23173
|
|
|
21723
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.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=
|
|
23174
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.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
|
|
21724
23175
|
// extracted by mini-css-extract-plugin
|
|
21725
23176
|
|
|
21726
|
-
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=style&index=0&id=
|
|
23177
|
+
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=style&index=0&id=46f0cd86&lang=less
|
|
21727
23178
|
|
|
21728
23179
|
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue
|
|
21729
23180
|
|
|
@@ -21733,41 +23184,45 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21733
23184
|
;
|
|
21734
23185
|
|
|
21735
23186
|
|
|
21736
|
-
const general_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(general_rowvue_type_script_lang_js, [['render',
|
|
23187
|
+
const general_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(general_rowvue_type_script_lang_js, [['render',general_rowvue_type_template_id_46f0cd86_render]])
|
|
21737
23188
|
|
|
21738
23189
|
/* harmony default export */ const general_row = (general_row_exports_);
|
|
21739
23190
|
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/index.js
|
|
21740
23191
|
|
|
21741
23192
|
|
|
21742
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/group_row/group_row.vue?vue&type=template&id=
|
|
23193
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/group_row/group_row.vue?vue&type=template&id=af6d6b56
|
|
21743
23194
|
|
|
21744
|
-
const
|
|
21745
|
-
function
|
|
23195
|
+
const group_rowvue_type_template_id_af6d6b56_hoisted_1 = ["src", "alt"];
|
|
23196
|
+
function group_rowvue_type_template_id_af6d6b56_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
21746
23197
|
const _component_dt_avatar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-avatar");
|
|
21747
23198
|
|
|
21748
23199
|
const _component_dt_recipe_general_row = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-recipe-general-row");
|
|
21749
23200
|
|
|
21750
23201
|
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, {
|
|
21751
23202
|
description: $props.names,
|
|
23203
|
+
"aria-label": `${$props.groupCountText} ${$props.names}`,
|
|
21752
23204
|
"unread-count": $props.unreadCount,
|
|
21753
23205
|
"has-unreads": $props.hasUnreads,
|
|
21754
|
-
|
|
23206
|
+
"unread-count-tooltip": $props.unreadCountTooltip,
|
|
23207
|
+
selected: $props.selected,
|
|
23208
|
+
"is-typing": $props.isTyping
|
|
21755
23209
|
}, {
|
|
21756
23210
|
left: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_avatar, {
|
|
21757
23211
|
initials: $props.avatarInitials,
|
|
21758
23212
|
group: $props.groupCount
|
|
21759
23213
|
}, {
|
|
21760
|
-
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.
|
|
23214
|
+
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", {
|
|
23215
|
+
key: 0,
|
|
21761
23216
|
"data-qa": "dt-avatar-image",
|
|
21762
23217
|
src: $props.avatarSrc,
|
|
21763
23218
|
alt: $props.avatarInitials
|
|
21764
|
-
}, null, 8,
|
|
23219
|
+
}, null, 8, group_rowvue_type_template_id_af6d6b56_hoisted_1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)]),
|
|
21765
23220
|
_: 1
|
|
21766
23221
|
}, 8, ["initials", "group"])]),
|
|
21767
23222
|
_: 1
|
|
21768
|
-
}, 8, ["description", "unread-count", "has-unreads", "selected"]);
|
|
23223
|
+
}, 8, ["description", "aria-label", "unread-count", "has-unreads", "unread-count-tooltip", "selected", "is-typing"]);
|
|
21769
23224
|
}
|
|
21770
|
-
;// CONCATENATED MODULE: ./recipes/leftbar/group_row/group_row.vue?vue&type=template&id=
|
|
23225
|
+
;// CONCATENATED MODULE: ./recipes/leftbar/group_row/group_row.vue?vue&type=template&id=af6d6b56
|
|
21771
23226
|
|
|
21772
23227
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/group_row/group_row.vue?vue&type=script&lang=js
|
|
21773
23228
|
|
|
@@ -21807,12 +23262,20 @@ function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $se
|
|
|
21807
23262
|
required: true
|
|
21808
23263
|
},
|
|
21809
23264
|
|
|
23265
|
+
/**
|
|
23266
|
+
* Screen reader will read out the number of users in the group using this text. Ex: "2 users"
|
|
23267
|
+
*/
|
|
23268
|
+
groupCountText: {
|
|
23269
|
+
type: String,
|
|
23270
|
+
default: ''
|
|
23271
|
+
},
|
|
23272
|
+
|
|
21810
23273
|
/**
|
|
21811
23274
|
* Names of the group members
|
|
21812
23275
|
*/
|
|
21813
23276
|
names: {
|
|
21814
23277
|
type: String,
|
|
21815
|
-
|
|
23278
|
+
required: true
|
|
21816
23279
|
},
|
|
21817
23280
|
|
|
21818
23281
|
/**
|
|
@@ -21823,6 +23286,14 @@ function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $se
|
|
|
21823
23286
|
default: null
|
|
21824
23287
|
},
|
|
21825
23288
|
|
|
23289
|
+
/**
|
|
23290
|
+
* Text shown when the unread count is hovered.
|
|
23291
|
+
*/
|
|
23292
|
+
unreadCountTooltip: {
|
|
23293
|
+
type: String,
|
|
23294
|
+
default: null
|
|
23295
|
+
},
|
|
23296
|
+
|
|
21826
23297
|
/**
|
|
21827
23298
|
* Styles the row with an increased font weight to convey it has unreads. This must be true to see
|
|
21828
23299
|
* the unread count badge.
|
|
@@ -21838,6 +23309,14 @@ function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $se
|
|
|
21838
23309
|
selected: {
|
|
21839
23310
|
type: Boolean,
|
|
21840
23311
|
default: false
|
|
23312
|
+
},
|
|
23313
|
+
|
|
23314
|
+
/**
|
|
23315
|
+
* Shows an "is typing" animation over the avatar when true.
|
|
23316
|
+
*/
|
|
23317
|
+
isTyping: {
|
|
23318
|
+
type: Boolean,
|
|
23319
|
+
default: false
|
|
21841
23320
|
}
|
|
21842
23321
|
},
|
|
21843
23322
|
emits: [
|
|
@@ -21857,18 +23336,18 @@ function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $se
|
|
|
21857
23336
|
|
|
21858
23337
|
|
|
21859
23338
|
;
|
|
21860
|
-
const group_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(group_rowvue_type_script_lang_js, [['render',
|
|
23339
|
+
const group_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(group_rowvue_type_script_lang_js, [['render',group_rowvue_type_template_id_af6d6b56_render]])
|
|
21861
23340
|
|
|
21862
23341
|
/* harmony default export */ const group_row = (group_row_exports_);
|
|
21863
23342
|
;// CONCATENATED MODULE: ./recipes/leftbar/group_row/index.js
|
|
21864
23343
|
|
|
21865
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/contact_row/contact_row.vue?vue&type=template&id=
|
|
23344
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/contact_row/contact_row.vue?vue&type=template&id=69299a5d
|
|
21866
23345
|
|
|
21867
|
-
const
|
|
21868
|
-
const
|
|
23346
|
+
const contact_rowvue_type_template_id_69299a5d_hoisted_1 = ["src", "alt"];
|
|
23347
|
+
const contact_rowvue_type_template_id_69299a5d_hoisted_2 = {
|
|
21869
23348
|
class: "dt-leftbar-row__status"
|
|
21870
23349
|
};
|
|
21871
|
-
function
|
|
23350
|
+
function contact_rowvue_type_template_id_69299a5d_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
21872
23351
|
const _component_dt_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-icon");
|
|
21873
23352
|
|
|
21874
23353
|
const _component_dt_avatar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-avatar");
|
|
@@ -21879,10 +23358,14 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
21879
23358
|
|
|
21880
23359
|
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)({
|
|
21881
23360
|
"unread-count": $props.unreadCount,
|
|
23361
|
+
description: `${$props.name} ${$props.presenceText} ${$props.userStatus}`,
|
|
21882
23362
|
"has-unreads": $props.hasUnreads,
|
|
21883
23363
|
selected: $props.selected,
|
|
21884
23364
|
"has-call-button": true,
|
|
21885
|
-
muted: $props.muted
|
|
23365
|
+
muted: $props.muted,
|
|
23366
|
+
"is-typing": $props.isTyping,
|
|
23367
|
+
"call-button-tooltip": $props.callButtonTooltip,
|
|
23368
|
+
"unread-count-tooltip": $props.unreadCountTooltip
|
|
21886
23369
|
}, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toHandlers)($options.contactRowListeners), {
|
|
21887
23370
|
onCall: _cache[0] || (_cache[0] = $event => _ctx.$emit('call', $event))
|
|
21888
23371
|
}), {
|
|
@@ -21896,7 +23379,7 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
21896
23379
|
"data-qa": "dt-avatar-image",
|
|
21897
23380
|
src: $props.avatarSrc,
|
|
21898
23381
|
alt: $props.name
|
|
21899
|
-
}, null, 8,
|
|
23382
|
+
}, 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, {
|
|
21900
23383
|
key: 1,
|
|
21901
23384
|
name: "user",
|
|
21902
23385
|
size: "200"
|
|
@@ -21912,7 +23395,7 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
21912
23395
|
}, {
|
|
21913
23396
|
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)]),
|
|
21914
23397
|
_: 1
|
|
21915
|
-
}), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div",
|
|
23398
|
+
}), (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", {
|
|
21916
23399
|
key: 0,
|
|
21917
23400
|
"data-qa": "dt-leftbar-row-presence-text",
|
|
21918
23401
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['dt-leftbar-row__meta-context', $options.presenceColorClass])
|
|
@@ -21927,9 +23410,9 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
21927
23410
|
_: 1
|
|
21928
23411
|
})) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])]),
|
|
21929
23412
|
_: 1
|
|
21930
|
-
}, 16, ["unread-count", "has-unreads", "selected", "muted"]);
|
|
23413
|
+
}, 16, ["unread-count", "description", "has-unreads", "selected", "muted", "is-typing", "call-button-tooltip", "unread-count-tooltip"]);
|
|
21931
23414
|
}
|
|
21932
|
-
;// CONCATENATED MODULE: ./recipes/leftbar/contact_row/contact_row.vue?vue&type=template&id=
|
|
23415
|
+
;// CONCATENATED MODULE: ./recipes/leftbar/contact_row/contact_row.vue?vue&type=template&id=69299a5d
|
|
21933
23416
|
|
|
21934
23417
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/contact_row/contact_row.vue?vue&type=script&lang=js
|
|
21935
23418
|
|
|
@@ -21937,7 +23420,6 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
21937
23420
|
|
|
21938
23421
|
|
|
21939
23422
|
|
|
21940
|
-
|
|
21941
23423
|
/* harmony default export */ const contact_rowvue_type_script_lang_js = ({
|
|
21942
23424
|
name: 'DtRecipeGroupRow',
|
|
21943
23425
|
components: {
|
|
@@ -21958,15 +23440,14 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
21958
23440
|
|
|
21959
23441
|
/**
|
|
21960
23442
|
* Determines whether to show the presence indicator for
|
|
21961
|
-
* Avatar - accepts PRESENCE_STATES values: '
|
|
21962
|
-
*
|
|
23443
|
+
* Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',
|
|
23444
|
+
* or 'active'. By default, it's null and nothing is shown.
|
|
23445
|
+
* defer validation to avatar component.
|
|
23446
|
+
* @values null, busy, away, offline, active
|
|
21963
23447
|
*/
|
|
21964
23448
|
avatarPresence: {
|
|
21965
23449
|
type: String,
|
|
21966
|
-
default:
|
|
21967
|
-
validator: role => {
|
|
21968
|
-
return PRESENCE_STATES_LIST.includes(role);
|
|
21969
|
-
}
|
|
23450
|
+
default: null
|
|
21970
23451
|
},
|
|
21971
23452
|
|
|
21972
23453
|
/**
|
|
@@ -22040,6 +23521,30 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
22040
23521
|
noInitials: {
|
|
22041
23522
|
type: Boolean,
|
|
22042
23523
|
default: false
|
|
23524
|
+
},
|
|
23525
|
+
|
|
23526
|
+
/**
|
|
23527
|
+
* Shows an "is typing" animation over the avatar when true.
|
|
23528
|
+
*/
|
|
23529
|
+
isTyping: {
|
|
23530
|
+
type: Boolean,
|
|
23531
|
+
default: false
|
|
23532
|
+
},
|
|
23533
|
+
|
|
23534
|
+
/**
|
|
23535
|
+
* Text shown when the call button is hovered.
|
|
23536
|
+
*/
|
|
23537
|
+
callButtonTooltip: {
|
|
23538
|
+
type: String,
|
|
23539
|
+
default: ''
|
|
23540
|
+
},
|
|
23541
|
+
|
|
23542
|
+
/**
|
|
23543
|
+
* Text shown when the unread count is hovered.
|
|
23544
|
+
*/
|
|
23545
|
+
unreadCountTooltip: {
|
|
23546
|
+
type: String,
|
|
23547
|
+
default: ''
|
|
22043
23548
|
}
|
|
22044
23549
|
},
|
|
22045
23550
|
emits: [
|
|
@@ -22087,7 +23592,7 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
22087
23592
|
|
|
22088
23593
|
|
|
22089
23594
|
;
|
|
22090
|
-
const contact_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(contact_rowvue_type_script_lang_js, [['render',
|
|
23595
|
+
const contact_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(contact_rowvue_type_script_lang_js, [['render',contact_rowvue_type_template_id_69299a5d_render]])
|
|
22091
23596
|
|
|
22092
23597
|
/* harmony default export */ const contact_row = (contact_row_exports_);
|
|
22093
23598
|
;// CONCATENATED MODULE: ./recipes/leftbar/contact_row/index.js
|
|
@@ -22133,6 +23638,7 @@ const contact_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(contac
|
|
|
22133
23638
|
|
|
22134
23639
|
|
|
22135
23640
|
|
|
23641
|
+
|
|
22136
23642
|
|
|
22137
23643
|
|
|
22138
23644
|
/// Recipes
|