@dialpad/dialtone-vue 3.3.0 → 3.6.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.
@@ -49,7 +49,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".dt-default-list-item,.dt-default-list
49
49
 
50
50
  /***/ }),
51
51
 
52
- /***/ 987:
52
+ /***/ 15:
53
53
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
54
54
 
55
55
  "use strict";
@@ -119,6 +119,54 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".tippy-box[data-popper-escaped] .d-pop
119
119
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
120
120
 
121
121
 
122
+ /***/ }),
123
+
124
+ /***/ 475:
125
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
126
+
127
+ "use strict";
128
+ __webpack_require__.r(__webpack_exports__);
129
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
130
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
131
+ /* harmony export */ });
132
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81);
133
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
134
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(645);
135
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
136
+ // Imports
137
+
138
+
139
+ var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
140
+ // Module
141
+ ___CSS_LOADER_EXPORT___.push([module.id, ".root-layout__header--sticky{position:-webkit-sticky;position:sticky;top:0}", ""]);
142
+ // Exports
143
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
144
+
145
+
146
+ /***/ }),
147
+
148
+ /***/ 669:
149
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
150
+
151
+ "use strict";
152
+ __webpack_require__.r(__webpack_exports__);
153
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
154
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
155
+ /* harmony export */ });
156
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81);
157
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
158
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(645);
159
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
160
+ // Imports
161
+
162
+
163
+ var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
164
+ // Module
165
+ ___CSS_LOADER_EXPORT___.push([module.id, ".root-layout__body{display:flex;flex-wrap:wrap;gap:0}.root-layout__body--invert{flex-direction:row-reverse}.root-layout__sidebar{flex-grow:1}.root-layout__content{flex-basis:0;flex-grow:999}", ""]);
166
+ // Exports
167
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
168
+
169
+
122
170
  /***/ }),
123
171
 
124
172
  /***/ 511:
@@ -145,7 +193,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".skeleton-placeholder{display:flex;str
145
193
 
146
194
  /***/ }),
147
195
 
148
- /***/ 635:
196
+ /***/ 71:
149
197
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
150
198
 
151
199
  "use strict";
@@ -377,19 +425,19 @@ var update = add("c62e22ae", content, true, {"sourceMap":false,"shadowMode":fals
377
425
 
378
426
  /***/ }),
379
427
 
380
- /***/ 366:
428
+ /***/ 213:
381
429
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
382
430
 
383
431
  // style-loader: Adds some css to the DOM by adding a <style> tag
384
432
 
385
433
  // load the styles
386
- var content = __webpack_require__(987);
434
+ var content = __webpack_require__(15);
387
435
  if(content.__esModule) content = content.default;
388
436
  if(typeof content === 'string') content = [[module.id, content, '']];
389
437
  if(content.locals) module.exports = content.locals;
390
438
  // add the styles to the DOM
391
439
  var add = (__webpack_require__(402)/* ["default"] */ .Z)
392
- var update = add("48240900", content, true, {"sourceMap":false,"shadowMode":false});
440
+ var update = add("7e5f7c46", content, true, {"sourceMap":false,"shadowMode":false});
393
441
 
394
442
  /***/ }),
395
443
 
@@ -425,6 +473,38 @@ var update = add("3123c041", content, true, {"sourceMap":false,"shadowMode":fals
425
473
 
426
474
  /***/ }),
427
475
 
476
+ /***/ 35:
477
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
478
+
479
+ // style-loader: Adds some css to the DOM by adding a <style> tag
480
+
481
+ // load the styles
482
+ var content = __webpack_require__(475);
483
+ if(content.__esModule) content = content.default;
484
+ if(typeof content === 'string') content = [[module.id, content, '']];
485
+ if(content.locals) module.exports = content.locals;
486
+ // add the styles to the DOM
487
+ var add = (__webpack_require__(402)/* ["default"] */ .Z)
488
+ var update = add("10cf22bb", content, true, {"sourceMap":false,"shadowMode":false});
489
+
490
+ /***/ }),
491
+
492
+ /***/ 516:
493
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
494
+
495
+ // style-loader: Adds some css to the DOM by adding a <style> tag
496
+
497
+ // load the styles
498
+ var content = __webpack_require__(669);
499
+ if(content.__esModule) content = content.default;
500
+ if(typeof content === 'string') content = [[module.id, content, '']];
501
+ if(content.locals) module.exports = content.locals;
502
+ // add the styles to the DOM
503
+ var add = (__webpack_require__(402)/* ["default"] */ .Z)
504
+ var update = add("6104adba", content, true, {"sourceMap":false,"shadowMode":false});
505
+
506
+ /***/ }),
507
+
428
508
  /***/ 878:
429
509
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
430
510
 
@@ -441,19 +521,19 @@ var update = add("6f5d0b60", content, true, {"sourceMap":false,"shadowMode":fals
441
521
 
442
522
  /***/ }),
443
523
 
444
- /***/ 96:
524
+ /***/ 126:
445
525
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
446
526
 
447
527
  // style-loader: Adds some css to the DOM by adding a <style> tag
448
528
 
449
529
  // load the styles
450
- var content = __webpack_require__(635);
530
+ var content = __webpack_require__(71);
451
531
  if(content.__esModule) content = content.default;
452
532
  if(typeof content === 'string') content = [[module.id, content, '']];
453
533
  if(content.locals) module.exports = content.locals;
454
534
  // add the styles to the DOM
455
535
  var add = (__webpack_require__(402)/* ["default"] */ .Z)
456
- var update = add("9886cd68", content, true, {"sourceMap":false,"shadowMode":false});
536
+ var update = add("762f0436", content, true, {"sourceMap":false,"shadowMode":false});
457
537
 
458
538
  /***/ }),
459
539
 
@@ -1055,8 +1135,11 @@ __webpack_require__.d(__webpack_exports__, {
1055
1135
  "DtPopover": () => (/* reexport */ popover),
1056
1136
  "DtRadio": () => (/* reexport */ radio_radio),
1057
1137
  "DtRadioGroup": () => (/* reexport */ radio_group),
1138
+ "DtRecipeComboboxMultiSelect": () => (/* reexport */ combobox_multi_select),
1139
+ "DtRecipeComboboxWithPopover": () => (/* reexport */ combobox_with_popover),
1058
1140
  "DtRecipeContactInfo": () => (/* reexport */ contact_info),
1059
1141
  "DtRecipeTopBannerInfo": () => (/* reexport */ top_banner_info),
1142
+ "DtRootLayout": () => (/* reexport */ root_layout),
1060
1143
  "DtSelectMenu": () => (/* reexport */ select_menu),
1061
1144
  "DtSkeleton": () => (/* reexport */ skeleton_skeleton),
1062
1145
  "DtSkeletonListItem": () => (/* reexport */ skeleton_list_item),
@@ -1083,6 +1166,7 @@ __webpack_require__.d(__webpack_exports__, {
1083
1166
  "POPOVER_INITIAL_FOCUS_STRINGS": () => (/* reexport */ POPOVER_INITIAL_FOCUS_STRINGS),
1084
1167
  "POPOVER_PADDING_CLASSES": () => (/* reexport */ POPOVER_PADDING_CLASSES),
1085
1168
  "POPOVER_ROLES": () => (/* reexport */ POPOVER_ROLES),
1169
+ "ROOT_LAYOUT_SIDEBAR_POSITIONS": () => (/* reexport */ ROOT_LAYOUT_SIDEBAR_POSITIONS),
1086
1170
  "SELECT_SIZE_MODIFIERS": () => (/* reexport */ SELECT_SIZE_MODIFIERS),
1087
1171
  "SELECT_STATE_MODIFIERS": () => (/* reexport */ SELECT_STATE_MODIFIERS),
1088
1172
  "SHORTCUTS_ALIASES": () => (/* reexport */ SHORTCUTS_ALIASES),
@@ -1146,7 +1230,7 @@ if (typeof window !== 'undefined') {
1146
1230
 
1147
1231
  ;// CONCATENATED MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
1148
1232
  const external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject = require("vue");
1149
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/avatar/avatar.vue?vue&type=template&id=3dcc5cfa
1233
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/avatar/avatar.vue?vue&type=template&id=a43ab9f6
1150
1234
 
1151
1235
  const _hoisted_1 = ["id"];
1152
1236
  function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -1156,7 +1240,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1156
1240
  "data-qa": "dt-avatar"
1157
1241
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1);
1158
1242
  }
1159
- ;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=template&id=3dcc5cfa
1243
+ ;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=template&id=a43ab9f6
1160
1244
 
1161
1245
  ;// CONCATENATED MODULE: ./components/avatar/avatar_constants.js
1162
1246
  const AVATAR_KIND_MODIFIERS = {
@@ -1414,16 +1498,23 @@ const flushPromises = () => {
1414
1498
  const firstChild = this.$el.children[0];
1415
1499
 
1416
1500
  if (firstChild) {
1417
- this.validateElementType(firstChild);
1418
1501
  this.setKind(firstChild);
1419
1502
  this.validateImageAttrsPresence();
1420
1503
  }
1421
1504
  },
1422
1505
 
1423
1506
  setKind(element) {
1424
- if (this.isSvgType(element)) this.kind = 'icon';
1425
- if (this.isImageType(element)) this.kind = 'image';
1426
- if (this.isInitialsType(element)) this.kind = 'initials';
1507
+ if (this.isSvgType(element)) {
1508
+ this.kind = 'icon';
1509
+ return;
1510
+ }
1511
+
1512
+ if (this.isImageType(element)) {
1513
+ this.kind = 'image';
1514
+ return;
1515
+ }
1516
+
1517
+ this.kind = 'initials';
1427
1518
  },
1428
1519
 
1429
1520
  isSvgType(element) {
@@ -1438,15 +1529,6 @@ const flushPromises = () => {
1438
1529
  return (element === null || element === void 0 ? void 0 : (_element$tagName2 = element.tagName) === null || _element$tagName2 === void 0 ? void 0 : _element$tagName2.toUpperCase()) === 'IMG';
1439
1530
  },
1440
1531
 
1441
- isInitialsType(element) {
1442
- return (element === null || element === void 0 ? void 0 : element.nodeType) === Node.TEXT_NODE;
1443
- },
1444
-
1445
- validateElementType(element) {
1446
- if (this.isInitialsType(element) || this.isSvgType(element) || this.isImageType(element)) return;
1447
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.warn)('img, svg, and raw text are the only valid elements to put inside the avatar', this);
1448
- },
1449
-
1450
1532
  validateImageAttrsPresence() {
1451
1533
  if (this.kind === 'image') {
1452
1534
  // Check that default slot image required attributes are provided
@@ -3013,6 +3095,7 @@ function comboboxvue_type_template_id_4901dce5_render(_ctx, _cache, $props, $set
3013
3095
  * the root element of the component.
3014
3096
  */
3015
3097
 
3098
+ const ERROR_INVALID_LIST_ELEMENT = 'listElementKey is required or the referenced ' + 'element doesn\'t exist. Received listElement: ';
3016
3099
  /* harmony default export */ const keyboard_list_navigation = (function () {
3017
3100
  let {
3018
3101
  // Role of the list items in the component. This is used to identify the list items
@@ -3036,7 +3119,7 @@ function comboboxvue_type_template_id_4901dce5_render(_ctx, _cache, $props, $set
3036
3119
  endOfListMethod = null,
3037
3120
  // Scroll the active element into view when highlighted by a keyboard event.
3038
3121
  scrollToOnHighlight = true,
3039
- // Focus the active element on keyboard navigation
3122
+ // Focus the active element on keyboard navigation.
3040
3123
  focusOnKeyboardNavigation = false
3041
3124
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3042
3125
  return {
@@ -3070,14 +3153,25 @@ function comboboxvue_type_template_id_4901dce5_render(_ctx, _cache, $props, $set
3070
3153
  // Gets the length of all the items in the list, uses the listItemRole param to determine
3071
3154
  // whether an element is a list item.
3072
3155
  _itemsLength() {
3156
+ const listItems = this._getListItemNodes();
3157
+
3158
+ if (listItems === null) {
3159
+ return 0;
3160
+ }
3161
+
3162
+ return listItems.length;
3163
+ },
3164
+
3165
+ // Gets all the list item nodes within the list element
3166
+ _getListItemNodes() {
3073
3167
  const listElement = this._getListElement();
3074
3168
 
3075
3169
  if (!listElement) {
3076
- console.error("listElementKey is required or the referenced element doesn't exist. Received\n listElement: ", listElement);
3077
- return 0;
3170
+ console.error(ERROR_INVALID_LIST_ELEMENT, listElement);
3171
+ return null;
3078
3172
  }
3079
3173
 
3080
- return listElement.querySelectorAll("[role=\"".concat(listItemRole, "\"]")).length;
3174
+ return Array.from(listElement.querySelectorAll("[role=\"".concat(listItemRole, "\"]")));
3081
3175
  },
3082
3176
 
3083
3177
  onUpKey() {
@@ -3122,6 +3216,35 @@ function comboboxvue_type_template_id_4901dce5_render(_ctx, _cache, $props, $set
3122
3216
  this.focusActiveItemIfNeeded();
3123
3217
  },
3124
3218
 
3219
+ onNavigationKey(key) {
3220
+ const listItems = this._getListItemNodes();
3221
+
3222
+ const matchingItems = listItems.filter(item => {
3223
+ const content = item.textContent.trim().toLowerCase();
3224
+ return content.startsWith(key.toLowerCase());
3225
+ });
3226
+
3227
+ if (matchingItems.length <= 0) {
3228
+ return;
3229
+ }
3230
+
3231
+ const highlightedMatchingItemIndex = matchingItems.findIndex(item => {
3232
+ return this[indexKey] === listItems.indexOf(item);
3233
+ });
3234
+ const nextHighlightedItemIndex = listItems.indexOf(highlightedMatchingItemIndex < matchingItems.length - 1 ? matchingItems[highlightedMatchingItemIndex + 1] : matchingItems[0]);
3235
+ this.setHighlightIndex(nextHighlightedItemIndex);
3236
+ this.scrollActiveItemIntoViewIfNeeded();
3237
+ this.focusActiveItemIfNeeded();
3238
+ },
3239
+
3240
+ isValidLetter(key) {
3241
+ if (key.length > 1) {
3242
+ return false;
3243
+ }
3244
+
3245
+ return key >= 'a' && key <= 'z' || key >= 'A' && key <= 'Z';
3246
+ },
3247
+
3125
3248
  jumpToBeginning() {
3126
3249
  this.setHighlightIndex(0);
3127
3250
  },
@@ -3158,8 +3281,7 @@ function comboboxvue_type_template_id_4901dce5_render(_ctx, _cache, $props, $set
3158
3281
  }
3159
3282
 
3160
3283
  const listItems = Array.from(listElement.querySelectorAll("[role=\"".concat(listItemRole, "\"]")));
3161
- const index = listItems.indexOf(listElement.querySelector("#".concat(id)));
3162
- return index;
3284
+ return listItems.indexOf(listElement.querySelector("#".concat(id)));
3163
3285
  },
3164
3286
 
3165
3287
  _getItemId(index) {
@@ -3422,10 +3544,10 @@ const combobox_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(comboboxv
3422
3544
  /* harmony default export */ const combobox = (combobox_exports_);
3423
3545
  ;// CONCATENATED MODULE: ./components/combobox/index.js
3424
3546
 
3425
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/dropdown/dropdown.vue?vue&type=template&id=071e4ebc
3547
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/dropdown/dropdown.vue?vue&type=template&id=b0e1f8ba
3426
3548
 
3427
- const dropdownvue_type_template_id_071e4ebc_hoisted_1 = ["id"];
3428
- function dropdownvue_type_template_id_071e4ebc_render(_ctx, _cache, $props, $setup, $data, $options) {
3549
+ const dropdownvue_type_template_id_b0e1f8ba_hoisted_1 = ["id"];
3550
+ function dropdownvue_type_template_id_b0e1f8ba_render(_ctx, _cache, $props, $setup, $data, $options) {
3429
3551
  const _component_dt_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-popover");
3430
3552
 
3431
3553
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_popover, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
@@ -3433,7 +3555,7 @@ function dropdownvue_type_template_id_071e4ebc_render(_ctx, _cache, $props, $set
3433
3555
  "content-width": $props.contentWidth,
3434
3556
  open: $props.open,
3435
3557
  placement: $props.placement,
3436
- "initial-focus-element": "first",
3558
+ "initial-focus-element": $data.openedWithKeyboard ? 'first' : 'dialog',
3437
3559
  "fallback-placements": $props.fallbackPlacements,
3438
3560
  padding: "none",
3439
3561
  role: "menu",
@@ -3443,7 +3565,7 @@ function dropdownvue_type_template_id_071e4ebc_render(_ctx, _cache, $props, $set
3443
3565
  "max-width": $props.maxWidth,
3444
3566
  "open-with-arrow-keys": true,
3445
3567
  onOpened: $options.updateInitialHighlightIndex,
3446
- onKeydown: [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($options.onEnterKey, ["enter"]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($options.onSpaceKey, ["space"]), _cache[2] || (_cache[2] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => $options.onKeyValidation($event, 'onUpKeyPress'), ["stop", "prevent"]), ["up"])), _cache[3] || (_cache[3] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => $options.onKeyValidation($event, 'onDownKeyPress'), ["stop", "prevent"]), ["down"])), _cache[4] || (_cache[4] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => $options.onKeyValidation($event, 'onHomeKeyPress'), ["stop", "prevent"]), ["home"])), _cache[5] || (_cache[5] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => $options.onKeyValidation($event, 'onEndKeyPress'), ["stop", "prevent"]), ["end"]))]
3568
+ onKeydown: [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($options.onEnterKey, ["enter"]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($options.onSpaceKey, ["space"]), _cache[2] || (_cache[2] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => $options.onKeyValidation($event, 'onUpKeyPress'), ["stop", "prevent"]), ["up"])), _cache[3] || (_cache[3] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => $options.onKeyValidation($event, 'onDownKeyPress'), ["stop", "prevent"]), ["down"])), _cache[4] || (_cache[4] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => $options.onKeyValidation($event, 'onHomeKeyPress'), ["stop", "prevent"]), ["home"])), _cache[5] || (_cache[5] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)($event => $options.onKeyValidation($event, 'onEndKeyPress'), ["stop", "prevent"]), ["end"])), _cache[6] || (_cache[6] = $event => $options.onKeyValidation($event, 'onKeyPress'))]
3447
3569
  }), {
3448
3570
  anchor: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref => {
3449
3571
  let {
@@ -3470,12 +3592,12 @@ function dropdownvue_type_template_id_071e4ebc_render(_ctx, _cache, $props, $set
3470
3592
  })
3471
3593
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "list", {
3472
3594
  close: close
3473
- })], 42, dropdownvue_type_template_id_071e4ebc_hoisted_1)];
3595
+ })], 42, dropdownvue_type_template_id_b0e1f8ba_hoisted_1)];
3474
3596
  }),
3475
3597
  _: 3
3476
- }, 16, ["content-width", "open", "placement", "fallback-placements", "modal", "max-height", "max-width", "onOpened", "onKeydown"]);
3598
+ }, 16, ["content-width", "open", "placement", "initial-focus-element", "fallback-placements", "modal", "max-height", "max-width", "onOpened", "onKeydown"]);
3477
3599
  }
3478
- ;// CONCATENATED MODULE: ./components/dropdown/dropdown.vue?vue&type=template&id=071e4ebc
3600
+ ;// CONCATENATED MODULE: ./components/dropdown/dropdown.vue?vue&type=template&id=b0e1f8ba
3479
3601
 
3480
3602
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/popover/popover.vue?vue&type=template&id=0656612f
3481
3603
 
@@ -8920,7 +9042,6 @@ const DROPDOWN_PADDING_CLASSES = {
8920
9042
  components: {
8921
9043
  DtPopover: popover
8922
9044
  },
8923
- inheritAttrs: false,
8924
9045
  mixins: [keyboard_list_navigation({
8925
9046
  indexKey: 'highlightIndex',
8926
9047
  idKey: 'highlightId',
@@ -8932,6 +9053,7 @@ const DROPDOWN_PADDING_CLASSES = {
8932
9053
  activeItemKey: 'activeItemEl',
8933
9054
  focusOnKeyboardNavigation: true
8934
9055
  })],
9056
+ inheritAttrs: false,
8935
9057
  props: {
8936
9058
  /**
8937
9059
  * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.
@@ -9080,6 +9202,10 @@ const DROPDOWN_PADDING_CLASSES = {
9080
9202
 
9081
9203
  activeItemEl() {
9082
9204
  return this.getListElement().querySelector('#' + this.highlightId);
9205
+ },
9206
+
9207
+ isArrowKeyNav() {
9208
+ return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;
9083
9209
  }
9084
9210
 
9085
9211
  },
@@ -9139,7 +9265,7 @@ const DROPDOWN_PADDING_CLASSES = {
9139
9265
  return;
9140
9266
  }
9141
9267
 
9142
- if (this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS) {
9268
+ if (this.isArrowKeyNav) {
9143
9269
  return this.onUpKey();
9144
9270
  }
9145
9271
  },
@@ -9150,29 +9276,35 @@ const DROPDOWN_PADDING_CLASSES = {
9150
9276
  return;
9151
9277
  }
9152
9278
 
9153
- if (this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS) {
9279
+ if (this.isArrowKeyNav) {
9154
9280
  return this.onDownKey();
9155
9281
  }
9156
9282
  },
9157
9283
 
9158
9284
  onHomeKeyPress() {
9159
- if (!this.isOpen) {
9285
+ if (!this.isOpen || !this.isArrowKeyNav) {
9160
9286
  return;
9161
9287
  }
9162
9288
 
9163
- if (this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS) {
9164
- return this.onHomeKey();
9165
- }
9289
+ return this.onHomeKey();
9166
9290
  },
9167
9291
 
9168
9292
  onEndKeyPress() {
9169
- if (!this.isOpen) {
9293
+ if (!this.isOpen || !this.isArrowKeyNav) {
9170
9294
  return;
9171
9295
  }
9172
9296
 
9173
- if (this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS) {
9174
- return this.onEndKey();
9297
+ return this.onEndKey();
9298
+ },
9299
+
9300
+ onKeyPress(e) {
9301
+ if (!this.isOpen || !this.isArrowKeyNav || !this.isValidLetter(e.key)) {
9302
+ return;
9175
9303
  }
9304
+
9305
+ e.stopPropagation();
9306
+ e.preventDefault();
9307
+ return this.onNavigationKey(e.key);
9176
9308
  },
9177
9309
 
9178
9310
  onKeyValidation(e, eventHandler) {
@@ -9193,7 +9325,7 @@ const DROPDOWN_PADDING_CLASSES = {
9193
9325
 
9194
9326
 
9195
9327
  ;
9196
- const dropdown_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(dropdownvue_type_script_lang_js, [['render',dropdownvue_type_template_id_071e4ebc_render]])
9328
+ const dropdown_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(dropdownvue_type_script_lang_js, [['render',dropdownvue_type_template_id_b0e1f8ba_render]])
9197
9329
 
9198
9330
  /* harmony default export */ const dropdown = (dropdown_exports_);
9199
9331
  ;// CONCATENATED MODULE: ./components/dropdown/index.js
@@ -9358,7 +9490,7 @@ async function codeToEmojiData(code) {
9358
9490
  // @returns {string[]}
9359
9491
 
9360
9492
  function findShortCodes(textContent) {
9361
- const shortCodes = textContent.match(/:[^:]+:/g);
9493
+ const shortCodes = textContent.match(/:\w+:/g);
9362
9494
  const filtered = shortCodes ? shortCodes.filter(code => shortcodeToEmojiData(code)) : [];
9363
9495
  return new Set(filtered);
9364
9496
  } // Finds every emoji in slot text
@@ -10107,15 +10239,15 @@ const emoji_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(emojivue_typ
10107
10239
  ;// CONCATENATED MODULE: ./components/emoji/index.js
10108
10240
 
10109
10241
 
10110
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/input/input.vue?vue&type=template&id=0337d4a5
10242
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/input/input.vue?vue&type=template&id=1204d99d
10111
10243
 
10112
- const inputvue_type_template_id_0337d4a5_hoisted_1 = {
10244
+ const inputvue_type_template_id_1204d99d_hoisted_1 = {
10113
10245
  ref: "container",
10114
10246
  class: "base-input",
10115
10247
  "data-qa": "dt-input"
10116
10248
  };
10117
- const inputvue_type_template_id_0337d4a5_hoisted_2 = ["aria-details"];
10118
- const inputvue_type_template_id_0337d4a5_hoisted_3 = ["id"];
10249
+ const inputvue_type_template_id_1204d99d_hoisted_2 = ["aria-details"];
10250
+ const inputvue_type_template_id_1204d99d_hoisted_3 = ["id"];
10119
10251
  const _hoisted_4 = {
10120
10252
  key: 0
10121
10253
  };
@@ -10129,23 +10261,25 @@ const _hoisted_6 = {
10129
10261
  };
10130
10262
  const _hoisted_7 = ["value", "name", "disabled", "maxlength"];
10131
10263
  const _hoisted_8 = ["value", "name", "type", "disabled", "maxlength"];
10132
- function inputvue_type_template_id_0337d4a5_render(_ctx, _cache, $props, $setup, $data, $options) {
10264
+ function inputvue_type_template_id_1204d99d_render(_ctx, _cache, $props, $setup, $data, $options) {
10133
10265
  const _component_dt_validation_messages = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-validation-messages");
10134
10266
 
10135
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", inputvue_type_template_id_0337d4a5_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("label", {
10267
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", inputvue_type_template_id_1204d99d_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("label", {
10136
10268
  class: "base-input__label",
10137
10269
  "aria-details": _ctx.$slots.description || $props.description ? $options.descriptionKey : undefined,
10138
10270
  "data-qa": "dt-input-label-wrapper"
10139
10271
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "labelSlot", {}, () => [$props.label ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
10140
10272
  key: 0,
10273
+ ref: "label",
10141
10274
  "data-qa": "dt-input-label",
10142
10275
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['base-input__label-text', 'd-label', $data.labelSizeClasses[$props.size]])
10143
10276
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.label), 3)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)]), _ctx.$slots.description || $props.description || $options.shouldValidateLength ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
10144
10277
  key: 0,
10145
10278
  id: $options.descriptionKey,
10279
+ ref: "description",
10146
10280
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['base-input__description', 'd-description', 'd-fd-column', $data.descriptionSizeClasses[$props.size]]),
10147
10281
  "data-qa": "dt-input-description"
10148
- }, [_ctx.$slots.description || $props.description ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", _hoisted_4, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "description", {}, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.description), 1)])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), $options.shouldValidateLength ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", _hoisted_5, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($options.validationProps.length.description), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 10, inputvue_type_template_id_0337d4a5_hoisted_3)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", _hoisted_6, [_ctx.$slots.leftIcon ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
10282
+ }, [_ctx.$slots.description || $props.description ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", _hoisted_4, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "description", {}, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.description), 1)])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), $options.shouldValidateLength ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", _hoisted_5, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($options.validationProps.length.description), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 10, inputvue_type_template_id_1204d99d_hoisted_3)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", _hoisted_6, [_ctx.$slots.leftIcon ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
10149
10283
  key: 0,
10150
10284
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)($options.inputIconClasses('left')),
10151
10285
  "data-qa": "dt-input-left-icon-wrapper",
@@ -10178,7 +10312,7 @@ function inputvue_type_template_id_0337d4a5_render(_ctx, _cache, $props, $setup,
10178
10312
  onFocusout: _cache[1] || (_cache[1] = function () {
10179
10313
  return $options.onBlur && $options.onBlur(...arguments);
10180
10314
  })
10181
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "rightIcon")], 34)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])], 8, inputvue_type_template_id_0337d4a5_hoisted_2), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_validation_messages, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
10315
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "rightIcon")], 34)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])], 8, inputvue_type_template_id_1204d99d_hoisted_2), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_validation_messages, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
10182
10316
  "validation-messages": $options.validationMessages,
10183
10317
  "show-messages": _ctx.showMessages,
10184
10318
  class: _ctx.messagesClass
@@ -10186,7 +10320,7 @@ function inputvue_type_template_id_0337d4a5_render(_ctx, _cache, $props, $setup,
10186
10320
  "data-qa": "dt-input-messages"
10187
10321
  }), null, 16, ["validation-messages", "show-messages", "class"])], 512);
10188
10322
  }
10189
- ;// CONCATENATED MODULE: ./components/input/input.vue?vue&type=template&id=0337d4a5
10323
+ ;// CONCATENATED MODULE: ./components/input/input.vue?vue&type=template&id=1204d99d
10190
10324
 
10191
10325
  ;// CONCATENATED MODULE: ./components/input/input_constants.js
10192
10326
  // Valid input types, any other input types (for example: 'radio' or 'checkbox') should
@@ -11089,7 +11223,7 @@ const MessagesMixin = {
11089
11223
 
11090
11224
 
11091
11225
  ;
11092
- const input_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(inputvue_type_script_lang_js, [['render',inputvue_type_template_id_0337d4a5_render]])
11226
+ const input_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(inputvue_type_script_lang_js, [['render',inputvue_type_template_id_1204d99d_render]])
11093
11227
 
11094
11228
  /* harmony default export */ const input_input = (input_exports_);
11095
11229
  ;// CONCATENATED MODULE: ./components/input/index.js
@@ -11830,9 +11964,9 @@ const list_section_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(list_
11830
11964
  /* harmony default export */ const list_section = (list_section_exports_);
11831
11965
  ;// CONCATENATED MODULE: ./components/list_section/index.js
11832
11966
 
11833
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/list_item.vue?vue&type=template&id=7876bc36
11967
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/list_item.vue?vue&type=template&id=237d2c10
11834
11968
 
11835
- function list_itemvue_type_template_id_7876bc36_render(_ctx, _cache, $props, $setup, $data, $options) {
11969
+ function list_itemvue_type_template_id_237d2c10_render(_ctx, _cache, $props, $setup, $data, $options) {
11836
11970
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveDynamicComponent)($props.elementType), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
11837
11971
  id: $props.id,
11838
11972
  class: ['dt-list-item d-ls-none focus-visible', {
@@ -11858,7 +11992,7 @@ function list_itemvue_type_template_id_7876bc36_render(_ctx, _cache, $props, $se
11858
11992
  _: 3
11859
11993
  }, 16, ["id", "class", "tabindex", "role", "aria-selected"]);
11860
11994
  }
11861
- ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=template&id=7876bc36
11995
+ ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=template&id=237d2c10
11862
11996
 
11863
11997
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/default_list_item.vue?vue&type=template&id=4c89d4ed
11864
11998
 
@@ -11986,7 +12120,7 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
11986
12120
  validator: t => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t)
11987
12121
  }
11988
12122
  },
11989
- emits: ['click', 'keydown', 'mousemove', 'mouseleave'],
12123
+ emits: ['keydown', 'mousemove', 'mouseleave', 'mousedown'],
11990
12124
 
11991
12125
  data() {
11992
12126
  return {
@@ -12015,6 +12149,13 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
12015
12149
 
12016
12150
  this.$emit('keydown', event);
12017
12151
  },
12152
+ mousedown: event => {
12153
+ if (!this.isFocusable) {
12154
+ event.preventDefault();
12155
+ }
12156
+
12157
+ this.$emit('mousedown', event);
12158
+ },
12018
12159
  mousemove: event => {
12019
12160
  this.onMouseHover(event);
12020
12161
  this.$emit('mousemove', event);
@@ -12053,6 +12194,8 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
12053
12194
  },
12054
12195
  methods: {
12055
12196
  onClick(e) {
12197
+ // disabled as we do not want to override native click
12198
+ // eslint-disable-next-line vue/require-explicit-emits
12056
12199
  this.$emit('click', e);
12057
12200
  },
12058
12201
 
@@ -12068,9 +12211,9 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
12068
12211
  });
12069
12212
  ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=script&lang=js
12070
12213
 
12071
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/list_item.vue?vue&type=style&index=0&id=7876bc36&lang=less
12072
- var list_itemvue_type_style_index_0_id_7876bc36_lang_less = __webpack_require__(366);
12073
- ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=style&index=0&id=7876bc36&lang=less
12214
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/list_item/list_item.vue?vue&type=style&index=0&id=237d2c10&lang=less
12215
+ var list_itemvue_type_style_index_0_id_237d2c10_lang_less = __webpack_require__(213);
12216
+ ;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=style&index=0&id=237d2c10&lang=less
12074
12217
 
12075
12218
  ;// CONCATENATED MODULE: ./components/list_item/list_item.vue
12076
12219
 
@@ -12080,7 +12223,7 @@ var list_itemvue_type_style_index_0_id_7876bc36_lang_less = __webpack_require__(
12080
12223
  ;
12081
12224
 
12082
12225
 
12083
- const list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(list_itemvue_type_script_lang_js, [['render',list_itemvue_type_template_id_7876bc36_render]])
12226
+ const list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(list_itemvue_type_script_lang_js, [['render',list_itemvue_type_template_id_237d2c10_render]])
12084
12227
 
12085
12228
  /* harmony default export */ const list_item = (list_item_exports_);
12086
12229
  ;// CONCATENATED MODULE: ./components/list_item/index.js
@@ -12420,16 +12563,31 @@ const radio_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(radiovue_typ
12420
12563
  }
12421
12564
  },
12422
12565
  emits: ['input'],
12566
+
12567
+ data() {
12568
+ return {
12569
+ internalValue: this.value
12570
+ };
12571
+ },
12572
+
12423
12573
  watch: {
12424
- /*
12425
- * watching value to support 2 way binding for slotted radios.
12426
- * need this to pass value to slotted radios if modified outside
12427
- * radio group.
12428
- */
12429
12574
  value(newValue) {
12430
- this.provideObj.selectedValue = newValue;
12431
- }
12575
+ this.internalValue = newValue;
12576
+ },
12577
+
12578
+ /*
12579
+ * watching value to support 2 way binding for slotted radios.
12580
+ * need this to pass value to slotted checkboxes if modified outside
12581
+ * radio group.
12582
+ */
12583
+ internalValue: {
12584
+ immediate: true,
12432
12585
 
12586
+ handler(newInternalValue) {
12587
+ this.provideObj.selectedValue = newInternalValue;
12588
+ }
12589
+
12590
+ }
12433
12591
  },
12434
12592
  methods: {
12435
12593
  /*
@@ -13259,79 +13417,64 @@ const checkbox_group_exports_ = checkbox_groupvue_type_script_lang_js;
13259
13417
  /* harmony default export */ const checkbox_group = (checkbox_group_exports_);
13260
13418
  ;// CONCATENATED MODULE: ./components/checkbox_group/index.js
13261
13419
 
13262
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/chip/chip.vue?vue&type=template&id=4d7bb584
13420
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/chip/chip.vue?vue&type=template&id=1805ca4d
13263
13421
 
13264
- const chipvue_type_template_id_4d7bb584_hoisted_1 = ["id", "tabindex", "aria-labelledby", "aria-label"];
13265
- const chipvue_type_template_id_4d7bb584_hoisted_2 = {
13422
+ const chipvue_type_template_id_1805ca4d_hoisted_1 = {
13423
+ class: "d-chip"
13424
+ };
13425
+ const chipvue_type_template_id_1805ca4d_hoisted_2 = {
13266
13426
  key: 0,
13267
13427
  "data-qa": "dt-chip-icon",
13268
13428
  class: "d-chip__icon"
13269
13429
  };
13270
- const chipvue_type_template_id_4d7bb584_hoisted_3 = {
13430
+ const chipvue_type_template_id_1805ca4d_hoisted_3 = {
13271
13431
  key: 1,
13272
13432
  "data-qa": "dt-chip-avatar"
13273
13433
  };
13274
- const chipvue_type_template_id_4d7bb584_hoisted_4 = ["id"];
13275
- const chipvue_type_template_id_4d7bb584_hoisted_5 = {
13276
- key: 3,
13277
- class: "d-chip-btn-holder"
13278
- };
13279
- const chipvue_type_template_id_4d7bb584_hoisted_6 = {
13280
- ref: "closeBtnContainer",
13281
- class: "d-chip-btn-container"
13282
- };
13283
- function chipvue_type_template_id_4d7bb584_render(_ctx, _cache, $props, $setup, $data, $options) {
13434
+ const chipvue_type_template_id_1805ca4d_hoisted_4 = ["id"];
13435
+ function chipvue_type_template_id_1805ca4d_render(_ctx, _cache, $props, $setup, $data, $options) {
13284
13436
  const _component_icon_close = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("icon-close");
13285
13437
 
13286
13438
  const _component_dt_button = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-button");
13287
13439
 
13288
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
13440
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", chipvue_type_template_id_1805ca4d_hoisted_1, [((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveDynamicComponent)($props.interactive ? 'button' : 'span'), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
13289
13441
  id: $props.id,
13290
- class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)($options.chipClasses()),
13442
+ type: $props.interactive && 'button',
13443
+ class: $options.chipClasses(),
13291
13444
  "data-qa": "dt-chip",
13292
- tabindex: $options.tabIndex,
13293
13445
  "aria-labelledby": $props.ariaLabel ? undefined : "".concat($props.id, "-content"),
13294
- "aria-label": $props.ariaLabel,
13295
- onMousedown: _cache[1] || (_cache[1] = function () {
13296
- return $options.onClick && $options.onClick(...arguments);
13297
- }),
13298
- onMouseup: _cache[2] || (_cache[2] = function () {
13299
- return $options.onClick && $options.onClick(...arguments);
13300
- }),
13301
- onMouseleave: _cache[3] || (_cache[3] = $event => $data.isActive = false),
13302
- onFocusout: _cache[4] || (_cache[4] = $event => $data.isActive = false),
13303
- onKeydown: _cache[5] || (_cache[5] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)(function () {
13304
- return $options.onClick && $options.onClick(...arguments);
13305
- }, ["enter"])),
13306
- onKeyup: [_cache[6] || (_cache[6] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)(function () {
13307
- return $options.onClick && $options.onClick(...arguments);
13308
- }, ["enter"])), _cache[7] || (_cache[7] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)(function () {
13309
- return $options.onClose && $options.onClose(...arguments);
13310
- }, ["delete"]))]
13311
- }, [_ctx.$slots.icon ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", chipvue_type_template_id_4d7bb584_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "icon")])) : _ctx.$slots.avatar ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", chipvue_type_template_id_4d7bb584_hoisted_3, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "avatar")])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), _ctx.$slots.default ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
13312
- key: 2,
13313
- id: "".concat($props.id, "-content"),
13314
- "data-qa": "dt-chip-label",
13315
- class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['d-truncate', $props.contentClass])
13316
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default")], 10, chipvue_type_template_id_4d7bb584_hoisted_4)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), !$props.hideClose ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", chipvue_type_template_id_4d7bb584_hoisted_5)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", chipvue_type_template_id_4d7bb584_hoisted_6, [!$props.hideClose ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_button, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
13446
+ "aria-label": $props.ariaLabel
13447
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toHandlers)($options.chipListeners)), {
13448
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [_ctx.$slots.icon ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", chipvue_type_template_id_1805ca4d_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "icon")])) : _ctx.$slots.avatar ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", chipvue_type_template_id_1805ca4d_hoisted_3, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "avatar")])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), _ctx.$slots.default ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
13449
+ key: 2,
13450
+ id: "".concat($props.id, "-content"),
13451
+ "data-qa": "dt-chip-label",
13452
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['d-truncate', 'd-chip__text', $props.contentClass])
13453
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default")], 10, chipvue_type_template_id_1805ca4d_hoisted_4)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)]),
13454
+ _: 3
13455
+ }, 16, ["id", "type", "class", "aria-labelledby", "aria-label"])), !$props.hideClose ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_button, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
13317
13456
  key: 0
13318
13457
  }, $props.closeButtonProps, {
13458
+ class: $options.chipCloseButtonClasses(),
13319
13459
  "data-qa": "dt-chip-close",
13320
- circle: "",
13321
- importance: "clear",
13322
13460
  "aria-label": $props.closeButtonProps.ariaLabel,
13323
13461
  onClick: _cache[0] || (_cache[0] = $event => _ctx.$emit('close'))
13324
13462
  }), {
13325
- default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_icon_close)]),
13463
+ icon: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_icon_close)]),
13326
13464
  _: 1
13327
- }, 16, ["aria-label"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 512)], 42, chipvue_type_template_id_4d7bb584_hoisted_1);
13465
+ }, 16, ["class", "aria-label"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)]);
13328
13466
  }
13329
- ;// CONCATENATED MODULE: ./components/chip/chip.vue?vue&type=template&id=4d7bb584
13467
+ ;// CONCATENATED MODULE: ./components/chip/chip.vue?vue&type=template&id=1805ca4d
13330
13468
 
13331
13469
  ;// CONCATENATED MODULE: ./components/chip/chip_constants.js
13332
13470
  const CHIP_SIZE_MODIFIERS = {
13333
- xs: 'd-chip--xs',
13334
- sm: 'd-chip--sm',
13471
+ xs: 'd-chip__label--xs',
13472
+ sm: 'd-chip__label--sm',
13473
+ md: ''
13474
+ };
13475
+ const CHIP_CLOSE_BUTTON_SIZE_MODIFIERS = {
13476
+ xs: 'd-chip__close--xs',
13477
+ sm: 'd-chip__close--sm',
13335
13478
  md: ''
13336
13479
  };
13337
13480
  /* harmony default export */ const chip_constants = ({
@@ -13354,6 +13497,11 @@ const CHIP_SIZE_MODIFIERS = {
13354
13497
  */
13355
13498
  closeButtonProps: {
13356
13499
  type: Object,
13500
+ default: function () {
13501
+ return {
13502
+ ariaLabel: 'close'
13503
+ };
13504
+ },
13357
13505
  validator: props => {
13358
13506
  return !!props.ariaLabel;
13359
13507
  }
@@ -13415,7 +13563,7 @@ const CHIP_SIZE_MODIFIERS = {
13415
13563
  default: ''
13416
13564
  }
13417
13565
  },
13418
- emits: ['click', 'close'],
13566
+ emits: ['click', 'close', 'keyup'],
13419
13567
 
13420
13568
  data() {
13421
13569
  return {
@@ -13424,37 +13572,37 @@ const CHIP_SIZE_MODIFIERS = {
13424
13572
  },
13425
13573
 
13426
13574
  computed: {
13427
- tabIndex() {
13428
- return this.interactive ? 0 : -1;
13575
+ chipListeners() {
13576
+ return {
13577
+ click: event => {
13578
+ if (this.interactive) this.$emit('click', event);
13579
+ },
13580
+ keyup: event => {
13581
+ var _event$code;
13582
+
13583
+ if (((_event$code = event.code) === null || _event$code === void 0 ? void 0 : _event$code.toLowerCase()) === 'delete') {
13584
+ this.onClose();
13585
+ } else {
13586
+ this.$emit('keyup', event);
13587
+ }
13588
+ }
13589
+ };
13429
13590
  }
13430
13591
 
13431
13592
  },
13432
13593
  methods: {
13433
13594
  chipClasses() {
13434
- return ['d-chip', CHIP_SIZE_MODIFIERS[this.size], {
13435
- 'd-chip--interactive': this.interactive,
13436
- 'd-chip--active': this.isActive
13437
- }];
13595
+ return ['d-chip__label', CHIP_SIZE_MODIFIERS[this.size]];
13596
+ },
13597
+
13598
+ chipCloseButtonClasses() {
13599
+ return ['d-chip__close', CHIP_CLOSE_BUTTON_SIZE_MODIFIERS[this.size]];
13438
13600
  },
13439
13601
 
13440
13602
  onClose() {
13441
13603
  if (!this.hideClose) {
13442
13604
  this.$emit('close');
13443
13605
  }
13444
- },
13445
-
13446
- onClick(event) {
13447
- // Clicking on the button should not update value of isActive.
13448
- if (!this.interactive || this.$refs.closeBtnContainer.contains(event.target)) {
13449
- return;
13450
- }
13451
-
13452
- if (event.type === 'mousedown' || event.type === 'keydown') {
13453
- this.isActive = true;
13454
- } else {
13455
- this.isActive = false;
13456
- this.$emit('click');
13457
- }
13458
13606
  }
13459
13607
 
13460
13608
  }
@@ -13467,7 +13615,7 @@ const CHIP_SIZE_MODIFIERS = {
13467
13615
 
13468
13616
 
13469
13617
  ;
13470
- const chip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(chipvue_type_script_lang_js, [['render',chipvue_type_template_id_4d7bb584_render]])
13618
+ const chip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(chipvue_type_script_lang_js, [['render',chipvue_type_template_id_1805ca4d_render]])
13471
13619
 
13472
13620
  /* harmony default export */ const chip = (chip_exports_);
13473
13621
  ;// CONCATENATED MODULE: ./components/chip/index.js
@@ -14175,15 +14323,15 @@ const toggle_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(togglevue_t
14175
14323
  /* harmony default export */ const toggle = (toggle_exports_);
14176
14324
  ;// CONCATENATED MODULE: ./components/toggle/index.js
14177
14325
 
14178
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=template&id=600c8e6a
14326
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=template&id=044c8b20
14179
14327
 
14180
- const tooltipvue_type_template_id_600c8e6a_hoisted_1 = {
14328
+ const tooltipvue_type_template_id_044c8b20_hoisted_1 = {
14181
14329
  "data-qa": "dt-tooltip-container"
14182
14330
  };
14183
- function tooltipvue_type_template_id_600c8e6a_render(_ctx, _cache, $props, $setup, $data, $options) {
14331
+ function tooltipvue_type_template_id_044c8b20_render(_ctx, _cache, $props, $setup, $data, $options) {
14184
14332
  const _component_dt_lazy_show = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-lazy-show");
14185
14333
 
14186
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", tooltipvue_type_template_id_600c8e6a_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
14334
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", tooltipvue_type_template_id_044c8b20_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
14187
14335
  ref: "anchor",
14188
14336
  "data-qa": "dt-tooltip-anchor",
14189
14337
  onFocusin: _cache[0] || (_cache[0] = function () {
@@ -14220,7 +14368,7 @@ function tooltipvue_type_template_id_600c8e6a_render(_ctx, _cache, $props, $setu
14220
14368
  _: 3
14221
14369
  }, 8, ["id", "show", "transition", "class", "onAfterLeave", "onAfterEnter"])]);
14222
14370
  }
14223
- ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=template&id=600c8e6a
14371
+ ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=template&id=044c8b20
14224
14372
 
14225
14373
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip_constants.js
14226
14374
  /*
@@ -14284,7 +14432,7 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
14284
14432
  */
14285
14433
  offset: {
14286
14434
  type: Array,
14287
- default: () => [0, 0]
14435
+ default: () => [0, -4]
14288
14436
  },
14289
14437
 
14290
14438
  /**
@@ -14496,9 +14644,9 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
14496
14644
  });
14497
14645
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=script&lang=js
14498
14646
 
14499
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=style&index=0&id=600c8e6a&lang=less
14500
- var tooltipvue_type_style_index_0_id_600c8e6a_lang_less = __webpack_require__(96);
14501
- ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=style&index=0&id=600c8e6a&lang=less
14647
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=style&index=0&id=044c8b20&lang=less
14648
+ var tooltipvue_type_style_index_0_id_044c8b20_lang_less = __webpack_require__(126);
14649
+ ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=style&index=0&id=044c8b20&lang=less
14502
14650
 
14503
14651
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue
14504
14652
 
@@ -14508,7 +14656,7 @@ var tooltipvue_type_style_index_0_id_600c8e6a_lang_less = __webpack_require__(96
14508
14656
  ;
14509
14657
 
14510
14658
 
14511
- const tooltip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(tooltipvue_type_script_lang_js, [['render',tooltipvue_type_template_id_600c8e6a_render]])
14659
+ const tooltip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(tooltipvue_type_script_lang_js, [['render',tooltipvue_type_template_id_044c8b20_render]])
14512
14660
 
14513
14661
  /* harmony default export */ const tooltip = (tooltip_exports_);
14514
14662
  ;// CONCATENATED MODULE: ./components/tooltip/index.js
@@ -14809,85 +14957,1211 @@ const keyboard_shortcut_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
14809
14957
  ;// CONCATENATED MODULE: ./components/keyboard_shortcut/index.js
14810
14958
 
14811
14959
 
14812
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/list_items/contact_info/contact_info.vue?vue&type=template&id=7091b031
14960
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/root_layout/root_layout.vue?vue&type=template&id=2e5fe0a4
14813
14961
 
14814
- const contact_infovue_type_template_id_7091b031_hoisted_1 = {
14815
- class: "d-ps-relative",
14816
- "data-qa": "contact-info-left"
14817
- };
14818
- const contact_infovue_type_template_id_7091b031_hoisted_2 = ["src", "alt"];
14819
- const contact_infovue_type_template_id_7091b031_hoisted_3 = {
14820
- "data-qa": "contact-info-header"
14821
- };
14822
- const contact_infovue_type_template_id_7091b031_hoisted_4 = {
14823
- "data-qa": "contact-info-subtitle"
14824
- };
14825
- const contact_infovue_type_template_id_7091b031_hoisted_5 = {
14826
- "data-qa": "contact-info-bottom"
14962
+ const root_layoutvue_type_template_id_2e5fe0a4_hoisted_1 = {
14963
+ class: "root-layout"
14827
14964
  };
14828
- const contact_infovue_type_template_id_7091b031_hoisted_6 = {
14829
- "data-qa": "contact-info-right"
14830
- };
14831
- function contact_infovue_type_template_id_7091b031_render(_ctx, _cache, $props, $setup, $data, $options) {
14832
- const _component_dt_avatar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-avatar");
14833
-
14834
- const _component_dt_list_item = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-list-item");
14965
+ function root_layoutvue_type_template_id_2e5fe0a4_render(_ctx, _cache, $props, $setup, $data, $options) {
14966
+ const _component_dt_root_layout_body = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-root-layout-body");
14835
14967
 
14836
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_list_item, {
14837
- id: $props.id,
14838
- role: $props.role,
14839
- "element-type": "div",
14840
- "data-qa": "contact-info"
14968
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", root_layoutvue_type_template_id_2e5fe0a4_hoisted_1, [_ctx.$slots.header ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("header", {
14969
+ key: 0,
14970
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['root-layout__header', $props.headerClass, {
14971
+ 'root-layout__header--sticky': $props.headerSticky
14972
+ }]),
14973
+ style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)({
14974
+ 'height': $props.headerHeight
14975
+ }),
14976
+ "data-qa": "root-layout-header"
14977
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "header")], 6)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_root_layout_body, {
14978
+ "content-class": $props.contentClass,
14979
+ "content-wrap-width-percent": $props.contentWrapWidthPercent,
14980
+ "sidebar-class": $props.sidebarClass,
14981
+ "sidebar-width": $props.sidebarWidth,
14982
+ "sidebar-position": $props.sidebarPosition
14841
14983
  }, {
14842
- left: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_7091b031_hoisted_1, [$props.avatarSrc ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_avatar, {
14843
- key: 0,
14844
- kind: "default",
14845
- size: "lg",
14846
- "avatar-class": "d-bar2"
14847
- }, {
14848
- default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("img", {
14849
- "data-qa": "dt-contact-avatar",
14850
- src: $props.avatarSrc,
14851
- alt: $props.avatarInitials
14852
- }, null, 8, contact_infovue_type_template_id_7091b031_hoisted_2)]),
14853
- _: 1
14854
- })) : $props.avatarInitials ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_avatar, {
14855
- key: 1,
14856
- kind: "initials",
14857
- size: "lg",
14858
- color: $props.avatarColor
14859
- }, {
14860
- default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.avatarInitials), 1)]),
14861
- _: 1
14862
- }, 8, ["color"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), $options.showUserStatus ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
14863
- key: 2,
14864
- class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['d-ba', 'd-bc-white', 'd-baw2', 'd-bar2', 'd-ps-absolute', 'd-bn1', 'd-rn1', 'd-w20p', 'd-h20p', $data.USER_STATUS_COLOR_MODIFIERS[$props.userStatusColor]]),
14865
- "data-qa": "contact-info-user-status"
14866
- }, "   ", 2)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])]),
14867
- default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_7091b031_hoisted_3, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "header")])]),
14868
- subtitle: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_7091b031_hoisted_4, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "subtitle")])]),
14869
- bottom: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_7091b031_hoisted_5, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "bottom")])]),
14870
- right: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_7091b031_hoisted_6, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "right")])]),
14984
+ sidebar: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "sidebar")]),
14985
+ content: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default")]),
14871
14986
  _: 3
14872
- }, 8, ["id", "role"]);
14987
+ }, 8, ["content-class", "content-wrap-width-percent", "sidebar-class", "sidebar-width", "sidebar-position"]), _ctx.$slots.footer ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("footer", {
14988
+ key: 1,
14989
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['root-layout__footer', $props.footerClass]),
14990
+ style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)({
14991
+ 'height': $props.footerHeight
14992
+ }),
14993
+ "data-qa": "root-layout-footer"
14994
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "footer")], 6)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)]);
14873
14995
  }
14874
- ;// CONCATENATED MODULE: ./recipes/list_items/contact_info/contact_info.vue?vue&type=template&id=7091b031
14875
-
14876
- ;// CONCATENATED MODULE: ./recipes/list_items/contact_info/contact_info_constants.js
14877
- const USER_STATUS_COLOR_MODIFIERS = {
14878
- none: '',
14879
- green: 'd-bgc-green-400',
14880
- yellow: 'd-bgc-yellow-400',
14881
- red: 'd-bgc-red-400'
14882
- };
14883
- /* harmony default export */ const contact_info_constants = ({
14884
- USER_STATUS_COLOR_MODIFIERS
14885
- });
14886
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/list_items/contact_info/contact_info.vue?vue&type=script&lang=js
14996
+ ;// CONCATENATED MODULE: ./components/root_layout/root_layout.vue?vue&type=template&id=2e5fe0a4
14887
14997
 
14998
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/root_layout/root_layout_body.vue?vue&type=template&id=dfb53770
14888
14999
 
14889
-
14890
- /* harmony default export */ const contact_infovue_type_script_lang_js = ({
15000
+ function root_layout_bodyvue_type_template_id_dfb53770_render(_ctx, _cache, $props, $setup, $data, $options) {
15001
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
15002
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['root-layout__body', $options.bodyClass]),
15003
+ "data-qa": "root-layout-body"
15004
+ }, [_ctx.$slots.sidebar ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("aside", {
15005
+ key: 0,
15006
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['root-layout__sidebar', $props.sidebarClass]),
15007
+ style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)({
15008
+ 'flex-basis': $props.sidebarWidth
15009
+ }),
15010
+ "data-qa": "root-layout-sidebar"
15011
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "sidebar")], 6)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), _ctx.$slots.content ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("main", {
15012
+ key: 1,
15013
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['root-layout__content', $props.contentClass]),
15014
+ style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)({
15015
+ 'min-inline-size': $props.contentWrapWidthPercent
15016
+ }),
15017
+ "data-qa": "root-layout-content"
15018
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "content")], 6)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 2);
15019
+ }
15020
+ ;// CONCATENATED MODULE: ./components/root_layout/root_layout_body.vue?vue&type=template&id=dfb53770
15021
+
15022
+ ;// CONCATENATED MODULE: ./components/root_layout/root_layout_constants.js
15023
+ const ROOT_LAYOUT_SIDEBAR_POSITIONS = {
15024
+ LEFT: 'left',
15025
+ RIGHT: 'right'
15026
+ };
15027
+ /* harmony default export */ const root_layout_constants = ({
15028
+ ROOT_LAYOUT_SIDEBAR_POSITIONS
15029
+ });
15030
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/root_layout/root_layout_body.vue?vue&type=script&lang=js
15031
+
15032
+ /* harmony default export */ const root_layout_bodyvue_type_script_lang_js = ({
15033
+ name: 'DtRootLayoutBody',
15034
+ props: {
15035
+ /**
15036
+ * Additional class name for the content element
15037
+ */
15038
+ contentClass: {
15039
+ type: [String, Array, Object],
15040
+ default: undefined
15041
+ },
15042
+
15043
+ /**
15044
+ * Additional class name for the sidebar element
15045
+ */
15046
+ sidebarClass: {
15047
+ type: [String, Array, Object],
15048
+ default: undefined
15049
+ },
15050
+
15051
+ /**
15052
+ * The width of the sidebar
15053
+ * Possible units rem|px|%|em
15054
+ */
15055
+ sidebarWidth: {
15056
+ type: String,
15057
+ default: undefined
15058
+ },
15059
+
15060
+ /**
15061
+ * Whether the sidebar is on the left or right side
15062
+ * Possible options: 'left', 'right'
15063
+ */
15064
+ sidebarPosition: {
15065
+ type: String,
15066
+ default: undefined
15067
+ },
15068
+
15069
+ /**
15070
+ * For responsive layouts. When the main content is at the specified width percentage,
15071
+ * the sidebar will display above the content rather than beside it. Please enter a percentage string value
15072
+ *
15073
+ * ex: '50%', '30%'
15074
+ */
15075
+ contentWrapWidthPercent: {
15076
+ type: String,
15077
+ default: undefined
15078
+ }
15079
+ },
15080
+ computed: {
15081
+ bodyClass() {
15082
+ return {
15083
+ 'root-layout__body--invert': this.sidebarPosition === ROOT_LAYOUT_SIDEBAR_POSITIONS.RIGHT
15084
+ };
15085
+ }
15086
+
15087
+ }
15088
+ });
15089
+ ;// CONCATENATED MODULE: ./components/root_layout/root_layout_body.vue?vue&type=script&lang=js
15090
+
15091
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/root_layout/root_layout_body.vue?vue&type=style&index=0&id=dfb53770&lang=less
15092
+ var root_layout_bodyvue_type_style_index_0_id_dfb53770_lang_less = __webpack_require__(516);
15093
+ ;// CONCATENATED MODULE: ./components/root_layout/root_layout_body.vue?vue&type=style&index=0&id=dfb53770&lang=less
15094
+
15095
+ ;// CONCATENATED MODULE: ./components/root_layout/root_layout_body.vue
15096
+
15097
+
15098
+
15099
+
15100
+ ;
15101
+
15102
+
15103
+ const root_layout_body_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(root_layout_bodyvue_type_script_lang_js, [['render',root_layout_bodyvue_type_template_id_dfb53770_render]])
15104
+
15105
+ /* harmony default export */ const root_layout_body = (root_layout_body_exports_);
15106
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/root_layout/root_layout.vue?vue&type=script&lang=js
15107
+
15108
+
15109
+ /* harmony default export */ const root_layoutvue_type_script_lang_js = ({
15110
+ name: 'DtRootLayout',
15111
+ components: {
15112
+ DtRootLayoutBody: root_layout_body
15113
+ },
15114
+ props: {
15115
+ /**
15116
+ * Additional class name for the header element
15117
+ */
15118
+ headerClass: {
15119
+ type: [String, Array, Object],
15120
+ default: ''
15121
+ },
15122
+
15123
+ /**
15124
+ * The height of the header
15125
+ * Possible units rem|px|%|em
15126
+ */
15127
+ headerHeight: {
15128
+ type: String,
15129
+ default: '64px'
15130
+ },
15131
+
15132
+ /**
15133
+ * Scroll the header with the page
15134
+ */
15135
+ headerSticky: {
15136
+ type: Boolean,
15137
+ default: false
15138
+ },
15139
+
15140
+ /**
15141
+ * Additional class name for the content element
15142
+ */
15143
+ contentClass: {
15144
+ type: [String, Array, Object],
15145
+ default: ''
15146
+ },
15147
+
15148
+ /**
15149
+ * For responsive layouts. When the main content is at the specified width percentage,
15150
+ * the sidebar will display above the content rather than beside it. Please enter a percentage string value
15151
+ *
15152
+ * ex: '50%', '30%'
15153
+ */
15154
+ contentWrapWidthPercent: {
15155
+ type: String,
15156
+ default: '50%'
15157
+ },
15158
+
15159
+ /**
15160
+ * Additional class name for the sidebar element
15161
+ */
15162
+ sidebarClass: {
15163
+ type: [String, Array, Object],
15164
+ default: ''
15165
+ },
15166
+
15167
+ /**
15168
+ * The width of the sidebar
15169
+ * Possible units rem|px|%|em
15170
+ */
15171
+ sidebarWidth: {
15172
+ type: String,
15173
+ default: '256px'
15174
+ },
15175
+
15176
+ /**
15177
+ * Whether the sidebar is on the left or right side
15178
+ * Possible options: 'left', 'right'
15179
+ */
15180
+ sidebarPosition: {
15181
+ type: String,
15182
+ default: 'left',
15183
+ validator: s => Object.values(ROOT_LAYOUT_SIDEBAR_POSITIONS).includes(s)
15184
+ },
15185
+
15186
+ /**
15187
+ * Additional class name for the footer element
15188
+ */
15189
+ footerClass: {
15190
+ type: [String, Array, Object],
15191
+ default: ''
15192
+ },
15193
+
15194
+ /**
15195
+ * The height of the footer
15196
+ * Possible units rem|px|%|em
15197
+ */
15198
+ footerHeight: {
15199
+ type: String,
15200
+ default: '64px'
15201
+ }
15202
+ }
15203
+ });
15204
+ ;// CONCATENATED MODULE: ./components/root_layout/root_layout.vue?vue&type=script&lang=js
15205
+
15206
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/root_layout/root_layout.vue?vue&type=style&index=0&id=2e5fe0a4&lang=less
15207
+ var root_layoutvue_type_style_index_0_id_2e5fe0a4_lang_less = __webpack_require__(35);
15208
+ ;// CONCATENATED MODULE: ./components/root_layout/root_layout.vue?vue&type=style&index=0&id=2e5fe0a4&lang=less
15209
+
15210
+ ;// CONCATENATED MODULE: ./components/root_layout/root_layout.vue
15211
+
15212
+
15213
+
15214
+
15215
+ ;
15216
+
15217
+
15218
+ const root_layout_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(root_layoutvue_type_script_lang_js, [['render',root_layoutvue_type_template_id_2e5fe0a4_render]])
15219
+
15220
+ /* harmony default export */ const root_layout = (root_layout_exports_);
15221
+ ;// CONCATENATED MODULE: ./components/root_layout/index.js
15222
+
15223
+
15224
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=6e4f62a5
15225
+
15226
+ const combobox_with_popovervue_type_template_id_6e4f62a5_hoisted_1 = ["id"];
15227
+ const combobox_with_popovervue_type_template_id_6e4f62a5_hoisted_2 = ["onMouseleave", "onFocusout"];
15228
+ function combobox_with_popovervue_type_template_id_6e4f62a5_render(_ctx, _cache, $props, $setup, $data, $options) {
15229
+ const _component_dt_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-popover");
15230
+
15231
+ const _component_dt_combobox = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-combobox");
15232
+
15233
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_combobox, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
15234
+ ref: "combobox",
15235
+ "show-list": $data.isListShown,
15236
+ "on-beginning-of-list": $props.onBeginningOfList,
15237
+ "on-end-of-list": $props.onEndOfList,
15238
+ "list-aria-label": $props.listAriaLabel,
15239
+ "list-rendered-outside": true,
15240
+ "list-id": $props.listId,
15241
+ "data-qa": "dt-combobox"
15242
+ }, $options.comboboxListeners), {
15243
+ input: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref => {
15244
+ let {
15245
+ inputProps
15246
+ } = _ref;
15247
+ return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
15248
+ id: $data.externalAnchor,
15249
+ ref: "input",
15250
+ onFocusin: _cache[0] || (_cache[0] = function () {
15251
+ return $options.onFocusIn && $options.onFocusIn(...arguments);
15252
+ }),
15253
+ onFocusout: _cache[1] || (_cache[1] = function () {
15254
+ return $options.onFocusOut && $options.onFocusOut(...arguments);
15255
+ }),
15256
+ onKeydown: [_cache[2] || (_cache[2] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($event => $options.openOnArrowKeyPress($event), ["up"])), _cache[3] || (_cache[3] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($event => $options.openOnArrowKeyPress($event), ["down"]))]
15257
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "input", {
15258
+ inputProps: inputProps,
15259
+ onInput: $options.handleDisplayList
15260
+ })], 40, combobox_with_popovervue_type_template_id_6e4f62a5_hoisted_1)];
15261
+ }),
15262
+ list: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref2 => {
15263
+ let {
15264
+ opened,
15265
+ listProps,
15266
+ clearHighlightIndex
15267
+ } = _ref2;
15268
+ return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_popover, {
15269
+ ref: "popover",
15270
+ open: $data.isListShown,
15271
+ "onUpdate:open": _cache[6] || (_cache[6] = $event => $data.isListShown = $event),
15272
+ "hide-on-click": true,
15273
+ "max-height": $props.maxHeight,
15274
+ "max-width": $props.maxWidth,
15275
+ offset: $props.popoverOffset,
15276
+ placement: "bottom-start",
15277
+ padding: "none",
15278
+ role: "listbox",
15279
+ "external-anchor": $data.externalAnchor,
15280
+ "content-width": $props.contentWidth,
15281
+ "content-tabindex": null,
15282
+ modal: false,
15283
+ "auto-focus": false,
15284
+ onOpened: opened
15285
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createSlots)({
15286
+ content: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
15287
+ ref: "listWrapper",
15288
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)([$data.DROPDOWN_PADDING_CLASSES[$props.padding], $props.listClass]),
15289
+ onMouseleave: clearHighlightIndex,
15290
+ onFocusout: $event => {
15291
+ clearHighlightIndex;
15292
+ $options.onFocusOut;
15293
+ }
15294
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "list", {
15295
+ listProps: listProps
15296
+ })], 42, combobox_with_popovervue_type_template_id_6e4f62a5_hoisted_2)]),
15297
+ _: 2
15298
+ }, [_ctx.$slots.header ? {
15299
+ name: "headerContent",
15300
+ fn: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
15301
+ ref: "header",
15302
+ onFocusout: _cache[4] || (_cache[4] = function () {
15303
+ return $options.onFocusOut && $options.onFocusOut(...arguments);
15304
+ })
15305
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "header")], 544)])
15306
+ } : undefined, _ctx.$slots.footer ? {
15307
+ name: "footerContent",
15308
+ fn: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
15309
+ ref: "footer",
15310
+ onFocusout: _cache[5] || (_cache[5] = function () {
15311
+ return $options.onFocusOut && $options.onFocusOut(...arguments);
15312
+ })
15313
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "footer")], 544)])
15314
+ } : undefined]), 1032, ["open", "max-height", "max-width", "offset", "external-anchor", "content-width", "onOpened"])];
15315
+ }),
15316
+ _: 3
15317
+ }, 16, ["show-list", "on-beginning-of-list", "on-end-of-list", "list-aria-label", "list-id"]);
15318
+ }
15319
+ ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=6e4f62a5
15320
+
15321
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=script&lang=js
15322
+
15323
+
15324
+
15325
+ /* harmony default export */ const combobox_with_popovervue_type_script_lang_js = ({
15326
+ name: 'DtRecipeComboboxWithPopover',
15327
+ components: {
15328
+ DtCombobox: combobox,
15329
+ DtPopover: popover
15330
+ },
15331
+ props: {
15332
+ /**
15333
+ * String to use for the list's aria-label.
15334
+ */
15335
+ listAriaLabel: {
15336
+ type: String,
15337
+ required: true
15338
+ },
15339
+
15340
+ /**
15341
+ * Determines when to show the list element and also controls the aria-expanded attribute.
15342
+ * Leaving this null will have the combobox trigger on input focus by default.
15343
+ * If you set this value, the default trigger behavior will be disabled and you can
15344
+ * control it as you need.
15345
+ */
15346
+ showList: {
15347
+ type: Boolean,
15348
+ default: null
15349
+ },
15350
+
15351
+ /**
15352
+ * Sets an ID on the list element of the component. Used by several aria attributes
15353
+ * as well as when deriving the IDs for each item.
15354
+ */
15355
+ listId: {
15356
+ type: String,
15357
+
15358
+ default() {
15359
+ return getUniqueString();
15360
+ }
15361
+
15362
+ },
15363
+
15364
+ /**
15365
+ * Additional class for the wrapper list element.
15366
+ */
15367
+ listClass: {
15368
+ type: [String, Array, Object],
15369
+ default: ''
15370
+ },
15371
+
15372
+ /**
15373
+ * A method that will be called when the selection goes past the beginning of the list.
15374
+ */
15375
+ onBeginningOfList: {
15376
+ type: Function,
15377
+ default: null
15378
+ },
15379
+
15380
+ /**
15381
+ * A method that will be called when the selection goes past the end of the list.
15382
+ */
15383
+ onEndOfList: {
15384
+ type: Function,
15385
+ default: null
15386
+ },
15387
+
15388
+ /**
15389
+ * Determines maximum height for the popover before overflow.
15390
+ * Possible units rem|px|em
15391
+ */
15392
+ maxHeight: {
15393
+ type: String,
15394
+ default: ''
15395
+ },
15396
+
15397
+ /**
15398
+ * Determines maximum width for the popover before overflow.
15399
+ * Possible units rem|px|%|em
15400
+ */
15401
+ maxWidth: {
15402
+ type: String,
15403
+ default: ''
15404
+ },
15405
+
15406
+ /**
15407
+ * Vertical padding size around the list element.
15408
+ */
15409
+ padding: {
15410
+ type: String,
15411
+ default: 'small',
15412
+ validator: padding => {
15413
+ return Object.keys(DROPDOWN_PADDING_CLASSES).some(item => item === padding);
15414
+ }
15415
+ },
15416
+
15417
+ /**
15418
+ * Width configuration for the popover content. When its value is 'anchor',
15419
+ * the popover content will have the same width as the anchor.
15420
+ */
15421
+ contentWidth: {
15422
+ type: String,
15423
+ default: null,
15424
+ validator: contentWidth => POPOVER_CONTENT_WIDTHS.includes(contentWidth)
15425
+ },
15426
+
15427
+ /**
15428
+ * If the list should be shown by pressing up or down arrow key on the input element.
15429
+ * This can be set when not passing showList prop.
15430
+ */
15431
+ openWithArrowKeys: {
15432
+ type: Boolean,
15433
+ default: false
15434
+ },
15435
+
15436
+ /**
15437
+ * Displaces the popover content box from its anchor element
15438
+ * by the specified number of pixels.
15439
+ */
15440
+ popoverOffset: {
15441
+ type: Array,
15442
+ default: () => [0, 4]
15443
+ },
15444
+
15445
+ /**
15446
+ * Displays the list when the combobox is focused, before the user has typed anything.
15447
+ * When this is enabled the list will not close after selection.
15448
+ */
15449
+ hasSuggestionList: {
15450
+ type: Boolean,
15451
+ default: true
15452
+ }
15453
+ },
15454
+ emits: ['select', 'escape', 'highlight', 'opened'],
15455
+
15456
+ data() {
15457
+ return {
15458
+ DROPDOWN_PADDING_CLASSES: DROPDOWN_PADDING_CLASSES,
15459
+ isListShown: false,
15460
+ isInputFocused: false,
15461
+ isListFocused: false,
15462
+ externalAnchor: getUniqueString()
15463
+ };
15464
+ },
15465
+
15466
+ computed: {
15467
+ comboboxListeners() {
15468
+ return { ...this.$attrs,
15469
+ onSelect: this.onSelect,
15470
+ onEscape: this.onEscape,
15471
+ onHighlight: this.onHighlight
15472
+ };
15473
+ }
15474
+
15475
+ },
15476
+ watch: {
15477
+ showList: {
15478
+ handler: function (show) {
15479
+ if (show !== null) {
15480
+ this.isListShown = show;
15481
+ }
15482
+ },
15483
+ immediate: true
15484
+ },
15485
+
15486
+ isListShown(val) {
15487
+ this.onOpened(val);
15488
+ }
15489
+
15490
+ },
15491
+ methods: {
15492
+ async handleDisplayList(value) {
15493
+ if (this.isListShown) {
15494
+ // After the list is updated, hightlight the first item
15495
+ await this.$nextTick();
15496
+ this.$refs.combobox.setInitialHighlightIndex();
15497
+ }
15498
+
15499
+ if (!this.hasSuggestionList) {
15500
+ if (value) {
15501
+ // Displays the list after the user has typed anything
15502
+ this.showComboboxList();
15503
+ } else {
15504
+ this.closeComboboxList();
15505
+ }
15506
+ }
15507
+ },
15508
+
15509
+ showComboboxList() {
15510
+ if (this.showList != null) {
15511
+ return;
15512
+ }
15513
+
15514
+ this.isListShown = true;
15515
+ },
15516
+
15517
+ closeComboboxList() {
15518
+ if (this.showList != null) {
15519
+ return;
15520
+ }
15521
+
15522
+ this.isListShown = false;
15523
+ },
15524
+
15525
+ onSelect(highlightIndex) {
15526
+ this.$emit('select', highlightIndex);
15527
+
15528
+ if (!this.hasSuggestionList) {
15529
+ // we don't display the list before the user has typed anything
15530
+ this.closeComboboxList();
15531
+ }
15532
+ },
15533
+
15534
+ onEscape() {
15535
+ this.$emit('escape');
15536
+ this.closeComboboxList();
15537
+ },
15538
+
15539
+ onHighlight(highlightIndex) {
15540
+ this.$emit('highlight', highlightIndex);
15541
+ },
15542
+
15543
+ onOpened(opened) {
15544
+ this.$emit('opened', opened);
15545
+ },
15546
+
15547
+ onFocusIn(e) {
15548
+ if (this.hasSuggestionList && e && this.$refs.input.querySelector('input') === e.target) {
15549
+ // only trigger if we show suggestion list when focus and
15550
+ // it's the input specifically that was focused
15551
+ this.showComboboxList();
15552
+ }
15553
+ },
15554
+
15555
+ onFocusOut(e) {
15556
+ const comboboxRefs = ['input', 'header', 'footer', 'listWrapper'];
15557
+ const isComboboxStillFocused = comboboxRefs.some(ref => {
15558
+ var _this$$refs$ref;
15559
+
15560
+ return (_this$$refs$ref = this.$refs[ref]) === null || _this$$refs$ref === void 0 ? void 0 : _this$$refs$ref.contains(e.relatedTarget);
15561
+ });
15562
+
15563
+ if (!isComboboxStillFocused) {
15564
+ this.closeComboboxList();
15565
+ }
15566
+ },
15567
+
15568
+ openOnArrowKeyPress(e) {
15569
+ if (this.showList !== null || this.isListShown || !this.openWithArrowKeys) {
15570
+ return;
15571
+ }
15572
+
15573
+ this.showComboboxList();
15574
+ }
15575
+
15576
+ }
15577
+ });
15578
+ ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=script&lang=js
15579
+
15580
+ ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue
15581
+
15582
+
15583
+
15584
+
15585
+ ;
15586
+ const combobox_with_popover_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(combobox_with_popovervue_type_script_lang_js, [['render',combobox_with_popovervue_type_template_id_6e4f62a5_render]])
15587
+
15588
+ /* harmony default export */ const combobox_with_popover = (combobox_with_popover_exports_);
15589
+ ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/index.js
15590
+
15591
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue?vue&type=template&id=74f7079d
15592
+
15593
+ const combobox_multi_selectvue_type_template_id_74f7079d_hoisted_1 = {
15594
+ ref: "inputSlotWrapper",
15595
+ class: "d-ps-relative"
15596
+ };
15597
+ const combobox_multi_selectvue_type_template_id_74f7079d_hoisted_2 = {
15598
+ ref: "chipsWrapper",
15599
+ class: "d-ps-absolute d-mx2"
15600
+ };
15601
+ const combobox_multi_selectvue_type_template_id_74f7079d_hoisted_3 = {
15602
+ ref: "header"
15603
+ };
15604
+ const combobox_multi_selectvue_type_template_id_74f7079d_hoisted_4 = {
15605
+ ref: "list"
15606
+ };
15607
+ const combobox_multi_selectvue_type_template_id_74f7079d_hoisted_5 = {
15608
+ key: 1,
15609
+ class: "d-ta-center d-py16"
15610
+ };
15611
+ const combobox_multi_selectvue_type_template_id_74f7079d_hoisted_6 = {
15612
+ ref: "footer"
15613
+ };
15614
+ function combobox_multi_selectvue_type_template_id_74f7079d_render(_ctx, _cache, $props, $setup, $data, $options) {
15615
+ const _component_dt_chip = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-chip");
15616
+
15617
+ const _component_dt_input = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-input");
15618
+
15619
+ const _component_dt_validation_messages = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-validation-messages");
15620
+
15621
+ const _component_dt_recipe_combobox_with_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-recipe-combobox-with-popover");
15622
+
15623
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_recipe_combobox_with_popover, {
15624
+ ref: "comboboxWithPopover",
15625
+ "list-aria-label": "listAriaLabel",
15626
+ "show-list": $props.showList,
15627
+ "max-height": $props.listMaxHeight,
15628
+ "popover-offset": $data.popoverOffset,
15629
+ "has-suggestion-list": $props.hasSuggestionList,
15630
+ "content-width": "anchor",
15631
+ onSelect: $options.onComboboxSelect
15632
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createSlots)({
15633
+ input: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(_ref => {
15634
+ let {
15635
+ onInput
15636
+ } = _ref;
15637
+ return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", combobox_multi_selectvue_type_template_id_74f7079d_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", combobox_multi_selectvue_type_template_id_74f7079d_hoisted_2, [((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Fragment, null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderList)($props.selectedItems, item => {
15638
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_chip, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
15639
+ ref_for: true,
15640
+ ref: "chips",
15641
+ key: item,
15642
+ class: "d-mt4 d-mx2 d-zi-base1",
15643
+ "close-button-props": {
15644
+ ariaLabel: 'close'
15645
+ }
15646
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toHandlers)($options.chipListeners), {
15647
+ onKeyup: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withKeys)($event => $options.onChipRemove(item), ["backspace"]),
15648
+ onClose: $event => $options.onChipRemove(item)
15649
+ }), {
15650
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(item), 1)]),
15651
+ _: 2
15652
+ }, 1040, ["onKeyup", "onClose"]);
15653
+ }), 128))], 512), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_input, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
15654
+ ref: "input",
15655
+ modelValue: $data.value,
15656
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => $data.value = $event),
15657
+ class: "d-fl-grow1 d-mb4",
15658
+ label: $props.label,
15659
+ description: $props.description,
15660
+ placeholder: $options.inputPlaceHolder,
15661
+ "show-messages": $props.showInputMessages,
15662
+ messages: $props.inputMessages
15663
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toHandlers)($options.inputListeners), {
15664
+ onInput: onInput
15665
+ }), null, 16, ["modelValue", "label", "description", "placeholder", "show-messages", "messages", "onInput"]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_dt_validation_messages, {
15666
+ "validation-messages": $props.maxSelectedMessage,
15667
+ "show-messages": $data.showValidationMessages
15668
+ }, null, 8, ["validation-messages", "show-messages"])], 512)];
15669
+ }),
15670
+ list: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", combobox_multi_selectvue_type_template_id_74f7079d_hoisted_4, [!$props.loading ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "list", {
15671
+ key: 0
15672
+ }) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", combobox_multi_selectvue_type_template_id_74f7079d_hoisted_5, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.loadingMessage), 1))], 512)]),
15673
+ _: 2
15674
+ }, [_ctx.$slots.header ? {
15675
+ name: "header",
15676
+ fn: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", combobox_multi_selectvue_type_template_id_74f7079d_hoisted_3, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "header")], 512)])
15677
+ } : undefined, _ctx.$slots.footer ? {
15678
+ name: "footer",
15679
+ fn: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", combobox_multi_selectvue_type_template_id_74f7079d_hoisted_6, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "footer")], 512)])
15680
+ } : undefined]), 1032, ["show-list", "max-height", "popover-offset", "has-suggestion-list", "onSelect"]);
15681
+ }
15682
+ ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue?vue&type=template&id=74f7079d
15683
+
15684
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue?vue&type=script&lang=js
15685
+ /* eslint-disable max-lines */
15686
+
15687
+
15688
+ /* harmony default export */ const combobox_multi_selectvue_type_script_lang_js = ({
15689
+ name: 'DtRecipeComboboxMultiSelect',
15690
+ components: {
15691
+ DtRecipeComboboxWithPopover: combobox_with_popover,
15692
+ DtInput: input_input,
15693
+ DtChip: chip,
15694
+ DtValidationMessages: validation_messages
15695
+ },
15696
+ props: {
15697
+ /**
15698
+ * Label for the combobox
15699
+ */
15700
+ label: {
15701
+ type: String,
15702
+ default: null
15703
+ },
15704
+
15705
+ /**
15706
+ * Description for the combobox
15707
+ */
15708
+ description: {
15709
+ type: String,
15710
+ default: null
15711
+ },
15712
+
15713
+ /**
15714
+ * Input placeholder
15715
+ */
15716
+ placeholder: {
15717
+ type: String,
15718
+ default: 'Select one or start typing'
15719
+ },
15720
+
15721
+ /**
15722
+ * Input validation messages
15723
+ */
15724
+ inputMessages: {
15725
+ type: Array,
15726
+ default: () => [],
15727
+ validator: inputMessages => {
15728
+ return validationMessageValidator(inputMessages);
15729
+ }
15730
+ },
15731
+
15732
+ /**
15733
+ * Show input validation message
15734
+ */
15735
+ showInputMessages: {
15736
+ type: Boolean,
15737
+ default: true
15738
+ },
15739
+ // @TODO: https://dialpad.atlassian.net/browse/DP-52324
15740
+ // type: {
15741
+ // type: String,
15742
+ // values: ['input', 'select'],
15743
+ // default: 'select',
15744
+ // },
15745
+
15746
+ /**
15747
+ * Determines if the list is loading
15748
+ */
15749
+ loading: {
15750
+ type: Boolean,
15751
+ default: false
15752
+ },
15753
+
15754
+ /**
15755
+ * The message when the list is loading
15756
+ */
15757
+ loadingMessage: {
15758
+ type: String,
15759
+ default: 'loading...'
15760
+ },
15761
+
15762
+ /**
15763
+ * Determines when to show the list element and also controls the aria-expanded attribute.
15764
+ * Leaving this null will have the combobox trigger on input focus by default.
15765
+ * If you set this value, the default trigger behavior will be disabled and you can
15766
+ * control it as you need.
15767
+ */
15768
+ showList: {
15769
+ type: Boolean,
15770
+ default: null
15771
+ },
15772
+
15773
+ /**
15774
+ * Determines maximum height for the popover before overflow.
15775
+ * Possible units rem|px|em
15776
+ */
15777
+ listMaxHeight: {
15778
+ type: String,
15779
+ default: '300px'
15780
+ },
15781
+
15782
+ /**
15783
+ * The selected items
15784
+ */
15785
+ selectedItems: {
15786
+ type: Array,
15787
+ default: function () {
15788
+ return [];
15789
+ }
15790
+ },
15791
+
15792
+ /**
15793
+ * Would be the maximum number of selections you can make. 0 is unlimited
15794
+ */
15795
+ maxSelected: {
15796
+ type: Number,
15797
+ default: 0
15798
+ },
15799
+
15800
+ /**
15801
+ * Max select message when the max selections has been reached with the structure:
15802
+ * `[{"message": string, "type": VALIDATION_MESSAGE_TYPES }]`
15803
+ */
15804
+ maxSelectedMessage: {
15805
+ type: Array,
15806
+ default: function () {
15807
+ return [];
15808
+ }
15809
+ },
15810
+
15811
+ /**
15812
+ * Displays the list when the combobox is focused, before the user has typed anything.
15813
+ * When this is enabled the list will not close after selection.
15814
+ */
15815
+ hasSuggestionList: {
15816
+ type: Boolean,
15817
+ default: true
15818
+ }
15819
+ },
15820
+ emits: ['input', 'select', 'remove', 'max-selected', 'keyup'],
15821
+
15822
+ data() {
15823
+ return {
15824
+ value: '',
15825
+ popoverOffset: [0, 0],
15826
+ showValidationMessages: false,
15827
+ initialInputPadding: {},
15828
+ resizeWindowObserver: null
15829
+ };
15830
+ },
15831
+
15832
+ computed: {
15833
+ inputPlaceHolder() {
15834
+ var _this$selectedItems;
15835
+
15836
+ return ((_this$selectedItems = this.selectedItems) === null || _this$selectedItems === void 0 ? void 0 : _this$selectedItems.length) > 0 ? '' : this.placeholder;
15837
+ },
15838
+
15839
+ chipListeners() {
15840
+ return {
15841
+ keyup: event => {
15842
+ this.onChipKeyup(event);
15843
+ this.$emit('keyup', event);
15844
+ }
15845
+ };
15846
+ },
15847
+
15848
+ inputListeners() {
15849
+ return {
15850
+ input: event => {
15851
+ this.$emit('input', event);
15852
+ },
15853
+ keyup: event => {
15854
+ this.onInputKeyup(event);
15855
+ this.$emit('keyup', event);
15856
+ }
15857
+ };
15858
+ }
15859
+
15860
+ },
15861
+ watch: {
15862
+ selectedItems: {
15863
+ deep: true,
15864
+ immediate: true,
15865
+ handler: async function () {
15866
+ await this.$nextTick();
15867
+ this.setInputPadding();
15868
+ this.setInputMinWidth();
15869
+ this.checkMaxSelected();
15870
+ }
15871
+ },
15872
+
15873
+ async label() {
15874
+ await this.$nextTick(); // Adjust the chips position if label changed
15875
+
15876
+ this.setChipsTopPosition();
15877
+ },
15878
+
15879
+ async description() {
15880
+ await this.$nextTick(); // Adjust the chips position if description changed
15881
+
15882
+ this.setChipsTopPosition();
15883
+ }
15884
+
15885
+ },
15886
+
15887
+ mounted() {
15888
+ this.setChipsTopPosition(); // Recalculate chip position and input padding when resizing window
15889
+
15890
+ this.resizeWindowObserver = new ResizeObserver(() => {
15891
+ this.setChipsTopPosition();
15892
+ this.setInputPadding();
15893
+ }).observe(document.body);
15894
+ },
15895
+
15896
+ beforeUnmount() {
15897
+ var _this$resizeWindowObs;
15898
+
15899
+ (_this$resizeWindowObs = this.resizeWindowObserver) === null || _this$resizeWindowObs === void 0 ? void 0 : _this$resizeWindowObs.unobserve(document.body);
15900
+ },
15901
+
15902
+ methods: {
15903
+ onChipRemove(item) {
15904
+ this.$emit('remove', item);
15905
+ this.$refs.input.focus();
15906
+ },
15907
+
15908
+ onComboboxSelect(i) {
15909
+ this.value = '';
15910
+ this.$emit('select', i);
15911
+ },
15912
+
15913
+ getChipButtons() {
15914
+ return this.$refs.chips && this.$refs.chips.map(chip => chip.$el.querySelector('button'));
15915
+ },
15916
+
15917
+ getChips() {
15918
+ return this.$refs.chips && this.$refs.chips.map(chip => chip.$el);
15919
+ },
15920
+
15921
+ getLastChipButton() {
15922
+ return this.$refs.chips && this.getChipButtons()[this.getChipButtons().length - 1];
15923
+ },
15924
+
15925
+ getLastChip() {
15926
+ return this.$refs.chips && this.getChips()[this.getChips().length - 1];
15927
+ },
15928
+
15929
+ getFirstChip() {
15930
+ return this.$refs.chips && this.getChips()[0];
15931
+ },
15932
+
15933
+ getInput() {
15934
+ var _this$$refs$input;
15935
+
15936
+ return (_this$$refs$input = this.$refs.input) === null || _this$$refs$input === void 0 ? void 0 : _this$$refs$input.$refs.input;
15937
+ },
15938
+
15939
+ onChipKeyup(event) {
15940
+ var _event$code;
15941
+
15942
+ const key = (_event$code = event.code) === null || _event$code === void 0 ? void 0 : _event$code.toLowerCase();
15943
+
15944
+ if (key === 'arrowleft') {
15945
+ // Move to the previous chip
15946
+ this.navigateBetweenChips(event.target, true);
15947
+ } else if (key === 'arrowright') {
15948
+ if (event.target.id === this.getLastChipButton().id) {
15949
+ // Move to the input if it's the last chip
15950
+ this.moveFromChipToInput();
15951
+ } else {
15952
+ // Move to the next chip
15953
+ this.navigateBetweenChips(event.target, false);
15954
+ }
15955
+ }
15956
+ },
15957
+
15958
+ onInputKeyup(event) {
15959
+ var _event$code2;
15960
+
15961
+ const key = (_event$code2 = event.code) === null || _event$code2 === void 0 ? void 0 : _event$code2.toLowerCase(); // If the cursor is at the start of the text,
15962
+ // press 'backspace' or 'left' focuses the last chip
15963
+
15964
+ if (this.selectedItems.length > 0 && event.target.selectionStart === 0) {
15965
+ if (key === 'backspace' || key === 'arrowleft') {
15966
+ this.moveFromInputToChip();
15967
+ }
15968
+ }
15969
+ },
15970
+
15971
+ moveFromInputToChip() {
15972
+ this.getLastChipButton().focus();
15973
+ this.$refs.input.blur();
15974
+ this.$refs.comboboxWithPopover.closeComboboxList();
15975
+ },
15976
+
15977
+ moveFromChipToInput() {
15978
+ this.getLastChipButton().blur();
15979
+ this.$refs.input.focus();
15980
+ this.$refs.comboboxWithPopover.showComboboxList();
15981
+ },
15982
+
15983
+ navigateBetweenChips(target, toLeft) {
15984
+ const from = this.getChipButtons().indexOf(target);
15985
+ const to = toLeft ? from - 1 : from + 1;
15986
+
15987
+ if (to < 0 || to >= this.$refs.chips.length) {
15988
+ return;
15989
+ }
15990
+
15991
+ this.getChipButtons()[from].blur();
15992
+ this.getChipButtons()[to].focus();
15993
+ this.$refs.comboboxWithPopover.closeComboboxList();
15994
+ },
15995
+
15996
+ setChipsTopPosition() {
15997
+ // To place the chips in the input box
15998
+ // The chip "top" position should be the same line as the input box
15999
+ if (!this.$refs.input) {
16000
+ return;
16001
+ }
16002
+
16003
+ const input = this.getInput();
16004
+ if (!input) return;
16005
+ const inputSlotWrapper = this.$refs.inputSlotWrapper;
16006
+ const top = input.getBoundingClientRect().top - inputSlotWrapper.getBoundingClientRect().top;
16007
+ const chipsWrapper = this.$refs.chipsWrapper;
16008
+ chipsWrapper.style.top = top + 'px';
16009
+ },
16010
+
16011
+ setInputPadding() {
16012
+ const lastChip = this.getLastChip();
16013
+ const input = this.getInput();
16014
+ if (!input) return;
16015
+
16016
+ if (!lastChip) {
16017
+ // Revert padding if no chip
16018
+ this.revertInputPadding(input);
16019
+ return;
16020
+ } // Get the position of the last chip
16021
+ // The input cursor should be the same "top" as that chip and next besides it
16022
+
16023
+
16024
+ const left = lastChip.offsetLeft + this.getFullWidth(lastChip);
16025
+ input.style.paddingLeft = left + 'px'; // Chip has vertical margin. We add buffer to top center the input text
16026
+
16027
+ const top = lastChip.offsetTop + 3;
16028
+ input.style.paddingTop = top + 'px'; // TODO: refresh the tippy.js instance in the popover
16029
+ // If the new chip goes to the next line and the input box expands,
16030
+ // move the popover down to the next line. Same when chips are removed
16031
+
16032
+ this.popoverOffset = [0, 0];
16033
+ },
16034
+
16035
+ getFullWidth(el) {
16036
+ const styles = window.getComputedStyle(el);
16037
+ return el.offsetWidth + parseInt(styles.marginLeft) + parseInt(styles.marginRight);
16038
+ },
16039
+
16040
+ revertInputPadding(input) {
16041
+ input.style.paddingLeft = '';
16042
+ input.style.paddingTop = '';
16043
+ input.style.paddingBottom = '';
16044
+ },
16045
+
16046
+ setInputMinWidth() {
16047
+ // Ensure the width of the input is "slightly bigger" than the width of a single chip
16048
+ const firstChip = this.getFirstChip();
16049
+ const input = this.getInput();
16050
+ if (!input) return;
16051
+
16052
+ if (firstChip) {
16053
+ // Add 4px buffer for typing room
16054
+ input.style.minWidth = this.getFullWidth(firstChip) + 4 + 'px';
16055
+ } else {
16056
+ input.style.minWidth = '';
16057
+ }
16058
+ },
16059
+
16060
+ checkMaxSelected() {
16061
+ if (this.maxSelected === 0) return;
16062
+
16063
+ if (this.selectedItems.length >= this.maxSelected) {
16064
+ this.showValidationMessages = true;
16065
+ this.$emit('max-selected');
16066
+ } else {
16067
+ this.showValidationMessages = false;
16068
+ }
16069
+ }
16070
+
16071
+ }
16072
+ });
16073
+ ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue?vue&type=script&lang=js
16074
+
16075
+ ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue
16076
+
16077
+
16078
+
16079
+
16080
+ ;
16081
+ const combobox_multi_select_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(combobox_multi_selectvue_type_script_lang_js, [['render',combobox_multi_selectvue_type_template_id_74f7079d_render]])
16082
+
16083
+ /* harmony default export */ const combobox_multi_select = (combobox_multi_select_exports_);
16084
+ ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_multi_select/index.js
16085
+
16086
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/list_items/contact_info/contact_info.vue?vue&type=template&id=7091b031
16087
+
16088
+ const contact_infovue_type_template_id_7091b031_hoisted_1 = {
16089
+ class: "d-ps-relative",
16090
+ "data-qa": "contact-info-left"
16091
+ };
16092
+ const contact_infovue_type_template_id_7091b031_hoisted_2 = ["src", "alt"];
16093
+ const contact_infovue_type_template_id_7091b031_hoisted_3 = {
16094
+ "data-qa": "contact-info-header"
16095
+ };
16096
+ const contact_infovue_type_template_id_7091b031_hoisted_4 = {
16097
+ "data-qa": "contact-info-subtitle"
16098
+ };
16099
+ const contact_infovue_type_template_id_7091b031_hoisted_5 = {
16100
+ "data-qa": "contact-info-bottom"
16101
+ };
16102
+ const contact_infovue_type_template_id_7091b031_hoisted_6 = {
16103
+ "data-qa": "contact-info-right"
16104
+ };
16105
+ function contact_infovue_type_template_id_7091b031_render(_ctx, _cache, $props, $setup, $data, $options) {
16106
+ const _component_dt_avatar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-avatar");
16107
+
16108
+ const _component_dt_list_item = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-list-item");
16109
+
16110
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_list_item, {
16111
+ id: $props.id,
16112
+ role: $props.role,
16113
+ "element-type": "div",
16114
+ "data-qa": "contact-info"
16115
+ }, {
16116
+ left: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_7091b031_hoisted_1, [$props.avatarSrc ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_avatar, {
16117
+ key: 0,
16118
+ kind: "default",
16119
+ size: "lg",
16120
+ "avatar-class": "d-bar2"
16121
+ }, {
16122
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("img", {
16123
+ "data-qa": "dt-contact-avatar",
16124
+ src: $props.avatarSrc,
16125
+ alt: $props.avatarInitials
16126
+ }, null, 8, contact_infovue_type_template_id_7091b031_hoisted_2)]),
16127
+ _: 1
16128
+ })) : $props.avatarInitials ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_dt_avatar, {
16129
+ key: 1,
16130
+ kind: "initials",
16131
+ size: "lg",
16132
+ color: $props.avatarColor
16133
+ }, {
16134
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)($props.avatarInitials), 1)]),
16135
+ _: 1
16136
+ }, 8, ["color"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), $options.showUserStatus ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
16137
+ key: 2,
16138
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['d-ba', 'd-bc-white', 'd-baw2', 'd-bar2', 'd-ps-absolute', 'd-bn1', 'd-rn1', 'd-w20p', 'd-h20p', $data.USER_STATUS_COLOR_MODIFIERS[$props.userStatusColor]]),
16139
+ "data-qa": "contact-info-user-status"
16140
+ }, "   ", 2)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])]),
16141
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_7091b031_hoisted_3, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "header")])]),
16142
+ subtitle: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_7091b031_hoisted_4, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "subtitle")])]),
16143
+ bottom: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_7091b031_hoisted_5, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "bottom")])]),
16144
+ right: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", contact_infovue_type_template_id_7091b031_hoisted_6, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "right")])]),
16145
+ _: 3
16146
+ }, 8, ["id", "role"]);
16147
+ }
16148
+ ;// CONCATENATED MODULE: ./recipes/list_items/contact_info/contact_info.vue?vue&type=template&id=7091b031
16149
+
16150
+ ;// CONCATENATED MODULE: ./recipes/list_items/contact_info/contact_info_constants.js
16151
+ const USER_STATUS_COLOR_MODIFIERS = {
16152
+ none: '',
16153
+ green: 'd-bgc-green-400',
16154
+ yellow: 'd-bgc-yellow-400',
16155
+ red: 'd-bgc-red-400'
16156
+ };
16157
+ /* harmony default export */ const contact_info_constants = ({
16158
+ USER_STATUS_COLOR_MODIFIERS
16159
+ });
16160
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./recipes/list_items/contact_info/contact_info.vue?vue&type=script&lang=js
16161
+
16162
+
16163
+
16164
+ /* harmony default export */ const contact_infovue_type_script_lang_js = ({
14891
16165
  name: 'DtRecipeContactInfo',
14892
16166
  components: {
14893
16167
  DtAvatar: avatar,
@@ -15093,11 +16367,14 @@ const top_banner_info_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(to
15093
16367
 
15094
16368
 
15095
16369
 
16370
+
15096
16371
 
15097
16372
 
15098
16373
  /// Recipes
15099
16374
 
15100
16375
 
16376
+
16377
+
15101
16378
  // Mixins
15102
16379
 
15103
16380
  // Emoji