@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.
@@ -33,6 +33,30 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".enter-active,.leave-active{overflow:h
33
33
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
34
34
 
35
35
 
36
+ /***/ }),
37
+
38
+ /***/ 140:
39
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
40
+
41
+ "use strict";
42
+ __webpack_require__.r(__webpack_exports__);
43
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
44
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
45
+ /* harmony export */ });
46
+ /* harmony import */ var _node_modules_vue_cli_service_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(481);
47
+ /* 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__);
48
+ /* harmony import */ var _node_modules_vue_cli_service_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(400);
49
+ /* 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__);
50
+ // Imports
51
+
52
+
53
+ 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()));
54
+ // Module
55
+ ___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)}", ""]);
56
+ // Exports
57
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
58
+
59
+
36
60
  /***/ }),
37
61
 
38
62
  /***/ 276:
@@ -292,7 +316,7 @@ __webpack_require__.r(__webpack_exports__);
292
316
 
293
317
  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()));
294
318
  // Module
295
- ___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)}", ""]);
319
+ ___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)}", ""]);
296
320
  // Exports
297
321
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
298
322
 
@@ -508,6 +532,22 @@ var update = add("63ce6251", content, true, {"sourceMap":false,"shadowMode":fals
508
532
 
509
533
  /***/ }),
510
534
 
535
+ /***/ 464:
536
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
537
+
538
+ // style-loader: Adds some css to the DOM by adding a <style> tag
539
+
540
+ // load the styles
541
+ var content = __webpack_require__(140);
542
+ if(content.__esModule) content = content.default;
543
+ if(typeof content === 'string') content = [[module.id, content, '']];
544
+ if(content.locals) module.exports = content.locals;
545
+ // add the styles to the DOM
546
+ var add = (__webpack_require__(402)/* ["default"] */ .Z)
547
+ var update = add("e41fd2fe", content, true, {"sourceMap":false,"shadowMode":false});
548
+
549
+ /***/ }),
550
+
511
551
  /***/ 774:
512
552
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
513
553
 
@@ -1218,60 +1258,18 @@ if (typeof window !== 'undefined') {
1218
1258
  // Indicate to webpack that this file can be concatenated
1219
1259
  /* harmony default export */ const setPublicPath = (null);
1220
1260
 
1221
- ;// 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&
1261
+ ;// 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&
1222
1262
  var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[
1223
1263
  'd-avatar',
1224
1264
  _vm.AVATAR_KIND_MODIFIERS[_vm.kind],
1225
1265
  _vm.AVATAR_SIZE_MODIFIERS[_vm.size],
1226
1266
  _vm.AVATAR_COLOR_MODIFIERS[_vm.color],
1227
- _vm.avatarClass ],attrs:{"id":_vm.id,"data-qa":"dt-avatar"}},[_vm._t("default")],2)}
1267
+ _vm.avatarClass ],attrs:{"id":_vm.id,"data-qa":"dt-avatar"}},[_vm._t("default"),(_vm.presence)?_c('dt-presence',_vm._b({class:[
1268
+ 'd-avatar__presence',
1269
+ _vm.AVATAR_PRESENCE_SIZE_MODIFIERS[_vm.size] ],attrs:{"presence":_vm.presence,"data-qa":"dt-presence"}},'dt-presence',_vm.presenceProps,false)):_vm._e()],2)}
1228
1270
  var staticRenderFns = []
1229
1271
 
1230
1272
 
1231
- ;// CONCATENATED MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
1232
- const external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject = require("vue");
1233
- var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject);
1234
- ;// CONCATENATED MODULE: ./components/avatar/avatar_constants.js
1235
- const AVATAR_KIND_MODIFIERS = {
1236
- default: '',
1237
- icon: 'd-avatar--icon',
1238
- initials: 'd-avatar--initials'
1239
- };
1240
- const AVATAR_SIZE_MODIFIERS = {
1241
- sm: 'd-avatar--sm',
1242
- md: 'd-avatar--md',
1243
- lg: 'd-avatar--lg'
1244
- };
1245
- const AVATAR_COLOR_MODIFIERS = {
1246
- base: '',
1247
- 'orange-200': 'd-avatar--orange-200',
1248
- 'orange-300': 'd-avatar--orange-300',
1249
- 'orange-400': 'd-avatar--orange-400',
1250
- 'orange-500': 'd-avatar--orange-500',
1251
- 'magenta-100': 'd-avatar--magenta-100',
1252
- 'magenta-200': 'd-avatar--magenta-200',
1253
- 'magenta-300': 'd-avatar--magenta-300',
1254
- 'magenta-400': 'd-avatar--magenta-400',
1255
- 'purple-200': 'd-avatar--purple-200',
1256
- 'purple-300': 'd-avatar--purple-300',
1257
- 'purple-400': 'd-avatar--purple-400',
1258
- 'purple-500': 'd-avatar--purple-500',
1259
- 'gold-100': 'd-avatar--gold-100',
1260
- 'gold-200': 'd-avatar--gold-200',
1261
- 'gold-300': 'd-avatar--gold-300',
1262
- 'gold-500': 'd-avatar--gold-500'
1263
- };
1264
- const AVATAR_ICON_SIZES = {
1265
- sm: '200',
1266
- md: '400',
1267
- lg: '500'
1268
- };
1269
- /* harmony default export */ const avatar_constants = ({
1270
- AVATAR_KIND_MODIFIERS,
1271
- AVATAR_SIZE_MODIFIERS,
1272
- AVATAR_COLOR_MODIFIERS,
1273
- AVATAR_ICON_SIZES
1274
- });
1275
1273
  ;// CONCATENATED MODULE: ./common/constants.js
1276
1274
  /* TODO: Move and sort these in a constants directory
1277
1275
 
@@ -1340,6 +1338,9 @@ const DEFAULT_PREFIX = 'dt';
1340
1338
  DEFAULT_VALIDATION_MESSAGE_TYPE,
1341
1339
  DEFAULT_PREFIX
1342
1340
  });
1341
+ ;// CONCATENATED MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
1342
+ const external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject = require("vue");
1343
+ var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject);
1343
1344
  ;// CONCATENATED MODULE: ./common/utils.js
1344
1345
 
1345
1346
 
@@ -1474,6 +1475,251 @@ const pascalCaseToKebabCase = string => {
1474
1475
  flushPromises,
1475
1476
  kebabCaseToPascalCase
1476
1477
  });
1478
+ ;// 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&
1479
+ 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:{
1480
+ 'd-presence__inner--active': _vm.presence === 'active',
1481
+ 'd-presence__inner--away': _vm.presence === 'away',
1482
+ 'd-presence__inner--busy': _vm.presence === 'busy',
1483
+ 'd-presence__inner--offline': _vm.presence === 'offline',
1484
+ }})])}
1485
+ var presencevue_type_template_id_30834c22_staticRenderFns = []
1486
+
1487
+
1488
+ ;// CONCATENATED MODULE: ./components/presence/presence_constants.js
1489
+ const PRESENCE_STATES = {
1490
+ BUSY: 'busy',
1491
+ AWAY: 'away',
1492
+ OFFLINE: 'offline',
1493
+ ACTIVE: 'active'
1494
+ };
1495
+ const PRESENCE_STATES_LIST = [PRESENCE_STATES.BUSY, PRESENCE_STATES.AWAY, PRESENCE_STATES.OFFLINE, PRESENCE_STATES.ACTIVE];
1496
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-80[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&
1497
+ //
1498
+ //
1499
+ //
1500
+ //
1501
+ //
1502
+ //
1503
+ //
1504
+ //
1505
+ //
1506
+ //
1507
+ //
1508
+ //
1509
+ //
1510
+ //
1511
+ //
1512
+ //
1513
+ //
1514
+ //
1515
+ //
1516
+ //
1517
+ //
1518
+ //
1519
+ //
1520
+ //
1521
+
1522
+ /**
1523
+ * Presence is a user status visual indicator element.
1524
+ * @see https://dialpad.design/components/presence.html
1525
+ */
1526
+
1527
+ /* harmony default export */ const presencevue_type_script_lang_js_ = ({
1528
+ name: 'Presence',
1529
+ props: {
1530
+ /**
1531
+ * Determines the color of the inner presence circle, indicating status.
1532
+ * Accepts one of 4 values: 'busy', 'away', 'active', 'offline'
1533
+ */
1534
+ presence: {
1535
+ type: String,
1536
+ default: PRESENCE_STATES.ACTIVE,
1537
+ validator: role => {
1538
+ return PRESENCE_STATES_LIST.includes(role);
1539
+ }
1540
+ },
1541
+
1542
+ /**
1543
+ * Since Presence is a visual element, we need SRs to read out any state changes
1544
+ * that occur.
1545
+ * Text entered here will be read by assistive technology. If null this component will be ignored by AT.
1546
+ */
1547
+ srText: {
1548
+ type: String,
1549
+ default: null
1550
+ }
1551
+ }
1552
+ });
1553
+ ;// CONCATENATED MODULE: ./components/presence/presence.vue?vue&type=script&lang=js&
1554
+ /* harmony default export */ const presence_presencevue_type_script_lang_js_ = (presencevue_type_script_lang_js_);
1555
+ ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
1556
+ /* globals __VUE_SSR_CONTEXT__ */
1557
+
1558
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
1559
+ // This module is a runtime utility for cleaner component module output and will
1560
+ // be included in the final webpack user bundle.
1561
+
1562
+ function normalizeComponent (
1563
+ scriptExports,
1564
+ render,
1565
+ staticRenderFns,
1566
+ functionalTemplate,
1567
+ injectStyles,
1568
+ scopeId,
1569
+ moduleIdentifier, /* server only */
1570
+ shadowMode /* vue-cli only */
1571
+ ) {
1572
+ // Vue.extend constructor export interop
1573
+ var options = typeof scriptExports === 'function'
1574
+ ? scriptExports.options
1575
+ : scriptExports
1576
+
1577
+ // render functions
1578
+ if (render) {
1579
+ options.render = render
1580
+ options.staticRenderFns = staticRenderFns
1581
+ options._compiled = true
1582
+ }
1583
+
1584
+ // functional template
1585
+ if (functionalTemplate) {
1586
+ options.functional = true
1587
+ }
1588
+
1589
+ // scopedId
1590
+ if (scopeId) {
1591
+ options._scopeId = 'data-v-' + scopeId
1592
+ }
1593
+
1594
+ var hook
1595
+ if (moduleIdentifier) { // server build
1596
+ hook = function (context) {
1597
+ // 2.3 injection
1598
+ context =
1599
+ context || // cached call
1600
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
1601
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
1602
+ // 2.2 with runInNewContext: true
1603
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
1604
+ context = __VUE_SSR_CONTEXT__
1605
+ }
1606
+ // inject component styles
1607
+ if (injectStyles) {
1608
+ injectStyles.call(this, context)
1609
+ }
1610
+ // register component module identifier for async chunk inferrence
1611
+ if (context && context._registeredComponents) {
1612
+ context._registeredComponents.add(moduleIdentifier)
1613
+ }
1614
+ }
1615
+ // used by ssr in case component is cached and beforeCreate
1616
+ // never gets called
1617
+ options._ssrRegister = hook
1618
+ } else if (injectStyles) {
1619
+ hook = shadowMode
1620
+ ? function () {
1621
+ injectStyles.call(
1622
+ this,
1623
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
1624
+ )
1625
+ }
1626
+ : injectStyles
1627
+ }
1628
+
1629
+ if (hook) {
1630
+ if (options.functional) {
1631
+ // for template-only hot-reload because in that case the render fn doesn't
1632
+ // go through the normalizer
1633
+ options._injectStyles = hook
1634
+ // register for functional component in vue file
1635
+ var originalRender = options.render
1636
+ options.render = function renderWithStyleInjection (h, context) {
1637
+ hook.call(context)
1638
+ return originalRender(h, context)
1639
+ }
1640
+ } else {
1641
+ // inject component registration as beforeCreate hook
1642
+ var existing = options.beforeCreate
1643
+ options.beforeCreate = existing
1644
+ ? [].concat(existing, hook)
1645
+ : [hook]
1646
+ }
1647
+ }
1648
+
1649
+ return {
1650
+ exports: scriptExports,
1651
+ options: options
1652
+ }
1653
+ }
1654
+
1655
+ ;// CONCATENATED MODULE: ./components/presence/presence.vue
1656
+
1657
+
1658
+
1659
+
1660
+
1661
+ /* normalize component */
1662
+ ;
1663
+ var component = normalizeComponent(
1664
+ presence_presencevue_type_script_lang_js_,
1665
+ presencevue_type_template_id_30834c22_render,
1666
+ presencevue_type_template_id_30834c22_staticRenderFns,
1667
+ false,
1668
+ null,
1669
+ null,
1670
+ null
1671
+
1672
+ )
1673
+
1674
+ /* harmony default export */ const presence = (component.exports);
1675
+ ;// CONCATENATED MODULE: ./components/presence/index.js
1676
+
1677
+
1678
+ ;// CONCATENATED MODULE: ./components/avatar/avatar_constants.js
1679
+ const AVATAR_KIND_MODIFIERS = {
1680
+ default: '',
1681
+ icon: 'd-avatar--icon',
1682
+ initials: 'd-avatar--initials'
1683
+ };
1684
+ const AVATAR_SIZE_MODIFIERS = {
1685
+ sm: 'd-avatar--sm',
1686
+ md: 'd-avatar--md',
1687
+ lg: 'd-avatar--lg'
1688
+ };
1689
+ const AVATAR_PRESENCE_SIZE_MODIFIERS = {
1690
+ md: 'd-avatar__presence--md',
1691
+ lg: 'd-avatar__presence--lg'
1692
+ };
1693
+ const AVATAR_COLOR_MODIFIERS = {
1694
+ base: '',
1695
+ 'orange-200': 'd-avatar--orange-200',
1696
+ 'orange-300': 'd-avatar--orange-300',
1697
+ 'orange-400': 'd-avatar--orange-400',
1698
+ 'orange-500': 'd-avatar--orange-500',
1699
+ 'magenta-100': 'd-avatar--magenta-100',
1700
+ 'magenta-200': 'd-avatar--magenta-200',
1701
+ 'magenta-300': 'd-avatar--magenta-300',
1702
+ 'magenta-400': 'd-avatar--magenta-400',
1703
+ 'purple-200': 'd-avatar--purple-200',
1704
+ 'purple-300': 'd-avatar--purple-300',
1705
+ 'purple-400': 'd-avatar--purple-400',
1706
+ 'purple-500': 'd-avatar--purple-500',
1707
+ 'gold-100': 'd-avatar--gold-100',
1708
+ 'gold-200': 'd-avatar--gold-200',
1709
+ 'gold-300': 'd-avatar--gold-300',
1710
+ 'gold-500': 'd-avatar--gold-500'
1711
+ };
1712
+ const AVATAR_ICON_SIZES = {
1713
+ sm: '200',
1714
+ md: '400',
1715
+ lg: '500'
1716
+ };
1717
+ /* harmony default export */ const avatar_constants = ({
1718
+ AVATAR_KIND_MODIFIERS,
1719
+ AVATAR_SIZE_MODIFIERS,
1720
+ AVATAR_COLOR_MODIFIERS,
1721
+ AVATAR_ICON_SIZES
1722
+ });
1477
1723
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-80[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&
1478
1724
  //
1479
1725
  //
@@ -1492,6 +1738,17 @@ const pascalCaseToKebabCase = string => {
1492
1738
  //
1493
1739
  //
1494
1740
  //
1741
+ //
1742
+ //
1743
+ //
1744
+ //
1745
+ //
1746
+ //
1747
+ //
1748
+ //
1749
+ //
1750
+ //
1751
+
1495
1752
 
1496
1753
 
1497
1754
 
@@ -1502,6 +1759,9 @@ const pascalCaseToKebabCase = string => {
1502
1759
 
1503
1760
  /* harmony default export */ const avatarvue_type_script_lang_js_ = ({
1504
1761
  name: 'DtAvatar',
1762
+ components: {
1763
+ DtPresence: presence
1764
+ },
1505
1765
  inheritAttrs: false,
1506
1766
  props: {
1507
1767
  /**
@@ -1546,6 +1806,24 @@ const pascalCaseToKebabCase = string => {
1546
1806
  avatarClass: {
1547
1807
  type: [String, Array, Object],
1548
1808
  default: ''
1809
+ },
1810
+
1811
+ /**
1812
+ * Determines whether to show the presence indicator for
1813
+ * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',
1814
+ * or 'active'. By default, it's null and nothing is shown.
1815
+ */
1816
+ presence: {
1817
+ type: String,
1818
+ default: null
1819
+ },
1820
+
1821
+ /**
1822
+ * A set of props to be passed into the presence component.
1823
+ */
1824
+ presenceProps: {
1825
+ type: Object,
1826
+ default: () => ({})
1549
1827
  }
1550
1828
  },
1551
1829
 
@@ -1555,7 +1833,8 @@ const pascalCaseToKebabCase = string => {
1555
1833
  kind: 'initials',
1556
1834
  AVATAR_SIZE_MODIFIERS: AVATAR_SIZE_MODIFIERS,
1557
1835
  AVATAR_COLOR_MODIFIERS: AVATAR_COLOR_MODIFIERS,
1558
- AVATAR_KIND_MODIFIERS: AVATAR_KIND_MODIFIERS
1836
+ AVATAR_KIND_MODIFIERS: AVATAR_KIND_MODIFIERS,
1837
+ AVATAR_PRESENCE_SIZE_MODIFIERS: AVATAR_PRESENCE_SIZE_MODIFIERS
1559
1838
  };
1560
1839
  },
1561
1840
 
@@ -1616,106 +1895,6 @@ const pascalCaseToKebabCase = string => {
1616
1895
  });
1617
1896
  ;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=script&lang=js&
1618
1897
  /* harmony default export */ const avatar_avatarvue_type_script_lang_js_ = (avatarvue_type_script_lang_js_);
1619
- ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
1620
- /* globals __VUE_SSR_CONTEXT__ */
1621
-
1622
- // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
1623
- // This module is a runtime utility for cleaner component module output and will
1624
- // be included in the final webpack user bundle.
1625
-
1626
- function normalizeComponent (
1627
- scriptExports,
1628
- render,
1629
- staticRenderFns,
1630
- functionalTemplate,
1631
- injectStyles,
1632
- scopeId,
1633
- moduleIdentifier, /* server only */
1634
- shadowMode /* vue-cli only */
1635
- ) {
1636
- // Vue.extend constructor export interop
1637
- var options = typeof scriptExports === 'function'
1638
- ? scriptExports.options
1639
- : scriptExports
1640
-
1641
- // render functions
1642
- if (render) {
1643
- options.render = render
1644
- options.staticRenderFns = staticRenderFns
1645
- options._compiled = true
1646
- }
1647
-
1648
- // functional template
1649
- if (functionalTemplate) {
1650
- options.functional = true
1651
- }
1652
-
1653
- // scopedId
1654
- if (scopeId) {
1655
- options._scopeId = 'data-v-' + scopeId
1656
- }
1657
-
1658
- var hook
1659
- if (moduleIdentifier) { // server build
1660
- hook = function (context) {
1661
- // 2.3 injection
1662
- context =
1663
- context || // cached call
1664
- (this.$vnode && this.$vnode.ssrContext) || // stateful
1665
- (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
1666
- // 2.2 with runInNewContext: true
1667
- if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
1668
- context = __VUE_SSR_CONTEXT__
1669
- }
1670
- // inject component styles
1671
- if (injectStyles) {
1672
- injectStyles.call(this, context)
1673
- }
1674
- // register component module identifier for async chunk inferrence
1675
- if (context && context._registeredComponents) {
1676
- context._registeredComponents.add(moduleIdentifier)
1677
- }
1678
- }
1679
- // used by ssr in case component is cached and beforeCreate
1680
- // never gets called
1681
- options._ssrRegister = hook
1682
- } else if (injectStyles) {
1683
- hook = shadowMode
1684
- ? function () {
1685
- injectStyles.call(
1686
- this,
1687
- (options.functional ? this.parent : this).$root.$options.shadowRoot
1688
- )
1689
- }
1690
- : injectStyles
1691
- }
1692
-
1693
- if (hook) {
1694
- if (options.functional) {
1695
- // for template-only hot-reload because in that case the render fn doesn't
1696
- // go through the normalizer
1697
- options._injectStyles = hook
1698
- // register for functional component in vue file
1699
- var originalRender = options.render
1700
- options.render = function renderWithStyleInjection (h, context) {
1701
- hook.call(context)
1702
- return originalRender(h, context)
1703
- }
1704
- } else {
1705
- // inject component registration as beforeCreate hook
1706
- var existing = options.beforeCreate
1707
- options.beforeCreate = existing
1708
- ? [].concat(existing, hook)
1709
- : [hook]
1710
- }
1711
- }
1712
-
1713
- return {
1714
- exports: scriptExports,
1715
- options: options
1716
- }
1717
- }
1718
-
1719
1898
  ;// CONCATENATED MODULE: ./components/avatar/avatar.vue
1720
1899
 
1721
1900
 
@@ -1724,7 +1903,7 @@ function normalizeComponent (
1724
1903
 
1725
1904
  /* normalize component */
1726
1905
  ;
1727
- var component = normalizeComponent(
1906
+ var avatar_component = normalizeComponent(
1728
1907
  avatar_avatarvue_type_script_lang_js_,
1729
1908
  render,
1730
1909
  staticRenderFns,
@@ -1735,7 +1914,7 @@ var component = normalizeComponent(
1735
1914
 
1736
1915
  )
1737
1916
 
1738
- /* harmony default export */ const avatar = (component.exports);
1917
+ /* harmony default export */ const avatar = (avatar_component.exports);
1739
1918
  ;// CONCATENATED MODULE: ./components/avatar/index.js
1740
1919
 
1741
1920
 
@@ -3742,9 +3921,9 @@ var card_component = normalizeComponent(
3742
3921
  /* harmony default export */ const card = (card_component.exports);
3743
3922
  ;// CONCATENATED MODULE: ./components/card/index.js
3744
3923
 
3745
- ;// 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&
3746
- 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()])}
3747
- var comboboxvue_type_template_id_397ad57a_staticRenderFns = []
3924
+ ;// 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&
3925
+ 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()])}
3926
+ var comboboxvue_type_template_id_ff49fc2c_staticRenderFns = []
3748
3927
 
3749
3928
 
3750
3929
  ;// CONCATENATED MODULE: ./common/mixins/dom.js
@@ -5449,9 +5628,9 @@ var combobox_loading_list_component = normalizeComponent(
5449
5628
  )
5450
5629
 
5451
5630
  /* harmony default export */ const combobox_loading_list = (combobox_loading_list_component.exports);
5452
- ;// 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&
5453
- 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)}
5454
- var combobox_empty_listvue_type_template_id_ee5abe2c_staticRenderFns = []
5631
+ ;// 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&
5632
+ 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)}
5633
+ var combobox_empty_listvue_type_template_id_53681200_staticRenderFns = []
5455
5634
 
5456
5635
 
5457
5636
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-80[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&
@@ -5470,6 +5649,9 @@ var combobox_empty_listvue_type_template_id_ee5abe2c_staticRenderFns = []
5470
5649
  //
5471
5650
  //
5472
5651
  //
5652
+ //
5653
+ //
5654
+ //
5473
5655
 
5474
5656
  /* harmony default export */ const combobox_empty_listvue_type_script_lang_js_ = ({
5475
5657
  name: 'ComboboxEmptyList',
@@ -5483,23 +5665,38 @@ var combobox_empty_listvue_type_template_id_ee5abe2c_staticRenderFns = []
5483
5665
  message: {
5484
5666
  type: String,
5485
5667
  required: true
5668
+ },
5669
+
5670
+ /**
5671
+ * Additional class name for the empty list element.
5672
+ * Can accept all of String, Object, and Array, i.e. has the
5673
+ * same api as Vue's built-in handling of the class attribute.
5674
+ */
5675
+ itemClass: {
5676
+ type: [String, Object, Array],
5677
+ default: ''
5486
5678
  }
5487
5679
  }
5488
5680
  });
5489
5681
  ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue?vue&type=script&lang=js&
5490
5682
  /* harmony default export */ const combobox_combobox_empty_listvue_type_script_lang_js_ = (combobox_empty_listvue_type_script_lang_js_);
5683
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-72[0].rules[0].use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-72[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-72[0].rules[0].use[2]!./node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-72[0].rules[0].use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-72[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&
5684
+ var combobox_empty_listvue_type_style_index_0_lang_less_ = __webpack_require__(464);
5685
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue?vue&type=style&index=0&lang=less&
5686
+
5491
5687
  ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue
5492
5688
 
5493
5689
 
5494
5690
 
5691
+ ;
5495
5692
 
5496
5693
 
5497
5694
  /* normalize component */
5498
- ;
5695
+
5499
5696
  var combobox_empty_list_component = normalizeComponent(
5500
5697
  combobox_combobox_empty_listvue_type_script_lang_js_,
5501
- combobox_empty_listvue_type_template_id_ee5abe2c_render,
5502
- combobox_empty_listvue_type_template_id_ee5abe2c_staticRenderFns,
5698
+ combobox_empty_listvue_type_template_id_53681200_render,
5699
+ combobox_empty_listvue_type_template_id_53681200_staticRenderFns,
5503
5700
  false,
5504
5701
  null,
5505
5702
  null,
@@ -5554,6 +5751,9 @@ var combobox_empty_list_component = normalizeComponent(
5554
5751
  //
5555
5752
  //
5556
5753
  //
5754
+ //
5755
+ //
5756
+ //
5557
5757
 
5558
5758
 
5559
5759
 
@@ -5659,6 +5859,16 @@ var combobox_empty_list_component = normalizeComponent(
5659
5859
  emptyStateMessage: {
5660
5860
  type: String,
5661
5861
  default: ''
5862
+ },
5863
+
5864
+ /**
5865
+ * Additional class name for the empty list element.
5866
+ * Can accept all of String, Object, and Array, i.e. has the
5867
+ * same api as Vue's built-in handling of the class attribute.
5868
+ */
5869
+ emptyStateClass: {
5870
+ type: [String, Object, Array],
5871
+ default: ''
5662
5872
  }
5663
5873
  },
5664
5874
  emits: [
@@ -5845,6 +6055,10 @@ var combobox_empty_list_component = normalizeComponent(
5845
6055
  },
5846
6056
 
5847
6057
  validateEmptyListProps() {
6058
+ if (this.$slots.emptyListItem) {
6059
+ return;
6060
+ }
6061
+
5848
6062
  if (this.emptyList && !this.emptyStateMessage || !this.emptyList && this.emptyStateMessage) {
5849
6063
  console.error(`Invalid props: you must pass both props emptyList and emptyStateMessage to show the
5850
6064
  empty message.`);
@@ -5865,8 +6079,8 @@ var combobox_empty_list_component = normalizeComponent(
5865
6079
  ;
5866
6080
  var combobox_component = normalizeComponent(
5867
6081
  combobox_comboboxvue_type_script_lang_js_,
5868
- comboboxvue_type_template_id_397ad57a_render,
5869
- comboboxvue_type_template_id_397ad57a_staticRenderFns,
6082
+ comboboxvue_type_template_id_ff49fc2c_render,
6083
+ comboboxvue_type_template_id_ff49fc2c_staticRenderFns,
5870
6084
  false,
5871
6085
  null,
5872
6086
  null,
@@ -19941,9 +20155,9 @@ var combobox_multi_select_component = normalizeComponent(
19941
20155
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/index.js
19942
20156
 
19943
20157
 
19944
- ;// 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&
19945
- 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)}
19946
- var callbar_buttonvue_type_template_id_7983be04_staticRenderFns = []
20158
+ ;// 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&
20159
+ 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)}
20160
+ var callbar_buttonvue_type_template_id_739cffb4_staticRenderFns = []
19947
20161
 
19948
20162
 
19949
20163
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-80[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&
@@ -20095,8 +20309,8 @@ var callbar_buttonvue_type_style_index_0_lang_less_ = __webpack_require__(736);
20095
20309
 
20096
20310
  var callbar_button_component = normalizeComponent(
20097
20311
  callbar_button_callbar_buttonvue_type_script_lang_js_,
20098
- callbar_buttonvue_type_template_id_7983be04_render,
20099
- callbar_buttonvue_type_template_id_7983be04_staticRenderFns,
20312
+ callbar_buttonvue_type_template_id_739cffb4_render,
20313
+ callbar_buttonvue_type_template_id_739cffb4_staticRenderFns,
20100
20314
  false,
20101
20315
  null,
20102
20316
  null,