@dialpad/dialtone-vue 2.37.2 → 2.39.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.
@@ -23,6 +23,30 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".enter-active,.leave-active{overflow:h
23
23
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
24
24
 
25
25
 
26
+ /***/ }),
27
+
28
+ /***/ 690:
29
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
30
+
31
+ "use strict";
32
+ __webpack_require__.r(__webpack_exports__);
33
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
34
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
35
+ /* harmony export */ });
36
+ /* harmony import */ var _node_modules_vue_cli_service_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(481);
37
+ /* harmony import */ var _node_modules_vue_cli_service_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_cli_service_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
38
+ /* harmony import */ var _node_modules_vue_cli_service_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(400);
39
+ /* harmony import */ var _node_modules_vue_cli_service_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_cli_service_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
40
+ // Imports
41
+
42
+
43
+ var ___CSS_LOADER_EXPORT___ = _node_modules_vue_cli_service_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_vue_cli_service_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
44
+ // Module
45
+ ___CSS_LOADER_EXPORT___.push([module.id, ".dt-empty-list-item{display:flex;align-items:center;justify-content:center;font-size:var(--fs-200);line-height:var(--lh4);padding:var(--su4) var(--su12)}", ""]);
46
+ // Exports
47
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
48
+
49
+
26
50
  /***/ }),
27
51
 
28
52
  /***/ 804:
@@ -282,7 +306,7 @@ __webpack_require__.r(__webpack_exports__);
282
306
 
283
307
  var ___CSS_LOADER_EXPORT___ = _node_modules_vue_cli_service_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_vue_cli_service_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
284
308
  // Module
285
- ___CSS_LOADER_EXPORT___.push([module.id, ".dt-recipe-callbar-button:not(.dt-recipe-callbar-button--circle){letter-spacing:-.011rem;line-height:1.6rem}.dt-recipe-callbar-button--circle{border-radius:var(--br-circle)}.dt-recipe-callbar-button.d-btn[disabled]{background-color:unset}.dt-recipe-callbar-button--circle.d-btn[disabled]{border-color:unset}.dt-recipe-callbar-button--active{--button--fc:var(--muted-color-hover);--button--bgc:hsla(var(--muted-color-hsl)/15%)}.dt-recipe-callbar-button--danger.dt-recipe-callbar-button--active{--button--bgc:hsla(var(--error-color-hsl)/10%);--button--fc:var(--error-color-hover)}.dt-recipe-callbar-button--danger.dt-recipe-callbar-button--active:hover{--button--bgc:hsla(var(--error-color-hsl)/20%);--button--fc:var(--error-color-hover)}", ""]);
309
+ ___CSS_LOADER_EXPORT___.push([module.id, ".dt-recipe-callbar-button:not(.dt-recipe-callbar-button--circle){letter-spacing:-.011rem;line-height:1.6rem}.dt-recipe-callbar-button--circle{border-radius:var(--br-circle)}.dt-recipe-callbar-button.d-btn[disabled]{background-color:unset}.dt-recipe-callbar-button--circle.d-btn[disabled]{border-color:unset}.dt-recipe-callbar-button--danger.dt-recipe-callbar-button--active{--button--bgc:hsla(var(--error-color-hsl)/10%);--button--fc:var(--error-color-hover)}.dt-recipe-callbar-button--danger.dt-recipe-callbar-button--active:hover{--button--bgc:hsla(var(--error-color-hsl)/20%);--button--fc:var(--error-color-hover)}.dt-recipe-callbar-button--active .base-button__icon,.dt-recipe-callbar-button--active:hover .base-button__icon{color:var(--primary-color)}", ""]);
286
310
  // Exports
287
311
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
288
312
 
@@ -498,6 +522,22 @@ var update = add("056a7866", content, true, {"sourceMap":false,"shadowMode":fals
498
522
 
499
523
  /***/ }),
500
524
 
525
+ /***/ 969:
526
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
527
+
528
+ // style-loader: Adds some css to the DOM by adding a <style> tag
529
+
530
+ // load the styles
531
+ var content = __webpack_require__(690);
532
+ if(content.__esModule) content = content.default;
533
+ if(typeof content === 'string') content = [[module.id, content, '']];
534
+ if(content.locals) module.exports = content.locals;
535
+ // add the styles to the DOM
536
+ var add = (__webpack_require__(402)/* ["default"] */ .Z)
537
+ var update = add("7aa1a0f9", content, true, {"sourceMap":false,"shadowMode":false});
538
+
539
+ /***/ }),
540
+
501
541
  /***/ 782:
502
542
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
503
543
 
@@ -1208,60 +1248,18 @@ if (typeof window !== 'undefined') {
1208
1248
  // Indicate to webpack that this file can be concatenated
1209
1249
  /* harmony default export */ const setPublicPath = (null);
1210
1250
 
1211
- ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/avatar/avatar.vue?vue&type=template&id=2820dd63&
1251
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/avatar/avatar.vue?vue&type=template&id=2ccfaa37&
1212
1252
  var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[
1213
1253
  'd-avatar',
1214
1254
  _vm.AVATAR_KIND_MODIFIERS[_vm.kind],
1215
1255
  _vm.AVATAR_SIZE_MODIFIERS[_vm.size],
1216
1256
  _vm.AVATAR_COLOR_MODIFIERS[_vm.color],
1217
- _vm.avatarClass ],attrs:{"id":_vm.id,"data-qa":"dt-avatar"}},[_vm._t("default")],2)}
1257
+ _vm.avatarClass ],attrs:{"id":_vm.id,"data-qa":"dt-avatar"}},[_vm._t("default"),(_vm.presence)?_c('dt-presence',_vm._b({class:[
1258
+ 'd-avatar__presence',
1259
+ _vm.AVATAR_PRESENCE_SIZE_MODIFIERS[_vm.size] ],attrs:{"presence":_vm.presence,"data-qa":"dt-presence"}},'dt-presence',_vm.presenceProps,false)):_vm._e()],2)}
1218
1260
  var staticRenderFns = []
1219
1261
 
1220
1262
 
1221
- ;// CONCATENATED MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
1222
- const external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject = require("vue");
1223
- var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject);
1224
- ;// CONCATENATED MODULE: ./components/avatar/avatar_constants.js
1225
- const AVATAR_KIND_MODIFIERS = {
1226
- default: '',
1227
- icon: 'd-avatar--icon',
1228
- initials: 'd-avatar--initials'
1229
- };
1230
- const AVATAR_SIZE_MODIFIERS = {
1231
- sm: 'd-avatar--sm',
1232
- md: 'd-avatar--md',
1233
- lg: 'd-avatar--lg'
1234
- };
1235
- const AVATAR_COLOR_MODIFIERS = {
1236
- base: '',
1237
- 'orange-200': 'd-avatar--orange-200',
1238
- 'orange-300': 'd-avatar--orange-300',
1239
- 'orange-400': 'd-avatar--orange-400',
1240
- 'orange-500': 'd-avatar--orange-500',
1241
- 'magenta-100': 'd-avatar--magenta-100',
1242
- 'magenta-200': 'd-avatar--magenta-200',
1243
- 'magenta-300': 'd-avatar--magenta-300',
1244
- 'magenta-400': 'd-avatar--magenta-400',
1245
- 'purple-200': 'd-avatar--purple-200',
1246
- 'purple-300': 'd-avatar--purple-300',
1247
- 'purple-400': 'd-avatar--purple-400',
1248
- 'purple-500': 'd-avatar--purple-500',
1249
- 'gold-100': 'd-avatar--gold-100',
1250
- 'gold-200': 'd-avatar--gold-200',
1251
- 'gold-300': 'd-avatar--gold-300',
1252
- 'gold-500': 'd-avatar--gold-500'
1253
- };
1254
- const AVATAR_ICON_SIZES = {
1255
- sm: '200',
1256
- md: '400',
1257
- lg: '500'
1258
- };
1259
- /* harmony default export */ const avatar_constants = ({
1260
- AVATAR_KIND_MODIFIERS,
1261
- AVATAR_SIZE_MODIFIERS,
1262
- AVATAR_COLOR_MODIFIERS,
1263
- AVATAR_ICON_SIZES
1264
- });
1265
1263
  ;// CONCATENATED MODULE: ./common/constants.js
1266
1264
  /* TODO: Move and sort these in a constants directory
1267
1265
 
@@ -1330,6 +1328,9 @@ const DEFAULT_PREFIX = 'dt';
1330
1328
  DEFAULT_VALIDATION_MESSAGE_TYPE,
1331
1329
  DEFAULT_PREFIX
1332
1330
  });
1331
+ ;// CONCATENATED MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
1332
+ const external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject = require("vue");
1333
+ var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject);
1333
1334
  ;// CONCATENATED MODULE: ./common/utils.js
1334
1335
 
1335
1336
 
@@ -1464,6 +1465,251 @@ const pascalCaseToKebabCase = string => {
1464
1465
  flushPromises,
1465
1466
  kebabCaseToPascalCase
1466
1467
  });
1468
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/presence/presence.vue?vue&type=template&id=30834c22&
1469
+ var presencevue_type_template_id_30834c22_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"d-presence",attrs:{"data-qa":"dt-presence","role":"status","aria-live":_vm.$attrs.ariaLive || 'off'}},[(_vm.srText)?_c('span',{staticClass:"sr-only",attrs:{"data-qa":"dt-presence-sr-text"}},[_vm._v(_vm._s(_vm.srText)+" ")]):_vm._e(),_c('div',{staticClass:"d-presence__inner",class:{
1470
+ 'd-presence__inner--active': _vm.presence === 'active',
1471
+ 'd-presence__inner--away': _vm.presence === 'away',
1472
+ 'd-presence__inner--busy': _vm.presence === 'busy',
1473
+ 'd-presence__inner--offline': _vm.presence === 'offline',
1474
+ }})])}
1475
+ var presencevue_type_template_id_30834c22_staticRenderFns = []
1476
+
1477
+
1478
+ ;// CONCATENATED MODULE: ./components/presence/presence_constants.js
1479
+ const PRESENCE_STATES = {
1480
+ BUSY: 'busy',
1481
+ AWAY: 'away',
1482
+ OFFLINE: 'offline',
1483
+ ACTIVE: 'active'
1484
+ };
1485
+ const PRESENCE_STATES_LIST = [PRESENCE_STATES.BUSY, PRESENCE_STATES.AWAY, PRESENCE_STATES.OFFLINE, PRESENCE_STATES.ACTIVE];
1486
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/presence/presence.vue?vue&type=script&lang=js&
1487
+ //
1488
+ //
1489
+ //
1490
+ //
1491
+ //
1492
+ //
1493
+ //
1494
+ //
1495
+ //
1496
+ //
1497
+ //
1498
+ //
1499
+ //
1500
+ //
1501
+ //
1502
+ //
1503
+ //
1504
+ //
1505
+ //
1506
+ //
1507
+ //
1508
+ //
1509
+ //
1510
+ //
1511
+
1512
+ /**
1513
+ * Presence is a user status visual indicator element.
1514
+ * @see https://dialpad.design/components/presence.html
1515
+ */
1516
+
1517
+ /* harmony default export */ const presencevue_type_script_lang_js_ = ({
1518
+ name: 'Presence',
1519
+ props: {
1520
+ /**
1521
+ * Determines the color of the inner presence circle, indicating status.
1522
+ * Accepts one of 4 values: 'busy', 'away', 'active', 'offline'
1523
+ */
1524
+ presence: {
1525
+ type: String,
1526
+ default: PRESENCE_STATES.ACTIVE,
1527
+ validator: role => {
1528
+ return PRESENCE_STATES_LIST.includes(role);
1529
+ }
1530
+ },
1531
+
1532
+ /**
1533
+ * Since Presence is a visual element, we need SRs to read out any state changes
1534
+ * that occur.
1535
+ * Text entered here will be read by assistive technology. If null this component will be ignored by AT.
1536
+ */
1537
+ srText: {
1538
+ type: String,
1539
+ default: null
1540
+ }
1541
+ }
1542
+ });
1543
+ ;// CONCATENATED MODULE: ./components/presence/presence.vue?vue&type=script&lang=js&
1544
+ /* harmony default export */ const presence_presencevue_type_script_lang_js_ = (presencevue_type_script_lang_js_);
1545
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
1546
+ /* globals __VUE_SSR_CONTEXT__ */
1547
+
1548
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
1549
+ // This module is a runtime utility for cleaner component module output and will
1550
+ // be included in the final webpack user bundle.
1551
+
1552
+ function normalizeComponent (
1553
+ scriptExports,
1554
+ render,
1555
+ staticRenderFns,
1556
+ functionalTemplate,
1557
+ injectStyles,
1558
+ scopeId,
1559
+ moduleIdentifier, /* server only */
1560
+ shadowMode /* vue-cli only */
1561
+ ) {
1562
+ // Vue.extend constructor export interop
1563
+ var options = typeof scriptExports === 'function'
1564
+ ? scriptExports.options
1565
+ : scriptExports
1566
+
1567
+ // render functions
1568
+ if (render) {
1569
+ options.render = render
1570
+ options.staticRenderFns = staticRenderFns
1571
+ options._compiled = true
1572
+ }
1573
+
1574
+ // functional template
1575
+ if (functionalTemplate) {
1576
+ options.functional = true
1577
+ }
1578
+
1579
+ // scopedId
1580
+ if (scopeId) {
1581
+ options._scopeId = 'data-v-' + scopeId
1582
+ }
1583
+
1584
+ var hook
1585
+ if (moduleIdentifier) { // server build
1586
+ hook = function (context) {
1587
+ // 2.3 injection
1588
+ context =
1589
+ context || // cached call
1590
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
1591
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
1592
+ // 2.2 with runInNewContext: true
1593
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
1594
+ context = __VUE_SSR_CONTEXT__
1595
+ }
1596
+ // inject component styles
1597
+ if (injectStyles) {
1598
+ injectStyles.call(this, context)
1599
+ }
1600
+ // register component module identifier for async chunk inferrence
1601
+ if (context && context._registeredComponents) {
1602
+ context._registeredComponents.add(moduleIdentifier)
1603
+ }
1604
+ }
1605
+ // used by ssr in case component is cached and beforeCreate
1606
+ // never gets called
1607
+ options._ssrRegister = hook
1608
+ } else if (injectStyles) {
1609
+ hook = shadowMode
1610
+ ? function () {
1611
+ injectStyles.call(
1612
+ this,
1613
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
1614
+ )
1615
+ }
1616
+ : injectStyles
1617
+ }
1618
+
1619
+ if (hook) {
1620
+ if (options.functional) {
1621
+ // for template-only hot-reload because in that case the render fn doesn't
1622
+ // go through the normalizer
1623
+ options._injectStyles = hook
1624
+ // register for functional component in vue file
1625
+ var originalRender = options.render
1626
+ options.render = function renderWithStyleInjection (h, context) {
1627
+ hook.call(context)
1628
+ return originalRender(h, context)
1629
+ }
1630
+ } else {
1631
+ // inject component registration as beforeCreate hook
1632
+ var existing = options.beforeCreate
1633
+ options.beforeCreate = existing
1634
+ ? [].concat(existing, hook)
1635
+ : [hook]
1636
+ }
1637
+ }
1638
+
1639
+ return {
1640
+ exports: scriptExports,
1641
+ options: options
1642
+ }
1643
+ }
1644
+
1645
+ ;// CONCATENATED MODULE: ./components/presence/presence.vue
1646
+
1647
+
1648
+
1649
+
1650
+
1651
+ /* normalize component */
1652
+ ;
1653
+ var component = normalizeComponent(
1654
+ presence_presencevue_type_script_lang_js_,
1655
+ presencevue_type_template_id_30834c22_render,
1656
+ presencevue_type_template_id_30834c22_staticRenderFns,
1657
+ false,
1658
+ null,
1659
+ null,
1660
+ null
1661
+
1662
+ )
1663
+
1664
+ /* harmony default export */ const presence = (component.exports);
1665
+ ;// CONCATENATED MODULE: ./components/presence/index.js
1666
+
1667
+
1668
+ ;// CONCATENATED MODULE: ./components/avatar/avatar_constants.js
1669
+ const AVATAR_KIND_MODIFIERS = {
1670
+ default: '',
1671
+ icon: 'd-avatar--icon',
1672
+ initials: 'd-avatar--initials'
1673
+ };
1674
+ const AVATAR_SIZE_MODIFIERS = {
1675
+ sm: 'd-avatar--sm',
1676
+ md: 'd-avatar--md',
1677
+ lg: 'd-avatar--lg'
1678
+ };
1679
+ const AVATAR_PRESENCE_SIZE_MODIFIERS = {
1680
+ md: 'd-avatar__presence--md',
1681
+ lg: 'd-avatar__presence--lg'
1682
+ };
1683
+ const AVATAR_COLOR_MODIFIERS = {
1684
+ base: '',
1685
+ 'orange-200': 'd-avatar--orange-200',
1686
+ 'orange-300': 'd-avatar--orange-300',
1687
+ 'orange-400': 'd-avatar--orange-400',
1688
+ 'orange-500': 'd-avatar--orange-500',
1689
+ 'magenta-100': 'd-avatar--magenta-100',
1690
+ 'magenta-200': 'd-avatar--magenta-200',
1691
+ 'magenta-300': 'd-avatar--magenta-300',
1692
+ 'magenta-400': 'd-avatar--magenta-400',
1693
+ 'purple-200': 'd-avatar--purple-200',
1694
+ 'purple-300': 'd-avatar--purple-300',
1695
+ 'purple-400': 'd-avatar--purple-400',
1696
+ 'purple-500': 'd-avatar--purple-500',
1697
+ 'gold-100': 'd-avatar--gold-100',
1698
+ 'gold-200': 'd-avatar--gold-200',
1699
+ 'gold-300': 'd-avatar--gold-300',
1700
+ 'gold-500': 'd-avatar--gold-500'
1701
+ };
1702
+ const AVATAR_ICON_SIZES = {
1703
+ sm: '200',
1704
+ md: '400',
1705
+ lg: '500'
1706
+ };
1707
+ /* harmony default export */ const avatar_constants = ({
1708
+ AVATAR_KIND_MODIFIERS,
1709
+ AVATAR_SIZE_MODIFIERS,
1710
+ AVATAR_COLOR_MODIFIERS,
1711
+ AVATAR_ICON_SIZES
1712
+ });
1467
1713
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/avatar/avatar.vue?vue&type=script&lang=js&
1468
1714
  //
1469
1715
  //
@@ -1482,6 +1728,17 @@ const pascalCaseToKebabCase = string => {
1482
1728
  //
1483
1729
  //
1484
1730
  //
1731
+ //
1732
+ //
1733
+ //
1734
+ //
1735
+ //
1736
+ //
1737
+ //
1738
+ //
1739
+ //
1740
+ //
1741
+
1485
1742
 
1486
1743
 
1487
1744
 
@@ -1492,6 +1749,9 @@ const pascalCaseToKebabCase = string => {
1492
1749
 
1493
1750
  /* harmony default export */ const avatarvue_type_script_lang_js_ = ({
1494
1751
  name: 'DtAvatar',
1752
+ components: {
1753
+ DtPresence: presence
1754
+ },
1495
1755
  inheritAttrs: false,
1496
1756
  props: {
1497
1757
  /**
@@ -1536,6 +1796,24 @@ const pascalCaseToKebabCase = string => {
1536
1796
  avatarClass: {
1537
1797
  type: [String, Array, Object],
1538
1798
  default: ''
1799
+ },
1800
+
1801
+ /**
1802
+ * Determines whether to show the presence indicator for
1803
+ * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',
1804
+ * or 'active'. By default, it's null and nothing is shown.
1805
+ */
1806
+ presence: {
1807
+ type: String,
1808
+ default: null
1809
+ },
1810
+
1811
+ /**
1812
+ * A set of props to be passed into the presence component.
1813
+ */
1814
+ presenceProps: {
1815
+ type: Object,
1816
+ default: () => ({})
1539
1817
  }
1540
1818
  },
1541
1819
 
@@ -1545,7 +1823,8 @@ const pascalCaseToKebabCase = string => {
1545
1823
  kind: 'initials',
1546
1824
  AVATAR_SIZE_MODIFIERS: AVATAR_SIZE_MODIFIERS,
1547
1825
  AVATAR_COLOR_MODIFIERS: AVATAR_COLOR_MODIFIERS,
1548
- AVATAR_KIND_MODIFIERS: AVATAR_KIND_MODIFIERS
1826
+ AVATAR_KIND_MODIFIERS: AVATAR_KIND_MODIFIERS,
1827
+ AVATAR_PRESENCE_SIZE_MODIFIERS: AVATAR_PRESENCE_SIZE_MODIFIERS
1549
1828
  };
1550
1829
  },
1551
1830
 
@@ -1606,106 +1885,6 @@ const pascalCaseToKebabCase = string => {
1606
1885
  });
1607
1886
  ;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=script&lang=js&
1608
1887
  /* harmony default export */ const avatar_avatarvue_type_script_lang_js_ = (avatarvue_type_script_lang_js_);
1609
- ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
1610
- /* globals __VUE_SSR_CONTEXT__ */
1611
-
1612
- // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
1613
- // This module is a runtime utility for cleaner component module output and will
1614
- // be included in the final webpack user bundle.
1615
-
1616
- function normalizeComponent (
1617
- scriptExports,
1618
- render,
1619
- staticRenderFns,
1620
- functionalTemplate,
1621
- injectStyles,
1622
- scopeId,
1623
- moduleIdentifier, /* server only */
1624
- shadowMode /* vue-cli only */
1625
- ) {
1626
- // Vue.extend constructor export interop
1627
- var options = typeof scriptExports === 'function'
1628
- ? scriptExports.options
1629
- : scriptExports
1630
-
1631
- // render functions
1632
- if (render) {
1633
- options.render = render
1634
- options.staticRenderFns = staticRenderFns
1635
- options._compiled = true
1636
- }
1637
-
1638
- // functional template
1639
- if (functionalTemplate) {
1640
- options.functional = true
1641
- }
1642
-
1643
- // scopedId
1644
- if (scopeId) {
1645
- options._scopeId = 'data-v-' + scopeId
1646
- }
1647
-
1648
- var hook
1649
- if (moduleIdentifier) { // server build
1650
- hook = function (context) {
1651
- // 2.3 injection
1652
- context =
1653
- context || // cached call
1654
- (this.$vnode && this.$vnode.ssrContext) || // stateful
1655
- (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
1656
- // 2.2 with runInNewContext: true
1657
- if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
1658
- context = __VUE_SSR_CONTEXT__
1659
- }
1660
- // inject component styles
1661
- if (injectStyles) {
1662
- injectStyles.call(this, context)
1663
- }
1664
- // register component module identifier for async chunk inferrence
1665
- if (context && context._registeredComponents) {
1666
- context._registeredComponents.add(moduleIdentifier)
1667
- }
1668
- }
1669
- // used by ssr in case component is cached and beforeCreate
1670
- // never gets called
1671
- options._ssrRegister = hook
1672
- } else if (injectStyles) {
1673
- hook = shadowMode
1674
- ? function () {
1675
- injectStyles.call(
1676
- this,
1677
- (options.functional ? this.parent : this).$root.$options.shadowRoot
1678
- )
1679
- }
1680
- : injectStyles
1681
- }
1682
-
1683
- if (hook) {
1684
- if (options.functional) {
1685
- // for template-only hot-reload because in that case the render fn doesn't
1686
- // go through the normalizer
1687
- options._injectStyles = hook
1688
- // register for functional component in vue file
1689
- var originalRender = options.render
1690
- options.render = function renderWithStyleInjection (h, context) {
1691
- hook.call(context)
1692
- return originalRender(h, context)
1693
- }
1694
- } else {
1695
- // inject component registration as beforeCreate hook
1696
- var existing = options.beforeCreate
1697
- options.beforeCreate = existing
1698
- ? [].concat(existing, hook)
1699
- : [hook]
1700
- }
1701
- }
1702
-
1703
- return {
1704
- exports: scriptExports,
1705
- options: options
1706
- }
1707
- }
1708
-
1709
1888
  ;// CONCATENATED MODULE: ./components/avatar/avatar.vue
1710
1889
 
1711
1890
 
@@ -1714,7 +1893,7 @@ function normalizeComponent (
1714
1893
 
1715
1894
  /* normalize component */
1716
1895
  ;
1717
- var component = normalizeComponent(
1896
+ var avatar_component = normalizeComponent(
1718
1897
  avatar_avatarvue_type_script_lang_js_,
1719
1898
  render,
1720
1899
  staticRenderFns,
@@ -1725,7 +1904,7 @@ var component = normalizeComponent(
1725
1904
 
1726
1905
  )
1727
1906
 
1728
- /* harmony default export */ const avatar = (component.exports);
1907
+ /* harmony default export */ const avatar = (avatar_component.exports);
1729
1908
  ;// CONCATENATED MODULE: ./components/avatar/index.js
1730
1909
 
1731
1910
 
@@ -3732,9 +3911,9 @@ var card_component = normalizeComponent(
3732
3911
  /* harmony default export */ const card = (card_component.exports);
3733
3912
  ;// CONCATENATED MODULE: ./components/card/index.js
3734
3913
 
3735
- ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/combobox/combobox.vue?vue&type=template&id=397ad57a&
3736
- var comboboxvue_type_template_id_397ad57a_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{on:{"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }$event.stopPropagation();return _vm.onKeyValidation($event, 'onEscapeKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.onKeyValidation($event, 'onEnterKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"up",38,$event.key,["Up","ArrowUp"])){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onUpKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"down",40,$event.key,["Down","ArrowDown"])){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onDownKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"home",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onHomeKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"end",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onEndKey')}]}},[_c('div',{attrs:{"data-qa":"dt-combobox-input-wrapper"}},[_vm._t("input",null,{"inputProps":_vm.inputProps})],2),(_vm.showList)?_c('div',{ref:"listWrapper",attrs:{"data-qa":"dt-combobox-list-wrapper"},on:{"mouseleave":_vm.clearHighlightIndex,"focusout":_vm.clearHighlightIndex,"!mousemove":function($event){return _vm.onMouseHighlight.apply(null, arguments)}}},[(_vm.loading && !_vm.listRenderedOutside)?_c('combobox-loading-list',_vm._b({},'combobox-loading-list',_vm.listProps,false)):(_vm.emptyList && _vm.emptyStateMessage && !_vm.listRenderedOutside)?_c('combobox-empty-list',_vm._b({attrs:{"message":_vm.emptyStateMessage}},'combobox-empty-list',_vm.listProps,false)):_vm._t("list",null,{"listProps":_vm.listProps,"opened":_vm.onOpen,"clearHighlightIndex":_vm.clearHighlightIndex})],2):_vm._e()])}
3737
- var comboboxvue_type_template_id_397ad57a_staticRenderFns = []
3914
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/combobox/combobox.vue?vue&type=template&id=ff49fc2c&
3915
+ var comboboxvue_type_template_id_ff49fc2c_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{on:{"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }$event.stopPropagation();return _vm.onKeyValidation($event, 'onEscapeKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.onKeyValidation($event, 'onEnterKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"up",38,$event.key,["Up","ArrowUp"])){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onUpKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"down",40,$event.key,["Down","ArrowDown"])){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onDownKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"home",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onHomeKey')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"end",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.onKeyValidation($event, 'onEndKey')}]}},[_c('div',{attrs:{"data-qa":"dt-combobox-input-wrapper"}},[_vm._t("input",null,{"inputProps":_vm.inputProps})],2),(_vm.showList)?_c('div',{ref:"listWrapper",attrs:{"data-qa":"dt-combobox-list-wrapper"},on:{"mouseleave":_vm.clearHighlightIndex,"focusout":_vm.clearHighlightIndex,"!mousemove":function($event){return _vm.onMouseHighlight.apply(null, arguments)}}},[(_vm.loading && !_vm.listRenderedOutside)?_c('combobox-loading-list',_vm._b({},'combobox-loading-list',_vm.listProps,false)):(_vm.emptyList && (_vm.emptyStateMessage || _vm.$slots.emptyListItem) && !_vm.listRenderedOutside)?_c('combobox-empty-list',_vm._b({attrs:{"message":_vm.emptyStateMessage,"item-class":_vm.emptyStateClass}},'combobox-empty-list',_vm.listProps,false),[_vm._t("emptyListItem")],2):_vm._t("list",null,{"listProps":_vm.listProps,"opened":_vm.onOpen,"clearHighlightIndex":_vm.clearHighlightIndex})],2):_vm._e()])}
3916
+ var comboboxvue_type_template_id_ff49fc2c_staticRenderFns = []
3738
3917
 
3739
3918
 
3740
3919
  ;// CONCATENATED MODULE: ./common/mixins/dom.js
@@ -5439,9 +5618,9 @@ var combobox_loading_list_component = normalizeComponent(
5439
5618
  )
5440
5619
 
5441
5620
  /* harmony default export */ const combobox_loading_list = (combobox_loading_list_component.exports);
5442
- ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/combobox/combobox_empty-list.vue?vue&type=template&id=ee5abe2c&
5443
- var combobox_empty_listvue_type_template_id_ee5abe2c_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',{staticClass:"d-p0",attrs:{"data-qa":"dt-combobox-empty-list"}},[_c('dt-list-item',{staticClass:"d-d-flex d-jc-center",attrs:{"role":"option","navigation-type":"none"}},[_c('span',[_vm._v(_vm._s(_vm.message))])])],1)}
5444
- var combobox_empty_listvue_type_template_id_ee5abe2c_staticRenderFns = []
5621
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/combobox/combobox_empty-list.vue?vue&type=template&id=53681200&
5622
+ var combobox_empty_listvue_type_template_id_53681200_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',{staticClass:"d-p0",attrs:{"data-qa":"dt-combobox-empty-list"}},[_vm._t("default",function(){return [_c('dt-list-item',{class:['dt-empty-list-item', _vm.itemClass],attrs:{"role":"option","navigation-type":"none","type":"custom"}},[_c('span',[_vm._v(_vm._s(_vm.message))])])]})],2)}
5623
+ var combobox_empty_listvue_type_template_id_53681200_staticRenderFns = []
5445
5624
 
5446
5625
 
5447
5626
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/combobox/combobox_empty-list.vue?vue&type=script&lang=js&
@@ -5460,6 +5639,9 @@ var combobox_empty_listvue_type_template_id_ee5abe2c_staticRenderFns = []
5460
5639
  //
5461
5640
  //
5462
5641
  //
5642
+ //
5643
+ //
5644
+ //
5463
5645
 
5464
5646
  /* harmony default export */ const combobox_empty_listvue_type_script_lang_js_ = ({
5465
5647
  name: 'ComboboxEmptyList',
@@ -5473,23 +5655,38 @@ var combobox_empty_listvue_type_template_id_ee5abe2c_staticRenderFns = []
5473
5655
  message: {
5474
5656
  type: String,
5475
5657
  required: true
5658
+ },
5659
+
5660
+ /**
5661
+ * Additional class name for the empty list element.
5662
+ * Can accept all of String, Object, and Array, i.e. has the
5663
+ * same api as Vue's built-in handling of the class attribute.
5664
+ */
5665
+ itemClass: {
5666
+ type: [String, Object, Array],
5667
+ default: ''
5476
5668
  }
5477
5669
  }
5478
5670
  });
5479
5671
  ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue?vue&type=script&lang=js&
5480
5672
  /* harmony default export */ const combobox_combobox_empty_listvue_type_script_lang_js_ = (combobox_empty_listvue_type_script_lang_js_);
5673
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-32[0].rules[0].use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32[0].rules[0].use[2]!./node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32[0].rules[0].use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32[0].rules[0].use[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/combobox/combobox_empty-list.vue?vue&type=style&index=0&lang=less&
5674
+ var combobox_empty_listvue_type_style_index_0_lang_less_ = __webpack_require__(969);
5675
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue?vue&type=style&index=0&lang=less&
5676
+
5481
5677
  ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue
5482
5678
 
5483
5679
 
5484
5680
 
5681
+ ;
5485
5682
 
5486
5683
 
5487
5684
  /* normalize component */
5488
- ;
5685
+
5489
5686
  var combobox_empty_list_component = normalizeComponent(
5490
5687
  combobox_combobox_empty_listvue_type_script_lang_js_,
5491
- combobox_empty_listvue_type_template_id_ee5abe2c_render,
5492
- combobox_empty_listvue_type_template_id_ee5abe2c_staticRenderFns,
5688
+ combobox_empty_listvue_type_template_id_53681200_render,
5689
+ combobox_empty_listvue_type_template_id_53681200_staticRenderFns,
5493
5690
  false,
5494
5691
  null,
5495
5692
  null,
@@ -5544,6 +5741,9 @@ var combobox_empty_list_component = normalizeComponent(
5544
5741
  //
5545
5742
  //
5546
5743
  //
5744
+ //
5745
+ //
5746
+ //
5547
5747
 
5548
5748
 
5549
5749
 
@@ -5649,6 +5849,16 @@ var combobox_empty_list_component = normalizeComponent(
5649
5849
  emptyStateMessage: {
5650
5850
  type: String,
5651
5851
  default: ''
5852
+ },
5853
+
5854
+ /**
5855
+ * Additional class name for the empty list element.
5856
+ * Can accept all of String, Object, and Array, i.e. has the
5857
+ * same api as Vue's built-in handling of the class attribute.
5858
+ */
5859
+ emptyStateClass: {
5860
+ type: [String, Object, Array],
5861
+ default: ''
5652
5862
  }
5653
5863
  },
5654
5864
  emits: [
@@ -5835,6 +6045,10 @@ var combobox_empty_list_component = normalizeComponent(
5835
6045
  },
5836
6046
 
5837
6047
  validateEmptyListProps() {
6048
+ if (this.$slots.emptyListItem) {
6049
+ return;
6050
+ }
6051
+
5838
6052
  if (this.emptyList && !this.emptyStateMessage || !this.emptyList && this.emptyStateMessage) {
5839
6053
  console.error(`Invalid props: you must pass both props emptyList and emptyStateMessage to show the
5840
6054
  empty message.`);
@@ -5855,8 +6069,8 @@ var combobox_empty_list_component = normalizeComponent(
5855
6069
  ;
5856
6070
  var combobox_component = normalizeComponent(
5857
6071
  combobox_comboboxvue_type_script_lang_js_,
5858
- comboboxvue_type_template_id_397ad57a_render,
5859
- comboboxvue_type_template_id_397ad57a_staticRenderFns,
6072
+ comboboxvue_type_template_id_ff49fc2c_render,
6073
+ comboboxvue_type_template_id_ff49fc2c_staticRenderFns,
5860
6074
  false,
5861
6075
  null,
5862
6076
  null,
@@ -19931,9 +20145,9 @@ var combobox_multi_select_component = normalizeComponent(
19931
20145
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/index.js
19932
20146
 
19933
20147
 
19934
- ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./recipes/buttons/callbar_button/callbar_button.vue?vue&type=template&id=7983be04&
19935
- var callbar_buttonvue_type_template_id_7983be04_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-tooltip',{attrs:{"id":_vm.id,"offset":[0, -12]},scopedSlots:_vm._u([{key:"anchor",fn:function(){return [_c('dt-button',_vm._g({class:_vm.callbarButtonClass,attrs:{"importance":_vm.circle ? 'outlined' : 'clear',"kind":"muted","icon-position":"top","disabled":_vm.disabled,"aria-label":_vm.ariaLabel,"label-class":"d-fs-100","width":"8.4rem"}},_vm.$listeners),[_vm._t("default"),_vm._t("icon",null,{"slot":"icon"})],2)]},proxy:true}],null,true)},[_vm._t("tooltip")],2)}
19936
- var callbar_buttonvue_type_template_id_7983be04_staticRenderFns = []
20148
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./recipes/buttons/callbar_button/callbar_button.vue?vue&type=template&id=739cffb4&
20149
+ var callbar_buttonvue_type_template_id_739cffb4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dt-tooltip',{attrs:{"id":_vm.id,"offset":[0, -12]},scopedSlots:_vm._u([{key:"anchor",fn:function(){return [_c('dt-button',_vm._g({class:_vm.callbarButtonClass,attrs:{"importance":_vm.circle ? 'outlined' : 'clear',"kind":"muted","icon-position":"top","disabled":_vm.disabled,"aria-label":_vm.ariaLabel,"label-class":"d-fs-100","width":"8.4rem"}},_vm.$listeners),[_vm._t("default"),_vm._t("icon",null,{"slot":"icon"})],2)]},proxy:true}],null,true)},[_vm._t("tooltip")],2)}
20150
+ var callbar_buttonvue_type_template_id_739cffb4_staticRenderFns = []
19937
20151
 
19938
20152
 
19939
20153
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./recipes/buttons/callbar_button/callbar_button.vue?vue&type=script&lang=js&
@@ -20085,8 +20299,8 @@ var callbar_buttonvue_type_style_index_0_lang_less_ = __webpack_require__(759);
20085
20299
 
20086
20300
  var callbar_button_component = normalizeComponent(
20087
20301
  callbar_button_callbar_buttonvue_type_script_lang_js_,
20088
- callbar_buttonvue_type_template_id_7983be04_render,
20089
- callbar_buttonvue_type_template_id_7983be04_staticRenderFns,
20302
+ callbar_buttonvue_type_template_id_739cffb4_render,
20303
+ callbar_buttonvue_type_template_id_739cffb4_staticRenderFns,
20090
20304
  false,
20091
20305
  null,
20092
20306
  null,