@dialpad/dialtone-vue 3.5.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
|
-
/***/
|
|
52
|
+
/***/ 15:
|
|
53
53
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
54
54
|
|
|
55
55
|
"use strict";
|
|
@@ -425,19 +425,19 @@ var update = add("c62e22ae", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
425
425
|
|
|
426
426
|
/***/ }),
|
|
427
427
|
|
|
428
|
-
/***/
|
|
428
|
+
/***/ 213:
|
|
429
429
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
430
430
|
|
|
431
431
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
432
432
|
|
|
433
433
|
// load the styles
|
|
434
|
-
var content = __webpack_require__(
|
|
434
|
+
var content = __webpack_require__(15);
|
|
435
435
|
if(content.__esModule) content = content.default;
|
|
436
436
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
437
437
|
if(content.locals) module.exports = content.locals;
|
|
438
438
|
// add the styles to the DOM
|
|
439
439
|
var add = (__webpack_require__(402)/* ["default"] */ .Z)
|
|
440
|
-
var update = add("
|
|
440
|
+
var update = add("7e5f7c46", content, true, {"sourceMap":false,"shadowMode":false});
|
|
441
441
|
|
|
442
442
|
/***/ }),
|
|
443
443
|
|
|
@@ -1135,6 +1135,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
1135
1135
|
"DtPopover": () => (/* reexport */ popover),
|
|
1136
1136
|
"DtRadio": () => (/* reexport */ radio_radio),
|
|
1137
1137
|
"DtRadioGroup": () => (/* reexport */ radio_group),
|
|
1138
|
+
"DtRecipeComboboxMultiSelect": () => (/* reexport */ combobox_multi_select),
|
|
1139
|
+
"DtRecipeComboboxWithPopover": () => (/* reexport */ combobox_with_popover),
|
|
1138
1140
|
"DtRecipeContactInfo": () => (/* reexport */ contact_info),
|
|
1139
1141
|
"DtRecipeTopBannerInfo": () => (/* reexport */ top_banner_info),
|
|
1140
1142
|
"DtRootLayout": () => (/* reexport */ root_layout),
|
|
@@ -1228,7 +1230,7 @@ if (typeof window !== 'undefined') {
|
|
|
1228
1230
|
|
|
1229
1231
|
;// CONCATENATED MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
|
|
1230
1232
|
const external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject = require("vue");
|
|
1231
|
-
;// 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=
|
|
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
|
|
1232
1234
|
|
|
1233
1235
|
const _hoisted_1 = ["id"];
|
|
1234
1236
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
@@ -1238,7 +1240,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1238
1240
|
"data-qa": "dt-avatar"
|
|
1239
1241
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1);
|
|
1240
1242
|
}
|
|
1241
|
-
;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=template&id=
|
|
1243
|
+
;// CONCATENATED MODULE: ./components/avatar/avatar.vue?vue&type=template&id=a43ab9f6
|
|
1242
1244
|
|
|
1243
1245
|
;// CONCATENATED MODULE: ./components/avatar/avatar_constants.js
|
|
1244
1246
|
const AVATAR_KIND_MODIFIERS = {
|
|
@@ -1496,16 +1498,23 @@ const flushPromises = () => {
|
|
|
1496
1498
|
const firstChild = this.$el.children[0];
|
|
1497
1499
|
|
|
1498
1500
|
if (firstChild) {
|
|
1499
|
-
this.validateElementType(firstChild);
|
|
1500
1501
|
this.setKind(firstChild);
|
|
1501
1502
|
this.validateImageAttrsPresence();
|
|
1502
1503
|
}
|
|
1503
1504
|
},
|
|
1504
1505
|
|
|
1505
1506
|
setKind(element) {
|
|
1506
|
-
if (this.isSvgType(element))
|
|
1507
|
-
|
|
1508
|
-
|
|
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';
|
|
1509
1518
|
},
|
|
1510
1519
|
|
|
1511
1520
|
isSvgType(element) {
|
|
@@ -1520,15 +1529,6 @@ const flushPromises = () => {
|
|
|
1520
1529
|
return (element === null || element === void 0 ? void 0 : (_element$tagName2 = element.tagName) === null || _element$tagName2 === void 0 ? void 0 : _element$tagName2.toUpperCase()) === 'IMG';
|
|
1521
1530
|
},
|
|
1522
1531
|
|
|
1523
|
-
isInitialsType(element) {
|
|
1524
|
-
return (element === null || element === void 0 ? void 0 : element.nodeType) === Node.TEXT_NODE;
|
|
1525
|
-
},
|
|
1526
|
-
|
|
1527
|
-
validateElementType(element) {
|
|
1528
|
-
if (this.isInitialsType(element) || this.isSvgType(element) || this.isImageType(element)) return;
|
|
1529
|
-
(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);
|
|
1530
|
-
},
|
|
1531
|
-
|
|
1532
1532
|
validateImageAttrsPresence() {
|
|
1533
1533
|
if (this.kind === 'image') {
|
|
1534
1534
|
// Check that default slot image required attributes are provided
|
|
@@ -3544,10 +3544,10 @@ const combobox_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(comboboxv
|
|
|
3544
3544
|
/* harmony default export */ const combobox = (combobox_exports_);
|
|
3545
3545
|
;// CONCATENATED MODULE: ./components/combobox/index.js
|
|
3546
3546
|
|
|
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=
|
|
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
|
|
3548
3548
|
|
|
3549
|
-
const
|
|
3550
|
-
function
|
|
3549
|
+
const dropdownvue_type_template_id_b0e1f8ba_hoisted_1 = ["id"];
|
|
3550
|
+
function dropdownvue_type_template_id_b0e1f8ba_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3551
3551
|
const _component_dt_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-popover");
|
|
3552
3552
|
|
|
3553
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)({
|
|
@@ -3555,7 +3555,7 @@ function dropdownvue_type_template_id_e86dedbc_render(_ctx, _cache, $props, $set
|
|
|
3555
3555
|
"content-width": $props.contentWidth,
|
|
3556
3556
|
open: $props.open,
|
|
3557
3557
|
placement: $props.placement,
|
|
3558
|
-
"initial-focus-element":
|
|
3558
|
+
"initial-focus-element": $data.openedWithKeyboard ? 'first' : 'dialog',
|
|
3559
3559
|
"fallback-placements": $props.fallbackPlacements,
|
|
3560
3560
|
padding: "none",
|
|
3561
3561
|
role: "menu",
|
|
@@ -3592,12 +3592,12 @@ function dropdownvue_type_template_id_e86dedbc_render(_ctx, _cache, $props, $set
|
|
|
3592
3592
|
})
|
|
3593
3593
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "list", {
|
|
3594
3594
|
close: close
|
|
3595
|
-
})], 42,
|
|
3595
|
+
})], 42, dropdownvue_type_template_id_b0e1f8ba_hoisted_1)];
|
|
3596
3596
|
}),
|
|
3597
3597
|
_: 3
|
|
3598
|
-
}, 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"]);
|
|
3599
3599
|
}
|
|
3600
|
-
;// CONCATENATED MODULE: ./components/dropdown/dropdown.vue?vue&type=template&id=
|
|
3600
|
+
;// CONCATENATED MODULE: ./components/dropdown/dropdown.vue?vue&type=template&id=b0e1f8ba
|
|
3601
3601
|
|
|
3602
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
|
|
3603
3603
|
|
|
@@ -9325,7 +9325,7 @@ const DROPDOWN_PADDING_CLASSES = {
|
|
|
9325
9325
|
|
|
9326
9326
|
|
|
9327
9327
|
;
|
|
9328
|
-
const dropdown_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(dropdownvue_type_script_lang_js, [['render',
|
|
9328
|
+
const dropdown_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(dropdownvue_type_script_lang_js, [['render',dropdownvue_type_template_id_b0e1f8ba_render]])
|
|
9329
9329
|
|
|
9330
9330
|
/* harmony default export */ const dropdown = (dropdown_exports_);
|
|
9331
9331
|
;// CONCATENATED MODULE: ./components/dropdown/index.js
|
|
@@ -10239,15 +10239,15 @@ const emoji_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(emojivue_typ
|
|
|
10239
10239
|
;// CONCATENATED MODULE: ./components/emoji/index.js
|
|
10240
10240
|
|
|
10241
10241
|
|
|
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=
|
|
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
|
|
10243
10243
|
|
|
10244
|
-
const
|
|
10244
|
+
const inputvue_type_template_id_1204d99d_hoisted_1 = {
|
|
10245
10245
|
ref: "container",
|
|
10246
10246
|
class: "base-input",
|
|
10247
10247
|
"data-qa": "dt-input"
|
|
10248
10248
|
};
|
|
10249
|
-
const
|
|
10250
|
-
const
|
|
10249
|
+
const inputvue_type_template_id_1204d99d_hoisted_2 = ["aria-details"];
|
|
10250
|
+
const inputvue_type_template_id_1204d99d_hoisted_3 = ["id"];
|
|
10251
10251
|
const _hoisted_4 = {
|
|
10252
10252
|
key: 0
|
|
10253
10253
|
};
|
|
@@ -10261,23 +10261,25 @@ const _hoisted_6 = {
|
|
|
10261
10261
|
};
|
|
10262
10262
|
const _hoisted_7 = ["value", "name", "disabled", "maxlength"];
|
|
10263
10263
|
const _hoisted_8 = ["value", "name", "type", "disabled", "maxlength"];
|
|
10264
|
-
function
|
|
10264
|
+
function inputvue_type_template_id_1204d99d_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
10265
10265
|
const _component_dt_validation_messages = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-validation-messages");
|
|
10266
10266
|
|
|
10267
|
-
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div",
|
|
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", {
|
|
10268
10268
|
class: "base-input__label",
|
|
10269
10269
|
"aria-details": _ctx.$slots.description || $props.description ? $options.descriptionKey : undefined,
|
|
10270
10270
|
"data-qa": "dt-input-label-wrapper"
|
|
10271
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", {
|
|
10272
10272
|
key: 0,
|
|
10273
|
+
ref: "label",
|
|
10273
10274
|
"data-qa": "dt-input-label",
|
|
10274
10275
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['base-input__label-text', 'd-label', $data.labelSizeClasses[$props.size]])
|
|
10275
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", {
|
|
10276
10277
|
key: 0,
|
|
10277
10278
|
id: $options.descriptionKey,
|
|
10279
|
+
ref: "description",
|
|
10278
10280
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['base-input__description', 'd-description', 'd-fd-column', $data.descriptionSizeClasses[$props.size]]),
|
|
10279
10281
|
"data-qa": "dt-input-description"
|
|
10280
|
-
}, [_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,
|
|
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", {
|
|
10281
10283
|
key: 0,
|
|
10282
10284
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)($options.inputIconClasses('left')),
|
|
10283
10285
|
"data-qa": "dt-input-left-icon-wrapper",
|
|
@@ -10310,7 +10312,7 @@ function inputvue_type_template_id_0337d4a5_render(_ctx, _cache, $props, $setup,
|
|
|
10310
10312
|
onFocusout: _cache[1] || (_cache[1] = function () {
|
|
10311
10313
|
return $options.onBlur && $options.onBlur(...arguments);
|
|
10312
10314
|
})
|
|
10313
|
-
}, [(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,
|
|
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)({
|
|
10314
10316
|
"validation-messages": $options.validationMessages,
|
|
10315
10317
|
"show-messages": _ctx.showMessages,
|
|
10316
10318
|
class: _ctx.messagesClass
|
|
@@ -10318,7 +10320,7 @@ function inputvue_type_template_id_0337d4a5_render(_ctx, _cache, $props, $setup,
|
|
|
10318
10320
|
"data-qa": "dt-input-messages"
|
|
10319
10321
|
}), null, 16, ["validation-messages", "show-messages", "class"])], 512);
|
|
10320
10322
|
}
|
|
10321
|
-
;// CONCATENATED MODULE: ./components/input/input.vue?vue&type=template&id=
|
|
10323
|
+
;// CONCATENATED MODULE: ./components/input/input.vue?vue&type=template&id=1204d99d
|
|
10322
10324
|
|
|
10323
10325
|
;// CONCATENATED MODULE: ./components/input/input_constants.js
|
|
10324
10326
|
// Valid input types, any other input types (for example: 'radio' or 'checkbox') should
|
|
@@ -11221,7 +11223,7 @@ const MessagesMixin = {
|
|
|
11221
11223
|
|
|
11222
11224
|
|
|
11223
11225
|
;
|
|
11224
|
-
const input_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(inputvue_type_script_lang_js, [['render',
|
|
11226
|
+
const input_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(inputvue_type_script_lang_js, [['render',inputvue_type_template_id_1204d99d_render]])
|
|
11225
11227
|
|
|
11226
11228
|
/* harmony default export */ const input_input = (input_exports_);
|
|
11227
11229
|
;// CONCATENATED MODULE: ./components/input/index.js
|
|
@@ -11962,9 +11964,9 @@ const list_section_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(list_
|
|
|
11962
11964
|
/* harmony default export */ const list_section = (list_section_exports_);
|
|
11963
11965
|
;// CONCATENATED MODULE: ./components/list_section/index.js
|
|
11964
11966
|
|
|
11965
|
-
;// 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=
|
|
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
|
|
11966
11968
|
|
|
11967
|
-
function
|
|
11969
|
+
function list_itemvue_type_template_id_237d2c10_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
11968
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)({
|
|
11969
11971
|
id: $props.id,
|
|
11970
11972
|
class: ['dt-list-item d-ls-none focus-visible', {
|
|
@@ -11990,7 +11992,7 @@ function list_itemvue_type_template_id_7876bc36_render(_ctx, _cache, $props, $se
|
|
|
11990
11992
|
_: 3
|
|
11991
11993
|
}, 16, ["id", "class", "tabindex", "role", "aria-selected"]);
|
|
11992
11994
|
}
|
|
11993
|
-
;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=template&id=
|
|
11995
|
+
;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=template&id=237d2c10
|
|
11994
11996
|
|
|
11995
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
|
|
11996
11998
|
|
|
@@ -12118,7 +12120,7 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
|
|
|
12118
12120
|
validator: t => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t)
|
|
12119
12121
|
}
|
|
12120
12122
|
},
|
|
12121
|
-
emits: ['
|
|
12123
|
+
emits: ['keydown', 'mousemove', 'mouseleave', 'mousedown'],
|
|
12122
12124
|
|
|
12123
12125
|
data() {
|
|
12124
12126
|
return {
|
|
@@ -12147,6 +12149,13 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
|
|
|
12147
12149
|
|
|
12148
12150
|
this.$emit('keydown', event);
|
|
12149
12151
|
},
|
|
12152
|
+
mousedown: event => {
|
|
12153
|
+
if (!this.isFocusable) {
|
|
12154
|
+
event.preventDefault();
|
|
12155
|
+
}
|
|
12156
|
+
|
|
12157
|
+
this.$emit('mousedown', event);
|
|
12158
|
+
},
|
|
12150
12159
|
mousemove: event => {
|
|
12151
12160
|
this.onMouseHover(event);
|
|
12152
12161
|
this.$emit('mousemove', event);
|
|
@@ -12185,6 +12194,8 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
|
|
|
12185
12194
|
},
|
|
12186
12195
|
methods: {
|
|
12187
12196
|
onClick(e) {
|
|
12197
|
+
// disabled as we do not want to override native click
|
|
12198
|
+
// eslint-disable-next-line vue/require-explicit-emits
|
|
12188
12199
|
this.$emit('click', e);
|
|
12189
12200
|
},
|
|
12190
12201
|
|
|
@@ -12200,9 +12211,9 @@ const default_list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(
|
|
|
12200
12211
|
});
|
|
12201
12212
|
;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=script&lang=js
|
|
12202
12213
|
|
|
12203
|
-
// 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=
|
|
12204
|
-
var
|
|
12205
|
-
;// CONCATENATED MODULE: ./components/list_item/list_item.vue?vue&type=style&index=0&id=
|
|
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
|
|
12206
12217
|
|
|
12207
12218
|
;// CONCATENATED MODULE: ./components/list_item/list_item.vue
|
|
12208
12219
|
|
|
@@ -12212,7 +12223,7 @@ var list_itemvue_type_style_index_0_id_7876bc36_lang_less = __webpack_require__(
|
|
|
12212
12223
|
;
|
|
12213
12224
|
|
|
12214
12225
|
|
|
12215
|
-
const list_item_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(list_itemvue_type_script_lang_js, [['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]])
|
|
12216
12227
|
|
|
12217
12228
|
/* harmony default export */ const list_item = (list_item_exports_);
|
|
12218
12229
|
;// CONCATENATED MODULE: ./components/list_item/index.js
|
|
@@ -12552,16 +12563,31 @@ const radio_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(radiovue_typ
|
|
|
12552
12563
|
}
|
|
12553
12564
|
},
|
|
12554
12565
|
emits: ['input'],
|
|
12566
|
+
|
|
12567
|
+
data() {
|
|
12568
|
+
return {
|
|
12569
|
+
internalValue: this.value
|
|
12570
|
+
};
|
|
12571
|
+
},
|
|
12572
|
+
|
|
12555
12573
|
watch: {
|
|
12556
|
-
/*
|
|
12557
|
-
* watching value to support 2 way binding for slotted radios.
|
|
12558
|
-
* need this to pass value to slotted radios if modified outside
|
|
12559
|
-
* radio group.
|
|
12560
|
-
*/
|
|
12561
12574
|
value(newValue) {
|
|
12562
|
-
this.
|
|
12563
|
-
}
|
|
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,
|
|
12564
12585
|
|
|
12586
|
+
handler(newInternalValue) {
|
|
12587
|
+
this.provideObj.selectedValue = newInternalValue;
|
|
12588
|
+
}
|
|
12589
|
+
|
|
12590
|
+
}
|
|
12565
12591
|
},
|
|
12566
12592
|
methods: {
|
|
12567
12593
|
/*
|
|
@@ -13391,27 +13417,27 @@ const checkbox_group_exports_ = checkbox_groupvue_type_script_lang_js;
|
|
|
13391
13417
|
/* harmony default export */ const checkbox_group = (checkbox_group_exports_);
|
|
13392
13418
|
;// CONCATENATED MODULE: ./components/checkbox_group/index.js
|
|
13393
13419
|
|
|
13394
|
-
;// 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=
|
|
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
|
|
13395
13421
|
|
|
13396
|
-
const
|
|
13422
|
+
const chipvue_type_template_id_1805ca4d_hoisted_1 = {
|
|
13397
13423
|
class: "d-chip"
|
|
13398
13424
|
};
|
|
13399
|
-
const
|
|
13425
|
+
const chipvue_type_template_id_1805ca4d_hoisted_2 = {
|
|
13400
13426
|
key: 0,
|
|
13401
13427
|
"data-qa": "dt-chip-icon",
|
|
13402
13428
|
class: "d-chip__icon"
|
|
13403
13429
|
};
|
|
13404
|
-
const
|
|
13430
|
+
const chipvue_type_template_id_1805ca4d_hoisted_3 = {
|
|
13405
13431
|
key: 1,
|
|
13406
13432
|
"data-qa": "dt-chip-avatar"
|
|
13407
13433
|
};
|
|
13408
|
-
const
|
|
13409
|
-
function
|
|
13434
|
+
const chipvue_type_template_id_1805ca4d_hoisted_4 = ["id"];
|
|
13435
|
+
function chipvue_type_template_id_1805ca4d_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
13410
13436
|
const _component_icon_close = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("icon-close");
|
|
13411
13437
|
|
|
13412
13438
|
const _component_dt_button = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.resolveComponent)("dt-button");
|
|
13413
13439
|
|
|
13414
|
-
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)({
|
|
13415
13441
|
id: $props.id,
|
|
13416
13442
|
type: $props.interactive && 'button',
|
|
13417
13443
|
class: $options.chipClasses(),
|
|
@@ -13419,12 +13445,12 @@ function chipvue_type_template_id_8a56dabe_render(_ctx, _cache, $props, $setup,
|
|
|
13419
13445
|
"aria-labelledby": $props.ariaLabel ? undefined : "".concat($props.id, "-content"),
|
|
13420
13446
|
"aria-label": $props.ariaLabel
|
|
13421
13447
|
}, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toHandlers)($options.chipListeners)), {
|
|
13422
|
-
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",
|
|
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", {
|
|
13423
13449
|
key: 2,
|
|
13424
13450
|
id: "".concat($props.id, "-content"),
|
|
13425
13451
|
"data-qa": "dt-chip-label",
|
|
13426
13452
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(['d-truncate', 'd-chip__text', $props.contentClass])
|
|
13427
|
-
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default")], 10,
|
|
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)]),
|
|
13428
13454
|
_: 3
|
|
13429
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)({
|
|
13430
13456
|
key: 0
|
|
@@ -13438,7 +13464,7 @@ function chipvue_type_template_id_8a56dabe_render(_ctx, _cache, $props, $setup,
|
|
|
13438
13464
|
_: 1
|
|
13439
13465
|
}, 16, ["class", "aria-label"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)]);
|
|
13440
13466
|
}
|
|
13441
|
-
;// CONCATENATED MODULE: ./components/chip/chip.vue?vue&type=template&id=
|
|
13467
|
+
;// CONCATENATED MODULE: ./components/chip/chip.vue?vue&type=template&id=1805ca4d
|
|
13442
13468
|
|
|
13443
13469
|
;// CONCATENATED MODULE: ./components/chip/chip_constants.js
|
|
13444
13470
|
const CHIP_SIZE_MODIFIERS = {
|
|
@@ -13471,6 +13497,11 @@ const CHIP_CLOSE_BUTTON_SIZE_MODIFIERS = {
|
|
|
13471
13497
|
*/
|
|
13472
13498
|
closeButtonProps: {
|
|
13473
13499
|
type: Object,
|
|
13500
|
+
default: function () {
|
|
13501
|
+
return {
|
|
13502
|
+
ariaLabel: 'close'
|
|
13503
|
+
};
|
|
13504
|
+
},
|
|
13474
13505
|
validator: props => {
|
|
13475
13506
|
return !!props.ariaLabel;
|
|
13476
13507
|
}
|
|
@@ -13584,7 +13615,7 @@ const CHIP_CLOSE_BUTTON_SIZE_MODIFIERS = {
|
|
|
13584
13615
|
|
|
13585
13616
|
|
|
13586
13617
|
;
|
|
13587
|
-
const chip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(chipvue_type_script_lang_js, [['render',
|
|
13618
|
+
const chip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(chipvue_type_script_lang_js, [['render',chipvue_type_template_id_1805ca4d_render]])
|
|
13588
13619
|
|
|
13589
13620
|
/* harmony default export */ const chip = (chip_exports_);
|
|
13590
13621
|
;// CONCATENATED MODULE: ./components/chip/index.js
|
|
@@ -15190,6 +15221,868 @@ const root_layout_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(root_l
|
|
|
15190
15221
|
;// CONCATENATED MODULE: ./components/root_layout/index.js
|
|
15191
15222
|
|
|
15192
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
|
+
|
|
15193
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
|
|
15194
16087
|
|
|
15195
16088
|
const contact_infovue_type_template_id_7091b031_hoisted_1 = {
|
|
@@ -15480,6 +16373,8 @@ const top_banner_info_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(to
|
|
|
15480
16373
|
/// Recipes
|
|
15481
16374
|
|
|
15482
16375
|
|
|
16376
|
+
|
|
16377
|
+
|
|
15483
16378
|
// Mixins
|
|
15484
16379
|
|
|
15485
16380
|
// Emoji
|