@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
package/dist/dialtone-vue.umd.js
CHANGED
|
@@ -1209,6 +1209,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
1209
1209
|
"DtRecipeIvrNode": () => (/* reexport */ ivr_node),
|
|
1210
1210
|
"DtRecipeTopBannerInfo": () => (/* reexport */ top_banner_info),
|
|
1211
1211
|
"DtRootLayout": () => (/* reexport */ root_layout),
|
|
1212
|
+
"DtScroller": () => (/* reexport */ DtScroller),
|
|
1212
1213
|
"DtSelectMenu": () => (/* reexport */ select_menu),
|
|
1213
1214
|
"DtSkeleton": () => (/* reexport */ skeleton_skeleton),
|
|
1214
1215
|
"DtSkeletonListItem": () => (/* reexport */ skeleton_list_item),
|
|
@@ -1301,7 +1302,7 @@ if (typeof window !== 'undefined') {
|
|
|
1301
1302
|
|
|
1302
1303
|
;// CONCATENATED MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
|
|
1303
1304
|
const external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject = require("vue");
|
|
1304
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/avatar/avatar.vue?vue&type=template&id=
|
|
1305
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/avatar/avatar.vue?vue&type=template&id=ac8c0ad8
|
|
1305
1306
|
|
|
1306
1307
|
const _hoisted_1 = ["id"];
|
|
1307
1308
|
const _hoisted_2 = {
|
|
@@ -1310,7 +1311,7 @@ const _hoisted_2 = {
|
|
|
1310
1311
|
};
|
|
1311
1312
|
const _hoisted_3 = {
|
|
1312
1313
|
key: 0,
|
|
1313
|
-
class: "d-avatar__count",
|
|
1314
|
+
class: "d-avatar__count d-zi-base1",
|
|
1314
1315
|
"data-qa": "dt-avatar-count"
|
|
1315
1316
|
};
|
|
1316
1317
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
@@ -1323,18 +1324,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1323
1324
|
"data-qa": "dt-avatar"
|
|
1324
1325
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", _hoisted_2, [$options.showDefaultSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default", {
|
|
1325
1326
|
key: 0
|
|
1326
|
-
}) : $options.showInitials ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
|
|
1327
|
+
}) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), $options.showInitials ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
|
|
1327
1328
|
key: 1,
|
|
1328
|
-
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)($data.AVATAR_KIND_MODIFIERS.initials)
|
|
1329
|
+
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["d-ps-absolute d-zi-base", $data.AVATAR_KIND_MODIFIERS.initials])
|
|
1329
1330
|
}, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($data.formattedInitials), 3)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 512), $options.showGroup ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", _hoisted_3, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($options.formattedGroup), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), $props.presence && !$options.showGroup ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_presence, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
|
|
1330
1331
|
key: 1,
|
|
1331
1332
|
presence: $props.presence,
|
|
1332
|
-
class: ['d-avatar__presence', $data.AVATAR_PRESENCE_SIZE_MODIFIERS[$props.size]]
|
|
1333
|
+
class: ["d-zi-base1", ['d-avatar__presence', $data.AVATAR_PRESENCE_SIZE_MODIFIERS[$props.size]]]
|
|
1333
1334
|
}, $props.presenceProps, {
|
|
1334
1335
|
"data-qa": "dt-presence"
|
|
1335
1336
|
}), null, 16, ["presence", "class"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 14, _hoisted_1);
|
|
1336
1337
|
}
|
|
1337
|
-
;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=template&id=
|
|
1338
|
+
;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=template&id=ac8c0ad8
|
|
1338
1339
|
|
|
1339
1340
|
;// CONCATENATED MODULE: ./common/constants.js
|
|
1340
1341
|
/* TODO: Move and sort these in a constants directory
|
|
@@ -1410,7 +1411,8 @@ const DEFAULT_PREFIX = 'dt';
|
|
|
1410
1411
|
|
|
1411
1412
|
const seedrandom = __webpack_require__(377);
|
|
1412
1413
|
|
|
1413
|
-
let UNIQUE_ID_COUNTER = 0;
|
|
1414
|
+
let UNIQUE_ID_COUNTER = 0;
|
|
1415
|
+
let TIMER; // selector to find focusable not hidden inputs
|
|
1414
1416
|
|
|
1415
1417
|
const FOCUSABLE_SELECTOR_NOT_HIDDEN = 'input:not([type=hidden]):not(:disabled)'; // selector to find focusable not disables elements
|
|
1416
1418
|
|
|
@@ -1534,7 +1536,7 @@ function hasSlotContent(slot) {
|
|
|
1534
1536
|
*/
|
|
1535
1537
|
|
|
1536
1538
|
const kebabCaseToPascalCase = string => {
|
|
1537
|
-
return string.toLowerCase().split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
|
|
1539
|
+
return string === null || string === void 0 ? void 0 : string.toLowerCase().split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
|
|
1538
1540
|
};
|
|
1539
1541
|
/**
|
|
1540
1542
|
* Transform a string from PascalCase to kebab-case
|
|
@@ -1552,6 +1554,17 @@ const extractVueListeners = attrs => {
|
|
|
1552
1554
|
});
|
|
1553
1555
|
return Object.fromEntries(listeners);
|
|
1554
1556
|
};
|
|
1557
|
+
/*
|
|
1558
|
+
* Set's a global timer to debounce the execution of a function.
|
|
1559
|
+
* @param { object } func - the function that is going to be called after timeout
|
|
1560
|
+
* @param { number } [timeout=300] timeout
|
|
1561
|
+
* */
|
|
1562
|
+
|
|
1563
|
+
function debounce(func) {
|
|
1564
|
+
let timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300;
|
|
1565
|
+
clearTimeout(TIMER);
|
|
1566
|
+
TIMER = setTimeout(func, timeout);
|
|
1567
|
+
}
|
|
1555
1568
|
/* harmony default export */ const utils = ({
|
|
1556
1569
|
getUniqueString,
|
|
1557
1570
|
getRandomElement,
|
|
@@ -1562,7 +1575,8 @@ const extractVueListeners = attrs => {
|
|
|
1562
1575
|
htmlFragment,
|
|
1563
1576
|
flushPromises,
|
|
1564
1577
|
kebabCaseToPascalCase,
|
|
1565
|
-
extractVueListeners
|
|
1578
|
+
extractVueListeners,
|
|
1579
|
+
debounce
|
|
1566
1580
|
});
|
|
1567
1581
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/presence/presence.vue?vue&type=template&id=77957bb3
|
|
1568
1582
|
|
|
@@ -1667,6 +1681,13 @@ const AVATAR_PRESENCE_SIZE_MODIFIERS = {
|
|
|
1667
1681
|
md: 'd-avatar__presence--md',
|
|
1668
1682
|
lg: 'd-avatar__presence--lg'
|
|
1669
1683
|
};
|
|
1684
|
+
const AVATAR_PRESENCE_STATES = {
|
|
1685
|
+
NONE: null,
|
|
1686
|
+
BUSY: 'busy',
|
|
1687
|
+
AWAY: 'away',
|
|
1688
|
+
OFFLINE: 'offline',
|
|
1689
|
+
ACTIVE: 'active'
|
|
1690
|
+
};
|
|
1670
1691
|
const AVATAR_ICON_SIZES = {
|
|
1671
1692
|
xs: '100',
|
|
1672
1693
|
sm: '200',
|
|
@@ -1754,7 +1775,10 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1754
1775
|
*/
|
|
1755
1776
|
presence: {
|
|
1756
1777
|
type: String,
|
|
1757
|
-
default:
|
|
1778
|
+
default: AVATAR_PRESENCE_STATES.NONE,
|
|
1779
|
+
validator: state => {
|
|
1780
|
+
return Object.values(AVATAR_PRESENCE_STATES).includes(state);
|
|
1781
|
+
}
|
|
1758
1782
|
},
|
|
1759
1783
|
|
|
1760
1784
|
/**
|
|
@@ -1796,13 +1820,14 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1796
1820
|
data() {
|
|
1797
1821
|
return {
|
|
1798
1822
|
// initials, image or icon
|
|
1799
|
-
kind:
|
|
1823
|
+
kind: null,
|
|
1800
1824
|
AVATAR_SIZE_MODIFIERS: AVATAR_SIZE_MODIFIERS,
|
|
1801
1825
|
AVATAR_KIND_MODIFIERS: AVATAR_KIND_MODIFIERS,
|
|
1802
1826
|
AVATAR_PRESENCE_SIZE_MODIFIERS: AVATAR_PRESENCE_SIZE_MODIFIERS,
|
|
1803
1827
|
imageLoadedSuccessfully: null,
|
|
1804
1828
|
slottedInitials: '',
|
|
1805
|
-
formattedInitials: ''
|
|
1829
|
+
formattedInitials: '',
|
|
1830
|
+
initializing: false
|
|
1806
1831
|
};
|
|
1807
1832
|
},
|
|
1808
1833
|
|
|
@@ -1815,11 +1840,11 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1815
1840
|
},
|
|
1816
1841
|
|
|
1817
1842
|
showDefaultSlot() {
|
|
1818
|
-
return this.kind !== 'initials' && this.imageLoadedSuccessfully
|
|
1843
|
+
return this.kind !== 'initials' || this.kind === 'image' && this.imageLoadedSuccessfully === true;
|
|
1819
1844
|
},
|
|
1820
1845
|
|
|
1821
1846
|
showInitials() {
|
|
1822
|
-
return this.kind === 'initials' || this.initials;
|
|
1847
|
+
return this.kind === 'initials' || this.kind === 'image' && this.initials;
|
|
1823
1848
|
},
|
|
1824
1849
|
|
|
1825
1850
|
showGroup() {
|
|
@@ -1852,28 +1877,27 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1852
1877
|
},
|
|
1853
1878
|
|
|
1854
1879
|
updated() {
|
|
1855
|
-
|
|
1856
|
-
this.slottedInitials = this.$el.children[0].textContent;
|
|
1857
|
-
this.formatInitials(this.slottedInitials);
|
|
1858
|
-
}
|
|
1880
|
+
this.init();
|
|
1859
1881
|
},
|
|
1860
1882
|
|
|
1861
1883
|
methods: {
|
|
1862
|
-
init() {
|
|
1884
|
+
async init() {
|
|
1885
|
+
if (this.initializing) return;
|
|
1886
|
+
this.kind = null;
|
|
1887
|
+
await this.$nextTick();
|
|
1863
1888
|
const firstChild = this.$refs.canvas.children[0] || this.$refs.canvas;
|
|
1864
|
-
|
|
1865
|
-
if (!firstChild) {
|
|
1866
|
-
return;
|
|
1867
|
-
}
|
|
1868
|
-
|
|
1889
|
+
this.formatInitials(this.initials);
|
|
1869
1890
|
this.setKind(firstChild);
|
|
1870
1891
|
this.kindHandler(firstChild);
|
|
1892
|
+
this.initializing = true;
|
|
1893
|
+
await this.$nextTick();
|
|
1894
|
+
this.initializing = false;
|
|
1871
1895
|
},
|
|
1872
1896
|
|
|
1873
1897
|
kindHandler(el) {
|
|
1874
1898
|
switch (this.kind) {
|
|
1875
1899
|
case 'image':
|
|
1876
|
-
el.classList.add('d-avatar__image');
|
|
1900
|
+
el.classList.add('d-avatar__image', 'd-zi-base1');
|
|
1877
1901
|
this.validateImageAttrsPresence();
|
|
1878
1902
|
this.setImageListeners(el);
|
|
1879
1903
|
break;
|
|
@@ -1883,25 +1907,27 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1883
1907
|
break;
|
|
1884
1908
|
|
|
1885
1909
|
case 'initials':
|
|
1910
|
+
if (!el.textContent) return;
|
|
1886
1911
|
this.slottedInitials = el.textContent;
|
|
1887
|
-
this.formatInitials(this.slottedInitials);
|
|
1912
|
+
this.formatInitials(this.slottedInitials.trim() || this.initials);
|
|
1888
1913
|
break;
|
|
1889
1914
|
}
|
|
1890
1915
|
},
|
|
1891
1916
|
|
|
1892
1917
|
setImageListeners(el) {
|
|
1893
|
-
el.addEventListener('
|
|
1894
|
-
|
|
1895
|
-
this.imageLoadedSuccessfully = false;
|
|
1918
|
+
el.addEventListener('load', () => this._loadedImageEventHandler(el), {
|
|
1919
|
+
once: true
|
|
1896
1920
|
});
|
|
1897
|
-
el.addEventListener('
|
|
1898
|
-
|
|
1899
|
-
this.imageLoadedSuccessfully = true;
|
|
1921
|
+
el.addEventListener('error', () => this._erroredImageEventHandler(el), {
|
|
1922
|
+
once: true
|
|
1900
1923
|
});
|
|
1901
1924
|
},
|
|
1902
1925
|
|
|
1903
1926
|
formatInitials(initials) {
|
|
1904
|
-
if (!initials)
|
|
1927
|
+
if (!initials) {
|
|
1928
|
+
this.formattedInitials = '';
|
|
1929
|
+
return;
|
|
1930
|
+
}
|
|
1905
1931
|
|
|
1906
1932
|
if (this.validatedSize === 'xs') {
|
|
1907
1933
|
this.formattedInitials = '';
|
|
@@ -1913,7 +1939,7 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1913
1939
|
},
|
|
1914
1940
|
|
|
1915
1941
|
setKind(element) {
|
|
1916
|
-
if (this.
|
|
1942
|
+
if (this.isIconType(element)) {
|
|
1917
1943
|
this.kind = 'icon';
|
|
1918
1944
|
return;
|
|
1919
1945
|
}
|
|
@@ -1926,7 +1952,7 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1926
1952
|
this.kind = 'initials';
|
|
1927
1953
|
},
|
|
1928
1954
|
|
|
1929
|
-
|
|
1955
|
+
isIconType(element) {
|
|
1930
1956
|
var _element$tagName;
|
|
1931
1957
|
|
|
1932
1958
|
return (element === null || element === void 0 ? void 0 : (_element$tagName = element.tagName) === null || _element$tagName === void 0 ? void 0 : _element$tagName.toUpperCase()) === 'SVG';
|
|
@@ -1972,16 +1998,28 @@ const AVATAR_GROUP_VALIDATOR = group => group > 1;
|
|
|
1972
1998
|
if (isSrcMissing || isAltMissing) {
|
|
1973
1999
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.warn)('src and alt attributes are required for image avatars', this);
|
|
1974
2000
|
}
|
|
2001
|
+
},
|
|
2002
|
+
|
|
2003
|
+
_loadedImageEventHandler(el) {
|
|
2004
|
+
this.imageLoadedSuccessfully = true;
|
|
2005
|
+
el.classList.remove('d-d-none');
|
|
2006
|
+
el.classList.add('d-avatar--image-loaded');
|
|
2007
|
+
},
|
|
2008
|
+
|
|
2009
|
+
_erroredImageEventHandler(el) {
|
|
2010
|
+
this.imageLoadedSuccessfully = false;
|
|
2011
|
+
el.classList.remove('d-avatar--image-loaded');
|
|
2012
|
+
el.classList.add('d-d-none');
|
|
1975
2013
|
}
|
|
1976
2014
|
|
|
1977
2015
|
}
|
|
1978
2016
|
});
|
|
1979
2017
|
;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=script&lang=js
|
|
1980
2018
|
|
|
1981
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-74.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-74.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/avatar/avatar.vue?vue&type=style&index=0&id=
|
|
2019
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-74.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-74.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/avatar/avatar.vue?vue&type=style&index=0&id=ac8c0ad8&lang=less
|
|
1982
2020
|
// extracted by mini-css-extract-plugin
|
|
1983
2021
|
|
|
1984
|
-
;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=style&index=0&id=
|
|
2022
|
+
;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=style&index=0&id=ac8c0ad8&lang=less
|
|
1985
2023
|
|
|
1986
2024
|
;// CONCATENATED MODULE: ./components/avatar/avatar.vue
|
|
1987
2025
|
|
|
@@ -3048,7 +3086,7 @@ const notice_action_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(noti
|
|
|
3048
3086
|
|
|
3049
3087
|
/* harmony default export */ const notice_action = (notice_action_exports_);
|
|
3050
3088
|
;// CONCATENATED MODULE: ./common/mixins/modal.js
|
|
3051
|
-
const focusableAttrs = ':not(:disabled):not([aria-disabled="true"])';
|
|
3089
|
+
const focusableAttrs = ':not(:disabled):not([aria-disabled="true"]):not([role="presentation"])';
|
|
3052
3090
|
const tabbableAttrs = `${focusableAttrs}:not([tabindex="-1"])`;
|
|
3053
3091
|
const focusableElementsList = `button,[href],input,select,textarea,details,[tabindex]`;
|
|
3054
3092
|
/**
|
|
@@ -7055,7 +7093,7 @@ function orderModifiers(modifiers) {
|
|
|
7055
7093
|
}, []);
|
|
7056
7094
|
}
|
|
7057
7095
|
;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/debounce.js
|
|
7058
|
-
function
|
|
7096
|
+
function debounce_debounce(fn) {
|
|
7059
7097
|
var pending;
|
|
7060
7098
|
return function () {
|
|
7061
7099
|
if (!pending) {
|
|
@@ -7240,7 +7278,7 @@ function popperGenerator(generatorOptions) {
|
|
|
7240
7278
|
},
|
|
7241
7279
|
// Async and optimistically optimized update – it will not be executed if
|
|
7242
7280
|
// not necessary (debounced to run at most once-per-tick)
|
|
7243
|
-
update:
|
|
7281
|
+
update: debounce_debounce(function () {
|
|
7244
7282
|
return new Promise(function (resolve) {
|
|
7245
7283
|
instance.forceUpdate();
|
|
7246
7284
|
resolve(state);
|
|
@@ -11046,7 +11084,6 @@ const getArrowDetected = fn => ({
|
|
|
11046
11084
|
;// CONCATENATED MODULE: ./components/popover/tippy_utils.js
|
|
11047
11085
|
|
|
11048
11086
|
|
|
11049
|
-
|
|
11050
11087
|
const BASE_TIPPY_DIRECTIONS = ['bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end', 'left', 'left-start', 'left-end', 'top', 'top-start', 'top-end'];
|
|
11051
11088
|
const TIPPY_STICKY_VALUES = [true, false, 'reference', 'popper'];
|
|
11052
11089
|
const tippy_utils_createTippy = (anchorElement, options) => {
|
|
@@ -11095,24 +11132,17 @@ const getPopperOptions = function () {
|
|
|
11095
11132
|
};
|
|
11096
11133
|
};
|
|
11097
11134
|
|
|
11098
|
-
const createAnchor =
|
|
11135
|
+
const createAnchor = anchorWrapper => {
|
|
11099
11136
|
const span = document.createElement('span');
|
|
11100
|
-
span.setAttribute('tabindex', tabIndex);
|
|
11101
11137
|
span.innerText = anchorWrapper.innerText || '';
|
|
11102
11138
|
anchorWrapper.innerText = '';
|
|
11103
11139
|
anchorWrapper.appendChild(span);
|
|
11104
11140
|
return span;
|
|
11105
11141
|
};
|
|
11106
11142
|
|
|
11107
|
-
const getAnchor =
|
|
11108
|
-
let tabIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '0';
|
|
11143
|
+
const getAnchor = anchorWrapper => {
|
|
11109
11144
|
const anchor = anchorWrapper === null || anchorWrapper === void 0 ? void 0 : anchorWrapper.children[0];
|
|
11110
11145
|
if (!anchor) return createAnchor(anchorWrapper);
|
|
11111
|
-
|
|
11112
|
-
if (!findFirstFocusableNode(anchor)) {
|
|
11113
|
-
anchor.setAttribute('tabindex', tabIndex);
|
|
11114
|
-
}
|
|
11115
|
-
|
|
11116
11146
|
return anchor;
|
|
11117
11147
|
};
|
|
11118
11148
|
const getContentWrapper = content => {
|
|
@@ -17423,16 +17453,17 @@ const toggle_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(togglevue_t
|
|
|
17423
17453
|
/* harmony default export */ const toggle = (toggle_exports_);
|
|
17424
17454
|
;// CONCATENATED MODULE: ./components/toggle/index.js
|
|
17425
17455
|
|
|
17426
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=template&id=
|
|
17456
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=template&id=1868931e
|
|
17427
17457
|
|
|
17428
|
-
const
|
|
17458
|
+
const tooltipvue_type_template_id_1868931e_hoisted_1 = {
|
|
17429
17459
|
"data-qa": "dt-tooltip-container"
|
|
17430
17460
|
};
|
|
17431
|
-
function
|
|
17461
|
+
function tooltipvue_type_template_id_1868931e_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
17432
17462
|
const _component_dt_lazy_show = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-lazy-show");
|
|
17433
17463
|
|
|
17434
|
-
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div",
|
|
17464
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", tooltipvue_type_template_id_1868931e_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("a", {
|
|
17435
17465
|
ref: "anchor",
|
|
17466
|
+
tabindex: "-1",
|
|
17436
17467
|
role: "presentation",
|
|
17437
17468
|
"data-qa": "dt-tooltip-anchor",
|
|
17438
17469
|
onFocusin: _cache[0] || (_cache[0] = function () {
|
|
@@ -17467,7 +17498,7 @@ function tooltipvue_type_template_id_52eb174c_render(_ctx, _cache, $props, $setu
|
|
|
17467
17498
|
_: 3
|
|
17468
17499
|
}, 16, ["id", "show", "appear", "transition", "class"])]);
|
|
17469
17500
|
}
|
|
17470
|
-
;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=template&id=
|
|
17501
|
+
;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=template&id=1868931e
|
|
17471
17502
|
|
|
17472
17503
|
;// CONCATENATED MODULE: ./components/tooltip/tooltip_constants.js
|
|
17473
17504
|
/*
|
|
@@ -17821,10 +17852,10 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
|
|
|
17821
17852
|
});
|
|
17822
17853
|
;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=script&lang=js
|
|
17823
17854
|
|
|
17824
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-74.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-74.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=style&index=0&id=
|
|
17855
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-74.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-74.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=style&index=0&id=1868931e&lang=less
|
|
17825
17856
|
// extracted by mini-css-extract-plugin
|
|
17826
17857
|
|
|
17827
|
-
;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=style&index=0&id=
|
|
17858
|
+
;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=style&index=0&id=1868931e&lang=less
|
|
17828
17859
|
|
|
17829
17860
|
;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue
|
|
17830
17861
|
|
|
@@ -17834,7 +17865,7 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
|
|
|
17834
17865
|
;
|
|
17835
17866
|
|
|
17836
17867
|
|
|
17837
|
-
const tooltip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(tooltipvue_type_script_lang_js, [['render',
|
|
17868
|
+
const tooltip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(tooltipvue_type_script_lang_js, [['render',tooltipvue_type_template_id_1868931e_render]])
|
|
17838
17869
|
|
|
17839
17870
|
/* harmony default export */ const tooltip = (tooltip_exports_);
|
|
17840
17871
|
;// CONCATENATED MODULE: ./components/tooltip/index.js
|
|
@@ -18528,249 +18559,1577 @@ const stack_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(stackvue_typ
|
|
|
18528
18559
|
/* harmony default export */ const stack = (stack_exports_);
|
|
18529
18560
|
;// CONCATENATED MODULE: ./components/stack/index.js
|
|
18530
18561
|
|
|
18531
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/
|
|
18532
|
-
|
|
18533
|
-
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_1 = ["id"];
|
|
18534
|
-
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_2 = {
|
|
18535
|
-
ref: "header"
|
|
18536
|
-
};
|
|
18537
|
-
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_3 = ["onMouseleave", "onFocusout"];
|
|
18538
|
-
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_4 = {
|
|
18539
|
-
ref: "footer"
|
|
18540
|
-
};
|
|
18541
|
-
function combobox_with_popovervue_type_template_id_bdafd0f4_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
18542
|
-
const _component_combobox_loading_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("combobox-loading-list");
|
|
18543
|
-
|
|
18544
|
-
const _component_combobox_empty_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("combobox-empty-list");
|
|
18545
|
-
|
|
18546
|
-
const _component_dt_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-popover");
|
|
18547
|
-
|
|
18548
|
-
const _component_dt_combobox = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-combobox");
|
|
18549
|
-
|
|
18550
|
-
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_combobox, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
|
|
18551
|
-
ref: "combobox",
|
|
18552
|
-
loading: $props.loading,
|
|
18553
|
-
label: $props.label,
|
|
18554
|
-
"label-visible": $props.labelVisible,
|
|
18555
|
-
size: $props.size,
|
|
18556
|
-
description: $props.description,
|
|
18557
|
-
"empty-list": $props.emptyList,
|
|
18558
|
-
"empty-state-message": $props.emptyStateMessage,
|
|
18559
|
-
"show-list": $data.isListShown,
|
|
18560
|
-
"on-beginning-of-list": $props.onBeginningOfList,
|
|
18561
|
-
"on-end-of-list": $props.onEndOfList,
|
|
18562
|
-
"list-rendered-outside": true,
|
|
18563
|
-
"list-id": $props.listId,
|
|
18564
|
-
"data-qa": "dt-combobox"
|
|
18565
|
-
}, $options.comboboxListeners), {
|
|
18566
|
-
input: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref => {
|
|
18567
|
-
let {
|
|
18568
|
-
inputProps
|
|
18569
|
-
} = _ref;
|
|
18570
|
-
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
|
|
18571
|
-
id: $data.externalAnchor,
|
|
18572
|
-
ref: "input",
|
|
18573
|
-
onFocusin: _cache[0] || (_cache[0] = function () {
|
|
18574
|
-
return $options.onFocusIn && $options.onFocusIn(...arguments);
|
|
18575
|
-
}),
|
|
18576
|
-
onKeydown: [_cache[1] || (_cache[1] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($event => $options.openOnArrowKeyPress($event), ["up"])), _cache[2] || (_cache[2] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($event => $options.openOnArrowKeyPress($event), ["down"]))]
|
|
18577
|
-
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "input", {
|
|
18578
|
-
inputProps: inputProps,
|
|
18579
|
-
onInput: $options.handleDisplayList
|
|
18580
|
-
})], 40, combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_1)];
|
|
18581
|
-
}),
|
|
18582
|
-
list: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref2 => {
|
|
18583
|
-
let {
|
|
18584
|
-
opened,
|
|
18585
|
-
listProps,
|
|
18586
|
-
clearHighlightIndex
|
|
18587
|
-
} = _ref2;
|
|
18588
|
-
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_popover, {
|
|
18589
|
-
ref: "popover",
|
|
18590
|
-
open: $data.isListShown,
|
|
18591
|
-
"onUpdate:open": _cache[3] || (_cache[3] = $event => $data.isListShown = $event),
|
|
18592
|
-
"hide-on-click": false,
|
|
18593
|
-
"max-height": $props.maxHeight,
|
|
18594
|
-
"max-width": $props.maxWidth,
|
|
18595
|
-
offset: $props.popoverOffset,
|
|
18596
|
-
sticky: $props.popoverSticky,
|
|
18597
|
-
placement: "bottom-start",
|
|
18598
|
-
"initial-focus-element": "none",
|
|
18599
|
-
padding: "none",
|
|
18600
|
-
role: "listbox",
|
|
18601
|
-
"external-anchor": $data.externalAnchor,
|
|
18602
|
-
"content-width": $props.contentWidth,
|
|
18603
|
-
"content-appear": true,
|
|
18604
|
-
"content-tabindex": null,
|
|
18605
|
-
modal: false,
|
|
18606
|
-
"auto-focus": false,
|
|
18607
|
-
"append-to": $props.appendTo,
|
|
18608
|
-
"visually-hidden-close-label": _ctx.visuallyHiddenCloseLabel,
|
|
18609
|
-
"visually-hidden-close": _ctx.visuallyHiddenClose,
|
|
18610
|
-
onOpened: opened
|
|
18611
|
-
}, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createSlots)({
|
|
18612
|
-
content: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
|
|
18613
|
-
ref: "listWrapper",
|
|
18614
|
-
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)([$data.DROPDOWN_PADDING_CLASSES[$props.padding], $props.listClass]),
|
|
18615
|
-
onMouseleave: clearHighlightIndex,
|
|
18616
|
-
onFocusout: clearHighlightIndex
|
|
18617
|
-
}, [$props.loading ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_combobox_loading_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
|
|
18618
|
-
key: 0
|
|
18619
|
-
}, listProps)), null, 16)) : $props.emptyList && $props.emptyStateMessage ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_combobox_empty_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
|
|
18620
|
-
key: 1
|
|
18621
|
-
}, listProps, {
|
|
18622
|
-
message: $props.emptyStateMessage
|
|
18623
|
-
}), null, 16, ["message"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "list", {
|
|
18624
|
-
key: 2,
|
|
18625
|
-
listProps: listProps
|
|
18626
|
-
})], 42, combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_3)]),
|
|
18627
|
-
_: 2
|
|
18628
|
-
}, [$data.hasSlotContent(_ctx.$slots.header) ? {
|
|
18629
|
-
name: "headerContent",
|
|
18630
|
-
fn: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "header")], 512)]),
|
|
18631
|
-
key: "0"
|
|
18632
|
-
} : undefined, $data.hasSlotContent(_ctx.$slots.footer) ? {
|
|
18633
|
-
name: "footerContent",
|
|
18634
|
-
fn: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_4, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "footer")], 512)]),
|
|
18635
|
-
key: "1"
|
|
18636
|
-
} : undefined]), 1032, ["open", "max-height", "max-width", "offset", "sticky", "external-anchor", "content-width", "append-to", "visually-hidden-close-label", "visually-hidden-close", "onOpened"])];
|
|
18637
|
-
}),
|
|
18638
|
-
_: 3
|
|
18639
|
-
}, 16, ["loading", "label", "label-visible", "size", "description", "empty-list", "empty-state-message", "show-list", "on-beginning-of-list", "on-end-of-list", "list-id"]);
|
|
18640
|
-
}
|
|
18641
|
-
;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=bdafd0f4
|
|
18642
|
-
|
|
18643
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=script&lang=js
|
|
18644
|
-
/* eslint-disable vuejs-accessibility/no-static-element-interactions */
|
|
18645
|
-
|
|
18646
|
-
|
|
18647
|
-
|
|
18648
|
-
|
|
18649
|
-
|
|
18650
|
-
|
|
18651
|
-
|
|
18562
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/scroller/modules/core-scroller.vue?vue&type=script&setup=true&lang=js
|
|
18652
18563
|
|
|
18653
18564
|
|
|
18654
|
-
/* harmony default export */ const
|
|
18655
|
-
|
|
18656
|
-
components: {
|
|
18657
|
-
DtCombobox: combobox,
|
|
18658
|
-
DtPopover: popover,
|
|
18659
|
-
ComboboxLoadingList: combobox_loading_list,
|
|
18660
|
-
ComboboxEmptyList: combobox_empty_list
|
|
18661
|
-
},
|
|
18662
|
-
mixins: [sr_only_close_button],
|
|
18565
|
+
/* harmony default export */ const core_scrollervue_type_script_setup_true_lang_js = ({
|
|
18566
|
+
__name: 'core-scroller',
|
|
18663
18567
|
props: {
|
|
18664
18568
|
/**
|
|
18665
|
-
|
|
18666
|
-
|
|
18667
|
-
|
|
18668
|
-
type:
|
|
18569
|
+
* List of items you want to display in the scroller.
|
|
18570
|
+
*/
|
|
18571
|
+
items: {
|
|
18572
|
+
type: Array,
|
|
18669
18573
|
required: true
|
|
18670
18574
|
},
|
|
18671
18575
|
|
|
18672
18576
|
/**
|
|
18673
|
-
|
|
18674
|
-
|
|
18675
|
-
|
|
18676
|
-
|
|
18677
|
-
type:
|
|
18678
|
-
default:
|
|
18577
|
+
*
|
|
18578
|
+
* Field used to identify items and optimize managing rendered views
|
|
18579
|
+
*/
|
|
18580
|
+
keyField: {
|
|
18581
|
+
type: String,
|
|
18582
|
+
default: 'id'
|
|
18679
18583
|
},
|
|
18680
18584
|
|
|
18681
18585
|
/**
|
|
18682
|
-
|
|
18683
|
-
|
|
18684
|
-
|
|
18685
|
-
size: {
|
|
18586
|
+
* Direction of the scroller. Can be either `vertical` or `horizontal`.
|
|
18587
|
+
*/
|
|
18588
|
+
direction: {
|
|
18686
18589
|
type: String,
|
|
18687
|
-
default:
|
|
18688
|
-
validator:
|
|
18590
|
+
default: 'vertical',
|
|
18591
|
+
validator: value => ['vertical', 'horizontal'].includes(value)
|
|
18689
18592
|
},
|
|
18690
18593
|
|
|
18691
18594
|
/**
|
|
18692
|
-
|
|
18693
|
-
|
|
18694
|
-
|
|
18695
|
-
|
|
18696
|
-
|
|
18595
|
+
* Size of the items in the list.
|
|
18596
|
+
* If it is set to null (the default value), it will use variable size mode.
|
|
18597
|
+
*/
|
|
18598
|
+
itemSize: {
|
|
18599
|
+
type: Number,
|
|
18600
|
+
default: null
|
|
18697
18601
|
},
|
|
18698
18602
|
|
|
18699
18603
|
/**
|
|
18700
|
-
|
|
18701
|
-
|
|
18702
|
-
|
|
18703
|
-
|
|
18704
|
-
*/
|
|
18705
|
-
showList: {
|
|
18706
|
-
type: Boolean,
|
|
18604
|
+
* Minimum size used if the height (or width in horizontal mode) of an item is unknown.
|
|
18605
|
+
*/
|
|
18606
|
+
minItemSize: {
|
|
18607
|
+
type: [Number, String],
|
|
18707
18608
|
default: null
|
|
18708
18609
|
},
|
|
18709
18610
|
|
|
18710
18611
|
/**
|
|
18711
|
-
|
|
18712
|
-
|
|
18713
|
-
|
|
18714
|
-
listId: {
|
|
18612
|
+
* Field used to get the item's size in variable size mode.
|
|
18613
|
+
*/
|
|
18614
|
+
sizeField: {
|
|
18715
18615
|
type: String,
|
|
18716
|
-
|
|
18717
|
-
default() {
|
|
18718
|
-
return getUniqueString();
|
|
18719
|
-
}
|
|
18720
|
-
|
|
18616
|
+
default: 'size'
|
|
18721
18617
|
},
|
|
18722
18618
|
|
|
18723
18619
|
/**
|
|
18724
|
-
|
|
18725
|
-
|
|
18726
|
-
|
|
18727
|
-
type:
|
|
18728
|
-
default:
|
|
18620
|
+
* Amount of pixel to add to edges of the scrolling visible area to start rendering items further away.
|
|
18621
|
+
*/
|
|
18622
|
+
buffer: {
|
|
18623
|
+
type: Number,
|
|
18624
|
+
default: 200
|
|
18729
18625
|
},
|
|
18730
18626
|
|
|
18731
18627
|
/**
|
|
18732
|
-
|
|
18733
|
-
|
|
18734
|
-
|
|
18735
|
-
|
|
18736
|
-
|
|
18628
|
+
* If true, the hover state will be skipped.
|
|
18629
|
+
* This can be useful if you want to use the hover state for other purposes.
|
|
18630
|
+
*/
|
|
18631
|
+
skipHover: {
|
|
18632
|
+
type: Boolean,
|
|
18633
|
+
default: false
|
|
18737
18634
|
},
|
|
18738
18635
|
|
|
18739
18636
|
/**
|
|
18740
|
-
|
|
18741
|
-
|
|
18742
|
-
|
|
18743
|
-
type:
|
|
18744
|
-
default:
|
|
18637
|
+
* The element to render as the list's wrapper.
|
|
18638
|
+
*/
|
|
18639
|
+
listTag: {
|
|
18640
|
+
type: String,
|
|
18641
|
+
default: 'div'
|
|
18745
18642
|
},
|
|
18746
18643
|
|
|
18747
18644
|
/**
|
|
18748
|
-
|
|
18749
|
-
|
|
18750
|
-
|
|
18751
|
-
maxHeight: {
|
|
18645
|
+
* The element to render as the list item.
|
|
18646
|
+
*/
|
|
18647
|
+
itemTag: {
|
|
18752
18648
|
type: String,
|
|
18753
|
-
default: ''
|
|
18649
|
+
default: 'div'
|
|
18754
18650
|
},
|
|
18755
18651
|
|
|
18756
18652
|
/**
|
|
18757
|
-
|
|
18758
|
-
|
|
18759
|
-
|
|
18760
|
-
|
|
18761
|
-
type: String,
|
|
18653
|
+
* The custom classes added to the item list wrapper.
|
|
18654
|
+
*/
|
|
18655
|
+
listClass: {
|
|
18656
|
+
type: [String, Object, Array],
|
|
18762
18657
|
default: ''
|
|
18763
18658
|
},
|
|
18764
18659
|
|
|
18765
18660
|
/**
|
|
18766
|
-
|
|
18767
|
-
|
|
18768
|
-
|
|
18769
|
-
type: String,
|
|
18770
|
-
default: '
|
|
18771
|
-
|
|
18772
|
-
|
|
18773
|
-
|
|
18661
|
+
* The custom classes added to each item.
|
|
18662
|
+
*/
|
|
18663
|
+
itemClass: {
|
|
18664
|
+
type: [String, Object, Array],
|
|
18665
|
+
default: ''
|
|
18666
|
+
}
|
|
18667
|
+
},
|
|
18668
|
+
emits: ['scroll-start', 'scroll-end'],
|
|
18669
|
+
|
|
18670
|
+
setup(__props, _ref) {
|
|
18671
|
+
let {
|
|
18672
|
+
expose,
|
|
18673
|
+
emit
|
|
18674
|
+
} = _ref;
|
|
18675
|
+
const props = __props;
|
|
18676
|
+
const views = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.reactive)(new Map());
|
|
18677
|
+
const reactiveItems = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.reactive)(props.items);
|
|
18678
|
+
const unusedViews = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.reactive)(new Map());
|
|
18679
|
+
const updateTimeout = null;
|
|
18680
|
+
const pool = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)([]);
|
|
18681
|
+
const hoverKey = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
|
|
18682
|
+
const ready = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(false);
|
|
18683
|
+
const scroller = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
|
|
18684
|
+
let startIndex = 0;
|
|
18685
|
+
let endIndex = 0;
|
|
18686
|
+
let scrollDirty = false;
|
|
18687
|
+
let lastUpdateScrollPosition = 0;
|
|
18688
|
+
let sortTimer = null;
|
|
18689
|
+
let computedMinItemSize = null;
|
|
18690
|
+
let totalSize = 0;
|
|
18691
|
+
let uid = 0;
|
|
18692
|
+
const sizes = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
|
|
18693
|
+
if (props.itemSize === null) {
|
|
18694
|
+
const sizes = {
|
|
18695
|
+
'-1': {
|
|
18696
|
+
accumulator: 0
|
|
18697
|
+
}
|
|
18698
|
+
};
|
|
18699
|
+
const items = props.items;
|
|
18700
|
+
const field = props.sizeField;
|
|
18701
|
+
const minItemSize = props.minItemSize;
|
|
18702
|
+
let computedMinSize = 10000;
|
|
18703
|
+
let accumulator = 0;
|
|
18704
|
+
let current;
|
|
18705
|
+
|
|
18706
|
+
for (let i = 0, l = items.length; i < l; i++) {
|
|
18707
|
+
current = items[i][field] || minItemSize;
|
|
18708
|
+
|
|
18709
|
+
if (current < computedMinSize) {
|
|
18710
|
+
computedMinSize = current;
|
|
18711
|
+
}
|
|
18712
|
+
|
|
18713
|
+
accumulator += current;
|
|
18714
|
+
sizes[i] = {
|
|
18715
|
+
accumulator,
|
|
18716
|
+
size: current
|
|
18717
|
+
};
|
|
18718
|
+
}
|
|
18719
|
+
|
|
18720
|
+
computedMinItemSize = computedMinSize;
|
|
18721
|
+
return sizes;
|
|
18722
|
+
}
|
|
18723
|
+
|
|
18724
|
+
return [];
|
|
18725
|
+
});
|
|
18726
|
+
const simpleArray = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
|
|
18727
|
+
return props.items.length && typeof props.items[0] !== 'object';
|
|
18728
|
+
});
|
|
18729
|
+
const itemIndexByKey = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
|
|
18730
|
+
const result = {};
|
|
18731
|
+
|
|
18732
|
+
for (let i = 0, l = props.items.length; i < l; i++) {
|
|
18733
|
+
result[props.items[i][props.keyField]] = i;
|
|
18734
|
+
}
|
|
18735
|
+
|
|
18736
|
+
return result;
|
|
18737
|
+
});
|
|
18738
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(reactiveItems, () => {
|
|
18739
|
+
_updateVisibleItems(true);
|
|
18740
|
+
});
|
|
18741
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(sizes, () => {
|
|
18742
|
+
_updateVisibleItems(false);
|
|
18743
|
+
}, {
|
|
18744
|
+
deep: true
|
|
18745
|
+
});
|
|
18746
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.onMounted)(() => {
|
|
18747
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.nextTick)(() => {
|
|
18748
|
+
// In SSR mode, render the real number of visible items
|
|
18749
|
+
_updateVisibleItems(true);
|
|
18750
|
+
|
|
18751
|
+
ready.value = true;
|
|
18752
|
+
});
|
|
18753
|
+
});
|
|
18754
|
+
|
|
18755
|
+
const _addView = (pool, index, item, key, type) => {
|
|
18756
|
+
const nr = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.markRaw)({
|
|
18757
|
+
id: uid++,
|
|
18758
|
+
index,
|
|
18759
|
+
used: true,
|
|
18760
|
+
key,
|
|
18761
|
+
type
|
|
18762
|
+
});
|
|
18763
|
+
const view = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.shallowReactive)({
|
|
18764
|
+
item,
|
|
18765
|
+
position: 0,
|
|
18766
|
+
nr
|
|
18767
|
+
});
|
|
18768
|
+
pool.value.push(view);
|
|
18769
|
+
return view;
|
|
18770
|
+
};
|
|
18771
|
+
|
|
18772
|
+
const _unuseView = function (view) {
|
|
18773
|
+
let fake = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
18774
|
+
const _unusedViews = unusedViews;
|
|
18775
|
+
const type = view.nr.type;
|
|
18776
|
+
|
|
18777
|
+
let unusedPool = _unusedViews.get(type);
|
|
18778
|
+
|
|
18779
|
+
if (!unusedPool) {
|
|
18780
|
+
unusedPool = [];
|
|
18781
|
+
|
|
18782
|
+
_unusedViews.set(type, unusedPool);
|
|
18783
|
+
}
|
|
18784
|
+
|
|
18785
|
+
unusedPool.push(view);
|
|
18786
|
+
|
|
18787
|
+
if (!fake) {
|
|
18788
|
+
view.nr.used = false;
|
|
18789
|
+
view.position = -9999;
|
|
18790
|
+
}
|
|
18791
|
+
};
|
|
18792
|
+
|
|
18793
|
+
const _getScroll = () => {
|
|
18794
|
+
const isVertical = props.direction === 'vertical';
|
|
18795
|
+
let scrollState;
|
|
18796
|
+
|
|
18797
|
+
if (isVertical) {
|
|
18798
|
+
scrollState = {
|
|
18799
|
+
start: scroller.value.scrollTop,
|
|
18800
|
+
end: scroller.value.scrollTop + scroller.value.clientHeight
|
|
18801
|
+
};
|
|
18802
|
+
} else {
|
|
18803
|
+
scrollState = {
|
|
18804
|
+
start: scroller.value.scrollLeft,
|
|
18805
|
+
end: scroller.value.scrollLeft + scroller.value.clientWidth
|
|
18806
|
+
};
|
|
18807
|
+
}
|
|
18808
|
+
|
|
18809
|
+
return scrollState;
|
|
18810
|
+
};
|
|
18811
|
+
|
|
18812
|
+
const _itemsLimitError = () => {
|
|
18813
|
+
setTimeout(() => {
|
|
18814
|
+
// eslint-disable-next-line max-len
|
|
18815
|
+
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
|
|
18816
|
+
|
|
18817
|
+
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.');
|
|
18818
|
+
});
|
|
18819
|
+
throw new Error('Rendered items limit reached');
|
|
18820
|
+
};
|
|
18821
|
+
|
|
18822
|
+
const _sortViews = () => {
|
|
18823
|
+
pool.value.sort((viewA, viewB) => viewA.nr.index - viewB.nr.index);
|
|
18824
|
+
};
|
|
18825
|
+
|
|
18826
|
+
const _updateVisibleItems = function (checkItem) {
|
|
18827
|
+
let checkPositionDiff = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
18828
|
+
const itemSize = props.itemSize;
|
|
18829
|
+
const minItemSize = computedMinItemSize;
|
|
18830
|
+
const keyField = simpleArray.value ? null : props.keyField;
|
|
18831
|
+
const items = props.items;
|
|
18832
|
+
const count = items.length;
|
|
18833
|
+
const _sizes = sizes.value;
|
|
18834
|
+
const _views = views;
|
|
18835
|
+
const _unusedViews = unusedViews;
|
|
18836
|
+
const _pool = pool;
|
|
18837
|
+
const _itemIndexByKey = itemIndexByKey;
|
|
18838
|
+
|
|
18839
|
+
let _startIndex, _endIndex;
|
|
18840
|
+
|
|
18841
|
+
let _totalSize;
|
|
18842
|
+
|
|
18843
|
+
let visibleStartIndex, visibleEndIndex;
|
|
18844
|
+
|
|
18845
|
+
if (!count) {
|
|
18846
|
+
_startIndex = _endIndex = visibleStartIndex = visibleEndIndex = _totalSize = 0;
|
|
18847
|
+
} else {
|
|
18848
|
+
const scroll = _getScroll(); // Skip update if use hasn't scrolled enough
|
|
18849
|
+
|
|
18850
|
+
|
|
18851
|
+
if (checkPositionDiff) {
|
|
18852
|
+
let positionDiff = scroll.start - lastUpdateScrollPosition.value;
|
|
18853
|
+
if (positionDiff < 0) positionDiff = -positionDiff;
|
|
18854
|
+
|
|
18855
|
+
if (itemSize === null && positionDiff < minItemSize.value || positionDiff < itemSize) {
|
|
18856
|
+
return {
|
|
18857
|
+
continuous: true
|
|
18858
|
+
};
|
|
18859
|
+
}
|
|
18860
|
+
}
|
|
18861
|
+
|
|
18862
|
+
lastUpdateScrollPosition = scroll.start;
|
|
18863
|
+
const _buffer = props.buffer;
|
|
18864
|
+
scroll.start -= _buffer;
|
|
18865
|
+
scroll.end += _buffer; // Variable size mode
|
|
18866
|
+
|
|
18867
|
+
if (itemSize === null) {
|
|
18868
|
+
var _sizes3;
|
|
18869
|
+
|
|
18870
|
+
let h;
|
|
18871
|
+
let a = 0;
|
|
18872
|
+
let b = count - 1;
|
|
18873
|
+
let i = ~~(count / 2);
|
|
18874
|
+
let oldI; // Searching for _startIndex
|
|
18875
|
+
|
|
18876
|
+
do {
|
|
18877
|
+
var _sizes$i, _sizes2;
|
|
18878
|
+
|
|
18879
|
+
oldI = i;
|
|
18880
|
+
h = (_sizes$i = _sizes[i]) === null || _sizes$i === void 0 ? void 0 : _sizes$i.accumulator;
|
|
18881
|
+
|
|
18882
|
+
if (h < scroll.start) {
|
|
18883
|
+
a = i;
|
|
18884
|
+
} else if (i < count - 1 && ((_sizes2 = _sizes[i + 1]) === null || _sizes2 === void 0 ? void 0 : _sizes2.accumulator) > scroll.start) {
|
|
18885
|
+
b = i;
|
|
18886
|
+
}
|
|
18887
|
+
|
|
18888
|
+
i = ~~((a + b) / 2);
|
|
18889
|
+
} while (i !== oldI);
|
|
18890
|
+
|
|
18891
|
+
i < 0 && (i = 0);
|
|
18892
|
+
_startIndex = i; // For container style
|
|
18893
|
+
|
|
18894
|
+
_totalSize = (_sizes3 = _sizes[count - 1]) === null || _sizes3 === void 0 ? void 0 : _sizes3.accumulator; // Searching for _endIndex
|
|
18895
|
+
|
|
18896
|
+
for (_endIndex = i; _endIndex < count && ((_sizes$_endIndex = _sizes[_endIndex]) === null || _sizes$_endIndex === void 0 ? void 0 : _sizes$_endIndex.accumulator) < scroll.end; _endIndex++) {
|
|
18897
|
+
var _sizes$_endIndex;
|
|
18898
|
+
|
|
18899
|
+
;
|
|
18900
|
+
}
|
|
18901
|
+
|
|
18902
|
+
if (_endIndex === -1) {
|
|
18903
|
+
_endIndex = items.length - 1;
|
|
18904
|
+
} else {
|
|
18905
|
+
_endIndex++; // Bounds
|
|
18906
|
+
|
|
18907
|
+
_endIndex > count && (_endIndex = count);
|
|
18908
|
+
} // search visible _startIndex
|
|
18909
|
+
|
|
18910
|
+
|
|
18911
|
+
for (visibleStartIndex = startIndex; visibleStartIndex < count && ((_sizes$visibleStartIn = _sizes[visibleStartIndex]) === null || _sizes$visibleStartIn === void 0 ? void 0 : _sizes$visibleStartIn.accumulator) < scroll.start; visibleStartIndex++) {
|
|
18912
|
+
var _sizes$visibleStartIn;
|
|
18913
|
+
|
|
18914
|
+
;
|
|
18915
|
+
} // search visible endIndex
|
|
18916
|
+
|
|
18917
|
+
|
|
18918
|
+
for (visibleEndIndex = visibleStartIndex; visibleEndIndex < count && ((_sizes$visibleEndInde = _sizes[visibleEndIndex]) === null || _sizes$visibleEndInde === void 0 ? void 0 : _sizes$visibleEndInde.accumulator) < scroll.end; visibleEndIndex++) {
|
|
18919
|
+
var _sizes$visibleEndInde;
|
|
18920
|
+
|
|
18921
|
+
;
|
|
18922
|
+
}
|
|
18923
|
+
} else {
|
|
18924
|
+
// Fixed size mode
|
|
18925
|
+
_startIndex = ~~(scroll.start / itemSize);
|
|
18926
|
+
const remainer = _startIndex % 1;
|
|
18927
|
+
_startIndex -= remainer;
|
|
18928
|
+
_endIndex = Math.ceil(scroll.end / itemSize);
|
|
18929
|
+
visibleStartIndex = Math.max(0, Math.floor(scroll.start / itemSize));
|
|
18930
|
+
visibleEndIndex = Math.floor(scroll.end / itemSize); // Bounds
|
|
18931
|
+
|
|
18932
|
+
_startIndex < 0 && (_startIndex = 0);
|
|
18933
|
+
_endIndex > count && (_endIndex = count);
|
|
18934
|
+
visibleStartIndex < 0 && (visibleStartIndex = 0);
|
|
18935
|
+
visibleEndIndex > count && (visibleEndIndex = count);
|
|
18936
|
+
_totalSize = Math.ceil(count / 1) * itemSize;
|
|
18937
|
+
}
|
|
18938
|
+
} // items limit 1000
|
|
18939
|
+
|
|
18940
|
+
|
|
18941
|
+
if (_endIndex - _startIndex > 1000) {
|
|
18942
|
+
_itemsLimitError();
|
|
18943
|
+
}
|
|
18944
|
+
|
|
18945
|
+
totalSize = _totalSize;
|
|
18946
|
+
let view;
|
|
18947
|
+
const continuous = _startIndex <= endIndex && _endIndex >= _startIndex; // Unuse views that are no longer visible
|
|
18948
|
+
|
|
18949
|
+
if (continuous) {
|
|
18950
|
+
for (let i = 0, l = _pool.value.length; i < l; i++) {
|
|
18951
|
+
var _view;
|
|
18952
|
+
|
|
18953
|
+
view = _pool.value[i];
|
|
18954
|
+
|
|
18955
|
+
if ((_view = view) !== null && _view !== void 0 && _view.nr.used) {
|
|
18956
|
+
// Update view item index
|
|
18957
|
+
if (checkItem) {
|
|
18958
|
+
view.nr.index = _itemIndexByKey[view.item[keyField]];
|
|
18959
|
+
} // Check if index is still in visible range
|
|
18960
|
+
|
|
18961
|
+
|
|
18962
|
+
if (view.nr.index == null || view.nr.index < _startIndex || view.nr.index >= _endIndex) {
|
|
18963
|
+
_unuseView(view);
|
|
18964
|
+
}
|
|
18965
|
+
}
|
|
18966
|
+
}
|
|
18967
|
+
}
|
|
18968
|
+
|
|
18969
|
+
const unusedIndex = continuous ? null : new Map();
|
|
18970
|
+
let item, type;
|
|
18971
|
+
let v;
|
|
18972
|
+
|
|
18973
|
+
for (let i = _startIndex; i < _endIndex; i++) {
|
|
18974
|
+
var _item, _sizes$i2;
|
|
18975
|
+
|
|
18976
|
+
item = items[i];
|
|
18977
|
+
const key = keyField ? (_item = item) === null || _item === void 0 ? void 0 : _item[keyField] : item;
|
|
18978
|
+
|
|
18979
|
+
if (key == null) {
|
|
18980
|
+
throw new Error(`Key is ${key} on item (keyField is '${keyField}')`);
|
|
18981
|
+
}
|
|
18982
|
+
|
|
18983
|
+
view = _views.get(key);
|
|
18984
|
+
|
|
18985
|
+
if (!itemSize && !((_sizes$i2 = _sizes[i]) !== null && _sizes$i2 !== void 0 && _sizes$i2.size)) {
|
|
18986
|
+
if (view) _unuseView(view);
|
|
18987
|
+
continue;
|
|
18988
|
+
}
|
|
18989
|
+
|
|
18990
|
+
type = item.type;
|
|
18991
|
+
|
|
18992
|
+
let unusedPool = _unusedViews.get(type);
|
|
18993
|
+
|
|
18994
|
+
let newlyUsedView = false; // No view assigned to item
|
|
18995
|
+
|
|
18996
|
+
if (!view) {
|
|
18997
|
+
if (continuous) {
|
|
18998
|
+
// Reuse existing view
|
|
18999
|
+
if (unusedPool && unusedPool.length) {
|
|
19000
|
+
view = unusedPool.pop();
|
|
19001
|
+
} else {
|
|
19002
|
+
view = _addView(_pool, i, item, key, type);
|
|
19003
|
+
}
|
|
19004
|
+
} else {
|
|
19005
|
+
// Use existing view
|
|
19006
|
+
// We don't care if they are already used
|
|
19007
|
+
// because we are not in continous scrolling
|
|
19008
|
+
v = unusedIndex.get(type) || 0;
|
|
19009
|
+
|
|
19010
|
+
if (!unusedPool || v >= unusedPool.length) {
|
|
19011
|
+
view = _addView(_pool, i, item, key, type);
|
|
19012
|
+
|
|
19013
|
+
_unuseView(view, true);
|
|
19014
|
+
|
|
19015
|
+
unusedPool = _unusedViews.get(type);
|
|
19016
|
+
}
|
|
19017
|
+
|
|
19018
|
+
view = unusedPool[v];
|
|
19019
|
+
unusedIndex.set(type, v + 1);
|
|
19020
|
+
} // Assign view to item
|
|
19021
|
+
|
|
19022
|
+
|
|
19023
|
+
_views.delete(view.nr.key);
|
|
19024
|
+
|
|
19025
|
+
view.nr.used = true;
|
|
19026
|
+
view.nr.index = i;
|
|
19027
|
+
view.nr.key = key;
|
|
19028
|
+
view.nr.type = type;
|
|
19029
|
+
|
|
19030
|
+
_views.set(key, view);
|
|
19031
|
+
|
|
19032
|
+
newlyUsedView = true;
|
|
19033
|
+
} else {
|
|
19034
|
+
// View already assigned to item
|
|
19035
|
+
if (!view.nr.used) {
|
|
19036
|
+
view.nr.used = true;
|
|
19037
|
+
newlyUsedView = true;
|
|
19038
|
+
|
|
19039
|
+
if (unusedPool) {
|
|
19040
|
+
const index = unusedPool.indexOf(view);
|
|
19041
|
+
if (index !== -1) unusedPool.splice(index, 1);
|
|
19042
|
+
}
|
|
19043
|
+
}
|
|
19044
|
+
} // Always set item in case it's a new object with the same key
|
|
19045
|
+
|
|
19046
|
+
|
|
19047
|
+
view.item = item;
|
|
19048
|
+
|
|
19049
|
+
if (newlyUsedView) {
|
|
19050
|
+
if (i === items.length - 1) emit('scroll-end');
|
|
19051
|
+
if (i === 0) emit('scroll-start');
|
|
19052
|
+
} // Update position
|
|
19053
|
+
|
|
19054
|
+
|
|
19055
|
+
if (itemSize === null) {
|
|
19056
|
+
var _sizes4;
|
|
19057
|
+
|
|
19058
|
+
view.position = (_sizes4 = _sizes[i - 1]) === null || _sizes4 === void 0 ? void 0 : _sizes4.accumulator;
|
|
19059
|
+
view.offset = 0;
|
|
19060
|
+
} else {
|
|
19061
|
+
view.position = Math.floor(i) * itemSize;
|
|
19062
|
+
view.offset = i % 1 * itemSize;
|
|
19063
|
+
}
|
|
19064
|
+
}
|
|
19065
|
+
|
|
19066
|
+
startIndex = _startIndex;
|
|
19067
|
+
endIndex = _endIndex; // After the user has finished scrolling
|
|
19068
|
+
// Sort views so text selection is correct
|
|
19069
|
+
|
|
19070
|
+
clearTimeout(sortTimer);
|
|
19071
|
+
sortTimer = setTimeout(_sortViews, 300);
|
|
19072
|
+
return {
|
|
19073
|
+
continuous
|
|
19074
|
+
};
|
|
19075
|
+
};
|
|
19076
|
+
|
|
19077
|
+
const _scrollToPosition = position => {
|
|
19078
|
+
const direction = props.direction === 'vertical' ? {
|
|
19079
|
+
scroll: 'scrollTop',
|
|
19080
|
+
start: 'top'
|
|
19081
|
+
} : {
|
|
19082
|
+
scroll: 'scrollLeft',
|
|
19083
|
+
start: 'left'
|
|
19084
|
+
};
|
|
19085
|
+
const viewport = scroller.value;
|
|
19086
|
+
const scrollDirection = direction.scroll;
|
|
19087
|
+
viewport[scrollDirection] = position;
|
|
19088
|
+
};
|
|
19089
|
+
|
|
19090
|
+
const scrollToItem = index => {
|
|
19091
|
+
let scroll;
|
|
19092
|
+
|
|
19093
|
+
if (props.itemSize === null) {
|
|
19094
|
+
var _sizes$value;
|
|
19095
|
+
|
|
19096
|
+
scroll = index > 0 ? (_sizes$value = sizes.value[index - 1]) === null || _sizes$value === void 0 ? void 0 : _sizes$value.accumulator : 0;
|
|
19097
|
+
} else {
|
|
19098
|
+
scroll = Math.floor(index) * props.itemSize;
|
|
19099
|
+
}
|
|
19100
|
+
|
|
19101
|
+
_scrollToPosition(scroll);
|
|
19102
|
+
};
|
|
19103
|
+
|
|
19104
|
+
const handleScroll = () => {
|
|
19105
|
+
if (!scrollDirty) {
|
|
19106
|
+
scrollDirty = true;
|
|
19107
|
+
if (updateTimeout) return;
|
|
19108
|
+
|
|
19109
|
+
const requestUpdate = () => requestAnimationFrame(() => {
|
|
19110
|
+
scrollDirty = false;
|
|
19111
|
+
|
|
19112
|
+
_updateVisibleItems(false, true);
|
|
19113
|
+
});
|
|
19114
|
+
|
|
19115
|
+
requestUpdate();
|
|
19116
|
+
}
|
|
19117
|
+
};
|
|
19118
|
+
|
|
19119
|
+
expose({
|
|
19120
|
+
scrollToItem
|
|
19121
|
+
});
|
|
19122
|
+
return (_ctx, _cache) => {
|
|
19123
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
|
|
19124
|
+
ref_key: "scroller",
|
|
19125
|
+
ref: scroller,
|
|
19126
|
+
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["vue-recycle-scroller", {
|
|
19127
|
+
ready: ready.value,
|
|
19128
|
+
[`direction-${__props.direction}`]: true
|
|
19129
|
+
}]),
|
|
19130
|
+
onScrollPassive: handleScroll
|
|
19131
|
+
}, [((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), {
|
|
19132
|
+
ref: "wrapper",
|
|
19133
|
+
style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)({
|
|
19134
|
+
[__props.direction === 'vertical' ? 'minHeight' : 'minWidth']: `${(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.unref)(totalSize)}px`
|
|
19135
|
+
}),
|
|
19136
|
+
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["vue-recycle-scroller__item-wrapper", __props.listClass])
|
|
19137
|
+
}, {
|
|
19138
|
+
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 => {
|
|
19139
|
+
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)({
|
|
19140
|
+
key: view.nr.id,
|
|
19141
|
+
style: ready.value ? {
|
|
19142
|
+
transform: `translate${__props.direction === 'vertical' ? 'Y' : 'X'}(${view.position}px) translate${__props.direction === 'vertical' ? 'X' : 'Y'}(${view.offset}px)`,
|
|
19143
|
+
width: undefined,
|
|
19144
|
+
height: undefined
|
|
19145
|
+
} : null,
|
|
19146
|
+
class: ["vue-recycle-scroller__item-view", [__props.itemClass, {
|
|
19147
|
+
hover: !__props.skipHover && hoverKey.value === view.nr.key
|
|
19148
|
+
}]]
|
|
19149
|
+
}, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toHandlers)(__props.skipHover ? {} : {
|
|
19150
|
+
mouseenter: () => {
|
|
19151
|
+
hoverKey.value = view.nr.key;
|
|
19152
|
+
},
|
|
19153
|
+
mouseleave: () => {
|
|
19154
|
+
hoverKey.value = null;
|
|
19155
|
+
}
|
|
19156
|
+
})), {
|
|
19157
|
+
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default", {
|
|
19158
|
+
item: view.item,
|
|
19159
|
+
index: view.nr.index,
|
|
19160
|
+
active: view.nr.used
|
|
19161
|
+
})]),
|
|
19162
|
+
_: 2
|
|
19163
|
+
}, 1040, ["style", "class"]);
|
|
19164
|
+
}), 128))]),
|
|
19165
|
+
_: 3
|
|
19166
|
+
}, 8, ["style", "class"]))], 34);
|
|
19167
|
+
};
|
|
19168
|
+
}
|
|
19169
|
+
|
|
19170
|
+
});
|
|
19171
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/core-scroller.vue?vue&type=script&setup=true&lang=js
|
|
19172
|
+
|
|
19173
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/scroller/modules/core-scroller.vue?vue&type=style&index=0&id=d2aff5e0&lang=css
|
|
19174
|
+
// extracted by mini-css-extract-plugin
|
|
19175
|
+
|
|
19176
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/core-scroller.vue?vue&type=style&index=0&id=d2aff5e0&lang=css
|
|
19177
|
+
|
|
19178
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/core-scroller.vue
|
|
19179
|
+
|
|
19180
|
+
|
|
19181
|
+
|
|
19182
|
+
;
|
|
19183
|
+
|
|
19184
|
+
const core_scroller_exports_ = core_scrollervue_type_script_setup_true_lang_js;
|
|
19185
|
+
|
|
19186
|
+
/* harmony default export */ const core_scroller = (core_scroller_exports_);
|
|
19187
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/scroller/modules/dynamic-scroller.vue?vue&type=template&id=419ca1d0
|
|
19188
|
+
|
|
19189
|
+
function dynamic_scrollervue_type_template_id_419ca1d0_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
19190
|
+
const _component_dt_scroller_item = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-scroller-item");
|
|
19191
|
+
|
|
19192
|
+
const _component_core_scroller = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("core-scroller");
|
|
19193
|
+
|
|
19194
|
+
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)({
|
|
19195
|
+
ref: "scroller",
|
|
19196
|
+
items: $options.itemsWithSize,
|
|
19197
|
+
"min-item-size": $props.minItemSize,
|
|
19198
|
+
direction: $props.direction,
|
|
19199
|
+
"key-field": "id",
|
|
19200
|
+
"list-tag": $props.listTag,
|
|
19201
|
+
"item-tag": $props.itemTag
|
|
19202
|
+
}, _ctx.$attrs), {
|
|
19203
|
+
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref => {
|
|
19204
|
+
let {
|
|
19205
|
+
item: itemWithSize,
|
|
19206
|
+
index,
|
|
19207
|
+
active
|
|
19208
|
+
} = _ref;
|
|
19209
|
+
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_scroller_item, {
|
|
19210
|
+
item: itemWithSize,
|
|
19211
|
+
active: active,
|
|
19212
|
+
"size-dependencies": [itemWithSize.message],
|
|
19213
|
+
"data-index": index
|
|
19214
|
+
}, {
|
|
19215
|
+
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)({
|
|
19216
|
+
item: itemWithSize.item,
|
|
19217
|
+
index,
|
|
19218
|
+
active,
|
|
19219
|
+
itemWithSize
|
|
19220
|
+
})))]),
|
|
19221
|
+
_: 2
|
|
19222
|
+
}, 1032, ["item", "active", "size-dependencies", "data-index"])];
|
|
19223
|
+
}),
|
|
19224
|
+
_: 3
|
|
19225
|
+
}, 16, ["items", "min-item-size", "direction", "list-tag", "item-tag"]);
|
|
19226
|
+
}
|
|
19227
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/dynamic-scroller.vue?vue&type=template&id=419ca1d0
|
|
19228
|
+
|
|
19229
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/scroller/modules/scroller-item.vue?vue&type=script&lang=js
|
|
19230
|
+
|
|
19231
|
+
/* harmony default export */ const scroller_itemvue_type_script_lang_js = ({
|
|
19232
|
+
name: 'DtScrollerItem',
|
|
19233
|
+
inject: ['vscrollData', 'vscrollParent', 'vscrollResizeObserver'],
|
|
19234
|
+
props: {
|
|
19235
|
+
// eslint-disable-next-line vue/require-prop-types
|
|
19236
|
+
item: {
|
|
19237
|
+
required: true
|
|
19238
|
+
},
|
|
19239
|
+
watchData: {
|
|
19240
|
+
type: Boolean,
|
|
19241
|
+
default: false
|
|
19242
|
+
},
|
|
19243
|
+
|
|
19244
|
+
/**
|
|
19245
|
+
* Indicates if the view is actively used to display an item.
|
|
19246
|
+
*/
|
|
19247
|
+
active: {
|
|
19248
|
+
type: Boolean,
|
|
19249
|
+
required: true
|
|
19250
|
+
},
|
|
19251
|
+
index: {
|
|
19252
|
+
type: Number,
|
|
19253
|
+
default: undefined
|
|
19254
|
+
},
|
|
19255
|
+
sizeDependencies: {
|
|
19256
|
+
type: [Array, Object],
|
|
19257
|
+
default: null
|
|
19258
|
+
},
|
|
19259
|
+
tag: {
|
|
19260
|
+
type: String,
|
|
19261
|
+
default: 'div'
|
|
19262
|
+
}
|
|
19263
|
+
},
|
|
19264
|
+
computed: {
|
|
19265
|
+
id() {
|
|
19266
|
+
if (this.vscrollData.simpleArray) return this.index; // eslint-disable-next-line no-prototype-builtins
|
|
19267
|
+
|
|
19268
|
+
if (this.vscrollData.keyField in this.item) return this.item[this.vscrollData.keyField];
|
|
19269
|
+
throw new Error(`keyField '${this.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`);
|
|
19270
|
+
},
|
|
19271
|
+
|
|
19272
|
+
size() {
|
|
19273
|
+
return this.vscrollData.sizes[this.id] || 0;
|
|
19274
|
+
},
|
|
19275
|
+
|
|
19276
|
+
finalActive() {
|
|
19277
|
+
return this.active && this.vscrollData.active;
|
|
19278
|
+
}
|
|
19279
|
+
|
|
19280
|
+
},
|
|
19281
|
+
watch: {
|
|
19282
|
+
watchData: 'updateWatchData',
|
|
19283
|
+
|
|
19284
|
+
id(value, oldValue) {
|
|
19285
|
+
this.$el.$_vs_id = this.id;
|
|
19286
|
+
|
|
19287
|
+
if (!this.size) {
|
|
19288
|
+
this.onDataUpdate();
|
|
19289
|
+
}
|
|
19290
|
+
|
|
19291
|
+
if (this.$_sizeObserved) {
|
|
19292
|
+
// In case the old item had the same size, it won't trigger the ResizeObserver
|
|
19293
|
+
// since we are reusing the same DOM node
|
|
19294
|
+
const oldSize = this.vscrollData.sizes[oldValue];
|
|
19295
|
+
const size = this.vscrollData.sizes[value];
|
|
19296
|
+
|
|
19297
|
+
if (oldSize != null && oldSize !== size) {
|
|
19298
|
+
this.applySize(oldSize);
|
|
19299
|
+
}
|
|
19300
|
+
}
|
|
19301
|
+
},
|
|
19302
|
+
|
|
19303
|
+
finalActive(value) {
|
|
19304
|
+
if (!this.size) {
|
|
19305
|
+
if (value) {
|
|
19306
|
+
if (!this.vscrollParent.$_undefinedMap[this.id]) {
|
|
19307
|
+
this.vscrollParent.$_undefinedSizes++;
|
|
19308
|
+
this.vscrollParent.$_undefinedMap[this.id] = true;
|
|
19309
|
+
}
|
|
19310
|
+
} else {
|
|
19311
|
+
if (this.vscrollParent.$_undefinedMap[this.id]) {
|
|
19312
|
+
this.vscrollParent.$_undefinedSizes--;
|
|
19313
|
+
this.vscrollParent.$_undefinedMap[this.id] = false;
|
|
19314
|
+
}
|
|
19315
|
+
}
|
|
19316
|
+
}
|
|
19317
|
+
|
|
19318
|
+
if (this.vscrollResizeObserver) {
|
|
19319
|
+
if (value) {
|
|
19320
|
+
this.observeSize();
|
|
19321
|
+
} else {
|
|
19322
|
+
this.unobserveSize();
|
|
19323
|
+
}
|
|
19324
|
+
} else if (value && this.$_pendingVScrollUpdate === this.id) {
|
|
19325
|
+
this.updateSize();
|
|
19326
|
+
}
|
|
19327
|
+
}
|
|
19328
|
+
|
|
19329
|
+
},
|
|
19330
|
+
|
|
19331
|
+
created() {
|
|
19332
|
+
if (this.$isServer) return;
|
|
19333
|
+
this.$_forceNextVScrollUpdate = null;
|
|
19334
|
+
this.updateWatchData();
|
|
19335
|
+
|
|
19336
|
+
if (!this.vscrollResizeObserver) {
|
|
19337
|
+
for (const k in this.sizeDependencies) {
|
|
19338
|
+
this.$watch(() => this.sizeDependencies[k], this.onDataUpdate);
|
|
19339
|
+
}
|
|
19340
|
+
}
|
|
19341
|
+
},
|
|
19342
|
+
|
|
19343
|
+
mounted() {
|
|
19344
|
+
if (this.finalActive) {
|
|
19345
|
+
this.updateSize();
|
|
19346
|
+
this.observeSize();
|
|
19347
|
+
}
|
|
19348
|
+
},
|
|
19349
|
+
|
|
19350
|
+
beforeUnmount() {
|
|
19351
|
+
this.unobserveSize();
|
|
19352
|
+
},
|
|
19353
|
+
|
|
19354
|
+
methods: {
|
|
19355
|
+
updateSize() {
|
|
19356
|
+
if (this.finalActive) {
|
|
19357
|
+
if (this.$_pendingSizeUpdate !== this.id) {
|
|
19358
|
+
this.$_pendingSizeUpdate = this.id;
|
|
19359
|
+
this.$_forceNextVScrollUpdate = null;
|
|
19360
|
+
this.$_pendingVScrollUpdate = null;
|
|
19361
|
+
this.computeSize(this.id);
|
|
19362
|
+
}
|
|
19363
|
+
} else {
|
|
19364
|
+
this.$_forceNextVScrollUpdate = this.id;
|
|
19365
|
+
}
|
|
19366
|
+
},
|
|
19367
|
+
|
|
19368
|
+
updateWatchData() {
|
|
19369
|
+
if (this.watchData && !this.vscrollResizeObserver) {
|
|
19370
|
+
this.$_watchData = this.$watch('item', () => {
|
|
19371
|
+
this.onDataUpdate();
|
|
19372
|
+
}, {
|
|
19373
|
+
deep: true
|
|
19374
|
+
});
|
|
19375
|
+
} else if (this.$_watchData) {
|
|
19376
|
+
this.$_watchData();
|
|
19377
|
+
this.$_watchData = null;
|
|
19378
|
+
}
|
|
19379
|
+
},
|
|
19380
|
+
|
|
19381
|
+
onVscrollUpdate(_ref) {
|
|
19382
|
+
let {
|
|
19383
|
+
force
|
|
19384
|
+
} = _ref;
|
|
19385
|
+
|
|
19386
|
+
// If not active, sechedule a size update when it becomes active
|
|
19387
|
+
if (!this.finalActive && force) {
|
|
19388
|
+
this.$_pendingVScrollUpdate = this.id;
|
|
19389
|
+
}
|
|
19390
|
+
|
|
19391
|
+
if (this.$_forceNextVScrollUpdate === this.id || force || !this.size) {
|
|
19392
|
+
this.updateSize();
|
|
19393
|
+
}
|
|
19394
|
+
},
|
|
19395
|
+
|
|
19396
|
+
onDataUpdate() {
|
|
19397
|
+
this.updateSize();
|
|
19398
|
+
},
|
|
19399
|
+
|
|
19400
|
+
computeSize(id) {
|
|
19401
|
+
this.$nextTick(() => {
|
|
19402
|
+
if (this.id === id) {
|
|
19403
|
+
const width = this.$el.offsetWidth;
|
|
19404
|
+
const height = this.$el.offsetHeight;
|
|
19405
|
+
this.applyWidthHeight(width, height);
|
|
19406
|
+
}
|
|
19407
|
+
|
|
19408
|
+
this.$_pendingSizeUpdate = null;
|
|
19409
|
+
});
|
|
19410
|
+
},
|
|
19411
|
+
|
|
19412
|
+
applyWidthHeight(width, height) {
|
|
19413
|
+
const size = ~~(this.vscrollParent.direction === 'vertical' ? height : width);
|
|
19414
|
+
|
|
19415
|
+
if (size && this.size !== size) {
|
|
19416
|
+
this.applySize(size);
|
|
19417
|
+
}
|
|
19418
|
+
},
|
|
19419
|
+
|
|
19420
|
+
applySize(size) {
|
|
19421
|
+
if (this.vscrollParent.$_undefinedMap[this.id]) {
|
|
19422
|
+
this.vscrollParent.$_undefinedSizes--;
|
|
19423
|
+
this.vscrollParent.$_undefinedMap[this.id] = undefined;
|
|
19424
|
+
}
|
|
19425
|
+
|
|
19426
|
+
this.vscrollData.sizes[this.id] = size;
|
|
19427
|
+
},
|
|
19428
|
+
|
|
19429
|
+
observeSize() {
|
|
19430
|
+
if (!this.vscrollResizeObserver) return;
|
|
19431
|
+
if (this.$_sizeObserved) return;
|
|
19432
|
+
this.vscrollResizeObserver.observe(this.$el);
|
|
19433
|
+
this.$el.$_vs_id = this.id;
|
|
19434
|
+
this.$el.$_vs_onResize = this.onResize;
|
|
19435
|
+
this.$_sizeObserved = true;
|
|
19436
|
+
},
|
|
19437
|
+
|
|
19438
|
+
unobserveSize() {
|
|
19439
|
+
if (!this.vscrollResizeObserver) return;
|
|
19440
|
+
if (!this.$_sizeObserved) return;
|
|
19441
|
+
this.vscrollResizeObserver.unobserve(this.$el);
|
|
19442
|
+
this.$el.$_vs_onResize = undefined;
|
|
19443
|
+
this.$_sizeObserved = false;
|
|
19444
|
+
},
|
|
19445
|
+
|
|
19446
|
+
onResize(id, width, height) {
|
|
19447
|
+
if (this.id === id) {
|
|
19448
|
+
this.applyWidthHeight(width, height);
|
|
19449
|
+
}
|
|
19450
|
+
}
|
|
19451
|
+
|
|
19452
|
+
},
|
|
19453
|
+
|
|
19454
|
+
render() {
|
|
19455
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.h)(this.tag, this.$slots.default());
|
|
19456
|
+
}
|
|
19457
|
+
|
|
19458
|
+
});
|
|
19459
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/scroller-item.vue?vue&type=script&lang=js
|
|
19460
|
+
|
|
19461
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/scroller-item.vue
|
|
19462
|
+
|
|
19463
|
+
|
|
19464
|
+
|
|
19465
|
+
const scroller_item_exports_ = scroller_itemvue_type_script_lang_js;
|
|
19466
|
+
|
|
19467
|
+
/* harmony default export */ const scroller_item = (scroller_item_exports_);
|
|
19468
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/scroller/modules/dynamic-scroller.vue?vue&type=script&lang=js
|
|
19469
|
+
|
|
19470
|
+
|
|
19471
|
+
/* harmony default export */ const dynamic_scrollervue_type_script_lang_js = ({
|
|
19472
|
+
name: 'DynamicScroller',
|
|
19473
|
+
components: {
|
|
19474
|
+
CoreScroller: core_scroller,
|
|
19475
|
+
DtScrollerItem: scroller_item
|
|
19476
|
+
},
|
|
19477
|
+
|
|
19478
|
+
provide() {
|
|
19479
|
+
if (typeof ResizeObserver !== 'undefined') {
|
|
19480
|
+
this.$_resizeObserver = new ResizeObserver(entries => {
|
|
19481
|
+
requestAnimationFrame(() => {
|
|
19482
|
+
if (!Array.isArray(entries)) {
|
|
19483
|
+
return;
|
|
19484
|
+
}
|
|
19485
|
+
|
|
19486
|
+
for (const entry of entries) {
|
|
19487
|
+
if (entry.target && entry.target.$_vs_onResize) {
|
|
19488
|
+
let width, height;
|
|
19489
|
+
|
|
19490
|
+
if (entry.borderBoxSize) {
|
|
19491
|
+
const resizeObserverSize = entry.borderBoxSize[0];
|
|
19492
|
+
width = resizeObserverSize.inlineSize;
|
|
19493
|
+
height = resizeObserverSize.blockSize;
|
|
19494
|
+
} else {
|
|
19495
|
+
// @TODO remove when contentRect is deprecated
|
|
19496
|
+
width = entry.contentRect.width;
|
|
19497
|
+
height = entry.contentRect.height;
|
|
19498
|
+
}
|
|
19499
|
+
|
|
19500
|
+
entry.target.$_vs_onResize(entry.target.$_vs_id, width, height);
|
|
19501
|
+
}
|
|
19502
|
+
}
|
|
19503
|
+
});
|
|
19504
|
+
});
|
|
19505
|
+
}
|
|
19506
|
+
|
|
19507
|
+
return {
|
|
19508
|
+
vscrollData: this.vscrollData,
|
|
19509
|
+
vscrollParent: this,
|
|
19510
|
+
vscrollResizeObserver: this.$_resizeObserver
|
|
19511
|
+
};
|
|
19512
|
+
},
|
|
19513
|
+
|
|
19514
|
+
inheritAttrs: false,
|
|
19515
|
+
props: {
|
|
19516
|
+
/*
|
|
19517
|
+
* The items to render.
|
|
19518
|
+
* If the items are simple arrays, the index will be used as the key.
|
|
19519
|
+
* If the items are objects, the keyField will be used as the key.
|
|
19520
|
+
*/
|
|
19521
|
+
items: {
|
|
19522
|
+
type: Array,
|
|
19523
|
+
required: true
|
|
19524
|
+
},
|
|
19525
|
+
|
|
19526
|
+
/*
|
|
19527
|
+
* Indicates if the items are dynamic.
|
|
19528
|
+
* If true, the items will be wrapped in a DtScrollerItem component.
|
|
19529
|
+
* This is required for dynamic items to be able to react to changes in their size.
|
|
19530
|
+
*/
|
|
19531
|
+
dynamic: {
|
|
19532
|
+
type: Boolean,
|
|
19533
|
+
default: false
|
|
19534
|
+
},
|
|
19535
|
+
|
|
19536
|
+
/*
|
|
19537
|
+
* The key field to use for the items.
|
|
19538
|
+
* Only used if the items are objects.
|
|
19539
|
+
*/
|
|
19540
|
+
keyField: {
|
|
19541
|
+
type: String,
|
|
19542
|
+
default: 'id'
|
|
19543
|
+
},
|
|
19544
|
+
|
|
19545
|
+
/*
|
|
19546
|
+
* The direction of the scroller.
|
|
19547
|
+
* Can be either 'vertical' or 'horizontal'.
|
|
19548
|
+
*/
|
|
19549
|
+
direction: {
|
|
19550
|
+
type: String,
|
|
19551
|
+
default: 'vertical',
|
|
19552
|
+
validator: value => ['vertical', 'horizontal'].includes(value)
|
|
19553
|
+
},
|
|
19554
|
+
|
|
19555
|
+
/*
|
|
19556
|
+
* The tag to use for the list.
|
|
19557
|
+
*/
|
|
19558
|
+
listTag: {
|
|
19559
|
+
type: String,
|
|
19560
|
+
default: 'div'
|
|
19561
|
+
},
|
|
19562
|
+
|
|
19563
|
+
/*
|
|
19564
|
+
* The tag to use for the items.
|
|
19565
|
+
*/
|
|
19566
|
+
itemTag: {
|
|
19567
|
+
type: String,
|
|
19568
|
+
default: 'div'
|
|
19569
|
+
},
|
|
19570
|
+
|
|
19571
|
+
/*
|
|
19572
|
+
* Display height (or width in horizontal mode) of the items in pixels
|
|
19573
|
+
* used to calculate the scroll size and position.
|
|
19574
|
+
* Is required for the initial render of items in DYNAMIC size mode.
|
|
19575
|
+
*/
|
|
19576
|
+
minItemSize: {
|
|
19577
|
+
type: [Number, String]
|
|
19578
|
+
}
|
|
19579
|
+
},
|
|
19580
|
+
|
|
19581
|
+
data() {
|
|
19582
|
+
return {
|
|
19583
|
+
vscrollData: {
|
|
19584
|
+
active: true,
|
|
19585
|
+
sizes: {},
|
|
19586
|
+
keyField: this.keyField,
|
|
19587
|
+
simpleArray: false
|
|
19588
|
+
}
|
|
19589
|
+
};
|
|
19590
|
+
},
|
|
19591
|
+
|
|
19592
|
+
computed: {
|
|
19593
|
+
simpleArray() {
|
|
19594
|
+
return this.items.length && typeof this.items[0] !== 'object';
|
|
19595
|
+
},
|
|
19596
|
+
|
|
19597
|
+
itemsWithSize() {
|
|
19598
|
+
const result = [];
|
|
19599
|
+
const {
|
|
19600
|
+
items,
|
|
19601
|
+
keyField,
|
|
19602
|
+
simpleArray
|
|
19603
|
+
} = this;
|
|
19604
|
+
const sizes = this.vscrollData.sizes;
|
|
19605
|
+
const l = items.length;
|
|
19606
|
+
|
|
19607
|
+
for (let i = 0; i < l; i++) {
|
|
19608
|
+
const item = items[i];
|
|
19609
|
+
const id = simpleArray ? i : item[keyField];
|
|
19610
|
+
let size = sizes[id];
|
|
19611
|
+
|
|
19612
|
+
if (typeof size === 'undefined' && !this.$_undefinedMap[id]) {
|
|
19613
|
+
size = 0;
|
|
19614
|
+
}
|
|
19615
|
+
|
|
19616
|
+
result.push({
|
|
19617
|
+
item,
|
|
19618
|
+
id,
|
|
19619
|
+
size
|
|
19620
|
+
});
|
|
19621
|
+
}
|
|
19622
|
+
|
|
19623
|
+
return result;
|
|
19624
|
+
}
|
|
19625
|
+
|
|
19626
|
+
},
|
|
19627
|
+
watch: {
|
|
19628
|
+
simpleArray: {
|
|
19629
|
+
handler(value) {
|
|
19630
|
+
this.vscrollData.simpleArray = value;
|
|
19631
|
+
},
|
|
19632
|
+
|
|
19633
|
+
immediate: true
|
|
19634
|
+
},
|
|
19635
|
+
|
|
19636
|
+
itemsWithSize(next, prev) {
|
|
19637
|
+
const scrollTop = this.$el.scrollTop; // Calculate total diff between prev and next sizes
|
|
19638
|
+
// over current scroll top. Then add it to scrollTop to
|
|
19639
|
+
// avoid jumping the contents that the user is seeing.
|
|
19640
|
+
|
|
19641
|
+
let prevActiveTop = 0;
|
|
19642
|
+
let activeTop = 0;
|
|
19643
|
+
const length = Math.min(next.length, prev.length);
|
|
19644
|
+
|
|
19645
|
+
for (let i = 0; i < length; i++) {
|
|
19646
|
+
if (prevActiveTop >= scrollTop) {
|
|
19647
|
+
break;
|
|
19648
|
+
}
|
|
19649
|
+
|
|
19650
|
+
prevActiveTop += prev[i].size || this.minItemSize;
|
|
19651
|
+
activeTop += next[i].size || this.minItemSize;
|
|
19652
|
+
}
|
|
19653
|
+
|
|
19654
|
+
const offset = activeTop - prevActiveTop;
|
|
19655
|
+
|
|
19656
|
+
if (offset === 0) {
|
|
19657
|
+
return;
|
|
19658
|
+
}
|
|
19659
|
+
|
|
19660
|
+
this.$el.scrollTop += offset;
|
|
19661
|
+
}
|
|
19662
|
+
|
|
19663
|
+
},
|
|
19664
|
+
|
|
19665
|
+
beforeCreate() {
|
|
19666
|
+
this.$_updates = [];
|
|
19667
|
+
this.$_undefinedSizes = 0;
|
|
19668
|
+
this.$_undefinedMap = {};
|
|
19669
|
+
},
|
|
19670
|
+
|
|
19671
|
+
activated() {
|
|
19672
|
+
this.vscrollData.active = true;
|
|
19673
|
+
},
|
|
19674
|
+
|
|
19675
|
+
deactivated() {
|
|
19676
|
+
this.vscrollData.active = false;
|
|
19677
|
+
},
|
|
19678
|
+
|
|
19679
|
+
methods: {
|
|
19680
|
+
scrollToItem(index) {
|
|
19681
|
+
const scroller = this.$refs.scroller;
|
|
19682
|
+
if (scroller) scroller.scrollToItem(index);
|
|
19683
|
+
}
|
|
19684
|
+
|
|
19685
|
+
}
|
|
19686
|
+
});
|
|
19687
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/dynamic-scroller.vue?vue&type=script&lang=js
|
|
19688
|
+
|
|
19689
|
+
;// CONCATENATED MODULE: ./components/scroller/modules/dynamic-scroller.vue
|
|
19690
|
+
|
|
19691
|
+
|
|
19692
|
+
|
|
19693
|
+
|
|
19694
|
+
;
|
|
19695
|
+
const dynamic_scroller_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(dynamic_scrollervue_type_script_lang_js, [['render',dynamic_scrollervue_type_template_id_419ca1d0_render]])
|
|
19696
|
+
|
|
19697
|
+
/* harmony default export */ const dynamic_scroller = (dynamic_scroller_exports_);
|
|
19698
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/scroller/DtScroller.vue?vue&type=script&setup=true&lang=js
|
|
19699
|
+
|
|
19700
|
+
|
|
19701
|
+
|
|
19702
|
+
|
|
19703
|
+
/* harmony default export */ const DtScrollervue_type_script_setup_true_lang_js = ({
|
|
19704
|
+
__name: 'DtScroller',
|
|
19705
|
+
props: {
|
|
19706
|
+
/**
|
|
19707
|
+
* The direction of the scroller.
|
|
19708
|
+
* @values vertical, horizontal
|
|
19709
|
+
*/
|
|
19710
|
+
direction: {
|
|
19711
|
+
type: String,
|
|
19712
|
+
default: 'vertical',
|
|
19713
|
+
validator: value => ['vertical', 'horizontal'].includes(value)
|
|
19714
|
+
},
|
|
19715
|
+
|
|
19716
|
+
/**
|
|
19717
|
+
* Indicates if the items need to react to changes in their size.
|
|
19718
|
+
* If disabled the itemSize prop is required and you will get improved performance.
|
|
19719
|
+
* If enabled the minItemSize prop is required and you
|
|
19720
|
+
* will have reduced performance but the ability to reactively size list items
|
|
19721
|
+
* @values true, false
|
|
19722
|
+
*/
|
|
19723
|
+
dynamic: {
|
|
19724
|
+
type: Boolean,
|
|
19725
|
+
default: false
|
|
19726
|
+
},
|
|
19727
|
+
|
|
19728
|
+
/**
|
|
19729
|
+
* Display height (or width in horizontal mode) of the items in pixels
|
|
19730
|
+
* used to calculate the scroll size and position.
|
|
19731
|
+
* Required if DYNAMIC is false
|
|
19732
|
+
*/
|
|
19733
|
+
itemSize: {
|
|
19734
|
+
type: Number,
|
|
19735
|
+
default: null
|
|
19736
|
+
},
|
|
19737
|
+
|
|
19738
|
+
/**
|
|
19739
|
+
* The tag to use for the items.
|
|
19740
|
+
*/
|
|
19741
|
+
itemTag: {
|
|
19742
|
+
type: String,
|
|
19743
|
+
default: 'div'
|
|
19744
|
+
},
|
|
19745
|
+
|
|
19746
|
+
/**
|
|
19747
|
+
* The items to render.
|
|
19748
|
+
* If the items are simple arrays, the index will be used as the key.
|
|
19749
|
+
* If the items are objects, the keyField will be used as the key.
|
|
19750
|
+
* @example items: [ 'item1', 'item2', 'item3' ]
|
|
19751
|
+
* @example items: [ { id: 1, name: 'item1' }, { id: 2, name: 'item2' }, { id: 3, name: 'item3' } ]
|
|
19752
|
+
*/
|
|
19753
|
+
items: {
|
|
19754
|
+
type: Array,
|
|
19755
|
+
required: true
|
|
19756
|
+
},
|
|
19757
|
+
|
|
19758
|
+
/**
|
|
19759
|
+
* The key field to use for the items.
|
|
19760
|
+
* If the items are objects, the scroller needs to be able to identify them.
|
|
19761
|
+
* By default it will look for an id field on the items.
|
|
19762
|
+
* This can be configured with this prop if you are using another field name.
|
|
19763
|
+
*/
|
|
19764
|
+
keyField: {
|
|
19765
|
+
type: String,
|
|
19766
|
+
default: 'id'
|
|
19767
|
+
},
|
|
19768
|
+
|
|
19769
|
+
/**
|
|
19770
|
+
* The tag to use for the list.
|
|
19771
|
+
*/
|
|
19772
|
+
listTag: {
|
|
19773
|
+
type: String,
|
|
19774
|
+
default: 'div'
|
|
19775
|
+
},
|
|
19776
|
+
|
|
19777
|
+
/**
|
|
19778
|
+
* Minimum size used if the height (or width in horizontal mode) of a item is unknown.
|
|
19779
|
+
* Is required for the initial render of items in DYNAMIC size mode.
|
|
19780
|
+
*/
|
|
19781
|
+
minItemSize: {
|
|
19782
|
+
type: [Number, String],
|
|
19783
|
+
default: null
|
|
19784
|
+
},
|
|
19785
|
+
|
|
19786
|
+
/**
|
|
19787
|
+
* The height of the scroller.
|
|
19788
|
+
* Can be a number (in pixels) or a string (in CSS units).
|
|
19789
|
+
*/
|
|
19790
|
+
scrollerHeight: {
|
|
19791
|
+
type: [String, Number],
|
|
19792
|
+
default: '100%'
|
|
19793
|
+
},
|
|
19794
|
+
|
|
19795
|
+
/**
|
|
19796
|
+
* The width of the scroller.
|
|
19797
|
+
* Can be a number (in pixels) or a string (in CSS units).
|
|
19798
|
+
*/
|
|
19799
|
+
scrollerWidth: {
|
|
19800
|
+
type: [String, Number],
|
|
19801
|
+
default: '100%'
|
|
19802
|
+
}
|
|
19803
|
+
},
|
|
19804
|
+
emits: ['scroll-start', 'scroll-end'],
|
|
19805
|
+
|
|
19806
|
+
setup(__props, _ref) {
|
|
19807
|
+
let {
|
|
19808
|
+
expose,
|
|
19809
|
+
emit: emits
|
|
19810
|
+
} = _ref;
|
|
19811
|
+
const props = __props;
|
|
19812
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.provide)('emit', emits);
|
|
19813
|
+
const scroller = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
|
|
19814
|
+
const computedStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
|
|
19815
|
+
return {
|
|
19816
|
+
width: typeof props.scrollerWidth === 'number' ? `${props.scrollerWidth}px` : props.scrollerWidth,
|
|
19817
|
+
height: typeof props.scrollerHeight === 'number' ? `${props.scrollerHeight}px` : props.scrollerHeight
|
|
19818
|
+
};
|
|
19819
|
+
});
|
|
19820
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(props, () => {
|
|
19821
|
+
validateProps();
|
|
19822
|
+
}, {
|
|
19823
|
+
deep: true,
|
|
19824
|
+
immediate: true
|
|
19825
|
+
});
|
|
19826
|
+
|
|
19827
|
+
function scrollToItem(index) {
|
|
19828
|
+
if (scroller.value) scroller.value.scrollToItem(index);
|
|
19829
|
+
}
|
|
19830
|
+
|
|
19831
|
+
function validateProps() {
|
|
19832
|
+
if (props.dynamic && !props.minItemSize) {
|
|
19833
|
+
console.error('DtScroller error: \'minItemSize\' is required on \'dynamic\' mode.');
|
|
19834
|
+
}
|
|
19835
|
+
|
|
19836
|
+
if (!props.dynamic && !props.itemSize) {
|
|
19837
|
+
console.error('DtScroller error: \'itemSize\' is required.');
|
|
19838
|
+
}
|
|
19839
|
+
}
|
|
19840
|
+
|
|
19841
|
+
expose({
|
|
19842
|
+
scrollToItem
|
|
19843
|
+
});
|
|
19844
|
+
return (_ctx, _cache) => {
|
|
19845
|
+
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), {
|
|
19846
|
+
ref_key: "scroller",
|
|
19847
|
+
ref: scroller,
|
|
19848
|
+
"data-qa": "dt-scroller",
|
|
19849
|
+
items: __props.items,
|
|
19850
|
+
"item-size": __props.itemSize,
|
|
19851
|
+
"min-item-size": __props.minItemSize,
|
|
19852
|
+
direction: __props.direction,
|
|
19853
|
+
"key-field": "id",
|
|
19854
|
+
"list-tag": __props.listTag,
|
|
19855
|
+
"item-tag": __props.itemTag,
|
|
19856
|
+
style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.unref)(computedStyle)),
|
|
19857
|
+
tabindex: "0",
|
|
19858
|
+
onScrollStart: _cache[0] || (_cache[0] = $event => _ctx.$emit('scroll-start')),
|
|
19859
|
+
onScrollEnd: _cache[1] || (_cache[1] = $event => _ctx.$emit('scroll-end'))
|
|
19860
|
+
}, {
|
|
19861
|
+
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref2 => {
|
|
19862
|
+
let {
|
|
19863
|
+
item,
|
|
19864
|
+
index,
|
|
19865
|
+
active
|
|
19866
|
+
} = _ref2;
|
|
19867
|
+
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)({
|
|
19868
|
+
item: item,
|
|
19869
|
+
index,
|
|
19870
|
+
active
|
|
19871
|
+
})))];
|
|
19872
|
+
}),
|
|
19873
|
+
_: 3
|
|
19874
|
+
}, 40, ["items", "item-size", "min-item-size", "direction", "list-tag", "item-tag", "style"]);
|
|
19875
|
+
};
|
|
19876
|
+
}
|
|
19877
|
+
|
|
19878
|
+
});
|
|
19879
|
+
;// CONCATENATED MODULE: ./components/scroller/DtScroller.vue?vue&type=script&setup=true&lang=js
|
|
19880
|
+
|
|
19881
|
+
;// CONCATENATED MODULE: ./components/scroller/DtScroller.vue
|
|
19882
|
+
|
|
19883
|
+
|
|
19884
|
+
|
|
19885
|
+
const DtScroller_exports_ = DtScrollervue_type_script_setup_true_lang_js;
|
|
19886
|
+
|
|
19887
|
+
/* harmony default export */ const DtScroller = (DtScroller_exports_);
|
|
19888
|
+
;// CONCATENATED MODULE: ./components/scroller/index.js
|
|
19889
|
+
|
|
19890
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=bdafd0f4
|
|
19891
|
+
|
|
19892
|
+
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_1 = ["id"];
|
|
19893
|
+
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_2 = {
|
|
19894
|
+
ref: "header"
|
|
19895
|
+
};
|
|
19896
|
+
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_3 = ["onMouseleave", "onFocusout"];
|
|
19897
|
+
const combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_4 = {
|
|
19898
|
+
ref: "footer"
|
|
19899
|
+
};
|
|
19900
|
+
function combobox_with_popovervue_type_template_id_bdafd0f4_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
19901
|
+
const _component_combobox_loading_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("combobox-loading-list");
|
|
19902
|
+
|
|
19903
|
+
const _component_combobox_empty_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("combobox-empty-list");
|
|
19904
|
+
|
|
19905
|
+
const _component_dt_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-popover");
|
|
19906
|
+
|
|
19907
|
+
const _component_dt_combobox = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-combobox");
|
|
19908
|
+
|
|
19909
|
+
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)({
|
|
19910
|
+
ref: "combobox",
|
|
19911
|
+
loading: $props.loading,
|
|
19912
|
+
label: $props.label,
|
|
19913
|
+
"label-visible": $props.labelVisible,
|
|
19914
|
+
size: $props.size,
|
|
19915
|
+
description: $props.description,
|
|
19916
|
+
"empty-list": $props.emptyList,
|
|
19917
|
+
"empty-state-message": $props.emptyStateMessage,
|
|
19918
|
+
"show-list": $data.isListShown,
|
|
19919
|
+
"on-beginning-of-list": $props.onBeginningOfList,
|
|
19920
|
+
"on-end-of-list": $props.onEndOfList,
|
|
19921
|
+
"list-rendered-outside": true,
|
|
19922
|
+
"list-id": $props.listId,
|
|
19923
|
+
"data-qa": "dt-combobox"
|
|
19924
|
+
}, $options.comboboxListeners), {
|
|
19925
|
+
input: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref => {
|
|
19926
|
+
let {
|
|
19927
|
+
inputProps
|
|
19928
|
+
} = _ref;
|
|
19929
|
+
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
|
|
19930
|
+
id: $data.externalAnchor,
|
|
19931
|
+
ref: "input",
|
|
19932
|
+
onFocusin: _cache[0] || (_cache[0] = function () {
|
|
19933
|
+
return $options.onFocusIn && $options.onFocusIn(...arguments);
|
|
19934
|
+
}),
|
|
19935
|
+
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"]))]
|
|
19936
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "input", {
|
|
19937
|
+
inputProps: inputProps,
|
|
19938
|
+
onInput: $options.handleDisplayList
|
|
19939
|
+
})], 40, combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_1)];
|
|
19940
|
+
}),
|
|
19941
|
+
list: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref2 => {
|
|
19942
|
+
let {
|
|
19943
|
+
opened,
|
|
19944
|
+
listProps,
|
|
19945
|
+
clearHighlightIndex
|
|
19946
|
+
} = _ref2;
|
|
19947
|
+
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_popover, {
|
|
19948
|
+
ref: "popover",
|
|
19949
|
+
open: $data.isListShown,
|
|
19950
|
+
"onUpdate:open": _cache[3] || (_cache[3] = $event => $data.isListShown = $event),
|
|
19951
|
+
"hide-on-click": false,
|
|
19952
|
+
"max-height": $props.maxHeight,
|
|
19953
|
+
"max-width": $props.maxWidth,
|
|
19954
|
+
offset: $props.popoverOffset,
|
|
19955
|
+
sticky: $props.popoverSticky,
|
|
19956
|
+
placement: "bottom-start",
|
|
19957
|
+
"initial-focus-element": "none",
|
|
19958
|
+
padding: "none",
|
|
19959
|
+
role: "listbox",
|
|
19960
|
+
"external-anchor": $data.externalAnchor,
|
|
19961
|
+
"content-width": $props.contentWidth,
|
|
19962
|
+
"content-appear": true,
|
|
19963
|
+
"content-tabindex": null,
|
|
19964
|
+
modal: false,
|
|
19965
|
+
"auto-focus": false,
|
|
19966
|
+
"append-to": $props.appendTo,
|
|
19967
|
+
"visually-hidden-close-label": _ctx.visuallyHiddenCloseLabel,
|
|
19968
|
+
"visually-hidden-close": _ctx.visuallyHiddenClose,
|
|
19969
|
+
onOpened: opened
|
|
19970
|
+
}, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createSlots)({
|
|
19971
|
+
content: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
|
|
19972
|
+
ref: "listWrapper",
|
|
19973
|
+
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)([$data.DROPDOWN_PADDING_CLASSES[$props.padding], $props.listClass]),
|
|
19974
|
+
onMouseleave: clearHighlightIndex,
|
|
19975
|
+
onFocusout: clearHighlightIndex
|
|
19976
|
+
}, [$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)({
|
|
19977
|
+
key: 0
|
|
19978
|
+
}, 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)({
|
|
19979
|
+
key: 1
|
|
19980
|
+
}, listProps, {
|
|
19981
|
+
message: $props.emptyStateMessage
|
|
19982
|
+
}), null, 16, ["message"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "list", {
|
|
19983
|
+
key: 2,
|
|
19984
|
+
listProps: listProps
|
|
19985
|
+
})], 42, combobox_with_popovervue_type_template_id_bdafd0f4_hoisted_3)]),
|
|
19986
|
+
_: 2
|
|
19987
|
+
}, [$data.hasSlotContent(_ctx.$slots.header) ? {
|
|
19988
|
+
name: "headerContent",
|
|
19989
|
+
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)]),
|
|
19990
|
+
key: "0"
|
|
19991
|
+
} : undefined, $data.hasSlotContent(_ctx.$slots.footer) ? {
|
|
19992
|
+
name: "footerContent",
|
|
19993
|
+
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)]),
|
|
19994
|
+
key: "1"
|
|
19995
|
+
} : undefined]), 1032, ["open", "max-height", "max-width", "offset", "sticky", "external-anchor", "content-width", "append-to", "visually-hidden-close-label", "visually-hidden-close", "onOpened"])];
|
|
19996
|
+
}),
|
|
19997
|
+
_: 3
|
|
19998
|
+
}, 16, ["loading", "label", "label-visible", "size", "description", "empty-list", "empty-state-message", "show-list", "on-beginning-of-list", "on-end-of-list", "list-id"]);
|
|
19999
|
+
}
|
|
20000
|
+
;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=bdafd0f4
|
|
20001
|
+
|
|
20002
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=script&lang=js
|
|
20003
|
+
/* eslint-disable vuejs-accessibility/no-static-element-interactions */
|
|
20004
|
+
|
|
20005
|
+
|
|
20006
|
+
|
|
20007
|
+
|
|
20008
|
+
|
|
20009
|
+
|
|
20010
|
+
|
|
20011
|
+
|
|
20012
|
+
|
|
20013
|
+
/* harmony default export */ const combobox_with_popovervue_type_script_lang_js = ({
|
|
20014
|
+
name: 'DtRecipeComboboxWithPopover',
|
|
20015
|
+
components: {
|
|
20016
|
+
DtCombobox: combobox,
|
|
20017
|
+
DtPopover: popover,
|
|
20018
|
+
ComboboxLoadingList: combobox_loading_list,
|
|
20019
|
+
ComboboxEmptyList: combobox_empty_list
|
|
20020
|
+
},
|
|
20021
|
+
mixins: [sr_only_close_button],
|
|
20022
|
+
props: {
|
|
20023
|
+
/**
|
|
20024
|
+
* String to use for the input label.
|
|
20025
|
+
*/
|
|
20026
|
+
label: {
|
|
20027
|
+
type: String,
|
|
20028
|
+
required: true
|
|
20029
|
+
},
|
|
20030
|
+
|
|
20031
|
+
/**
|
|
20032
|
+
* Determines visibility of input label.
|
|
20033
|
+
* @values true, false
|
|
20034
|
+
*/
|
|
20035
|
+
labelVisible: {
|
|
20036
|
+
type: Boolean,
|
|
20037
|
+
default: true
|
|
20038
|
+
},
|
|
20039
|
+
|
|
20040
|
+
/**
|
|
20041
|
+
* Size of the input, one of `xs`, `sm`, `md`, `lg`, `xl`
|
|
20042
|
+
* @values null, xs, sm, md, lg, xl
|
|
20043
|
+
*/
|
|
20044
|
+
size: {
|
|
20045
|
+
type: String,
|
|
20046
|
+
default: null,
|
|
20047
|
+
validator: t => Object.values(LABEL_SIZES).includes(t)
|
|
20048
|
+
},
|
|
20049
|
+
|
|
20050
|
+
/**
|
|
20051
|
+
* Description for the input
|
|
20052
|
+
*/
|
|
20053
|
+
description: {
|
|
20054
|
+
type: String,
|
|
20055
|
+
default: ''
|
|
20056
|
+
},
|
|
20057
|
+
|
|
20058
|
+
/**
|
|
20059
|
+
* Determines when to show the list element and also controls the aria-expanded attribute.
|
|
20060
|
+
* Leaving this null will have the combobox trigger on input focus by default.
|
|
20061
|
+
* If you set this value, the default trigger behavior will be disabled and you can
|
|
20062
|
+
* control it as you need.
|
|
20063
|
+
*/
|
|
20064
|
+
showList: {
|
|
20065
|
+
type: Boolean,
|
|
20066
|
+
default: null
|
|
20067
|
+
},
|
|
20068
|
+
|
|
20069
|
+
/**
|
|
20070
|
+
* Sets an ID on the list element of the component. Used by several aria attributes
|
|
20071
|
+
* as well as when deriving the IDs for each item.
|
|
20072
|
+
*/
|
|
20073
|
+
listId: {
|
|
20074
|
+
type: String,
|
|
20075
|
+
|
|
20076
|
+
default() {
|
|
20077
|
+
return getUniqueString();
|
|
20078
|
+
}
|
|
20079
|
+
|
|
20080
|
+
},
|
|
20081
|
+
|
|
20082
|
+
/**
|
|
20083
|
+
* Additional class for the wrapper list element.
|
|
20084
|
+
*/
|
|
20085
|
+
listClass: {
|
|
20086
|
+
type: [String, Array, Object],
|
|
20087
|
+
default: ''
|
|
20088
|
+
},
|
|
20089
|
+
|
|
20090
|
+
/**
|
|
20091
|
+
* A method that will be called when the selection goes past the beginning of the list.
|
|
20092
|
+
*/
|
|
20093
|
+
onBeginningOfList: {
|
|
20094
|
+
type: Function,
|
|
20095
|
+
default: null
|
|
20096
|
+
},
|
|
20097
|
+
|
|
20098
|
+
/**
|
|
20099
|
+
* A method that will be called when the selection goes past the end of the list.
|
|
20100
|
+
*/
|
|
20101
|
+
onEndOfList: {
|
|
20102
|
+
type: Function,
|
|
20103
|
+
default: null
|
|
20104
|
+
},
|
|
20105
|
+
|
|
20106
|
+
/**
|
|
20107
|
+
* Determines maximum height for the popover before overflow.
|
|
20108
|
+
* Possible units rem|px|em
|
|
20109
|
+
*/
|
|
20110
|
+
maxHeight: {
|
|
20111
|
+
type: String,
|
|
20112
|
+
default: ''
|
|
20113
|
+
},
|
|
20114
|
+
|
|
20115
|
+
/**
|
|
20116
|
+
* Determines maximum width for the popover before overflow.
|
|
20117
|
+
* Possible units rem|px|%|em
|
|
20118
|
+
*/
|
|
20119
|
+
maxWidth: {
|
|
20120
|
+
type: String,
|
|
20121
|
+
default: ''
|
|
20122
|
+
},
|
|
20123
|
+
|
|
20124
|
+
/**
|
|
20125
|
+
* Vertical padding size around the list element.
|
|
20126
|
+
*/
|
|
20127
|
+
padding: {
|
|
20128
|
+
type: String,
|
|
20129
|
+
default: 'small',
|
|
20130
|
+
validator: padding => {
|
|
20131
|
+
return Object.keys(DROPDOWN_PADDING_CLASSES).some(item => item === padding);
|
|
20132
|
+
}
|
|
18774
20133
|
},
|
|
18775
20134
|
|
|
18776
20135
|
/**
|
|
@@ -20809,35 +22168,49 @@ const grouped_chip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(group
|
|
|
20809
22168
|
/* harmony default export */ const grouped_chip = (grouped_chip_exports_);
|
|
20810
22169
|
;// CONCATENATED MODULE: ./recipes/chips/grouped_chip/index.js
|
|
20811
22170
|
|
|
20812
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/general_row.vue?vue&type=template&id=
|
|
22171
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/general_row.vue?vue&type=template&id=46f0cd86
|
|
20813
22172
|
|
|
20814
|
-
const
|
|
22173
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_1 = ["aria-label", "title"];
|
|
22174
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_2 = {
|
|
20815
22175
|
class: "dt-leftbar-row__alpha"
|
|
20816
22176
|
};
|
|
20817
|
-
const
|
|
22177
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_3 = {
|
|
22178
|
+
key: 0,
|
|
22179
|
+
class: "dt-leftbar-row__is-typing"
|
|
22180
|
+
};
|
|
22181
|
+
|
|
22182
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_4 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", null, null, -1);
|
|
22183
|
+
|
|
22184
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_5 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", null, null, -1);
|
|
22185
|
+
|
|
22186
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_6 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", null, null, -1);
|
|
22187
|
+
|
|
22188
|
+
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];
|
|
22189
|
+
const general_rowvue_type_template_id_46f0cd86_hoisted_8 = {
|
|
20818
22190
|
class: "dt-leftbar-row__label"
|
|
20819
22191
|
};
|
|
20820
|
-
const
|
|
22192
|
+
const _hoisted_9 = {
|
|
20821
22193
|
class: "dt-leftbar-row__omega"
|
|
20822
22194
|
};
|
|
20823
|
-
const
|
|
20824
|
-
key: 0,
|
|
22195
|
+
const _hoisted_10 = {
|
|
20825
22196
|
class: "dt-leftbar-row__dnd"
|
|
20826
22197
|
};
|
|
20827
|
-
const
|
|
22198
|
+
const _hoisted_11 = {
|
|
20828
22199
|
key: 1,
|
|
20829
22200
|
class: "dt-leftbar-row__active-voice"
|
|
20830
22201
|
};
|
|
20831
|
-
const
|
|
22202
|
+
const _hoisted_12 = {
|
|
20832
22203
|
key: 0,
|
|
20833
22204
|
class: "dt-leftbar-row__action",
|
|
20834
22205
|
"data-qa": "dt-leftbar-row-action"
|
|
20835
22206
|
};
|
|
20836
|
-
function
|
|
22207
|
+
function general_rowvue_type_template_id_46f0cd86_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
20837
22208
|
const _component_dt_recipe_leftbar_general_row_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-recipe-leftbar-general-row-icon");
|
|
20838
22209
|
|
|
20839
22210
|
const _component_dt_emoji_text_wrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-emoji-text-wrapper");
|
|
20840
22211
|
|
|
22212
|
+
const _component_dt_tooltip = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-tooltip");
|
|
22213
|
+
|
|
20841
22214
|
const _component_dt_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-icon");
|
|
20842
22215
|
|
|
20843
22216
|
const _component_dt_badge = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-badge");
|
|
@@ -20849,47 +22222,74 @@ function general_rowvue_type_template_id_06ebf262_render(_ctx, _cache, $props, $
|
|
|
20849
22222
|
"data-qa": "dt-leftbar-row"
|
|
20850
22223
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("button", (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
|
|
20851
22224
|
class: "dt-leftbar-row__primary",
|
|
20852
|
-
"data-qa": "dt-leftbar-row-link"
|
|
20853
|
-
|
|
22225
|
+
"data-qa": "dt-leftbar-row-link",
|
|
22226
|
+
"aria-label": $options.getAriaLabel,
|
|
22227
|
+
title: $props.description
|
|
22228
|
+
}, _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", {
|
|
22229
|
+
key: 1
|
|
22230
|
+
}, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_recipe_leftbar_general_row_icon, {
|
|
22231
|
+
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)({
|
|
22232
|
+
'd-o50': $props.isTyping
|
|
22233
|
+
}),
|
|
20854
22234
|
type: $options.getIcon,
|
|
20855
22235
|
color: $props.color,
|
|
20856
22236
|
"data-qa": "dt-leftbar-row-icon"
|
|
20857
|
-
}, null, 8, ["type", "color"])])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div",
|
|
22237
|
+
}, null, 8, ["class", "type", "color"])])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", general_rowvue_type_template_id_46f0cd86_hoisted_8, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "label", {}, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_emoji_text_wrapper, {
|
|
20858
22238
|
class: "dt-leftbar-row__description",
|
|
20859
22239
|
"data-qa": "dt-leftbar-row-description"
|
|
20860
22240
|
}, {
|
|
20861
22241
|
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.description), 1)]),
|
|
20862
22242
|
_: 1
|
|
20863
|
-
})])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div",
|
|
22243
|
+
})])]), (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, {
|
|
22244
|
+
key: 0,
|
|
22245
|
+
placement: "top",
|
|
22246
|
+
message: $props.dndTextTooltip
|
|
22247
|
+
}, {
|
|
22248
|
+
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)]),
|
|
22249
|
+
_: 1
|
|
22250
|
+
}, 8, ["message"])) : $props.activeVoiceChat ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", _hoisted_11, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_icon, {
|
|
20864
22251
|
size: "300",
|
|
20865
22252
|
name: "activity"
|
|
20866
|
-
})])) : !!$props.unreadCount && $props.hasUnreads ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(
|
|
22253
|
+
})])) : !!$props.unreadCount && $props.hasUnreads ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_tooltip, {
|
|
20867
22254
|
key: 2,
|
|
20868
|
-
|
|
20869
|
-
|
|
20870
|
-
"data-qa": "dt-leftbar-row-unread-badge"
|
|
22255
|
+
message: $props.unreadCountTooltip,
|
|
22256
|
+
placement: "top"
|
|
20871
22257
|
}, {
|
|
20872
|
-
|
|
22258
|
+
anchor: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_badge, {
|
|
22259
|
+
kind: "count",
|
|
22260
|
+
type: "bulletin",
|
|
22261
|
+
"data-qa": "dt-leftbar-row-unread-badge"
|
|
22262
|
+
}, {
|
|
22263
|
+
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)]),
|
|
22264
|
+
_: 1
|
|
22265
|
+
})]),
|
|
20873
22266
|
_: 1
|
|
20874
|
-
})) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])], 16), $props.hasCallButton ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div",
|
|
20875
|
-
|
|
20876
|
-
|
|
20877
|
-
circle: "",
|
|
20878
|
-
size: "xs",
|
|
20879
|
-
kind: "inverted",
|
|
20880
|
-
onFocus: _cache[0] || (_cache[0] = $event => $data.actionFocused = true),
|
|
20881
|
-
onBlur: _cache[1] || (_cache[1] = $event => $data.actionFocused = false),
|
|
20882
|
-
onMouseout: _cache[2] || (_cache[2] = $event => $data.actionFocused = false),
|
|
20883
|
-
onClick: _cache[3] || (_cache[3] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => _ctx.$emit('call', $event), ["stop"]))
|
|
22267
|
+
}, 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, {
|
|
22268
|
+
message: $props.callButtonTooltip,
|
|
22269
|
+
placement: "top"
|
|
20884
22270
|
}, {
|
|
20885
|
-
|
|
20886
|
-
|
|
20887
|
-
|
|
20888
|
-
|
|
22271
|
+
anchor: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_button, {
|
|
22272
|
+
class: "dt-leftbar-row__action-button",
|
|
22273
|
+
"data-qa": "dt-leftbar-row-action-call-button",
|
|
22274
|
+
circle: "",
|
|
22275
|
+
size: "xs",
|
|
22276
|
+
kind: "inverted",
|
|
22277
|
+
"aria-label": $props.callButtonTooltip,
|
|
22278
|
+
onFocus: _cache[0] || (_cache[0] = $event => $data.actionFocused = true),
|
|
22279
|
+
onBlur: _cache[1] || (_cache[1] = $event => $data.actionFocused = false),
|
|
22280
|
+
onMouseleave: _cache[2] || (_cache[2] = $event => $data.actionFocused = false),
|
|
22281
|
+
onClick: _cache[3] || (_cache[3] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => _ctx.$emit('call', $event), ["stop"]))
|
|
22282
|
+
}, {
|
|
22283
|
+
icon: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_icon, {
|
|
22284
|
+
name: "phone",
|
|
22285
|
+
size: "200"
|
|
22286
|
+
})]),
|
|
22287
|
+
_: 1
|
|
22288
|
+
}, 8, ["aria-label"])]),
|
|
20889
22289
|
_: 1
|
|
20890
|
-
})])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 2);
|
|
22290
|
+
}, 8, ["message"])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 2);
|
|
20891
22291
|
}
|
|
20892
|
-
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=template&id=
|
|
22292
|
+
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=template&id=46f0cd86
|
|
20893
22293
|
|
|
20894
22294
|
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row_constants.js
|
|
20895
22295
|
const LEFTBAR_GENERAL_ROW_TYPES = {
|
|
@@ -20899,6 +22299,9 @@ const LEFTBAR_GENERAL_ROW_TYPES = {
|
|
|
20899
22299
|
THREADS: 'threads',
|
|
20900
22300
|
LOCKED_CHANNEL: 'locked channel',
|
|
20901
22301
|
CONTACT_CENTER: 'contact center',
|
|
22302
|
+
QUICK_START: 'quick start',
|
|
22303
|
+
COACHING_GROUP: 'coaching group',
|
|
22304
|
+
COACHING_CENTER: 'coaching center',
|
|
20902
22305
|
DIALBOT: 'dialbot',
|
|
20903
22306
|
ASSIGNED: 'assigned',
|
|
20904
22307
|
DIGITAL: 'digital'
|
|
@@ -20909,6 +22312,9 @@ const LEFTBAR_GENERAL_ROW_ICON_MAPPING = {
|
|
|
20909
22312
|
[LEFTBAR_GENERAL_ROW_TYPES.CHANNELS]: 'hash',
|
|
20910
22313
|
[LEFTBAR_GENERAL_ROW_TYPES.THREADS]: 'thread',
|
|
20911
22314
|
[LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL]: 'lock',
|
|
22315
|
+
[LEFTBAR_GENERAL_ROW_TYPES.QUICK_START]: 'sparkle',
|
|
22316
|
+
[LEFTBAR_GENERAL_ROW_TYPES.COACHING_GROUP]: 'users',
|
|
22317
|
+
[LEFTBAR_GENERAL_ROW_TYPES.COACHING_CENTER]: 'external-link',
|
|
20912
22318
|
'locked channel unread': 'lock-filled',
|
|
20913
22319
|
'channel unread': 'hash-bold',
|
|
20914
22320
|
[LEFTBAR_GENERAL_ROW_TYPES.ASSIGNED]: 'at-sign',
|
|
@@ -21441,12 +22847,12 @@ const emoji_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(emojivue_typ
|
|
|
21441
22847
|
const emoji_text_wrapper_exports_ = emoji_text_wrappervue_type_script_lang_js;
|
|
21442
22848
|
|
|
21443
22849
|
/* harmony default export */ const emoji_text_wrapper = (emoji_text_wrapper_exports_);
|
|
21444
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=template&id=
|
|
22850
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=template&id=27d28559
|
|
21445
22851
|
|
|
21446
|
-
function
|
|
22852
|
+
function leftbar_general_row_iconvue_type_template_id_27d28559_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
21447
22853
|
const _component_dt_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-icon");
|
|
21448
22854
|
|
|
21449
|
-
const
|
|
22855
|
+
const _component_icon_dialbot = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("icon-dialbot");
|
|
21450
22856
|
|
|
21451
22857
|
return $options.isIconType ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_icon, {
|
|
21452
22858
|
key: 0,
|
|
@@ -21458,45 +22864,43 @@ function leftbar_general_row_iconvue_type_template_id_06ed62b0_render(_ctx, _cac
|
|
|
21458
22864
|
}, null, 2)) : $options.isDialbotType ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
|
|
21459
22865
|
key: 2,
|
|
21460
22866
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)($options.dialbotClasses)
|
|
21461
|
-
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(
|
|
21462
|
-
class: "d-svg--
|
|
21463
|
-
color: "white"
|
|
22867
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_icon_dialbot, {
|
|
22868
|
+
class: "d-svg--size24"
|
|
21464
22869
|
})], 2)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true);
|
|
21465
22870
|
}
|
|
21466
|
-
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=template&id=
|
|
22871
|
+
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=template&id=27d28559
|
|
21467
22872
|
|
|
21468
|
-
;// CONCATENATED MODULE: ./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./node_modules/@dialpad/dialtone/lib/dist/vue/icons/
|
|
22873
|
+
;// CONCATENATED MODULE: ./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconDialbot.vue?vue&type=template&id=afc48fb0
|
|
21469
22874
|
|
|
21470
22875
|
|
|
21471
|
-
const
|
|
22876
|
+
const IconDialbotvue_type_template_id_afc48fb0_hoisted_1 = {
|
|
21472
22877
|
"aria-hidden": "true",
|
|
21473
22878
|
focusable: "false",
|
|
21474
|
-
"aria-label": "
|
|
21475
|
-
class: "d-svg d-svg--
|
|
21476
|
-
|
|
22879
|
+
"aria-label": "Dialbot",
|
|
22880
|
+
class: "d-svg d-svg--native d-svg__dialbot",
|
|
22881
|
+
width: "358",
|
|
22882
|
+
height: "358",
|
|
22883
|
+
viewBox: "0 0 358 358",
|
|
22884
|
+
fill: "none"
|
|
21477
22885
|
}
|
|
21478
|
-
const
|
|
21479
|
-
|
|
21480
|
-
|
|
21481
|
-
d: "M12.025 11.197V4.18a.077.077 0 0 0-.132-.053L8.91 7.204a5.095 5.095 0 0 0-7.08 4.693 5.095 5.095 0 0 0 5.096 5.094 5.096 5.096 0 0 0 5.049-4.394v7.019c0 .069.083.102.131.053l2.982-3.079c.61.258 1.28.4 1.984.4a5.095 5.095 0 0 0 5.096-5.093 5.095 5.095 0 0 0-5.096-5.093 5.096 5.096 0 0 0-5.048 4.393Z"
|
|
21482
|
-
}, null, -1)
|
|
21483
|
-
const IconDialpadGlyphvue_type_template_id_85d2b6f4_hoisted_3 = [
|
|
21484
|
-
IconDialpadGlyphvue_type_template_id_85d2b6f4_hoisted_2
|
|
22886
|
+
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)
|
|
22887
|
+
const IconDialbotvue_type_template_id_afc48fb0_hoisted_6 = [
|
|
22888
|
+
IconDialbotvue_type_template_id_afc48fb0_hoisted_2
|
|
21485
22889
|
]
|
|
21486
22890
|
|
|
21487
|
-
function
|
|
21488
|
-
return ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("svg",
|
|
22891
|
+
function IconDialbotvue_type_template_id_afc48fb0_render(_ctx, _cache) {
|
|
22892
|
+
return ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("svg", IconDialbotvue_type_template_id_afc48fb0_hoisted_1, IconDialbotvue_type_template_id_afc48fb0_hoisted_6))
|
|
21489
22893
|
}
|
|
21490
|
-
;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/
|
|
22894
|
+
;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconDialbot.vue?vue&type=template&id=afc48fb0
|
|
21491
22895
|
|
|
21492
|
-
;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/
|
|
22896
|
+
;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconDialbot.vue
|
|
21493
22897
|
|
|
21494
22898
|
const script = {}
|
|
21495
22899
|
|
|
21496
22900
|
;
|
|
21497
|
-
const
|
|
22901
|
+
const IconDialbot_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(script, [['render',IconDialbotvue_type_template_id_afc48fb0_render]])
|
|
21498
22902
|
|
|
21499
|
-
/* harmony default export */ const
|
|
22903
|
+
/* harmony default export */ const IconDialbot = (IconDialbot_exports_);
|
|
21500
22904
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/leftbar_general_row_icon.vue?vue&type=script&lang=js
|
|
21501
22905
|
|
|
21502
22906
|
|
|
@@ -21505,7 +22909,7 @@ const IconDialpadGlyph_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(s
|
|
|
21505
22909
|
name: 'DtRecipeLeftbarGeneralRowIcon',
|
|
21506
22910
|
components: {
|
|
21507
22911
|
DtIcon: icon,
|
|
21508
|
-
|
|
22912
|
+
IconDialbot: IconDialbot
|
|
21509
22913
|
},
|
|
21510
22914
|
props: {
|
|
21511
22915
|
type: {
|
|
@@ -21539,7 +22943,7 @@ const IconDialpadGlyph_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(s
|
|
|
21539
22943
|
},
|
|
21540
22944
|
|
|
21541
22945
|
dialbotClasses() {
|
|
21542
|
-
return ['d-
|
|
22946
|
+
return ['d-w24', 'd-h24', 'd-d-flex', 'd-ai-center', 'd-jc-center'];
|
|
21543
22947
|
}
|
|
21544
22948
|
|
|
21545
22949
|
}
|
|
@@ -21552,7 +22956,7 @@ const IconDialpadGlyph_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(s
|
|
|
21552
22956
|
|
|
21553
22957
|
|
|
21554
22958
|
;
|
|
21555
|
-
const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(leftbar_general_row_iconvue_type_script_lang_js, [['render',
|
|
22959
|
+
const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(leftbar_general_row_iconvue_type_script_lang_js, [['render',leftbar_general_row_iconvue_type_template_id_27d28559_render]])
|
|
21556
22960
|
|
|
21557
22961
|
/* harmony default export */ const leftbar_general_row_icon = (leftbar_general_row_icon_exports_);
|
|
21558
22962
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/general_row.vue?vue&type=script&lang=js
|
|
@@ -21563,6 +22967,7 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21563
22967
|
|
|
21564
22968
|
|
|
21565
22969
|
|
|
22970
|
+
|
|
21566
22971
|
/* harmony default export */ const general_rowvue_type_script_lang_js = ({
|
|
21567
22972
|
name: 'DtRecipeGeneralRow',
|
|
21568
22973
|
components: {
|
|
@@ -21570,6 +22975,7 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21570
22975
|
DtBadge: badge,
|
|
21571
22976
|
DtIcon: icon,
|
|
21572
22977
|
DtButton: button_button,
|
|
22978
|
+
DtTooltip: tooltip,
|
|
21573
22979
|
DtRecipeLeftbarGeneralRowIcon: leftbar_general_row_icon
|
|
21574
22980
|
},
|
|
21575
22981
|
inheritAttrs: false,
|
|
@@ -21587,13 +22993,22 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21587
22993
|
},
|
|
21588
22994
|
|
|
21589
22995
|
/**
|
|
21590
|
-
*
|
|
22996
|
+
* Will be read out by a screen reader upon focus of this row. If not defined "description" will be read.
|
|
21591
22997
|
*/
|
|
21592
|
-
|
|
22998
|
+
ariaLabel: {
|
|
21593
22999
|
type: String,
|
|
21594
23000
|
default: ''
|
|
21595
23001
|
},
|
|
21596
23002
|
|
|
23003
|
+
/**
|
|
23004
|
+
* Text displayed next to the icon. Required. Even if you are overriding this field using the label slot
|
|
23005
|
+
* you still must input this as it will be displayed as the "title" attribute for the row.
|
|
23006
|
+
*/
|
|
23007
|
+
description: {
|
|
23008
|
+
type: String,
|
|
23009
|
+
required: true
|
|
23010
|
+
},
|
|
23011
|
+
|
|
21597
23012
|
/**
|
|
21598
23013
|
* Determines the color of the contact center icon
|
|
21599
23014
|
*/
|
|
@@ -21622,6 +23037,14 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21622
23037
|
default: null
|
|
21623
23038
|
},
|
|
21624
23039
|
|
|
23040
|
+
/**
|
|
23041
|
+
* Text shown when the unread count is hovered.
|
|
23042
|
+
*/
|
|
23043
|
+
unreadCountTooltip: {
|
|
23044
|
+
type: String,
|
|
23045
|
+
default: ''
|
|
23046
|
+
},
|
|
23047
|
+
|
|
21625
23048
|
/**
|
|
21626
23049
|
* Determines if the row is selected
|
|
21627
23050
|
*/
|
|
@@ -21655,12 +23078,36 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21655
23078
|
default: ''
|
|
21656
23079
|
},
|
|
21657
23080
|
|
|
23081
|
+
/**
|
|
23082
|
+
* Text shown in tooltip when you hover the dndText
|
|
23083
|
+
*/
|
|
23084
|
+
dndTextTooltip: {
|
|
23085
|
+
type: String,
|
|
23086
|
+
default: ''
|
|
23087
|
+
},
|
|
23088
|
+
|
|
21658
23089
|
/**
|
|
21659
23090
|
* Whether the row should have a call button. Usually only applicable to individual contact rows.
|
|
21660
23091
|
*/
|
|
21661
23092
|
hasCallButton: {
|
|
21662
23093
|
type: Boolean,
|
|
21663
23094
|
default: false
|
|
23095
|
+
},
|
|
23096
|
+
|
|
23097
|
+
/**
|
|
23098
|
+
* Text shown when the call button is hovered.
|
|
23099
|
+
*/
|
|
23100
|
+
callButtonTooltip: {
|
|
23101
|
+
type: String,
|
|
23102
|
+
default: ''
|
|
23103
|
+
},
|
|
23104
|
+
|
|
23105
|
+
/**
|
|
23106
|
+
* Shows an "is typing" animation over the avatar when true.
|
|
23107
|
+
*/
|
|
23108
|
+
isTyping: {
|
|
23109
|
+
type: Boolean,
|
|
23110
|
+
default: false
|
|
21664
23111
|
}
|
|
21665
23112
|
},
|
|
21666
23113
|
emits: [
|
|
@@ -21705,6 +23152,10 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21705
23152
|
|
|
21706
23153
|
generalRowListeners() {
|
|
21707
23154
|
return extractVueListeners(this.$attrs);
|
|
23155
|
+
},
|
|
23156
|
+
|
|
23157
|
+
getAriaLabel() {
|
|
23158
|
+
return this.ariaLabel ? this.ariaLabel : `${this.description} ${this.unreadCountTooltip} ${this.dndTextTooltip}`;
|
|
21708
23159
|
}
|
|
21709
23160
|
|
|
21710
23161
|
},
|
|
@@ -21730,10 +23181,10 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21730
23181
|
});
|
|
21731
23182
|
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=script&lang=js
|
|
21732
23183
|
|
|
21733
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-74.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-74.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/general_row.vue?vue&type=style&index=0&id=
|
|
23184
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-74.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-74.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/general_row/general_row.vue?vue&type=style&index=0&id=46f0cd86&lang=less
|
|
21734
23185
|
// extracted by mini-css-extract-plugin
|
|
21735
23186
|
|
|
21736
|
-
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=style&index=0&id=
|
|
23187
|
+
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue?vue&type=style&index=0&id=46f0cd86&lang=less
|
|
21737
23188
|
|
|
21738
23189
|
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/general_row.vue
|
|
21739
23190
|
|
|
@@ -21743,41 +23194,45 @@ const leftbar_general_row_icon_exports_ = /*#__PURE__*/(0,exportHelper/* default
|
|
|
21743
23194
|
;
|
|
21744
23195
|
|
|
21745
23196
|
|
|
21746
|
-
const general_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(general_rowvue_type_script_lang_js, [['render',
|
|
23197
|
+
const general_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(general_rowvue_type_script_lang_js, [['render',general_rowvue_type_template_id_46f0cd86_render]])
|
|
21747
23198
|
|
|
21748
23199
|
/* harmony default export */ const general_row = (general_row_exports_);
|
|
21749
23200
|
;// CONCATENATED MODULE: ./recipes/leftbar/general_row/index.js
|
|
21750
23201
|
|
|
21751
23202
|
|
|
21752
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/group_row/group_row.vue?vue&type=template&id=
|
|
23203
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/group_row/group_row.vue?vue&type=template&id=af6d6b56
|
|
21753
23204
|
|
|
21754
|
-
const
|
|
21755
|
-
function
|
|
23205
|
+
const group_rowvue_type_template_id_af6d6b56_hoisted_1 = ["src", "alt"];
|
|
23206
|
+
function group_rowvue_type_template_id_af6d6b56_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
21756
23207
|
const _component_dt_avatar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-avatar");
|
|
21757
23208
|
|
|
21758
23209
|
const _component_dt_recipe_general_row = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-recipe-general-row");
|
|
21759
23210
|
|
|
21760
23211
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_recipe_general_row, {
|
|
21761
23212
|
description: $props.names,
|
|
23213
|
+
"aria-label": `${$props.groupCountText} ${$props.names}`,
|
|
21762
23214
|
"unread-count": $props.unreadCount,
|
|
21763
23215
|
"has-unreads": $props.hasUnreads,
|
|
21764
|
-
|
|
23216
|
+
"unread-count-tooltip": $props.unreadCountTooltip,
|
|
23217
|
+
selected: $props.selected,
|
|
23218
|
+
"is-typing": $props.isTyping
|
|
21765
23219
|
}, {
|
|
21766
23220
|
left: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_avatar, {
|
|
21767
23221
|
initials: $props.avatarInitials,
|
|
21768
23222
|
group: $props.groupCount
|
|
21769
23223
|
}, {
|
|
21770
|
-
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.
|
|
23224
|
+
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", {
|
|
23225
|
+
key: 0,
|
|
21771
23226
|
"data-qa": "dt-avatar-image",
|
|
21772
23227
|
src: $props.avatarSrc,
|
|
21773
23228
|
alt: $props.avatarInitials
|
|
21774
|
-
}, null, 8,
|
|
23229
|
+
}, null, 8, group_rowvue_type_template_id_af6d6b56_hoisted_1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)]),
|
|
21775
23230
|
_: 1
|
|
21776
23231
|
}, 8, ["initials", "group"])]),
|
|
21777
23232
|
_: 1
|
|
21778
|
-
}, 8, ["description", "unread-count", "has-unreads", "selected"]);
|
|
23233
|
+
}, 8, ["description", "aria-label", "unread-count", "has-unreads", "unread-count-tooltip", "selected", "is-typing"]);
|
|
21779
23234
|
}
|
|
21780
|
-
;// CONCATENATED MODULE: ./recipes/leftbar/group_row/group_row.vue?vue&type=template&id=
|
|
23235
|
+
;// CONCATENATED MODULE: ./recipes/leftbar/group_row/group_row.vue?vue&type=template&id=af6d6b56
|
|
21781
23236
|
|
|
21782
23237
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/group_row/group_row.vue?vue&type=script&lang=js
|
|
21783
23238
|
|
|
@@ -21817,12 +23272,20 @@ function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $se
|
|
|
21817
23272
|
required: true
|
|
21818
23273
|
},
|
|
21819
23274
|
|
|
23275
|
+
/**
|
|
23276
|
+
* Screen reader will read out the number of users in the group using this text. Ex: "2 users"
|
|
23277
|
+
*/
|
|
23278
|
+
groupCountText: {
|
|
23279
|
+
type: String,
|
|
23280
|
+
default: ''
|
|
23281
|
+
},
|
|
23282
|
+
|
|
21820
23283
|
/**
|
|
21821
23284
|
* Names of the group members
|
|
21822
23285
|
*/
|
|
21823
23286
|
names: {
|
|
21824
23287
|
type: String,
|
|
21825
|
-
|
|
23288
|
+
required: true
|
|
21826
23289
|
},
|
|
21827
23290
|
|
|
21828
23291
|
/**
|
|
@@ -21833,6 +23296,14 @@ function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $se
|
|
|
21833
23296
|
default: null
|
|
21834
23297
|
},
|
|
21835
23298
|
|
|
23299
|
+
/**
|
|
23300
|
+
* Text shown when the unread count is hovered.
|
|
23301
|
+
*/
|
|
23302
|
+
unreadCountTooltip: {
|
|
23303
|
+
type: String,
|
|
23304
|
+
default: null
|
|
23305
|
+
},
|
|
23306
|
+
|
|
21836
23307
|
/**
|
|
21837
23308
|
* Styles the row with an increased font weight to convey it has unreads. This must be true to see
|
|
21838
23309
|
* the unread count badge.
|
|
@@ -21848,6 +23319,14 @@ function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $se
|
|
|
21848
23319
|
selected: {
|
|
21849
23320
|
type: Boolean,
|
|
21850
23321
|
default: false
|
|
23322
|
+
},
|
|
23323
|
+
|
|
23324
|
+
/**
|
|
23325
|
+
* Shows an "is typing" animation over the avatar when true.
|
|
23326
|
+
*/
|
|
23327
|
+
isTyping: {
|
|
23328
|
+
type: Boolean,
|
|
23329
|
+
default: false
|
|
21851
23330
|
}
|
|
21852
23331
|
},
|
|
21853
23332
|
emits: [
|
|
@@ -21867,18 +23346,18 @@ function group_rowvue_type_template_id_29f5cb33_render(_ctx, _cache, $props, $se
|
|
|
21867
23346
|
|
|
21868
23347
|
|
|
21869
23348
|
;
|
|
21870
|
-
const group_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(group_rowvue_type_script_lang_js, [['render',
|
|
23349
|
+
const group_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(group_rowvue_type_script_lang_js, [['render',group_rowvue_type_template_id_af6d6b56_render]])
|
|
21871
23350
|
|
|
21872
23351
|
/* harmony default export */ const group_row = (group_row_exports_);
|
|
21873
23352
|
;// CONCATENATED MODULE: ./recipes/leftbar/group_row/index.js
|
|
21874
23353
|
|
|
21875
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/contact_row/contact_row.vue?vue&type=template&id=
|
|
23354
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/contact_row/contact_row.vue?vue&type=template&id=69299a5d
|
|
21876
23355
|
|
|
21877
|
-
const
|
|
21878
|
-
const
|
|
23356
|
+
const contact_rowvue_type_template_id_69299a5d_hoisted_1 = ["src", "alt"];
|
|
23357
|
+
const contact_rowvue_type_template_id_69299a5d_hoisted_2 = {
|
|
21879
23358
|
class: "dt-leftbar-row__status"
|
|
21880
23359
|
};
|
|
21881
|
-
function
|
|
23360
|
+
function contact_rowvue_type_template_id_69299a5d_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
21882
23361
|
const _component_dt_icon = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-icon");
|
|
21883
23362
|
|
|
21884
23363
|
const _component_dt_avatar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-avatar");
|
|
@@ -21889,10 +23368,14 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
21889
23368
|
|
|
21890
23369
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_recipe_general_row, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
|
|
21891
23370
|
"unread-count": $props.unreadCount,
|
|
23371
|
+
description: `${$props.name} ${$props.presenceText} ${$props.userStatus}`,
|
|
21892
23372
|
"has-unreads": $props.hasUnreads,
|
|
21893
23373
|
selected: $props.selected,
|
|
21894
23374
|
"has-call-button": true,
|
|
21895
|
-
muted: $props.muted
|
|
23375
|
+
muted: $props.muted,
|
|
23376
|
+
"is-typing": $props.isTyping,
|
|
23377
|
+
"call-button-tooltip": $props.callButtonTooltip,
|
|
23378
|
+
"unread-count-tooltip": $props.unreadCountTooltip
|
|
21896
23379
|
}, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toHandlers)($options.contactRowListeners), {
|
|
21897
23380
|
onCall: _cache[0] || (_cache[0] = $event => _ctx.$emit('call', $event))
|
|
21898
23381
|
}), {
|
|
@@ -21906,7 +23389,7 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
21906
23389
|
"data-qa": "dt-avatar-image",
|
|
21907
23390
|
src: $props.avatarSrc,
|
|
21908
23391
|
alt: $props.name
|
|
21909
|
-
}, null, 8,
|
|
23392
|
+
}, null, 8, contact_rowvue_type_template_id_69299a5d_hoisted_1)) : $props.noInitials ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_icon, {
|
|
21910
23393
|
key: 1,
|
|
21911
23394
|
name: "user",
|
|
21912
23395
|
size: "200"
|
|
@@ -21922,7 +23405,7 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
21922
23405
|
}, {
|
|
21923
23406
|
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.name), 1)]),
|
|
21924
23407
|
_: 1
|
|
21925
|
-
}), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div",
|
|
23408
|
+
}), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_rowvue_type_template_id_69299a5d_hoisted_2, [$props.presenceText ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
|
|
21926
23409
|
key: 0,
|
|
21927
23410
|
"data-qa": "dt-leftbar-row-presence-text",
|
|
21928
23411
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['dt-leftbar-row__meta-context', $options.presenceColorClass])
|
|
@@ -21937,9 +23420,9 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
21937
23420
|
_: 1
|
|
21938
23421
|
})) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])]),
|
|
21939
23422
|
_: 1
|
|
21940
|
-
}, 16, ["unread-count", "has-unreads", "selected", "muted"]);
|
|
23423
|
+
}, 16, ["unread-count", "description", "has-unreads", "selected", "muted", "is-typing", "call-button-tooltip", "unread-count-tooltip"]);
|
|
21941
23424
|
}
|
|
21942
|
-
;// CONCATENATED MODULE: ./recipes/leftbar/contact_row/contact_row.vue?vue&type=template&id=
|
|
23425
|
+
;// CONCATENATED MODULE: ./recipes/leftbar/contact_row/contact_row.vue?vue&type=template&id=69299a5d
|
|
21943
23426
|
|
|
21944
23427
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/leftbar/contact_row/contact_row.vue?vue&type=script&lang=js
|
|
21945
23428
|
|
|
@@ -21947,7 +23430,6 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
21947
23430
|
|
|
21948
23431
|
|
|
21949
23432
|
|
|
21950
|
-
|
|
21951
23433
|
/* harmony default export */ const contact_rowvue_type_script_lang_js = ({
|
|
21952
23434
|
name: 'DtRecipeGroupRow',
|
|
21953
23435
|
components: {
|
|
@@ -21968,15 +23450,14 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
21968
23450
|
|
|
21969
23451
|
/**
|
|
21970
23452
|
* Determines whether to show the presence indicator for
|
|
21971
|
-
* Avatar - accepts PRESENCE_STATES values: '
|
|
21972
|
-
*
|
|
23453
|
+
* Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',
|
|
23454
|
+
* or 'active'. By default, it's null and nothing is shown.
|
|
23455
|
+
* defer validation to avatar component.
|
|
23456
|
+
* @values null, busy, away, offline, active
|
|
21973
23457
|
*/
|
|
21974
23458
|
avatarPresence: {
|
|
21975
23459
|
type: String,
|
|
21976
|
-
default:
|
|
21977
|
-
validator: role => {
|
|
21978
|
-
return PRESENCE_STATES_LIST.includes(role);
|
|
21979
|
-
}
|
|
23460
|
+
default: null
|
|
21980
23461
|
},
|
|
21981
23462
|
|
|
21982
23463
|
/**
|
|
@@ -22050,6 +23531,30 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
22050
23531
|
noInitials: {
|
|
22051
23532
|
type: Boolean,
|
|
22052
23533
|
default: false
|
|
23534
|
+
},
|
|
23535
|
+
|
|
23536
|
+
/**
|
|
23537
|
+
* Shows an "is typing" animation over the avatar when true.
|
|
23538
|
+
*/
|
|
23539
|
+
isTyping: {
|
|
23540
|
+
type: Boolean,
|
|
23541
|
+
default: false
|
|
23542
|
+
},
|
|
23543
|
+
|
|
23544
|
+
/**
|
|
23545
|
+
* Text shown when the call button is hovered.
|
|
23546
|
+
*/
|
|
23547
|
+
callButtonTooltip: {
|
|
23548
|
+
type: String,
|
|
23549
|
+
default: ''
|
|
23550
|
+
},
|
|
23551
|
+
|
|
23552
|
+
/**
|
|
23553
|
+
* Text shown when the unread count is hovered.
|
|
23554
|
+
*/
|
|
23555
|
+
unreadCountTooltip: {
|
|
23556
|
+
type: String,
|
|
23557
|
+
default: ''
|
|
22053
23558
|
}
|
|
22054
23559
|
},
|
|
22055
23560
|
emits: [
|
|
@@ -22097,7 +23602,7 @@ function contact_rowvue_type_template_id_8a190578_render(_ctx, _cache, $props, $
|
|
|
22097
23602
|
|
|
22098
23603
|
|
|
22099
23604
|
;
|
|
22100
|
-
const contact_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(contact_rowvue_type_script_lang_js, [['render',
|
|
23605
|
+
const contact_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(contact_rowvue_type_script_lang_js, [['render',contact_rowvue_type_template_id_69299a5d_render]])
|
|
22101
23606
|
|
|
22102
23607
|
/* harmony default export */ const contact_row = (contact_row_exports_);
|
|
22103
23608
|
;// CONCATENATED MODULE: ./recipes/leftbar/contact_row/index.js
|
|
@@ -22143,6 +23648,7 @@ const contact_row_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(contac
|
|
|
22143
23648
|
|
|
22144
23649
|
|
|
22145
23650
|
|
|
23651
|
+
|
|
22146
23652
|
|
|
22147
23653
|
|
|
22148
23654
|
/// Recipes
|