@dialpad/dialtone 9.70.0-beta.1 → 9.70.0-beta.2
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/dist/css/dialtone-default-theme.css +4 -4
- package/dist/css/dialtone-default-theme.min.css +1 -1
- package/dist/css/tokens/tokens-dp-dark.css +3 -3
- package/dist/css/tokens/tokens-dp-light.css +4 -4
- package/dist/css/tokens/tokens-expressive-dark.css +3 -3
- package/dist/css/tokens/tokens-expressive-light.css +4 -4
- package/dist/css/tokens/tokens-expressive-sm-dark.css +3 -3
- package/dist/css/tokens/tokens-expressive-sm-light.css +4 -4
- package/dist/css/tokens/tokens-tmo-dark.css +3 -3
- package/dist/css/tokens/tokens-tmo-light.css +4 -4
- package/dist/tokens/css/tokens-dp-dark.css +3 -3
- package/dist/tokens/css/tokens-dp-light.css +4 -4
- package/dist/tokens/css/tokens-expressive-dark.css +3 -3
- package/dist/tokens/css/tokens-expressive-light.css +4 -4
- package/dist/tokens/css/tokens-expressive-sm-dark.css +3 -3
- package/dist/tokens/css/tokens-expressive-sm-light.css +4 -4
- package/dist/tokens/css/tokens-tmo-dark.css +3 -3
- package/dist/tokens/css/tokens-tmo-light.css +4 -4
- package/dist/tokens/doc.json +9632 -9632
- package/dist/tokens/less/tokens-dp-dark.less +2 -2
- package/dist/tokens/less/tokens-dp-light.less +2 -2
- package/dist/tokens/less/tokens-expressive-dark.less +2 -2
- package/dist/tokens/less/tokens-expressive-light.less +2 -2
- package/dist/tokens/less/tokens-expressive-sm-dark.less +2 -2
- package/dist/tokens/less/tokens-expressive-sm-light.less +2 -2
- package/dist/tokens/less/tokens-tmo-dark.less +2 -2
- package/dist/tokens/less/tokens-tmo-light.less +2 -2
- package/dist/{themes/tmo-dark.cjs → tokens/themes/dp-dark.cjs} +1 -1
- package/dist/{themes/tmo-dark.js → tokens/themes/dp-dark.js} +2 -2
- package/dist/{themes/tmo-light.cjs → tokens/themes/dp-light.cjs} +1 -1
- package/dist/{themes/tmo-light.js → tokens/themes/dp-light.js} +2 -2
- package/dist/{themes → tokens/themes}/expressive-dark.cjs +1 -1
- package/dist/{themes → tokens/themes}/expressive-dark.js +1 -1
- package/dist/{themes → tokens/themes}/expressive-light.cjs +1 -1
- package/dist/{themes → tokens/themes}/expressive-light.js +1 -1
- package/dist/{themes → tokens/themes}/expressive-sm-dark.cjs +1 -1
- package/dist/{themes → tokens/themes}/expressive-sm-dark.js +1 -1
- package/dist/{themes → tokens/themes}/expressive-sm-light.cjs +1 -1
- package/dist/{themes → tokens/themes}/expressive-sm-light.js +1 -1
- package/dist/{themes/dp-dark.cjs → tokens/themes/tmo-dark.cjs} +1 -1
- package/dist/{themes/dp-dark.js → tokens/themes/tmo-dark.js} +2 -2
- package/dist/{themes/dp-light.cjs → tokens/themes/tmo-light.cjs} +1 -1
- package/dist/{themes/dp-light.js → tokens/themes/tmo-light.js} +2 -2
- package/dist/tokens/themes/types/config.d.ts +2 -0
- package/dist/tokens/themes/types/config.d.ts.map +1 -0
- package/dist/{themes → tokens/themes}/types/dp-dark.d.ts.map +1 -1
- package/dist/{themes → tokens/themes}/types/dp-light.d.ts.map +1 -1
- package/dist/tokens/themes/types/expressive-dark.d.ts.map +1 -0
- package/dist/tokens/themes/types/expressive-light.d.ts.map +1 -0
- package/dist/tokens/themes/types/expressive-sm-dark.d.ts.map +1 -0
- package/dist/tokens/themes/types/expressive-sm-light.d.ts.map +1 -0
- package/dist/{themes → tokens/themes}/types/tmo-dark.d.ts.map +1 -1
- package/dist/{themes → tokens/themes}/types/tmo-light.d.ts.map +1 -1
- package/dist/tokens/tokens-dp-dark.json +1 -1
- package/dist/tokens/tokens-dp-light.json +2 -2
- package/dist/tokens/tokens-expressive-dark.json +1 -1
- package/dist/tokens/tokens-expressive-light.json +2 -2
- package/dist/tokens/tokens-expressive-sm-dark.json +1 -1
- package/dist/tokens/tokens-expressive-sm-light.json +2 -2
- package/dist/tokens/tokens-tmo-dark.json +1 -1
- package/dist/tokens/tokens-tmo-light.json +2 -2
- package/dist/vue2/lib/contact-centers-row.cjs +5 -5
- package/dist/vue2/lib/contact-centers-row.cjs.map +1 -1
- package/dist/vue2/lib/contact-centers-row.js +5 -5
- package/dist/vue2/lib/contact-centers-row.js.map +1 -1
- package/dist/vue2/lib/contact-row.cjs +9 -2
- package/dist/vue2/lib/contact-row.cjs.map +1 -1
- package/dist/vue2/lib/contact-row.js +9 -2
- package/dist/vue2/lib/contact-row.js.map +1 -1
- package/dist/vue2/style.css +57 -57
- package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +7 -7
- package/dist/vue2/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +15 -0
- package/dist/vue2/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
- package/dist/vue3/lib/contact-centers-row.cjs +5 -5
- package/dist/vue3/lib/contact-centers-row.cjs.map +1 -1
- package/dist/vue3/lib/contact-centers-row.js +5 -5
- package/dist/vue3/lib/contact-centers-row.js.map +1 -1
- package/dist/vue3/lib/contact-row.cjs +10 -2
- package/dist/vue3/lib/contact-row.cjs.map +1 -1
- package/dist/vue3/lib/contact-row.js +10 -2
- package/dist/vue3/lib/contact-row.js.map +1 -1
- package/dist/vue3/style.css +57 -57
- package/dist/vue3/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +7 -7
- package/dist/vue3/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +15 -0
- package/dist/vue3/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
- package/package.json +5 -6
- package/dist/themes/types/config.d.ts +0 -6
- package/dist/themes/types/config.d.ts.map +0 -1
- package/dist/themes/types/expressive-dark.d.ts.map +0 -1
- package/dist/themes/types/expressive-light.d.ts.map +0 -1
- package/dist/themes/types/expressive-sm-dark.d.ts.map +0 -1
- package/dist/themes/types/expressive-sm-light.d.ts.map +0 -1
- /package/dist/{themes → tokens/themes}/chunks/tokens-base-dark--ozK7f0P.js +0 -0
- /package/dist/{themes → tokens/themes}/chunks/tokens-base-dark-V8E4WaJI.js +0 -0
- /package/dist/{themes → tokens/themes}/chunks/tokens-base-light-LYlvM3eZ.js +0 -0
- /package/dist/{themes → tokens/themes}/chunks/tokens-base-light-ljPrpLe2.js +0 -0
- /package/dist/{themes → tokens/themes}/config.cjs +0 -0
- /package/dist/{themes → tokens/themes}/config.js +0 -0
- /package/dist/{themes → tokens/themes}/types/dp-dark.d.ts +0 -0
- /package/dist/{themes → tokens/themes}/types/dp-light.d.ts +0 -0
- /package/dist/{themes → tokens/themes}/types/expressive-dark.d.ts +0 -0
- /package/dist/{themes → tokens/themes}/types/expressive-light.d.ts +0 -0
- /package/dist/{themes → tokens/themes}/types/expressive-sm-dark.d.ts +0 -0
- /package/dist/{themes → tokens/themes}/types/expressive-sm-light.d.ts +0 -0
- /package/dist/{themes → tokens/themes}/types/tmo-dark.d.ts +0 -0
- /package/dist/{themes → tokens/themes}/types/tmo-light.d.ts +0 -0
package/dist/vue2/style.css
CHANGED
|
@@ -1230,7 +1230,7 @@ body > .os-scrollbar {
|
|
|
1230
1230
|
}
|
|
1231
1231
|
}
|
|
1232
1232
|
/* stylelint-disable selector-pseudo-class-no-unknown */
|
|
1233
|
-
.dt-leftbar-row[data-v-
|
|
1233
|
+
.dt-leftbar-row[data-v-17c77b19] {
|
|
1234
1234
|
--leftbar-row-color-foreground: var(--dt-theme-sidebar-color-foreground);
|
|
1235
1235
|
--leftbar-row-color-background: var(--dt-theme-sidebar-row-color-background);
|
|
1236
1236
|
--leftbar-row-radius: var(--dt-size-radius-pill);
|
|
@@ -1261,49 +1261,49 @@ body > .os-scrollbar {
|
|
|
1261
1261
|
transition-duration: var(--td200);
|
|
1262
1262
|
transition-property: background-color, border, box-shadow;
|
|
1263
1263
|
}
|
|
1264
|
-
.dt-leftbar-row[data-v-
|
|
1265
|
-
.dt-leftbar-row[data-v-
|
|
1264
|
+
.dt-leftbar-row[data-v-17c77b19]:not(.dt-leftbar-row--no-action):hover,
|
|
1265
|
+
.dt-leftbar-row[data-v-17c77b19]:not(.dt-leftbar-row--no-action):focus-within {
|
|
1266
1266
|
--leftbar-row-unread-badge-display: none;
|
|
1267
1267
|
}
|
|
1268
|
-
.dt-leftbar-row[data-v-
|
|
1269
|
-
.dt-leftbar-row[data-v-
|
|
1268
|
+
.dt-leftbar-row[data-v-17c77b19]:not(.dt-leftbar-row--no-action):hover .dt-leftbar-row__action,
|
|
1269
|
+
.dt-leftbar-row[data-v-17c77b19]:not(.dt-leftbar-row--no-action):focus-within .dt-leftbar-row__action {
|
|
1270
1270
|
display: inline-flex;
|
|
1271
1271
|
}
|
|
1272
|
-
.dt-leftbar-row[data-v-
|
|
1273
|
-
.dt-leftbar-row[data-v-
|
|
1272
|
+
.dt-leftbar-row[data-v-17c77b19]:not(.dt-leftbar-row--no-action):hover .dt-leftbar-row__action-button,
|
|
1273
|
+
.dt-leftbar-row[data-v-17c77b19]:not(.dt-leftbar-row--no-action):focus-within .dt-leftbar-row__action-button {
|
|
1274
1274
|
opacity: 1;
|
|
1275
1275
|
}
|
|
1276
|
-
.dt-leftbar-row[data-v-
|
|
1277
|
-
.dt-leftbar-row[data-v-
|
|
1276
|
+
.dt-leftbar-row[data-v-17c77b19]:hover,
|
|
1277
|
+
.dt-leftbar-row[data-v-17c77b19]:focus-within {
|
|
1278
1278
|
--leftbar-row-color-background: var(--dt-theme-sidebar-row-color-background-hover);
|
|
1279
1279
|
}
|
|
1280
|
-
.dt-leftbar-row[data-v-
|
|
1281
|
-
.dt-leftbar-row[data-v-
|
|
1280
|
+
.dt-leftbar-row[data-v-17c77b19]:hover .d-presence,
|
|
1281
|
+
.dt-leftbar-row[data-v-17c77b19]:focus-within .d-presence {
|
|
1282
1282
|
--presence-color-border-base: var(--dt-color-black-200);
|
|
1283
1283
|
}
|
|
1284
|
-
.dt-leftbar-row[data-v-
|
|
1285
|
-
.dt-leftbar-row[data-v-
|
|
1284
|
+
.dt-leftbar-row[data-v-17c77b19]:hover .d-avatar__count,
|
|
1285
|
+
.dt-leftbar-row[data-v-17c77b19]:focus-within .d-avatar__count {
|
|
1286
1286
|
--avatar-count-color-shadow: var(--dt-theme-sidebar-selected-row-color-background);
|
|
1287
1287
|
}
|
|
1288
|
-
.dt-leftbar-row--has-unread[data-v-
|
|
1288
|
+
.dt-leftbar-row--has-unread[data-v-17c77b19] {
|
|
1289
1289
|
--leftbar-row-description-font-weight: var(--dt-font-weight-bold);
|
|
1290
1290
|
--leftbar-row-description-color-foreground: var(--dt-theme-sidebar-color-foreground-unread);
|
|
1291
1291
|
--leftbar-row-alpha-color-foreground: var(--dt-theme-sidebar-color-foreground-unread);
|
|
1292
1292
|
}
|
|
1293
|
-
.dt-leftbar-row--muted[data-v-
|
|
1293
|
+
.dt-leftbar-row--muted[data-v-17c77b19] {
|
|
1294
1294
|
--leftbar-row-opacity: 60%;
|
|
1295
1295
|
}
|
|
1296
|
-
.dt-leftbar-row--selected[data-v-
|
|
1296
|
+
.dt-leftbar-row--selected[data-v-17c77b19] {
|
|
1297
1297
|
--leftbar-row-color-background: var(--dt-theme-sidebar-selected-row-color-background);
|
|
1298
1298
|
--leftbar-row-description-color-foreground: var(--dt-theme-sidebar-selected-row-color-foreground);
|
|
1299
1299
|
}
|
|
1300
|
-
.dt-leftbar-row--selected[data-v-
|
|
1300
|
+
.dt-leftbar-row--selected[data-v-17c77b19] .d-presence {
|
|
1301
1301
|
--presence-color-border-base: var(--dt-color-black-200);
|
|
1302
1302
|
}
|
|
1303
|
-
.dt-leftbar-row--selected[data-v-
|
|
1303
|
+
.dt-leftbar-row--selected[data-v-17c77b19] .d-avatar__count {
|
|
1304
1304
|
--avatar-count-color-shadow: var(--dt-theme-sidebar-selected-row-color-background);
|
|
1305
1305
|
}
|
|
1306
|
-
.dt-leftbar-row__is-typing[data-v-
|
|
1306
|
+
.dt-leftbar-row__is-typing[data-v-17c77b19] {
|
|
1307
1307
|
--is-typing-size-shape: var(--dt-size-550);
|
|
1308
1308
|
position: absolute;
|
|
1309
1309
|
display: flex;
|
|
@@ -1315,7 +1315,7 @@ body > .os-scrollbar {
|
|
|
1315
1315
|
border-radius: var(--dt-size-radius-pill);
|
|
1316
1316
|
opacity: 0.75;
|
|
1317
1317
|
}
|
|
1318
|
-
.dt-leftbar-row__is-typing span[data-v-
|
|
1318
|
+
.dt-leftbar-row__is-typing span[data-v-17c77b19] {
|
|
1319
1319
|
display: inline-block;
|
|
1320
1320
|
width: var(--dt-size-300);
|
|
1321
1321
|
height: var(--dt-size-300);
|
|
@@ -1324,18 +1324,18 @@ body > .os-scrollbar {
|
|
|
1324
1324
|
border-radius: var(--dt-size-radius-pill);
|
|
1325
1325
|
opacity: 0.3;
|
|
1326
1326
|
transition: all 500ms ease;
|
|
1327
|
-
animation: wave-
|
|
1327
|
+
animation: wave-17c77b19 1.5s ease infinite;
|
|
1328
1328
|
}
|
|
1329
|
-
.dt-leftbar-row__is-typing span[data-v-
|
|
1329
|
+
.dt-leftbar-row__is-typing span[data-v-17c77b19]:nth-child(1) {
|
|
1330
1330
|
animation-delay: 0ms;
|
|
1331
1331
|
}
|
|
1332
|
-
.dt-leftbar-row__is-typing span[data-v-
|
|
1332
|
+
.dt-leftbar-row__is-typing span[data-v-17c77b19]:nth-child(2) {
|
|
1333
1333
|
animation-delay: var(--td100);
|
|
1334
1334
|
}
|
|
1335
|
-
.dt-leftbar-row__is-typing span[data-v-
|
|
1335
|
+
.dt-leftbar-row__is-typing span[data-v-17c77b19]:nth-child(3) {
|
|
1336
1336
|
animation-delay: var(--td200);
|
|
1337
1337
|
}
|
|
1338
|
-
.dt-leftbar-row__primary[data-v-
|
|
1338
|
+
.dt-leftbar-row__primary[data-v-17c77b19] {
|
|
1339
1339
|
display: flex;
|
|
1340
1340
|
flex: 1;
|
|
1341
1341
|
align-items: center;
|
|
@@ -1352,18 +1352,18 @@ body > .os-scrollbar {
|
|
|
1352
1352
|
border-radius: var(--leftbar-row-radius);
|
|
1353
1353
|
appearance: none;
|
|
1354
1354
|
}
|
|
1355
|
-
.dt-leftbar-row__primary[data-v-
|
|
1355
|
+
.dt-leftbar-row__primary[data-v-17c77b19]:active {
|
|
1356
1356
|
--leftbar-row-color-background: var(--dt-theme-sidebar-row-color-background-active);
|
|
1357
1357
|
}
|
|
1358
|
-
.dt-leftbar-row__primary[data-v-
|
|
1358
|
+
.dt-leftbar-row__primary[data-v-17c77b19]:focus-visible {
|
|
1359
1359
|
box-shadow: var(--dt-shadow-focus-inset);
|
|
1360
1360
|
}
|
|
1361
|
-
.dt-leftbar-row__action-button[data-v-
|
|
1361
|
+
.dt-leftbar-row__action-button[data-v-17c77b19] {
|
|
1362
1362
|
width: var(--leftbar-row-action-width);
|
|
1363
1363
|
height: var(--leftbar-row-action-height);
|
|
1364
1364
|
opacity: 0;
|
|
1365
1365
|
}
|
|
1366
|
-
.dt-leftbar-row__alpha[data-v-
|
|
1366
|
+
.dt-leftbar-row__alpha[data-v-17c77b19] {
|
|
1367
1367
|
display: flex;
|
|
1368
1368
|
align-items: center;
|
|
1369
1369
|
justify-content: center;
|
|
@@ -1375,11 +1375,11 @@ body > .os-scrollbar {
|
|
|
1375
1375
|
color: var(--leftbar-row-alpha-color-foreground);
|
|
1376
1376
|
border-radius: var(--leftbar-row-radius) 0 0 var(--leftbar-row-radius);
|
|
1377
1377
|
}
|
|
1378
|
-
.dt-leftbar-row__label[data-v-
|
|
1378
|
+
.dt-leftbar-row__label[data-v-17c77b19] {
|
|
1379
1379
|
flex: 0 1;
|
|
1380
1380
|
min-width: 0;
|
|
1381
1381
|
}
|
|
1382
|
-
.dt-leftbar-row__omega[data-v-
|
|
1382
|
+
.dt-leftbar-row__omega[data-v-17c77b19] {
|
|
1383
1383
|
position: absolute;
|
|
1384
1384
|
top: var(--leftbar-row-action-position-bottom);
|
|
1385
1385
|
right: var(--leftbar-row-action-position-right);
|
|
@@ -1391,34 +1391,34 @@ body > .os-scrollbar {
|
|
|
1391
1391
|
border-radius: var(--leftbar-row-radius);
|
|
1392
1392
|
transform: translateY(calc(var(--leftbar-row-action-position-bottom) * -1));
|
|
1393
1393
|
}
|
|
1394
|
-
.dt-leftbar-row__unread-badge[data-v-
|
|
1394
|
+
.dt-leftbar-row__unread-badge[data-v-17c77b19] {
|
|
1395
1395
|
display: var(--leftbar-row-unread-badge-display);
|
|
1396
1396
|
color: var(--dt-theme-mention-color-foreground);
|
|
1397
1397
|
background-color: var(--dt-theme-mention-color-background);
|
|
1398
1398
|
}
|
|
1399
|
-
.dt-leftbar-row--unread-count[data-v-
|
|
1399
|
+
.dt-leftbar-row--unread-count[data-v-17c77b19] .dt-leftbar-row__action {
|
|
1400
1400
|
display: none;
|
|
1401
1401
|
}
|
|
1402
|
-
.dt-leftbar-row__unread-count-badge[data-v-
|
|
1402
|
+
.dt-leftbar-row__unread-count-badge[data-v-17c77b19] {
|
|
1403
1403
|
border-top-right-radius: var(--dt-size-radius-0);
|
|
1404
1404
|
border-bottom-right-radius: var(--dt-size-radius-0);
|
|
1405
1405
|
}
|
|
1406
|
-
.dt-leftbar-row__unread-mention-count-badge[data-v-
|
|
1406
|
+
.dt-leftbar-row__unread-mention-count-badge[data-v-17c77b19] {
|
|
1407
1407
|
color: var(--dt-theme-mention-color-foreground-strong);
|
|
1408
1408
|
background-color: var(--dt-theme-mention-color-background-strong);
|
|
1409
1409
|
border-top-left-radius: var(--dt-size-radius-0);
|
|
1410
1410
|
border-bottom-left-radius: var(--dt-size-radius-0);
|
|
1411
1411
|
}
|
|
1412
|
-
.dt-leftbar-row__unread-mention-only-count-badge[data-v-
|
|
1412
|
+
.dt-leftbar-row__unread-mention-only-count-badge[data-v-17c77b19] {
|
|
1413
1413
|
color: var(--dt-theme-mention-color-foreground-strong);
|
|
1414
1414
|
background-color: var(--dt-theme-mention-color-background-strong);
|
|
1415
1415
|
}
|
|
1416
|
-
.dt-leftbar-row__active-voice[data-v-
|
|
1416
|
+
.dt-leftbar-row__active-voice[data-v-17c77b19] {
|
|
1417
1417
|
display: inline-flex;
|
|
1418
1418
|
color: var(--dt-color-purple-400);
|
|
1419
|
-
-webkit-animation-name: opacity-pulsate-
|
|
1420
|
-
-moz-animation-name: opacity-pulsate-
|
|
1421
|
-
animation-name: opacity-pulsate-
|
|
1419
|
+
-webkit-animation-name: opacity-pulsate-17c77b19;
|
|
1420
|
+
-moz-animation-name: opacity-pulsate-17c77b19;
|
|
1421
|
+
animation-name: opacity-pulsate-17c77b19;
|
|
1422
1422
|
-webkit-animation-duration: 1s;
|
|
1423
1423
|
-moz-animation-duration: 1s;
|
|
1424
1424
|
animation-duration: 1s;
|
|
@@ -1429,7 +1429,7 @@ body > .os-scrollbar {
|
|
|
1429
1429
|
-moz-animation-fill-mode: both;
|
|
1430
1430
|
animation-fill-mode: both;
|
|
1431
1431
|
}
|
|
1432
|
-
.dt-leftbar-row__dnd[data-v-
|
|
1432
|
+
.dt-leftbar-row__dnd[data-v-17c77b19] {
|
|
1433
1433
|
padding-top: var(--dt-space-200);
|
|
1434
1434
|
padding-right: var(--dt-space-300);
|
|
1435
1435
|
color: var(--dt-color-foreground-tertiary);
|
|
@@ -1437,26 +1437,26 @@ body > .os-scrollbar {
|
|
|
1437
1437
|
font-size: var(--dt-font-size-100);
|
|
1438
1438
|
line-height: var(--dt-font-line-height-400);
|
|
1439
1439
|
}
|
|
1440
|
-
.dt-leftbar-row__container--off-duty[data-v-
|
|
1440
|
+
.dt-leftbar-row__container--off-duty[data-v-17c77b19] {
|
|
1441
1441
|
background-color: var(--dt-badge-color-background-critical);
|
|
1442
1442
|
border: var(--dt-size-100) solid var(--dt-color-border-subtle);
|
|
1443
1443
|
border-radius: var(--dt-size-radius-500);
|
|
1444
1444
|
}
|
|
1445
|
-
.dt-leftbar-row__container--off-duty[data-v-
|
|
1445
|
+
.dt-leftbar-row__container--off-duty[data-v-17c77b19] .dt-leftbar-row__primary {
|
|
1446
1446
|
margin: calc(var(--dt-size-100) * -1);
|
|
1447
1447
|
}
|
|
1448
|
-
.dt-leftbar-row--contact-centers[data-v-
|
|
1448
|
+
.dt-leftbar-row--contact-centers[data-v-17c77b19] .dt-leftbar-row__alpha {
|
|
1449
1449
|
padding-right: var(--dt-space-450);
|
|
1450
1450
|
padding-left: var(--dt-space-450);
|
|
1451
1451
|
}
|
|
1452
|
-
.dt-leftbar-row--contact-centers .dt-leftbar-row__action-container[data-v-
|
|
1452
|
+
.dt-leftbar-row--contact-centers .dt-leftbar-row__action-container[data-v-17c77b19] {
|
|
1453
1453
|
display: inline-flex;
|
|
1454
1454
|
align-items: center;
|
|
1455
1455
|
justify-content: flex-end;
|
|
1456
1456
|
min-width: var(--dt-size-600);
|
|
1457
1457
|
height: var(--dt-size-500);
|
|
1458
1458
|
}
|
|
1459
|
-
.dt-leftbar-row[data-v-
|
|
1459
|
+
.dt-leftbar-row[data-v-17c77b19] .dt-leftbar-row__description {
|
|
1460
1460
|
overflow: hidden;
|
|
1461
1461
|
color: var(--leftbar-row-description-color-foreground);
|
|
1462
1462
|
font-weight: var(--leftbar-row-description-font-weight);
|
|
@@ -1465,7 +1465,7 @@ body > .os-scrollbar {
|
|
|
1465
1465
|
white-space: nowrap;
|
|
1466
1466
|
text-overflow: ellipsis;
|
|
1467
1467
|
}
|
|
1468
|
-
.dt-leftbar-row[data-v-
|
|
1468
|
+
.dt-leftbar-row[data-v-17c77b19] .dt-leftbar-row__status {
|
|
1469
1469
|
padding-bottom: var(--dt-space-100);
|
|
1470
1470
|
overflow: hidden;
|
|
1471
1471
|
color: var(--leftbar-row-status-color-foreground);
|
|
@@ -1474,19 +1474,19 @@ body > .os-scrollbar {
|
|
|
1474
1474
|
white-space: nowrap;
|
|
1475
1475
|
text-overflow: ellipsis;
|
|
1476
1476
|
}
|
|
1477
|
-
.dt-leftbar-row[data-v-
|
|
1477
|
+
.dt-leftbar-row[data-v-17c77b19] .dt-leftbar-row__meta-context ~ .dt-leftbar-row__meta-custom:not(:empty)::before {
|
|
1478
1478
|
color: var(--dt-theme-sidebar-status-color-foreground);
|
|
1479
1479
|
content: " • ";
|
|
1480
1480
|
}
|
|
1481
|
-
.dt-leftbar-row__icon-cc[data-v-
|
|
1481
|
+
.dt-leftbar-row__icon-cc[data-v-17c77b19] {
|
|
1482
1482
|
width: calc(var(--dt-size-300) * 3.5);
|
|
1483
1483
|
height: calc(var(--dt-size-300) * 3.5);
|
|
1484
1484
|
border-radius: var(--dt-size-200);
|
|
1485
1485
|
}
|
|
1486
|
-
.opacity-pulsate[data-v-
|
|
1487
|
-
-webkit-animation-name: opacity-pulsate-
|
|
1488
|
-
-moz-animation-name: opacity-pulsate-
|
|
1489
|
-
animation-name: opacity-pulsate-
|
|
1486
|
+
.opacity-pulsate[data-v-17c77b19] {
|
|
1487
|
+
-webkit-animation-name: opacity-pulsate-17c77b19;
|
|
1488
|
+
-moz-animation-name: opacity-pulsate-17c77b19;
|
|
1489
|
+
animation-name: opacity-pulsate-17c77b19;
|
|
1490
1490
|
-webkit-animation-duration: 1s;
|
|
1491
1491
|
-moz-animation-duration: 1s;
|
|
1492
1492
|
animation-duration: 1s;
|
|
@@ -1497,7 +1497,7 @@ body > .os-scrollbar {
|
|
|
1497
1497
|
-moz-animation-fill-mode: both;
|
|
1498
1498
|
animation-fill-mode: both;
|
|
1499
1499
|
}
|
|
1500
|
-
@keyframes opacity-pulsate-
|
|
1500
|
+
@keyframes opacity-pulsate-17c77b19 {
|
|
1501
1501
|
0%,
|
|
1502
1502
|
100% {
|
|
1503
1503
|
opacity: 0.2;
|
|
@@ -1506,7 +1506,7 @@ body > .os-scrollbar {
|
|
|
1506
1506
|
opacity: 1;
|
|
1507
1507
|
}
|
|
1508
1508
|
}
|
|
1509
|
-
@keyframes opacity-pulsate-
|
|
1509
|
+
@keyframes opacity-pulsate-17c77b19 {
|
|
1510
1510
|
0%,
|
|
1511
1511
|
100% {
|
|
1512
1512
|
opacity: 0.2;
|
|
@@ -1515,7 +1515,7 @@ body > .os-scrollbar {
|
|
|
1515
1515
|
opacity: 1;
|
|
1516
1516
|
}
|
|
1517
1517
|
}
|
|
1518
|
-
@keyframes opacity-pulsate-
|
|
1518
|
+
@keyframes opacity-pulsate-17c77b19 {
|
|
1519
1519
|
0%,
|
|
1520
1520
|
100% {
|
|
1521
1521
|
opacity: 0.2;
|
|
@@ -1524,7 +1524,7 @@ body > .os-scrollbar {
|
|
|
1524
1524
|
opacity: 1;
|
|
1525
1525
|
}
|
|
1526
1526
|
}
|
|
1527
|
-
@keyframes wave-
|
|
1527
|
+
@keyframes wave-17c77b19 {
|
|
1528
1528
|
0%,
|
|
1529
1529
|
50%,
|
|
1530
1530
|
100% {
|
|
@@ -28,11 +28,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
28
28
|
default: boolean;
|
|
29
29
|
};
|
|
30
30
|
/**
|
|
31
|
-
* Number of unread messages
|
|
31
|
+
* Number of unread messages, could be a string to support '99+'
|
|
32
32
|
*/
|
|
33
33
|
unreadCount: {
|
|
34
|
-
type:
|
|
35
|
-
default:
|
|
34
|
+
type: StringConstructor;
|
|
35
|
+
default: null;
|
|
36
36
|
};
|
|
37
37
|
/**
|
|
38
38
|
* Aria label for the menu button.
|
|
@@ -82,11 +82,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
82
82
|
default: boolean;
|
|
83
83
|
};
|
|
84
84
|
/**
|
|
85
|
-
* Number of unread messages
|
|
85
|
+
* Number of unread messages, could be a string to support '99+'
|
|
86
86
|
*/
|
|
87
87
|
unreadCount: {
|
|
88
|
-
type:
|
|
89
|
-
default:
|
|
88
|
+
type: StringConstructor;
|
|
89
|
+
default: null;
|
|
90
90
|
};
|
|
91
91
|
/**
|
|
92
92
|
* Aria label for the menu button.
|
|
@@ -99,7 +99,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
99
99
|
ariaLabel: string;
|
|
100
100
|
selected: boolean;
|
|
101
101
|
hideActions: boolean;
|
|
102
|
-
unreadCount:
|
|
102
|
+
unreadCount: string;
|
|
103
103
|
}>;
|
|
104
104
|
export default _default;
|
|
105
105
|
//# sourceMappingURL=contact_centers_row.vue.d.ts.map
|
|
@@ -25,6 +25,13 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
25
25
|
type: StringConstructor;
|
|
26
26
|
default: null;
|
|
27
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* Avatar color to display if `avatarSrc` is empty.
|
|
30
|
+
*/
|
|
31
|
+
avatarColor: {
|
|
32
|
+
type: StringConstructor;
|
|
33
|
+
default: null;
|
|
34
|
+
};
|
|
28
35
|
/**
|
|
29
36
|
* Text describing the user's presence, such as "in a meeting"
|
|
30
37
|
*/
|
|
@@ -141,6 +148,13 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
141
148
|
type: StringConstructor;
|
|
142
149
|
default: null;
|
|
143
150
|
};
|
|
151
|
+
/**
|
|
152
|
+
* Avatar color to display if `avatarSrc` is empty.
|
|
153
|
+
*/
|
|
154
|
+
avatarColor: {
|
|
155
|
+
type: StringConstructor;
|
|
156
|
+
default: null;
|
|
157
|
+
};
|
|
144
158
|
/**
|
|
145
159
|
* Text describing the user's presence, such as "in a meeting"
|
|
146
160
|
*/
|
|
@@ -232,6 +246,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
232
246
|
avatarSrc: string;
|
|
233
247
|
avatarSeed: string;
|
|
234
248
|
noInitials: boolean;
|
|
249
|
+
avatarColor: string;
|
|
235
250
|
unreadCount: string;
|
|
236
251
|
unreadCountTooltip: string;
|
|
237
252
|
hasUnreads: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact_row.vue.d.ts","sourceRoot":"","sources":["../../../../../recipes/leftbar/contact_row/contact_row.vue.js"],"names":[],"mappings":";IAmBI;;;OAGG;;;;;IAMH;;;;;;OAMG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"contact_row.vue.d.ts","sourceRoot":"","sources":["../../../../../recipes/leftbar/contact_row/contact_row.vue.js"],"names":[],"mappings":";IAmBI;;;OAGG;;;;;IAMH;;;;;;OAMG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;;;;;;IAhIH;;;OAGG;;;;;IAMH;;;;;;OAMG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG"}
|
|
@@ -58,11 +58,11 @@ const _sfc_main = {
|
|
|
58
58
|
default: false
|
|
59
59
|
},
|
|
60
60
|
/**
|
|
61
|
-
* Number of unread messages
|
|
61
|
+
* Number of unread messages, could be a string to support '99+'
|
|
62
62
|
*/
|
|
63
63
|
unreadCount: {
|
|
64
|
-
type:
|
|
65
|
-
default:
|
|
64
|
+
type: String,
|
|
65
|
+
default: null
|
|
66
66
|
},
|
|
67
67
|
/**
|
|
68
68
|
* Aria label for the menu button.
|
|
@@ -111,7 +111,7 @@ const _sfc_main = {
|
|
|
111
111
|
return common_utils.extractVueListeners(this.$attrs);
|
|
112
112
|
},
|
|
113
113
|
showUnreadCount() {
|
|
114
|
-
return this.unreadCount
|
|
114
|
+
return !!this.unreadCount;
|
|
115
115
|
}
|
|
116
116
|
},
|
|
117
117
|
watch: {
|
|
@@ -234,6 +234,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
234
234
|
])
|
|
235
235
|
], 2);
|
|
236
236
|
}
|
|
237
|
-
const contact_centers_row = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
237
|
+
const contact_centers_row = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-0f361db5"]]);
|
|
238
238
|
exports.DtRecipeContactCentersRow = contact_centers_row;
|
|
239
239
|
//# sourceMappingURL=contact-centers-row.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact-centers-row.cjs","sources":["../../recipes/leftbar/contact_centers_row/contact_centers_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'dt-leftbar-row__container',\n { 'dt-leftbar-row__container--off-duty': $slots.timer },\n ]\"\n >\n <div\n :class=\"leftbarContactCentersRowClasses\"\n data-qa=\"dt-recipe-contact-centers-row\"\n >\n <a\n class=\"dt-leftbar-row__primary\"\n :data-qa=\"$attrs['data-qa'] ?? 'dt-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"$attrs.href ?? 'javascript:void(0)'\"\n v-bind=\"$attrs\"\n v-on=\"contactRowListeners\"\n @click=\"$emit('click', $event)\"\n >\n <div class=\"dt-leftbar-row__alpha\">\n <dt-icon-headphones\n size=\"300\"\n data-qa=\"dt-leftbar-row-icon\"\n />\n </div>\n <div\n class=\"dt-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </div>\n </a>\n <div\n v-if=\"!hideActions\"\n class=\"dt-leftbar-row__omega\"\n >\n <slot name=\"right\" />\n <div class=\"dt-leftbar-row__action-container\">\n <dt-badge\n v-if=\"showUnreadCount\"\n class=\"dt-leftbar-row__unread-badge\"\n data-qa=\"dt-leftbar-row-unread-badge\"\n kind=\"count\"\n type=\"bulletin\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-button\n class=\"dt-leftbar-row__action\"\n data-qa=\"dt-leftbar-row-action-button\"\n :aria-label=\"menuButtonAriaLabel\"\n importance=\"clear\"\n size=\"xs\"\n circle\n @click.stop=\"$emit('click-menu', $event)\"\n >\n <template #icon>\n <dt-icon-chevron-down size=\"100\" />\n </template>\n </dt-button>\n </div>\n </div>\n </div>\n <div class=\"dt-leftbar-row__bottom\">\n <slot name=\"timer\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { extractVueListeners, safeConcatStrings } from '@/common/utils';\nimport { DtBadge } from '@/components/badge';\nimport { DtButton } from '@/components/button';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtIconChevronDown from '@dialpad/dialtone-icons/vue3/chevron-down';\nimport DtIconHeadphones from '@dialpad/dialtone-icons/vue3/headphones';\n\nexport default {\n name: 'DtRecipeContactCentersRow',\n\n components: {\n DtButton,\n DtBadge,\n DtEmojiTextWrapper,\n DtIconHeadphones,\n DtIconChevronDown,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Will be read out by a screen reader upon focus of this row. If not defined \"description\" will be read.\n */\n ariaLabel: {\n type: String,\n default: '',\n },\n\n /**\n * Text displayed next to the icon. Required.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Making this true will hide the unread count badge, the chevron button, and the right slot\n */\n
|
|
1
|
+
{"version":3,"file":"contact-centers-row.cjs","sources":["../../recipes/leftbar/contact_centers_row/contact_centers_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'dt-leftbar-row__container',\n { 'dt-leftbar-row__container--off-duty': $slots.timer },\n ]\"\n >\n <div\n :class=\"leftbarContactCentersRowClasses\"\n data-qa=\"dt-recipe-contact-centers-row\"\n >\n <a\n class=\"dt-leftbar-row__primary\"\n :data-qa=\"$attrs['data-qa'] ?? 'dt-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"$attrs.href ?? 'javascript:void(0)'\"\n v-bind=\"$attrs\"\n v-on=\"contactRowListeners\"\n @click=\"$emit('click', $event)\"\n >\n <div class=\"dt-leftbar-row__alpha\">\n <dt-icon-headphones\n size=\"300\"\n data-qa=\"dt-leftbar-row-icon\"\n />\n </div>\n <div\n class=\"dt-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </div>\n </a>\n <div\n v-if=\"!hideActions\"\n class=\"dt-leftbar-row__omega\"\n >\n <slot name=\"right\" />\n <div class=\"dt-leftbar-row__action-container\">\n <dt-badge\n v-if=\"showUnreadCount\"\n class=\"dt-leftbar-row__unread-badge\"\n data-qa=\"dt-leftbar-row-unread-badge\"\n kind=\"count\"\n type=\"bulletin\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-button\n class=\"dt-leftbar-row__action\"\n data-qa=\"dt-leftbar-row-action-button\"\n :aria-label=\"menuButtonAriaLabel\"\n importance=\"clear\"\n size=\"xs\"\n circle\n @click.stop=\"$emit('click-menu', $event)\"\n >\n <template #icon>\n <dt-icon-chevron-down size=\"100\" />\n </template>\n </dt-button>\n </div>\n </div>\n </div>\n <div class=\"dt-leftbar-row__bottom\">\n <slot name=\"timer\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { extractVueListeners, safeConcatStrings } from '@/common/utils';\nimport { DtBadge } from '@/components/badge';\nimport { DtButton } from '@/components/button';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtIconChevronDown from '@dialpad/dialtone-icons/vue3/chevron-down';\nimport DtIconHeadphones from '@dialpad/dialtone-icons/vue3/headphones';\n\nexport default {\n name: 'DtRecipeContactCentersRow',\n\n components: {\n DtButton,\n DtBadge,\n DtEmojiTextWrapper,\n DtIconHeadphones,\n DtIconChevronDown,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Will be read out by a screen reader upon focus of this row. If not defined \"description\" will be read.\n */\n ariaLabel: {\n type: String,\n default: '',\n },\n\n /**\n * Text displayed next to the icon. Required.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Making this true will hide the unread count badge, the chevron button, and the right slot\n */\n hideActions: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages, could be a string to support '99+'\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Aria label for the menu button.\n */\n menuButtonAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Menu button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click-menu',\n ],\n\n data () {\n return {\n labelWidth: 'auto',\n };\n },\n\n computed: {\n leftbarContactCentersRowClasses () {\n return [\n 'dt-leftbar-row',\n 'dt-leftbar-row--contact-centers',\n {\n 'dt-leftbar-row--unread-count': this.showUnreadCount,\n 'dt-leftbar-row--selected': this.selected,\n },\n ];\n },\n\n getAriaLabel () {\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([this.description, this.unreadCountTooltip]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n showUnreadCount () {\n return !!this.unreadCount;\n },\n },\n\n watch: {\n $props: {\n deep: true,\n async handler () {\n await this.$nextTick();\n this.adjustLabelWidth();\n },\n },\n },\n\n mounted () {\n this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);\n this.resizeObserver.observe(this.$el);\n this.adjustLabelWidth();\n },\n\n beforeUnmount: function () {\n this.resizeObserver.disconnect();\n },\n\n methods: {\n adjustLabelWidth () {\n const labelWidth = this.$el?.querySelector('.dt-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = this.$el?.querySelector('.dt-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = this.$el?.querySelector('.dt-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 12;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n@import \"../style/leftbar_row.less\";\n</style>\n"],"names":["DtButton","DtBadge","DtEmojiTextWrapper","safeConcatStrings","extractVueListeners","_createElementBlock","_normalizeClass","_createElementVNode","_mergeProps","_toHandlers","_createVNode","_openBlock","_renderSlot","_createBlock","_withModifiers"],"mappings":"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"}
|
|
@@ -56,11 +56,11 @@ const _sfc_main = {
|
|
|
56
56
|
default: false
|
|
57
57
|
},
|
|
58
58
|
/**
|
|
59
|
-
* Number of unread messages
|
|
59
|
+
* Number of unread messages, could be a string to support '99+'
|
|
60
60
|
*/
|
|
61
61
|
unreadCount: {
|
|
62
|
-
type:
|
|
63
|
-
default:
|
|
62
|
+
type: String,
|
|
63
|
+
default: null
|
|
64
64
|
},
|
|
65
65
|
/**
|
|
66
66
|
* Aria label for the menu button.
|
|
@@ -109,7 +109,7 @@ const _sfc_main = {
|
|
|
109
109
|
return extractVueListeners(this.$attrs);
|
|
110
110
|
},
|
|
111
111
|
showUnreadCount() {
|
|
112
|
-
return this.unreadCount
|
|
112
|
+
return !!this.unreadCount;
|
|
113
113
|
}
|
|
114
114
|
},
|
|
115
115
|
watch: {
|
|
@@ -232,7 +232,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
232
232
|
])
|
|
233
233
|
], 2);
|
|
234
234
|
}
|
|
235
|
-
const contact_centers_row = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
235
|
+
const contact_centers_row = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-0f361db5"]]);
|
|
236
236
|
export {
|
|
237
237
|
contact_centers_row as DtRecipeContactCentersRow
|
|
238
238
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact-centers-row.js","sources":["../../recipes/leftbar/contact_centers_row/contact_centers_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'dt-leftbar-row__container',\n { 'dt-leftbar-row__container--off-duty': $slots.timer },\n ]\"\n >\n <div\n :class=\"leftbarContactCentersRowClasses\"\n data-qa=\"dt-recipe-contact-centers-row\"\n >\n <a\n class=\"dt-leftbar-row__primary\"\n :data-qa=\"$attrs['data-qa'] ?? 'dt-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"$attrs.href ?? 'javascript:void(0)'\"\n v-bind=\"$attrs\"\n v-on=\"contactRowListeners\"\n @click=\"$emit('click', $event)\"\n >\n <div class=\"dt-leftbar-row__alpha\">\n <dt-icon-headphones\n size=\"300\"\n data-qa=\"dt-leftbar-row-icon\"\n />\n </div>\n <div\n class=\"dt-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </div>\n </a>\n <div\n v-if=\"!hideActions\"\n class=\"dt-leftbar-row__omega\"\n >\n <slot name=\"right\" />\n <div class=\"dt-leftbar-row__action-container\">\n <dt-badge\n v-if=\"showUnreadCount\"\n class=\"dt-leftbar-row__unread-badge\"\n data-qa=\"dt-leftbar-row-unread-badge\"\n kind=\"count\"\n type=\"bulletin\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-button\n class=\"dt-leftbar-row__action\"\n data-qa=\"dt-leftbar-row-action-button\"\n :aria-label=\"menuButtonAriaLabel\"\n importance=\"clear\"\n size=\"xs\"\n circle\n @click.stop=\"$emit('click-menu', $event)\"\n >\n <template #icon>\n <dt-icon-chevron-down size=\"100\" />\n </template>\n </dt-button>\n </div>\n </div>\n </div>\n <div class=\"dt-leftbar-row__bottom\">\n <slot name=\"timer\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { extractVueListeners, safeConcatStrings } from '@/common/utils';\nimport { DtBadge } from '@/components/badge';\nimport { DtButton } from '@/components/button';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtIconChevronDown from '@dialpad/dialtone-icons/vue3/chevron-down';\nimport DtIconHeadphones from '@dialpad/dialtone-icons/vue3/headphones';\n\nexport default {\n name: 'DtRecipeContactCentersRow',\n\n components: {\n DtButton,\n DtBadge,\n DtEmojiTextWrapper,\n DtIconHeadphones,\n DtIconChevronDown,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Will be read out by a screen reader upon focus of this row. If not defined \"description\" will be read.\n */\n ariaLabel: {\n type: String,\n default: '',\n },\n\n /**\n * Text displayed next to the icon. Required.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Making this true will hide the unread count badge, the chevron button, and the right slot\n */\n
|
|
1
|
+
{"version":3,"file":"contact-centers-row.js","sources":["../../recipes/leftbar/contact_centers_row/contact_centers_row.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'dt-leftbar-row__container',\n { 'dt-leftbar-row__container--off-duty': $slots.timer },\n ]\"\n >\n <div\n :class=\"leftbarContactCentersRowClasses\"\n data-qa=\"dt-recipe-contact-centers-row\"\n >\n <a\n class=\"dt-leftbar-row__primary\"\n :data-qa=\"$attrs['data-qa'] ?? 'dt-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"$attrs.href ?? 'javascript:void(0)'\"\n v-bind=\"$attrs\"\n v-on=\"contactRowListeners\"\n @click=\"$emit('click', $event)\"\n >\n <div class=\"dt-leftbar-row__alpha\">\n <dt-icon-headphones\n size=\"300\"\n data-qa=\"dt-leftbar-row-icon\"\n />\n </div>\n <div\n class=\"dt-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </div>\n </a>\n <div\n v-if=\"!hideActions\"\n class=\"dt-leftbar-row__omega\"\n >\n <slot name=\"right\" />\n <div class=\"dt-leftbar-row__action-container\">\n <dt-badge\n v-if=\"showUnreadCount\"\n class=\"dt-leftbar-row__unread-badge\"\n data-qa=\"dt-leftbar-row-unread-badge\"\n kind=\"count\"\n type=\"bulletin\"\n >\n {{ unreadCount }}\n </dt-badge>\n <dt-button\n class=\"dt-leftbar-row__action\"\n data-qa=\"dt-leftbar-row-action-button\"\n :aria-label=\"menuButtonAriaLabel\"\n importance=\"clear\"\n size=\"xs\"\n circle\n @click.stop=\"$emit('click-menu', $event)\"\n >\n <template #icon>\n <dt-icon-chevron-down size=\"100\" />\n </template>\n </dt-button>\n </div>\n </div>\n </div>\n <div class=\"dt-leftbar-row__bottom\">\n <slot name=\"timer\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { extractVueListeners, safeConcatStrings } from '@/common/utils';\nimport { DtBadge } from '@/components/badge';\nimport { DtButton } from '@/components/button';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtIconChevronDown from '@dialpad/dialtone-icons/vue3/chevron-down';\nimport DtIconHeadphones from '@dialpad/dialtone-icons/vue3/headphones';\n\nexport default {\n name: 'DtRecipeContactCentersRow',\n\n components: {\n DtButton,\n DtBadge,\n DtEmojiTextWrapper,\n DtIconHeadphones,\n DtIconChevronDown,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Will be read out by a screen reader upon focus of this row. If not defined \"description\" will be read.\n */\n ariaLabel: {\n type: String,\n default: '',\n },\n\n /**\n * Text displayed next to the icon. Required.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Making this true will hide the unread count badge, the chevron button, and the right slot\n */\n hideActions: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages, could be a string to support '99+'\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Aria label for the menu button.\n */\n menuButtonAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Menu button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click-menu',\n ],\n\n data () {\n return {\n labelWidth: 'auto',\n };\n },\n\n computed: {\n leftbarContactCentersRowClasses () {\n return [\n 'dt-leftbar-row',\n 'dt-leftbar-row--contact-centers',\n {\n 'dt-leftbar-row--unread-count': this.showUnreadCount,\n 'dt-leftbar-row--selected': this.selected,\n },\n ];\n },\n\n getAriaLabel () {\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([this.description, this.unreadCountTooltip]);\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n showUnreadCount () {\n return !!this.unreadCount;\n },\n },\n\n watch: {\n $props: {\n deep: true,\n async handler () {\n await this.$nextTick();\n this.adjustLabelWidth();\n },\n },\n },\n\n mounted () {\n this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);\n this.resizeObserver.observe(this.$el);\n this.adjustLabelWidth();\n },\n\n beforeUnmount: function () {\n this.resizeObserver.disconnect();\n },\n\n methods: {\n adjustLabelWidth () {\n const labelWidth = this.$el?.querySelector('.dt-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = this.$el?.querySelector('.dt-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = this.$el?.querySelector('.dt-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 12;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n@import \"../style/leftbar_row.less\";\n</style>\n"],"names":["DtEmojiTextWrapper","_createElementBlock","_normalizeClass","_createElementVNode","_mergeProps","_toHandlers","_createVNode","_openBlock","_renderSlot","_createBlock","_withModifiers"],"mappings":"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"}
|
|
@@ -58,6 +58,13 @@ const _sfc_main = {
|
|
|
58
58
|
type: String,
|
|
59
59
|
default: null
|
|
60
60
|
},
|
|
61
|
+
/**
|
|
62
|
+
* Avatar color to display if `avatarSrc` is empty.
|
|
63
|
+
*/
|
|
64
|
+
avatarColor: {
|
|
65
|
+
type: String,
|
|
66
|
+
default: null
|
|
67
|
+
},
|
|
61
68
|
/**
|
|
62
69
|
* Text describing the user's presence, such as "in a meeting"
|
|
63
70
|
*/
|
|
@@ -190,13 +197,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
190
197
|
"is-typing": $props.isTyping,
|
|
191
198
|
"call-button-tooltip": $props.callButtonTooltip,
|
|
192
199
|
"unread-count-tooltip": $props.unreadCountTooltip
|
|
193
|
-
}, _ctx.$attrs, vue.toHandlers($options.contactRowListeners), {
|
|
200
|
+
}, _ctx.$attrs, { "data-qa": "contact-row" }, vue.toHandlers($options.contactRowListeners), {
|
|
194
201
|
onCall: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("call", $event))
|
|
195
202
|
}), {
|
|
196
203
|
left: vue.withCtx(() => [
|
|
197
204
|
vue.createVNode(_component_dt_avatar, {
|
|
198
205
|
"full-name": $props.name,
|
|
199
206
|
"image-src": $props.avatarSrc,
|
|
207
|
+
color: $props.avatarColor,
|
|
200
208
|
"image-alt": "",
|
|
201
209
|
size: "sm",
|
|
202
210
|
seed: $props.avatarSeed,
|
|
@@ -209,7 +217,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
209
217
|
]),
|
|
210
218
|
key: "0"
|
|
211
219
|
} : void 0
|
|
212
|
-
]), 1032, ["full-name", "image-src", "seed", "presence"])
|
|
220
|
+
]), 1032, ["full-name", "image-src", "color", "seed", "presence"])
|
|
213
221
|
]),
|
|
214
222
|
label: vue.withCtx(() => [
|
|
215
223
|
vue.createVNode(_component_dt_emoji_text_wrapper, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact-row.cjs","sources":["../../recipes/leftbar/contact_row/contact_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :unread-count=\"unreadCount\"\n :description=\"contactDescription\"\n :has-unreads=\"hasUnreads\"\n :selected=\"selected\"\n :has-call-button=\"hasCallButton\"\n :muted=\"muted\"\n :is-typing=\"isTyping\"\n :call-button-tooltip=\"callButtonTooltip\"\n :unread-count-tooltip=\"unreadCountTooltip\"\n v-bind=\"$attrs\"\n v-on=\"contactRowListeners\"\n @call=\"$emit('call', $event)\"\n >\n <template #left>\n <dt-avatar\n :full-name=\"name\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n size=\"sm\"\n :seed=\"avatarSeed\"\n :presence=\"avatarPresence\"\n >\n <template\n v-if=\"noInitials\"\n #icon\n >\n <dt-icon-user\n :size=\"200\"\n />\n </template>\n </dt-avatar>\n </template>\n <template #label>\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ name }}\n </dt-emoji-text-wrapper>\n <div class=\"dt-leftbar-row__status\">\n <span\n v-if=\"presenceText\"\n data-qa=\"dt-leftbar-row-presence-text\"\n :class=\"['dt-leftbar-row__meta-context', presenceColorClass]\"\n >\n {{ presenceText }}\n </span>\n <dt-emoji-text-wrapper\n v-if=\"userStatus\"\n size=\"100\"\n element-type=\"span\"\n data-qa=\"dt-leftbar-row-user-status\"\n class=\"dt-leftbar-row__meta-custom\"\n >\n {{ userStatus }}\n </dt-emoji-text-wrapper>\n </div>\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\nimport { extractVueListeners, safeConcatStrings } from '@/common/utils';\nimport { DtIconUser } from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n name: 'DtRecipeContactRow',\n\n components: {\n DtAvatar,\n DtRecipeGeneralRow,\n DtEmojiTextWrapper,\n DtIconUser,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Optional avatar image url.\n * If not provided it will use the initial of the name.\n */\n avatarSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * defer validation to avatar component.\n * @values null, busy, away, offline, active\n */\n avatarPresence: {\n type: String,\n default: null,\n },\n\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: null,\n },\n\n /**\n * Text describing the user's presence, such as \"in a meeting\"\n */\n presenceText: {\n type: String,\n default: '',\n },\n\n /**\n * Name of the contact\n */\n name: {\n type: String,\n required: true,\n },\n\n /**\n * Status as set by the user.\n */\n userStatus: {\n type: String,\n default: '',\n },\n\n /**\n * Gives a faded style to be used when muted\n */\n muted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Initials will never be shown. Instead it will show a \"User\" icon.\n */\n noInitials: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows an \"is typing\" animation over the avatar when true.\n */\n isTyping: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the contact row should display a call button when hovered.\n */\n hasCallButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Text shown when the call button is hovered.\n */\n callButtonTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n /**\n * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n computed: {\n presenceColorClass () {\n switch (this.avatarPresence) {\n case 'active':\n return 'd-fc-success';\n case 'busy':\n return 'd-fc-critical';\n case 'away':\n return 'd-fc-warning';\n default:\n return undefined;\n }\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n contactDescription () {\n return safeConcatStrings([this.name, this.presenceText, this.userStatus]);\n },\n },\n};\n</script>\n"],"names":["DtAvatar","DtRecipeGeneralRow","DtEmojiTextWrapper","DtIconUser","extractVueListeners","safeConcatStrings","_openBlock","_createBlock","_mergeProps","_toHandlers","_createVNode","_createElementVNode","_createElementBlock"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"contact-row.cjs","sources":["../../recipes/leftbar/contact_row/contact_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :unread-count=\"unreadCount\"\n :description=\"contactDescription\"\n :has-unreads=\"hasUnreads\"\n :selected=\"selected\"\n :has-call-button=\"hasCallButton\"\n :muted=\"muted\"\n :is-typing=\"isTyping\"\n :call-button-tooltip=\"callButtonTooltip\"\n :unread-count-tooltip=\"unreadCountTooltip\"\n v-bind=\"$attrs\"\n data-qa=\"contact-row\"\n v-on=\"contactRowListeners\"\n @call=\"$emit('call', $event)\"\n >\n <template #left>\n <dt-avatar\n :full-name=\"name\"\n :image-src=\"avatarSrc\"\n :color=\"avatarColor\"\n image-alt=\"\"\n size=\"sm\"\n :seed=\"avatarSeed\"\n :presence=\"avatarPresence\"\n >\n <template\n v-if=\"noInitials\"\n #icon\n >\n <dt-icon-user\n :size=\"200\"\n />\n </template>\n </dt-avatar>\n </template>\n <template #label>\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ name }}\n </dt-emoji-text-wrapper>\n <div class=\"dt-leftbar-row__status\">\n <span\n v-if=\"presenceText\"\n data-qa=\"dt-leftbar-row-presence-text\"\n :class=\"['dt-leftbar-row__meta-context', presenceColorClass]\"\n >\n {{ presenceText }}\n </span>\n <dt-emoji-text-wrapper\n v-if=\"userStatus\"\n size=\"100\"\n element-type=\"span\"\n data-qa=\"dt-leftbar-row-user-status\"\n class=\"dt-leftbar-row__meta-custom\"\n >\n {{ userStatus }}\n </dt-emoji-text-wrapper>\n </div>\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\nimport { extractVueListeners, safeConcatStrings } from '@/common/utils';\nimport { DtIconUser } from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n name: 'DtRecipeContactRow',\n\n components: {\n DtAvatar,\n DtRecipeGeneralRow,\n DtEmojiTextWrapper,\n DtIconUser,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Optional avatar image url.\n * If not provided it will use the initial of the name.\n */\n avatarSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * defer validation to avatar component.\n * @values null, busy, away, offline, active\n */\n avatarPresence: {\n type: String,\n default: null,\n },\n\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: null,\n },\n\n /**\n * Avatar color to display if `avatarSrc` is empty.\n */\n avatarColor: {\n type: String,\n default: null,\n },\n\n /**\n * Text describing the user's presence, such as \"in a meeting\"\n */\n presenceText: {\n type: String,\n default: '',\n },\n\n /**\n * Name of the contact\n */\n name: {\n type: String,\n required: true,\n },\n\n /**\n * Status as set by the user.\n */\n userStatus: {\n type: String,\n default: '',\n },\n\n /**\n * Gives a faded style to be used when muted\n */\n muted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Initials will never be shown. Instead it will show a \"User\" icon.\n */\n noInitials: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows an \"is typing\" animation over the avatar when true.\n */\n isTyping: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the contact row should display a call button when hovered.\n */\n hasCallButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Text shown when the call button is hovered.\n */\n callButtonTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n /**\n * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n computed: {\n presenceColorClass () {\n switch (this.avatarPresence) {\n case 'active':\n return 'd-fc-success';\n case 'busy':\n return 'd-fc-critical';\n case 'away':\n return 'd-fc-warning';\n default:\n return undefined;\n }\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n contactDescription () {\n return safeConcatStrings([this.name, this.presenceText, this.userStatus]);\n },\n },\n};\n</script>\n"],"names":["DtAvatar","DtRecipeGeneralRow","DtEmojiTextWrapper","DtIconUser","extractVueListeners","safeConcatStrings","_openBlock","_createBlock","_mergeProps","_toHandlers","_createVNode","_createElementVNode","_createElementBlock"],"mappings":"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"}
|