@dialpad/dialtone-vue 3.8.0 → 3.11.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.
@@ -107,7 +107,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".dt-list-section[tabindex=\"-1\"]:focu
107
107
 
108
108
  /***/ }),
109
109
 
110
- /***/ 559:
110
+ /***/ 195:
111
111
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
112
112
 
113
113
  "use strict";
@@ -203,7 +203,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".skeleton-placeholder{display:flex;str
203
203
 
204
204
  /***/ }),
205
205
 
206
- /***/ 791:
206
+ /***/ 775:
207
207
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
208
208
 
209
209
  "use strict";
@@ -467,19 +467,19 @@ var update = add("06b601f1", content, true, {"sourceMap":false,"shadowMode":fals
467
467
 
468
468
  /***/ }),
469
469
 
470
- /***/ 790:
470
+ /***/ 560:
471
471
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
472
472
 
473
473
  // style-loader: Adds some css to the DOM by adding a <style> tag
474
474
 
475
475
  // load the styles
476
- var content = __webpack_require__(559);
476
+ var content = __webpack_require__(195);
477
477
  if(content.__esModule) content = content.default;
478
478
  if(typeof content === 'string') content = [[module.id, content, '']];
479
479
  if(content.locals) module.exports = content.locals;
480
480
  // add the styles to the DOM
481
481
  var add = (__webpack_require__(402)/* ["default"] */ .Z)
482
- var update = add("fc300706", content, true, {"sourceMap":false,"shadowMode":false});
482
+ var update = add("42289f9e", content, true, {"sourceMap":false,"shadowMode":false});
483
483
 
484
484
  /***/ }),
485
485
 
@@ -531,19 +531,19 @@ var update = add("537a95a4", content, true, {"sourceMap":false,"shadowMode":fals
531
531
 
532
532
  /***/ }),
533
533
 
534
- /***/ 273:
534
+ /***/ 831:
535
535
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
536
536
 
537
537
  // style-loader: Adds some css to the DOM by adding a <style> tag
538
538
 
539
539
  // load the styles
540
- var content = __webpack_require__(791);
540
+ var content = __webpack_require__(775);
541
541
  if(content.__esModule) content = content.default;
542
542
  if(typeof content === 'string') content = [[module.id, content, '']];
543
543
  if(content.locals) module.exports = content.locals;
544
544
  // add the styles to the DOM
545
545
  var add = (__webpack_require__(402)/* ["default"] */ .Z)
546
- var update = add("72197f1c", content, true, {"sourceMap":false,"shadowMode":false});
546
+ var update = add("1a0736ac", content, true, {"sourceMap":false,"shadowMode":false});
547
547
 
548
548
  /***/ }),
549
549
 
@@ -1151,6 +1151,7 @@ __webpack_require__.d(__webpack_exports__, {
1151
1151
  "DtListSection": () => (/* reexport */ list_section),
1152
1152
  "DtModal": () => (/* reexport */ modal_modal),
1153
1153
  "DtNotice": () => (/* reexport */ notice),
1154
+ "DtPagination": () => (/* reexport */ pagination),
1154
1155
  "DtPopover": () => (/* reexport */ popover),
1155
1156
  "DtRadio": () => (/* reexport */ radio_radio),
1156
1157
  "DtRadioGroup": () => (/* reexport */ radio_group),
@@ -1206,6 +1207,7 @@ __webpack_require__.d(__webpack_exports__, {
1206
1207
  "TOOLTIP_DIRECTIONS": () => (/* reexport */ TOOLTIP_DIRECTIONS),
1207
1208
  "TOOLTIP_HIDE_ON_CLICK_VARIANTS": () => (/* reexport */ TOOLTIP_HIDE_ON_CLICK_VARIANTS),
1208
1209
  "TOOLTIP_KIND_MODIFIERS": () => (/* reexport */ TOOLTIP_KIND_MODIFIERS),
1210
+ "TOOLTIP_STICKY_VALUES": () => (/* reexport */ TOOLTIP_STICKY_VALUES),
1209
1211
  "USER_STATUS_COLOR_MODIFIERS": () => (/* reexport */ USER_STATUS_COLOR_MODIFIERS),
1210
1212
  "VALIDATION_MESSAGE_TYPES": () => (/* reexport */ VALIDATION_MESSAGE_TYPES),
1211
1213
  "codeToEmojiData": () => (/* reexport */ codeToEmojiData),
@@ -2941,15 +2943,17 @@ const button_group_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(butto
2941
2943
  ;// CONCATENATED MODULE: ./components/button_group/index.js
2942
2944
 
2943
2945
 
2944
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/combobox/combobox.vue?vue&type=template&id=1cf89689
2946
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/combobox/combobox.vue?vue&type=template&id=3a8030f9
2945
2947
 
2946
- const comboboxvue_type_template_id_1cf89689_hoisted_1 = ["aria-expanded", "aria-controls", "aria-owns"];
2947
- const comboboxvue_type_template_id_1cf89689_hoisted_2 = {
2948
+ const comboboxvue_type_template_id_3a8030f9_hoisted_1 = ["aria-expanded", "aria-controls", "aria-owns"];
2949
+ const comboboxvue_type_template_id_3a8030f9_hoisted_2 = {
2948
2950
  "data-qa": "dt-combobox-input-wrapper"
2949
2951
  };
2950
- function comboboxvue_type_template_id_1cf89689_render(_ctx, _cache, $props, $setup, $data, $options) {
2952
+ function comboboxvue_type_template_id_3a8030f9_render(_ctx, _cache, $props, $setup, $data, $options) {
2951
2953
  const _component_combobox_loading_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("combobox-loading-list");
2952
2954
 
2955
+ const _component_combobox_empty_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("combobox-empty-list");
2956
+
2953
2957
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
2954
2958
  role: "combobox",
2955
2959
  "aria-expanded": $props.showList.toString(),
@@ -2957,7 +2961,7 @@ function comboboxvue_type_template_id_1cf89689_render(_ctx, _cache, $props, $set
2957
2961
  "aria-owns": $props.listId,
2958
2962
  "aria-haspopup": "listbox",
2959
2963
  onKeydown: [_cache[3] || (_cache[3] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)($event => $options.onKeyValidation($event, 'onEscapeKey'), ["stop"]), ["esc"])), _cache[4] || (_cache[4] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)($event => $options.onKeyValidation($event, 'onEnterKey'), ["exact"]), ["enter"])), _cache[5] || (_cache[5] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)($event => $options.onKeyValidation($event, 'onUpKey'), ["stop", "prevent"]), ["up"])), _cache[6] || (_cache[6] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)($event => $options.onKeyValidation($event, 'onDownKey'), ["stop", "prevent"]), ["down"])), _cache[7] || (_cache[7] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)($event => $options.onKeyValidation($event, 'onHomeKey'), ["stop", "prevent"]), ["home"])), _cache[8] || (_cache[8] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)($event => $options.onKeyValidation($event, 'onEndKey'), ["stop", "prevent"]), ["end"]))]
2960
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", comboboxvue_type_template_id_1cf89689_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "input", {
2964
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", comboboxvue_type_template_id_3a8030f9_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "input", {
2961
2965
  inputProps: $options.inputProps
2962
2966
  })]), $props.showList ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
2963
2967
  key: 0,
@@ -2972,16 +2976,22 @@ function comboboxvue_type_template_id_1cf89689_render(_ctx, _cache, $props, $set
2972
2976
  onMousemoveCapture: _cache[2] || (_cache[2] = function () {
2973
2977
  return $options.onMouseHighlight && $options.onMouseHighlight(...arguments);
2974
2978
  })
2975
- }, [$props.loading ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_combobox_loading_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
2979
+ }, [$data.isLoading && !$props.listRenderedOutside ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_combobox_loading_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
2976
2980
  key: 0
2977
- }, $options.listProps)), null, 16)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "list", {
2978
- key: 1,
2981
+ }, $options.listProps)), null, 16)) : $data.isListEmpty && !$props.listRenderedOutside ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_combobox_empty_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
2982
+ key: 1
2983
+ }, $options.listProps, {
2984
+ message: $props.emptyStateMessage
2985
+ }), null, 16, ["message"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "list", {
2986
+ key: 2,
2979
2987
  listProps: $options.listProps,
2980
2988
  opened: $options.onOpen,
2981
- clearHighlightIndex: $options.clearHighlightIndex
2982
- })], 544)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)], 40, comboboxvue_type_template_id_1cf89689_hoisted_1);
2989
+ clearHighlightIndex: $options.clearHighlightIndex,
2990
+ isLoading: $data.isLoading,
2991
+ isListEmpty: $data.isListEmpty
2992
+ })], 544)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)], 40, comboboxvue_type_template_id_3a8030f9_hoisted_1);
2983
2993
  }
2984
- ;// CONCATENATED MODULE: ./components/combobox/combobox.vue?vue&type=template&id=1cf89689
2994
+ ;// CONCATENATED MODULE: ./components/combobox/combobox.vue?vue&type=template&id=3a8030f9
2985
2995
 
2986
2996
  ;// CONCATENATED MODULE: ./common/mixins/dom.js
2987
2997
  /* harmony default export */ const dom = ({
@@ -3284,22 +3294,20 @@ const ERROR_INVALID_LIST_ELEMENT = 'listElementKey is required or the referenced
3284
3294
  this.setHighlightIndex(this._itemsLength() - 1);
3285
3295
  },
3286
3296
 
3287
- async setHighlightIndex(num) {
3297
+ setHighlightIndex(num) {
3288
3298
  this[indexKey] = num;
3289
3299
  this[idKey] = this._getItemId(num);
3290
3300
 
3291
3301
  if (this._itemsLength() && afterHighlightMethod) {
3292
- await this.$nextTick();
3293
3302
  this[afterHighlightMethod](num);
3294
3303
  }
3295
3304
  },
3296
3305
 
3297
- async setHighlightId(id) {
3306
+ setHighlightId(id) {
3298
3307
  this[idKey] = id;
3299
3308
  this[indexKey] = this._getItemIndex(id);
3300
3309
 
3301
3310
  if (this._itemsLength() && afterHighlightMethod) {
3302
- await this.$nextTick();
3303
3311
  this[afterHighlightMethod](this._getItemIndex(id));
3304
3312
  }
3305
3313
  },
@@ -3358,14 +3366,18 @@ const ERROR_INVALID_LIST_ELEMENT = 'listElementKey is required or the referenced
3358
3366
  }
3359
3367
  };
3360
3368
  });
3361
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/combobox/combobox_loading-list.vue?vue&type=template&id=49c938eb
3369
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/combobox/combobox_loading-list.vue?vue&type=template&id=07d9971d
3362
3370
 
3363
- function combobox_loading_listvue_type_template_id_49c938eb_render(_ctx, _cache, $props, $setup, $data, $options) {
3371
+ const combobox_loading_listvue_type_template_id_07d9971d_hoisted_1 = {
3372
+ class: "d-p0 d-mt8 d-hmx332 d-of-y-auto",
3373
+ "aria-busy": "true"
3374
+ };
3375
+ function combobox_loading_listvue_type_template_id_07d9971d_render(_ctx, _cache, $props, $setup, $data, $options) {
3364
3376
  const _component_dt_skeleton = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-skeleton");
3365
3377
 
3366
3378
  const _component_dt_list_item = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-list-item");
3367
3379
 
3368
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", null, [((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)(7, index => {
3380
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("ol", combobox_loading_listvue_type_template_id_07d9971d_hoisted_1, [((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)(7, index => {
3369
3381
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_dt_list_item, {
3370
3382
  key: index,
3371
3383
  role: "option",
@@ -3381,7 +3393,7 @@ function combobox_loading_listvue_type_template_id_49c938eb_render(_ctx, _cache,
3381
3393
  }, 1024);
3382
3394
  }), 64))]);
3383
3395
  }
3384
- ;// CONCATENATED MODULE: ./components/combobox/combobox_loading-list.vue?vue&type=template&id=49c938eb
3396
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_loading-list.vue?vue&type=template&id=07d9971d
3385
3397
 
3386
3398
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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
3387
3399
 
@@ -4275,17 +4287,64 @@ const skeleton_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(skeletonv
4275
4287
 
4276
4288
 
4277
4289
  ;
4278
- const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(combobox_loading_listvue_type_script_lang_js, [['render',combobox_loading_listvue_type_template_id_49c938eb_render]])
4290
+ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(combobox_loading_listvue_type_script_lang_js, [['render',combobox_loading_listvue_type_template_id_07d9971d_render]])
4279
4291
 
4280
4292
  /* harmony default export */ const combobox_loading_list = (combobox_loading_list_exports_);
4293
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/combobox/combobox_empty-list.vue?vue&type=template&id=85c21112
4294
+
4295
+ const combobox_empty_listvue_type_template_id_85c21112_hoisted_1 = {
4296
+ class: "d-p0",
4297
+ "data-qa": "dt-combobox-empty-list"
4298
+ };
4299
+ function combobox_empty_listvue_type_template_id_85c21112_render(_ctx, _cache, $props, $setup, $data, $options) {
4300
+ const _component_dt_list_item = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-list-item");
4301
+
4302
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("ol", combobox_empty_listvue_type_template_id_85c21112_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_dt_list_item, {
4303
+ class: "d-d-flex d-jc-center",
4304
+ role: "option",
4305
+ "navigation-type": "arrow-keys"
4306
+ }, {
4307
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("span", null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)($props.message), 1)]),
4308
+ _: 1
4309
+ })]);
4310
+ }
4311
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue?vue&type=template&id=85c21112
4312
+
4313
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/combobox/combobox_empty-list.vue?vue&type=script&lang=js
4314
+
4315
+ /* harmony default export */ const combobox_empty_listvue_type_script_lang_js = ({
4316
+ name: 'ComboboxEmptyList',
4317
+ components: {
4318
+ DtListItem: list_item
4319
+ },
4320
+ props: {
4321
+ message: {
4322
+ type: String,
4323
+ required: true
4324
+ }
4325
+ }
4326
+ });
4327
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue?vue&type=script&lang=js
4328
+
4329
+ ;// CONCATENATED MODULE: ./components/combobox/combobox_empty-list.vue
4330
+
4331
+
4332
+
4333
+
4334
+ ;
4335
+ const combobox_empty_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(combobox_empty_listvue_type_script_lang_js, [['render',combobox_empty_listvue_type_template_id_85c21112_render]])
4336
+
4337
+ /* harmony default export */ const combobox_empty_list = (combobox_empty_list_exports_);
4281
4338
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/combobox/combobox.vue?vue&type=script&lang=js
4282
4339
 
4283
4340
 
4284
4341
 
4342
+
4285
4343
  /* harmony default export */ const comboboxvue_type_script_lang_js = ({
4286
4344
  name: 'DtCombobox',
4287
4345
  components: {
4288
- ComboboxLoadingList: combobox_loading_list
4346
+ ComboboxLoadingList: combobox_loading_list,
4347
+ ComboboxEmptyList: combobox_empty_list
4289
4348
  },
4290
4349
  mixins: [keyboard_list_navigation({
4291
4350
  indexKey: 'highlightIndex',
@@ -4356,6 +4415,14 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4356
4415
  loading: {
4357
4416
  type: Boolean,
4358
4417
  default: false
4418
+ },
4419
+
4420
+ /**
4421
+ * Message to show when the list is empty
4422
+ */
4423
+ emptyStateMessage: {
4424
+ type: String,
4425
+ default: ''
4359
4426
  }
4360
4427
  },
4361
4428
  emits: ['select', 'escape', 'highlight', 'opened'],
@@ -4365,7 +4432,9 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4365
4432
  // If the list is rendered at the root, rather than as a child
4366
4433
  // of this component, this is the ref to that dom element. Set
4367
4434
  // by the onOpen method.
4368
- outsideRenderedListRef: null
4435
+ outsideRenderedListRef: null,
4436
+ isListEmpty: undefined,
4437
+ isLoading: undefined
4369
4438
  };
4370
4439
  },
4371
4440
 
@@ -4416,22 +4485,38 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4416
4485
  watch: {
4417
4486
  showList(showList) {
4418
4487
  // When the list's visibility changes reset the highlight index.
4419
- this.$nextTick(function () {
4420
- if (!this.listRenderedOutside) {
4421
- this.setInitialHighlightIndex();
4422
- this.$emit('opened', showList);
4423
- }
4424
- });
4488
+ if (!this.listRenderedOutside) {
4489
+ this.setInitialHighlightIndex();
4490
+ this.$emit('opened', showList);
4491
+ }
4425
4492
 
4426
4493
  if (!showList && this.outsideRenderedListRef) {
4427
4494
  this.outsideRenderedListRef.removeEventListener('mousemove', this.onMouseHighlight);
4428
4495
  this.outsideRenderedListRef = null;
4496
+ this.isListEmpty = undefined;
4429
4497
  }
4498
+ },
4499
+
4500
+ loading(isLoading) {
4501
+ this.isListEmpty = undefined;
4502
+ this.isLoading = isLoading;
4503
+ this.$nextTick(() => {
4504
+ this.isListEmpty = this.checkItemsLength();
4505
+ this.setInitialHighlightIndex();
4506
+ });
4430
4507
  }
4431
4508
 
4432
4509
  },
4510
+
4511
+ async mounted() {
4512
+ this.isLoading = this.loading;
4513
+ await this.$nextTick();
4514
+ this.isListEmpty = this.checkItemsLength();
4515
+ },
4516
+
4433
4517
  methods: {
4434
4518
  onMouseHighlight(e) {
4519
+ if (this.loading) return;
4435
4520
  const liElement = e.target.closest('li');
4436
4521
 
4437
4522
  if (liElement && this.highlightId !== liElement.id) {
@@ -4440,9 +4525,9 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4440
4525
  },
4441
4526
 
4442
4527
  getListElement() {
4443
- var _this$outsideRendered;
4528
+ var _this$outsideRendered, _this$$refs$listWrapp;
4444
4529
 
4445
- return (_this$outsideRendered = this.outsideRenderedListRef) !== null && _this$outsideRendered !== void 0 ? _this$outsideRendered : this.$refs.listWrapper.querySelector("#".concat(this.listId));
4530
+ return (_this$outsideRendered = this.outsideRenderedListRef) !== null && _this$outsideRendered !== void 0 ? _this$outsideRendered : (_this$$refs$listWrapp = this.$refs.listWrapper) === null || _this$$refs$listWrapp === void 0 ? void 0 : _this$$refs$listWrapp.querySelector("#".concat(this.listId));
4446
4531
  },
4447
4532
 
4448
4533
  clearHighlightIndex() {
@@ -4452,10 +4537,13 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4452
4537
  },
4453
4538
 
4454
4539
  afterHighlight() {
4540
+ if (this.loading) return;
4455
4541
  this.$emit('highlight', this.highlightIndex);
4456
4542
  },
4457
4543
 
4458
4544
  onEnterKey() {
4545
+ if (this.loading || this.isListEmpty) return;
4546
+
4459
4547
  if (this.highlightIndex >= 0) {
4460
4548
  this.$emit('select', this.highlightIndex);
4461
4549
  }
@@ -4473,24 +4561,30 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4473
4561
  this.$emit('opened', open);
4474
4562
 
4475
4563
  if (open) {
4564
+ this.isListEmpty = this.checkItemsLength();
4476
4565
  this.setInitialHighlightIndex();
4477
4566
  }
4478
4567
  },
4479
4568
 
4480
4569
  onKeyValidation(e, eventHandler) {
4481
- if (!this.showList || !this.getListElement() || this.loading) {
4482
- return;
4483
- }
4484
-
4570
+ if (!this.showList || !this.getListElement()) return;
4485
4571
  this[eventHandler](e);
4486
4572
  },
4487
4573
 
4488
4574
  setInitialHighlightIndex() {
4489
- if (this.showList) {
4575
+ if (!this.showList) return;
4576
+ this.$nextTick(() => {
4490
4577
  // When the list's is shown, reset the highlight index.
4491
- // If the list is in loading state, set to -1
4578
+ // If the list is loading, set to -1
4492
4579
  this.setHighlightIndex(this.loading ? -1 : 0);
4493
- }
4580
+ });
4581
+ },
4582
+
4583
+ checkItemsLength() {
4584
+ if (!this.showList) return undefined;
4585
+ const list = this.getListElement();
4586
+ const options = list === null || list === void 0 ? void 0 : list.querySelectorAll("[role=\"option\"]");
4587
+ return (options === null || options === void 0 ? void 0 : options.length) === 0;
4494
4588
  }
4495
4589
 
4496
4590
  }
@@ -4503,7 +4597,7 @@ const combobox_loading_list_exports_ = /*#__PURE__*/(0,exportHelper/* default */
4503
4597
 
4504
4598
 
4505
4599
  ;
4506
- const combobox_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(comboboxvue_type_script_lang_js, [['render',comboboxvue_type_template_id_1cf89689_render]])
4600
+ const combobox_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(comboboxvue_type_script_lang_js, [['render',comboboxvue_type_template_id_3a8030f9_render]])
4507
4601
 
4508
4602
  /* harmony default export */ const combobox = (combobox_exports_);
4509
4603
  ;// CONCATENATED MODULE: ./components/combobox/index.js
@@ -4563,11 +4657,11 @@ function dropdownvue_type_template_id_b0e1f8ba_render(_ctx, _cache, $props, $set
4563
4657
  }
4564
4658
  ;// CONCATENATED MODULE: ./components/dropdown/dropdown.vue?vue&type=template&id=b0e1f8ba
4565
4659
 
4566
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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
4660
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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=fee82b00
4567
4661
 
4568
- const popovervue_type_template_id_0656612f_hoisted_1 = ["aria-hidden"];
4569
- const popovervue_type_template_id_0656612f_hoisted_2 = ["id"];
4570
- function popovervue_type_template_id_0656612f_render(_ctx, _cache, $props, $setup, $data, $options) {
4662
+ const popovervue_type_template_id_fee82b00_hoisted_1 = ["aria-hidden"];
4663
+ const popovervue_type_template_id_fee82b00_hoisted_2 = ["id"];
4664
+ function popovervue_type_template_id_fee82b00_render(_ctx, _cache, $props, $setup, $data, $options) {
4571
4665
  const _component_popover_header_footer = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("popover-header-footer");
4572
4666
 
4573
4667
  const _component_dt_lazy_show = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-lazy-show");
@@ -4579,13 +4673,13 @@ function popovervue_type_template_id_0656612f_render(_ctx, _cache, $props, $setu
4579
4673
  class: "d-modal--transparent",
4580
4674
  "aria-hidden": $props.modal && $data.isOpen ? 'false' : 'true',
4581
4675
  onClick: _cache[0] || (_cache[0] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(() => {}, ["prevent", "stop"]))
4582
- }, null, 8, popovervue_type_template_id_0656612f_hoisted_1)])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveDynamicComponent)($props.elementType), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
4676
+ }, null, 8, popovervue_type_template_id_fee82b00_hoisted_1)])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveDynamicComponent)($props.elementType), {
4583
4677
  ref: "popover",
4584
- class: ['d-popover', {
4678
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(['d-popover', {
4585
4679
  'd-popover__anchor--modal-opened': $props.modal && $data.isOpen
4586
- }],
4680
+ }]),
4587
4681
  "data-qa": "dt-popover-container"
4588
- }, _ctx.$attrs), {
4682
+ }, {
4589
4683
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
4590
4684
  id: !$props.ariaLabelledby && $options.labelledBy,
4591
4685
  ref: "anchor",
@@ -4608,7 +4702,7 @@ function popovervue_type_template_id_0656612f_render(_ctx, _cache, $props, $setu
4608
4702
  'aria-controls': $props.id,
4609
4703
  'aria-haspopup': $props.role
4610
4704
  }
4611
- })], 40, popovervue_type_template_id_0656612f_hoisted_2), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_dt_lazy_show, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
4705
+ })], 40, popovervue_type_template_id_fee82b00_hoisted_2), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_dt_lazy_show, {
4612
4706
  id: $props.id,
4613
4707
  ref: "content",
4614
4708
  role: $props.role,
@@ -4620,19 +4714,19 @@ function popovervue_type_template_id_0656612f_render(_ctx, _cache, $props, $setu
4620
4714
  transition: $props.transition,
4621
4715
  show: $data.isOpen,
4622
4716
  appear: "",
4623
- class: ['d-popover__dialog', {
4717
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(['d-popover__dialog', {
4624
4718
  'd-popover__dialog--modal': $props.modal
4625
- }, $props.dialogClass],
4626
- style: {
4719
+ }, $props.dialogClass]),
4720
+ style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeStyle)({
4627
4721
  'max-height': $props.maxHeight,
4628
4722
  'max-width': $props.maxWidth
4629
- },
4630
- tabindex: $props.contentTabindex
4631
- }, _ctx.$attrs, {
4723
+ }),
4724
+ css: _ctx.$attrs.css,
4725
+ tabindex: $props.contentTabindex,
4632
4726
  onKeydownCapture: $options.onKeydown,
4633
4727
  onAfterLeave: $options.onLeaveTransitionComplete,
4634
4728
  onAfterEnter: $options.onEnterTransitionComplete
4635
- }), {
4729
+ }, {
4636
4730
  default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [_ctx.$slots.headerContent || $props.showCloseButton ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_popover_header_footer, {
4637
4731
  key: 0,
4638
4732
  ref: "popover__header",
@@ -4666,11 +4760,11 @@ function popovervue_type_template_id_0656612f_render(_ctx, _cache, $props, $setu
4666
4760
  _: 3
4667
4761
  }, 8, ["class", "content-class"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)]),
4668
4762
  _: 3
4669
- }, 16, ["id", "role", "aria-hidden", "aria-labelledby", "aria-label", "aria-modal", "transition", "show", "class", "style", "tabindex", "onKeydownCapture", "onAfterLeave", "onAfterEnter"])]),
4763
+ }, 8, ["id", "role", "aria-hidden", "aria-labelledby", "aria-label", "aria-modal", "transition", "show", "class", "style", "css", "tabindex", "onKeydownCapture", "onAfterLeave", "onAfterEnter"])]),
4670
4764
  _: 3
4671
- }, 16, ["class"]))]);
4765
+ }, 8, ["class"]))]);
4672
4766
  }
4673
- ;// CONCATENATED MODULE: ./components/popover/popover.vue?vue&type=template&id=0656612f
4767
+ ;// CONCATENATED MODULE: ./components/popover/popover.vue?vue&type=template&id=fee82b00
4674
4768
 
4675
4769
  ;// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js
4676
4770
  function getWindow(node) {
@@ -9122,6 +9216,7 @@ const getArrowDetected = fn => ({
9122
9216
 
9123
9217
 
9124
9218
  const BASE_TIPPY_DIRECTIONS = ['bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end', 'left', 'left-start', 'left-end', 'top', 'top-start', 'top-end'];
9219
+ const TIPPY_STICKY_VALUES = [true, false, 'reference', 'popper'];
9125
9220
  const tippy_utils_createTippy = (anchorElement, options) => {
9126
9221
  const {
9127
9222
  contentElement
@@ -9129,6 +9224,7 @@ const tippy_utils_createTippy = (anchorElement, options) => {
9129
9224
  };
9130
9225
  delete options.contentElement;
9131
9226
  return tippy_esm(anchorElement, { ...options,
9227
+ plugins: [sticky],
9132
9228
  render: () => getContentWrapper(contentElement)
9133
9229
  });
9134
9230
  };
@@ -9137,7 +9233,10 @@ const getPopperOptions = function () {
9137
9233
  boundary = 'clippingParents',
9138
9234
  fallbackPlacements = [],
9139
9235
  onChangePlacement = () => {},
9140
- hasHideModifierEnabled = false
9236
+ hasHideModifierEnabled = false,
9237
+ // If set to false the dialog will display over top of the anchor when there is insufficient space.
9238
+ // if set to true it will never move from its position relative to the anchor and will clip instead.
9239
+ tether = true
9141
9240
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9142
9241
  return {
9143
9242
  modifiers: [{
@@ -9149,6 +9248,12 @@ const getPopperOptions = function () {
9149
9248
  }, {
9150
9249
  name: 'hide',
9151
9250
  enabled: hasHideModifierEnabled
9251
+ }, {
9252
+ name: 'preventOverflow',
9253
+ options: {
9254
+ altAxis: !tether,
9255
+ tether
9256
+ }
9152
9257
  }, getArrowDetected(_ref => {
9153
9258
  let {
9154
9259
  state
@@ -9204,6 +9309,7 @@ const POPOVER_HEADER_FOOTER_PADDING_CLASSES = {
9204
9309
  const POPOVER_ROLES = ['dialog', 'menu', 'listbox', 'tree', 'grid'];
9205
9310
  const POPOVER_CONTENT_WIDTHS = [null, 'anchor'];
9206
9311
  const POPOVER_INITIAL_FOCUS_STRINGS = ['none', 'dialog', 'first'];
9312
+ const POPOVER_STICKY_VALUES = [...TIPPY_STICKY_VALUES];
9207
9313
  const POPOVER_DIRECTIONS = [...BASE_TIPPY_DIRECTIONS];
9208
9314
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/lazy_show/lazy_show.vue?vue&type=template&id=7659d16a
9209
9315
 
@@ -9397,7 +9503,6 @@ const popover_header_footer_exports_ = /*#__PURE__*/(0,exportHelper/* default */
9397
9503
  PopoverHeaderFooter: popover_header_footer
9398
9504
  },
9399
9505
  mixins: [modal],
9400
- inheritAttrs: false,
9401
9506
  props: {
9402
9507
  /**
9403
9508
  * Controls whether the popover is shown. Leaving this null will have the popover trigger on click by default.
@@ -9572,6 +9677,30 @@ const popover_header_footer_exports_ = /*#__PURE__*/(0,exportHelper/* default */
9572
9677
  default: 'bottom-end'
9573
9678
  },
9574
9679
 
9680
+ /**
9681
+ * If set to false the dialog will display over top of the anchor when there is insufficient space.
9682
+ * If set to true it will never move from its position relative to the anchor and will clip instead.
9683
+ */
9684
+ tether: {
9685
+ type: Boolean,
9686
+ default: true
9687
+ },
9688
+
9689
+ /**
9690
+ * If the popover sticks to the anchor. This is usually not needed, but can be needed
9691
+ * if the reference element's position is animating, or to automatically update the popover
9692
+ * position in those cases the DOM layout changes the reference element's position.
9693
+ * `true` enables it, `reference` only checks the "reference" rect for changes and `popper` only
9694
+ * checks the "popper" rect for changes.
9695
+ */
9696
+ sticky: {
9697
+ type: [Boolean, String],
9698
+ default: false,
9699
+ validator: sticky => {
9700
+ return POPOVER_STICKY_VALUES.includes(sticky);
9701
+ }
9702
+ },
9703
+
9575
9704
  /**
9576
9705
  * Determines maximum height for the popover before overflow.
9577
9706
  * Possible units rem|px|em
@@ -9685,16 +9814,25 @@ const popover_header_footer_exports_ = /*#__PURE__*/(0,exportHelper/* default */
9685
9814
 
9686
9815
  offset(offset) {
9687
9816
  this.tip.setProps({
9688
- offset: offset
9817
+ offset
9689
9818
  });
9690
9819
  },
9691
9820
 
9692
- fallbackPlacements(fallbackPlacements) {
9821
+ sticky(sticky) {
9693
9822
  this.tip.setProps({
9694
- popperOptions: getPopperOptions({
9695
- fallbackPlacements: fallbackPlacements,
9696
- hasHideModifierEnabled: true
9697
- })
9823
+ sticky
9824
+ });
9825
+ },
9826
+
9827
+ fallbackPlacements() {
9828
+ this.tip.setProps({
9829
+ popperOptions: this.popperOptions()
9830
+ });
9831
+ },
9832
+
9833
+ tether() {
9834
+ this.tip.setProps({
9835
+ popperOptions: this.popperOptions()
9698
9836
  });
9699
9837
  },
9700
9838
 
@@ -9738,13 +9876,11 @@ const popover_header_footer_exports_ = /*#__PURE__*/(0,exportHelper/* default */
9738
9876
  }
9739
9877
 
9740
9878
  this.tip = tippy_utils_createTippy(this.anchorEl, {
9741
- popperOptions: getPopperOptions({
9742
- fallbackPlacements: this.fallbackPlacements,
9743
- hasHideModifierEnabled: true
9744
- }),
9879
+ popperOptions: this.popperOptions(),
9745
9880
  contentElement: this.popoverContentEl,
9746
9881
  placement: this.placement,
9747
9882
  offset: this.offset,
9883
+ sticky: this.sticky,
9748
9884
  appendTo: document.body,
9749
9885
  interactive: true,
9750
9886
  trigger: 'manual',
@@ -9775,6 +9911,14 @@ const popover_header_footer_exports_ = /*#__PURE__*/(0,exportHelper/* default */
9775
9911
  * METHODS *
9776
9912
  ******************/
9777
9913
  methods: {
9914
+ popperOptions() {
9915
+ return getPopperOptions({
9916
+ fallbackPlacements: this.fallbackPlacements,
9917
+ tether: this.tether,
9918
+ hasHideModifierEnabled: true
9919
+ });
9920
+ },
9921
+
9778
9922
  validateProps() {
9779
9923
  if (this.modal && this.initialFocusElement === 'none') {
9780
9924
  console.error('If the popover is modal you must set the ' + 'initialFocusElement prop. Possible values: "dialog", "first", HTMLElement');
@@ -9957,9 +10101,9 @@ const popover_header_footer_exports_ = /*#__PURE__*/(0,exportHelper/* default */
9957
10101
  });
9958
10102
  ;// CONCATENATED MODULE: ./components/popover/popover.vue?vue&type=script&lang=js
9959
10103
 
9960
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-74.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-74.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-74.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/popover/popover.vue?vue&type=style&index=0&id=0656612f&lang=less
9961
- var popovervue_type_style_index_0_id_0656612f_lang_less = __webpack_require__(790);
9962
- ;// CONCATENATED MODULE: ./components/popover/popover.vue?vue&type=style&index=0&id=0656612f&lang=less
10104
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-74.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-74.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-74.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/popover/popover.vue?vue&type=style&index=0&id=fee82b00&lang=less
10105
+ var popovervue_type_style_index_0_id_fee82b00_lang_less = __webpack_require__(560);
10106
+ ;// CONCATENATED MODULE: ./components/popover/popover.vue?vue&type=style&index=0&id=fee82b00&lang=less
9963
10107
 
9964
10108
  ;// CONCATENATED MODULE: ./components/popover/popover.vue
9965
10109
 
@@ -9969,7 +10113,7 @@ var popovervue_type_style_index_0_id_0656612f_lang_less = __webpack_require__(79
9969
10113
  ;
9970
10114
 
9971
10115
 
9972
- const popover_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(popovervue_type_script_lang_js, [['render',popovervue_type_template_id_0656612f_render]])
10116
+ const popover_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(popovervue_type_script_lang_js, [['render',popovervue_type_template_id_fee82b00_render]])
9973
10117
 
9974
10118
  /* harmony default export */ const popover = (popover_exports_);
9975
10119
  ;// CONCATENATED MODULE: ./components/popover/index.js
@@ -12661,6 +12805,265 @@ const notice_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(noticevue_t
12661
12805
  ;// CONCATENATED MODULE: ./components/notice/index.js
12662
12806
 
12663
12807
 
12808
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/pagination/pagination.vue?vue&type=template&id=679081ce
12809
+
12810
+ const paginationvue_type_template_id_679081ce_hoisted_1 = ["aria-label"];
12811
+ const paginationvue_type_template_id_679081ce_hoisted_2 = {
12812
+ key: 0,
12813
+ "data-qa": "dt-pagination-separator",
12814
+ class: "d-h32 d-w32 d-d-flex d-ai-center d-jc-center"
12815
+ };
12816
+ function paginationvue_type_template_id_679081ce_render(_ctx, _cache, $props, $setup, $data, $options) {
12817
+ const _component_icon_chevron_left = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("icon-chevron-left");
12818
+
12819
+ const _component_dt_button = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-button");
12820
+
12821
+ const _component_icon_chevron_right = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("icon-chevron-right");
12822
+
12823
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("nav", {
12824
+ "aria-label": $props.ariaLabel,
12825
+ class: "d-d-flex d-fd-row d-gg2 d-ai-center"
12826
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_dt_button, {
12827
+ class: "d-h32 d-w32",
12828
+ "data-qa": "dt-pagination-prev",
12829
+ "aria-label": $props.prevAriaLabel,
12830
+ importance: $options.isFirstPage ? 'primary' : 'clear',
12831
+ disabled: $options.isFirstPage,
12832
+ onClick: _cache[0] || (_cache[0] = $event => $options.changePage($data.currentPage - 1))
12833
+ }, {
12834
+ icon: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_icon_chevron_left)]),
12835
+ _: 1
12836
+ }, 8, ["aria-label", "importance", "disabled"]), ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)($options.pages, (page, index) => {
12837
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
12838
+ key: "page-".concat(page, "-").concat(index)
12839
+ }, [isNaN(Number(page)) ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", paginationvue_type_template_id_679081ce_hoisted_2, " … ")) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_dt_button, {
12840
+ key: 1,
12841
+ "aria-label": $props.pageNumberAriaLabel(page),
12842
+ importance: $data.currentPage === page ? 'primary' : 'clear',
12843
+ class: "d-h32 d-w32",
12844
+ "label-class": "d-fs14",
12845
+ onClick: $event => $options.changePage(page)
12846
+ }, {
12847
+ default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(page), 1)]),
12848
+ _: 2
12849
+ }, 1032, ["aria-label", "importance", "onClick"]))]);
12850
+ }), 128)), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_dt_button, {
12851
+ class: "d-h32 d-w32",
12852
+ "data-qa": "dt-pagination-next",
12853
+ "aria-label": $props.nextAriaLabel,
12854
+ disabled: $options.isLastPage,
12855
+ importance: $options.isLastPage ? 'primary' : 'clear',
12856
+ onClick: _cache[1] || (_cache[1] = $event => $options.changePage($data.currentPage + 1))
12857
+ }, {
12858
+ icon: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_icon_chevron_right)]),
12859
+ _: 1
12860
+ }, 8, ["aria-label", "disabled", "importance"])], 8, paginationvue_type_template_id_679081ce_hoisted_1);
12861
+ }
12862
+ ;// CONCATENATED MODULE: ./components/pagination/pagination.vue?vue&type=template&id=679081ce
12863
+
12864
+ ;// CONCATENATED MODULE: ./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconChevronLeft.vue?vue&type=template&id=bdbc37f6
12865
+
12866
+
12867
+ const IconChevronLeftvue_type_template_id_bdbc37f6_hoisted_1 = {
12868
+ "aria-hidden": "true",
12869
+ "aria-label": "Chevron Left",
12870
+ class: "d-svg d-svg--system d-svg__chevronLeft",
12871
+ viewBox: "0 0 24 24"
12872
+ }
12873
+ const IconChevronLeftvue_type_template_id_bdbc37f6_hoisted_2 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("path", { d: "M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12l4.58-4.59z" }, null, -1)
12874
+ const IconChevronLeftvue_type_template_id_bdbc37f6_hoisted_3 = [
12875
+ IconChevronLeftvue_type_template_id_bdbc37f6_hoisted_2
12876
+ ]
12877
+
12878
+ function IconChevronLeftvue_type_template_id_bdbc37f6_render(_ctx, _cache) {
12879
+ return ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("svg", IconChevronLeftvue_type_template_id_bdbc37f6_hoisted_1, IconChevronLeftvue_type_template_id_bdbc37f6_hoisted_3))
12880
+ }
12881
+ ;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconChevronLeft.vue?vue&type=template&id=bdbc37f6
12882
+
12883
+ ;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconChevronLeft.vue
12884
+
12885
+ const IconChevronLeft_script = {}
12886
+
12887
+ ;
12888
+ const IconChevronLeft_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(IconChevronLeft_script, [['render',IconChevronLeftvue_type_template_id_bdbc37f6_render]])
12889
+
12890
+ /* harmony default export */ const IconChevronLeft = (IconChevronLeft_exports_);
12891
+ ;// CONCATENATED MODULE: ./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconChevronRight.vue?vue&type=template&id=c72b3d10
12892
+
12893
+
12894
+ const IconChevronRightvue_type_template_id_c72b3d10_hoisted_1 = {
12895
+ "aria-hidden": "true",
12896
+ "aria-label": "Chevron Right",
12897
+ class: "d-svg d-svg--system d-svg__chevronRight",
12898
+ viewBox: "0 0 24 24"
12899
+ }
12900
+ const IconChevronRightvue_type_template_id_c72b3d10_hoisted_2 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("path", { d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z" }, null, -1)
12901
+ const IconChevronRightvue_type_template_id_c72b3d10_hoisted_3 = [
12902
+ IconChevronRightvue_type_template_id_c72b3d10_hoisted_2
12903
+ ]
12904
+
12905
+ function IconChevronRightvue_type_template_id_c72b3d10_render(_ctx, _cache) {
12906
+ return ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("svg", IconChevronRightvue_type_template_id_c72b3d10_hoisted_1, IconChevronRightvue_type_template_id_c72b3d10_hoisted_3))
12907
+ }
12908
+ ;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconChevronRight.vue?vue&type=template&id=c72b3d10
12909
+
12910
+ ;// CONCATENATED MODULE: ./node_modules/@dialpad/dialtone/lib/dist/vue/icons/IconChevronRight.vue
12911
+
12912
+ const IconChevronRight_script = {}
12913
+
12914
+ ;
12915
+ const IconChevronRight_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(IconChevronRight_script, [['render',IconChevronRightvue_type_template_id_c72b3d10_render]])
12916
+
12917
+ /* harmony default export */ const IconChevronRight = (IconChevronRight_exports_);
12918
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/pagination/pagination.vue?vue&type=script&lang=js
12919
+
12920
+
12921
+
12922
+ /* harmony default export */ const paginationvue_type_script_lang_js = ({
12923
+ name: 'DtPagination',
12924
+ components: {
12925
+ DtButton: button_button,
12926
+ IconChevronLeft: IconChevronLeft,
12927
+ IconChevronRight: IconChevronRight
12928
+ },
12929
+ props: {
12930
+ /**
12931
+ * Descriptive label for the pagination content.
12932
+ */
12933
+ ariaLabel: {
12934
+ type: String,
12935
+ required: true
12936
+ },
12937
+
12938
+ /**
12939
+ * The total number of the pages
12940
+ */
12941
+ totalPages: {
12942
+ type: Number,
12943
+ required: true
12944
+ },
12945
+
12946
+ /**
12947
+ * Descriptive label for the previous button.
12948
+ */
12949
+ prevAriaLabel: {
12950
+ type: String,
12951
+ required: true
12952
+ },
12953
+
12954
+ /**
12955
+ * Descriptive label for the next button.
12956
+ */
12957
+ nextAriaLabel: {
12958
+ type: String,
12959
+ required: true
12960
+ },
12961
+
12962
+ /**
12963
+ * A method that will be called to get the aria label of each page.
12964
+ */
12965
+ pageNumberAriaLabel: {
12966
+ type: Function,
12967
+ required: true
12968
+ },
12969
+
12970
+ /**
12971
+ * The active current page in the list of pages, defaults to the first page
12972
+ */
12973
+ activePage: {
12974
+ type: Number,
12975
+ default: 1
12976
+ },
12977
+
12978
+ /**
12979
+ * Determines the max pages to be shown in the list. Using an odd number is recommended.
12980
+ * If an even number is given, then it will be rounded down to the nearest odd number to always
12981
+ * keep current page in the middle when current page is in the mid-range.
12982
+ */
12983
+ maxVisible: {
12984
+ type: Number,
12985
+ default: 5
12986
+ }
12987
+ },
12988
+ emits: ['change'],
12989
+
12990
+ data() {
12991
+ return {
12992
+ currentPage: this.activePage
12993
+ };
12994
+ },
12995
+
12996
+ computed: {
12997
+ isFirstPage() {
12998
+ return this.currentPage === 1;
12999
+ },
13000
+
13001
+ isLastPage() {
13002
+ return this.currentPage === this.totalPages;
13003
+ },
13004
+
13005
+ pages() {
13006
+ if (this.maxVisible === 0) {
13007
+ return [];
13008
+ }
13009
+
13010
+ if (this.totalPages <= this.maxVisible) {
13011
+ return this.range(1, this.totalPages);
13012
+ }
13013
+
13014
+ const start = this.maxVisible - 1;
13015
+ const end = this.totalPages - start + 1;
13016
+
13017
+ if (this.currentPage < start) {
13018
+ return [...this.range(1, start), '...', this.totalPages];
13019
+ }
13020
+
13021
+ if (this.currentPage > end) {
13022
+ return [1, '...', ...this.range(end, this.totalPages)];
13023
+ } // rounding to the nearest odd according to the maxlength to always show the page number in the middle.
13024
+
13025
+
13026
+ const total = this.maxVisible - (3 - this.maxVisible % 2);
13027
+ const centerIndex = Math.floor(total / 2);
13028
+ const left = this.currentPage - centerIndex;
13029
+ const right = this.currentPage + centerIndex;
13030
+ return [1, '...', ...this.range(left, right), '...', this.totalPages];
13031
+ }
13032
+
13033
+ },
13034
+ watch: {},
13035
+ methods: {
13036
+ range(from, to) {
13037
+ const range = [];
13038
+ from = from > 0 ? from : 1;
13039
+
13040
+ for (let i = from; i <= to; i++) {
13041
+ range.push(i);
13042
+ }
13043
+
13044
+ return range;
13045
+ },
13046
+
13047
+ changePage(page) {
13048
+ this.currentPage = page;
13049
+ this.$emit('change', this.currentPage);
13050
+ }
13051
+
13052
+ }
13053
+ });
13054
+ ;// CONCATENATED MODULE: ./components/pagination/pagination.vue?vue&type=script&lang=js
13055
+
13056
+ ;// CONCATENATED MODULE: ./components/pagination/pagination.vue
13057
+
13058
+
13059
+
13060
+
13061
+ ;
13062
+ const pagination_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(paginationvue_type_script_lang_js, [['render',paginationvue_type_template_id_679081ce_render]])
13063
+
13064
+ /* harmony default export */ const pagination = (pagination_exports_);
13065
+ ;// CONCATENATED MODULE: ./components/pagination/index.js
13066
+
12664
13067
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/radio/radio.vue?vue&type=template&id=36afe768
12665
13068
 
12666
13069
  const radiovue_type_template_id_36afe768_hoisted_1 = {
@@ -14596,15 +14999,15 @@ const toggle_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(togglevue_t
14596
14999
  /* harmony default export */ const toggle = (toggle_exports_);
14597
15000
  ;// CONCATENATED MODULE: ./components/toggle/index.js
14598
15001
 
14599
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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
15002
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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=46955932
14600
15003
 
14601
- const tooltipvue_type_template_id_044c8b20_hoisted_1 = {
15004
+ const tooltipvue_type_template_id_46955932_hoisted_1 = {
14602
15005
  "data-qa": "dt-tooltip-container"
14603
15006
  };
14604
- function tooltipvue_type_template_id_044c8b20_render(_ctx, _cache, $props, $setup, $data, $options) {
15007
+ function tooltipvue_type_template_id_46955932_render(_ctx, _cache, $props, $setup, $data, $options) {
14605
15008
  const _component_dt_lazy_show = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-lazy-show");
14606
15009
 
14607
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", tooltipvue_type_template_id_044c8b20_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
15010
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", tooltipvue_type_template_id_46955932_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
14608
15011
  ref: "anchor",
14609
15012
  "data-qa": "dt-tooltip-anchor",
14610
15013
  onFocusin: _cache[0] || (_cache[0] = function () {
@@ -14641,7 +15044,7 @@ function tooltipvue_type_template_id_044c8b20_render(_ctx, _cache, $props, $setu
14641
15044
  _: 3
14642
15045
  }, 8, ["id", "show", "transition", "class", "onAfterLeave", "onAfterEnter"])]);
14643
15046
  }
14644
- ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=template&id=044c8b20
15047
+ ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=template&id=46955932
14645
15048
 
14646
15049
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip_constants.js
14647
15050
  /*
@@ -14655,6 +15058,7 @@ const TOOLTIP_KIND_MODIFIERS = {
14655
15058
  inverted: "d-tooltip--inverted",
14656
15059
  hide: "d-tooltip--hide"
14657
15060
  };
15061
+ const TOOLTIP_STICKY_VALUES = [...TIPPY_STICKY_VALUES];
14658
15062
  const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
14659
15063
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=script&lang=js
14660
15064
 
@@ -14721,6 +15125,21 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
14721
15125
 
14722
15126
  },
14723
15127
 
15128
+ /**
15129
+ * If the tooltip sticks to the anchor. This is usually not needed, but can be needed
15130
+ * if the reference element's position is animating, or to automatically update the popover
15131
+ * position in those cases the DOM layout changes the reference element's position.
15132
+ * `true` enables it, `reference` only checks the "reference" rect for changes and `popper` only
15133
+ * checks the "popper" rect for changes.
15134
+ */
15135
+ sticky: {
15136
+ type: [Boolean, String],
15137
+ default: false,
15138
+ validator: sticky => {
15139
+ return TOOLTIP_STICKY_VALUES.includes(sticky);
15140
+ }
15141
+ },
15142
+
14724
15143
  /**
14725
15144
  * Additional css classes for the tooltip content element.
14726
15145
  * Can accept all of String, Object, and Array, i.e. has the
@@ -14782,6 +15201,7 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
14782
15201
  interactive: false,
14783
15202
  trigger: 'manual',
14784
15203
  placement: this.placement,
15204
+ sticky: this.sticky,
14785
15205
  popperOptions: getPopperOptions({
14786
15206
  fallbackPlacements: this.fallbackPlacements,
14787
15207
  hasHideModifierEnabled: true,
@@ -14812,6 +15232,12 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
14812
15232
  } else {
14813
15233
  this.tip.hide();
14814
15234
  }
15235
+ },
15236
+
15237
+ sticky(sticky) {
15238
+ this.tip.setProps({
15239
+ sticky
15240
+ });
14815
15241
  }
14816
15242
 
14817
15243
  },
@@ -14917,9 +15343,9 @@ const TOOLTIP_HIDE_ON_CLICK_VARIANTS = [true, false, 'toggle'];
14917
15343
  });
14918
15344
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=script&lang=js
14919
15345
 
14920
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-74.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-74.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-74.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
14921
- var tooltipvue_type_style_index_0_id_044c8b20_lang_less = __webpack_require__(273);
14922
- ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=style&index=0&id=044c8b20&lang=less
15346
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-74.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-74.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-74.use[3]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-74.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./components/tooltip/tooltip.vue?vue&type=style&index=0&id=46955932&lang=less
15347
+ var tooltipvue_type_style_index_0_id_46955932_lang_less = __webpack_require__(831);
15348
+ ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue?vue&type=style&index=0&id=46955932&lang=less
14923
15349
 
14924
15350
  ;// CONCATENATED MODULE: ./components/tooltip/tooltip.vue
14925
15351
 
@@ -14929,7 +15355,7 @@ var tooltipvue_type_style_index_0_id_044c8b20_lang_less = __webpack_require__(27
14929
15355
  ;
14930
15356
 
14931
15357
 
14932
- const tooltip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(tooltipvue_type_script_lang_js, [['render',tooltipvue_type_template_id_044c8b20_render]])
15358
+ const tooltip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(tooltipvue_type_script_lang_js, [['render',tooltipvue_type_template_id_46955932_render]])
14933
15359
 
14934
15360
  /* harmony default export */ const tooltip = (tooltip_exports_);
14935
15361
  ;// CONCATENATED MODULE: ./components/tooltip/index.js
@@ -15494,19 +15920,22 @@ const root_layout_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(root_l
15494
15920
  ;// CONCATENATED MODULE: ./components/root_layout/index.js
15495
15921
 
15496
15922
 
15497
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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=250cf6fe
15923
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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=37048598
15498
15924
 
15499
- const combobox_with_popovervue_type_template_id_250cf6fe_hoisted_1 = ["id"];
15500
- const combobox_with_popovervue_type_template_id_250cf6fe_hoisted_2 = ["onMouseleave", "onFocusout"];
15501
- function combobox_with_popovervue_type_template_id_250cf6fe_render(_ctx, _cache, $props, $setup, $data, $options) {
15925
+ const combobox_with_popovervue_type_template_id_37048598_hoisted_1 = ["id"];
15926
+ const combobox_with_popovervue_type_template_id_37048598_hoisted_2 = ["onMouseleave", "onFocusout"];
15927
+ function combobox_with_popovervue_type_template_id_37048598_render(_ctx, _cache, $props, $setup, $data, $options) {
15502
15928
  const _component_combobox_loading_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("combobox-loading-list");
15503
15929
 
15930
+ const _component_combobox_empty_list = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("combobox-empty-list");
15931
+
15504
15932
  const _component_dt_popover = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-popover");
15505
15933
 
15506
15934
  const _component_dt_combobox = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("dt-combobox");
15507
15935
 
15508
15936
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_dt_combobox, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
15509
15937
  ref: "combobox",
15938
+ loading: $props.loading,
15510
15939
  "show-list": $data.isListShown,
15511
15940
  "on-beginning-of-list": $props.onBeginningOfList,
15512
15941
  "on-end-of-list": $props.onEndOfList,
@@ -15532,22 +15961,25 @@ function combobox_with_popovervue_type_template_id_250cf6fe_render(_ctx, _cache,
15532
15961
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "input", {
15533
15962
  inputProps: inputProps,
15534
15963
  onInput: $options.handleDisplayList
15535
- })], 40, combobox_with_popovervue_type_template_id_250cf6fe_hoisted_1)];
15964
+ })], 40, combobox_with_popovervue_type_template_id_37048598_hoisted_1)];
15536
15965
  }),
15537
15966
  list: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(_ref2 => {
15538
15967
  let {
15539
15968
  opened,
15540
15969
  listProps,
15541
- clearHighlightIndex
15970
+ clearHighlightIndex,
15971
+ isLoading,
15972
+ isListEmpty
15542
15973
  } = _ref2;
15543
15974
  return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_dt_popover, {
15544
15975
  ref: "popover",
15545
15976
  open: $data.isListShown,
15546
15977
  "onUpdate:open": _cache[6] || (_cache[6] = $event => $data.isListShown = $event),
15547
- "hide-on-click": true,
15978
+ "hide-on-click": $props.showList === null,
15548
15979
  "max-height": $props.maxHeight,
15549
15980
  "max-width": $props.maxWidth,
15550
15981
  offset: $props.popoverOffset,
15982
+ sticky: $props.popoverSticky,
15551
15983
  placement: "bottom-start",
15552
15984
  padding: "none",
15553
15985
  role: "listbox",
@@ -15558,12 +15990,7 @@ function combobox_with_popovervue_type_template_id_250cf6fe_render(_ctx, _cache,
15558
15990
  "auto-focus": false,
15559
15991
  onOpened: opened
15560
15992
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createSlots)({
15561
- content: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [$props.loading ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_combobox_loading_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
15562
- key: 0
15563
- }, listProps, {
15564
- class: [$data.DROPDOWN_PADDING_CLASSES[$props.padding], $props.listClass]
15565
- }), null, 16, ["class"])) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
15566
- key: 1,
15993
+ content: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
15567
15994
  ref: "listWrapper",
15568
15995
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)([$data.DROPDOWN_PADDING_CLASSES[$props.padding], $props.listClass]),
15569
15996
  onMouseleave: clearHighlightIndex,
@@ -15571,9 +15998,16 @@ function combobox_with_popovervue_type_template_id_250cf6fe_render(_ctx, _cache,
15571
15998
  clearHighlightIndex;
15572
15999
  $options.onFocusOut;
15573
16000
  }
15574
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "list", {
16001
+ }, [isLoading ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_combobox_loading_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
16002
+ key: 0
16003
+ }, listProps)), null, 16)) : isListEmpty ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_combobox_empty_list, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
16004
+ key: 1
16005
+ }, listProps, {
16006
+ message: $props.emptyStateMessage
16007
+ }), null, 16, ["message"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "list", {
16008
+ key: 2,
15575
16009
  listProps: listProps
15576
- })], 42, combobox_with_popovervue_type_template_id_250cf6fe_hoisted_2))]),
16010
+ })], 42, combobox_with_popovervue_type_template_id_37048598_hoisted_2)]),
15577
16011
  _: 2
15578
16012
  }, [_ctx.$slots.header ? {
15579
16013
  name: "headerContent",
@@ -15591,24 +16025,26 @@ function combobox_with_popovervue_type_template_id_250cf6fe_render(_ctx, _cache,
15591
16025
  return $options.onFocusOut && $options.onFocusOut(...arguments);
15592
16026
  })
15593
16027
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "footer")], 544)])
15594
- } : undefined]), 1032, ["open", "max-height", "max-width", "offset", "external-anchor", "content-width", "onOpened"])];
16028
+ } : undefined]), 1032, ["open", "hide-on-click", "max-height", "max-width", "offset", "sticky", "external-anchor", "content-width", "onOpened"])];
15595
16029
  }),
15596
16030
  _: 3
15597
- }, 16, ["show-list", "on-beginning-of-list", "on-end-of-list", "list-aria-label", "list-id"]);
16031
+ }, 16, ["loading", "show-list", "on-beginning-of-list", "on-end-of-list", "list-aria-label", "list-id"]);
15598
16032
  }
15599
- ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=250cf6fe
16033
+ ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue?vue&type=template&id=37048598
15600
16034
 
15601
16035
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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
15602
16036
 
15603
16037
 
15604
16038
 
15605
16039
 
16040
+
15606
16041
  /* harmony default export */ const combobox_with_popovervue_type_script_lang_js = ({
15607
16042
  name: 'DtRecipeComboboxWithPopover',
15608
16043
  components: {
15609
16044
  DtCombobox: combobox,
15610
16045
  DtPopover: popover,
15611
- ComboboxLoadingList: combobox_loading_list
16046
+ ComboboxLoadingList: combobox_loading_list,
16047
+ ComboboxEmptyList: combobox_empty_list
15612
16048
  },
15613
16049
  props: {
15614
16050
  /**
@@ -15724,6 +16160,14 @@ function combobox_with_popovervue_type_template_id_250cf6fe_render(_ctx, _cache,
15724
16160
  default: () => [0, 4]
15725
16161
  },
15726
16162
 
16163
+ /**
16164
+ * If the popover sticks to the input.
16165
+ */
16166
+ popoverSticky: {
16167
+ type: [Boolean, String],
16168
+ default: false
16169
+ },
16170
+
15727
16171
  /**
15728
16172
  * Displays the list when the combobox is focused, before the user has typed anything.
15729
16173
  * When this is enabled the list will not close after selection.
@@ -15739,6 +16183,14 @@ function combobox_with_popovervue_type_template_id_250cf6fe_render(_ctx, _cache,
15739
16183
  loading: {
15740
16184
  type: Boolean,
15741
16185
  default: false
16186
+ },
16187
+
16188
+ /**
16189
+ * Message to show when the list is empty
16190
+ */
16191
+ emptyStateMessage: {
16192
+ type: String,
16193
+ default: ''
15742
16194
  }
15743
16195
  },
15744
16196
  emits: ['select', 'escape', 'highlight', 'opened'],
@@ -15779,13 +16231,7 @@ function combobox_with_popovervue_type_template_id_250cf6fe_render(_ctx, _cache,
15779
16231
 
15780
16232
  },
15781
16233
  methods: {
15782
- async handleDisplayList(value) {
15783
- if (this.isListShown) {
15784
- // After the list is updated, hightlight the first item
15785
- await this.$nextTick();
15786
- this.$refs.combobox.setInitialHighlightIndex();
15787
- }
15788
-
16234
+ handleDisplayList(value) {
15789
16235
  if (!this.hasSuggestionList) {
15790
16236
  if (value) {
15791
16237
  // Displays the list after the user has typed anything
@@ -15875,7 +16321,7 @@ function combobox_with_popovervue_type_template_id_250cf6fe_render(_ctx, _cache,
15875
16321
 
15876
16322
 
15877
16323
  ;
15878
- const combobox_with_popover_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(combobox_with_popovervue_type_script_lang_js, [['render',combobox_with_popovervue_type_template_id_250cf6fe_render]])
16324
+ const combobox_with_popover_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(combobox_with_popovervue_type_script_lang_js, [['render',combobox_with_popovervue_type_template_id_37048598_render]])
15879
16325
 
15880
16326
  /* harmony default export */ const combobox_with_popover = (combobox_with_popover_exports_);
15881
16327
  ;// CONCATENATED MODULE: ./recipes/comboboxes/combobox_with_popover/index.js
@@ -16796,6 +17242,7 @@ const top_banner_info_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(to
16796
17242
 
16797
17243
 
16798
17244
 
17245
+
16799
17246
 
16800
17247
 
16801
17248
  /// Recipes