memorial-ui-component-library 1.0.10-beta.1-dev.2870 → 1.0.10-beta.1-dev.3029

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.
@@ -1447,6 +1447,30 @@ module.exports = function (target, TAG, STATIC) {
1447
1447
  };
1448
1448
 
1449
1449
 
1450
+ /***/ }),
1451
+
1452
+ /***/ 706:
1453
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1454
+
1455
+ "use strict";
1456
+
1457
+ var PROPER_FUNCTION_NAME = (__webpack_require__(350).PROPER);
1458
+ var fails = __webpack_require__(9039);
1459
+ var whitespaces = __webpack_require__(7452);
1460
+
1461
+ var non = '\u200B\u0085\u180E';
1462
+
1463
+ // check that a method works with the correct list
1464
+ // of whitespaces and has a correct name
1465
+ module.exports = function (METHOD_NAME) {
1466
+ return fails(function () {
1467
+ return !!whitespaces[METHOD_NAME]()
1468
+ || non[METHOD_NAME]() !== non
1469
+ || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);
1470
+ });
1471
+ };
1472
+
1473
+
1450
1474
  /***/ }),
1451
1475
 
1452
1476
  /***/ 741:
@@ -52863,6 +52887,26 @@ module.exports = !fails(function () {
52863
52887
  });
52864
52888
 
52865
52889
 
52890
+ /***/ }),
52891
+
52892
+ /***/ 2762:
52893
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
52894
+
52895
+ "use strict";
52896
+
52897
+ var $ = __webpack_require__(6518);
52898
+ var $trim = (__webpack_require__(3802).trim);
52899
+ var forcedStringTrimMethod = __webpack_require__(706);
52900
+
52901
+ // `String.prototype.trim` method
52902
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
52903
+ $({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
52904
+ trim: function trim() {
52905
+ return $trim(this);
52906
+ }
52907
+ });
52908
+
52909
+
52866
52910
  /***/ }),
52867
52911
 
52868
52912
  /***/ 2777:
@@ -96370,8 +96414,8 @@ autocomplete_autocomplete.install = function (vue) {
96370
96414
  };
96371
96415
 
96372
96416
  /* harmony default export */ var lib_autocomplete = (autocomplete_autocomplete);
96373
- ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/button/button.vue?vue&type=template&id=049e47a4&scoped=true
96374
- var buttonvue_type_template_id_049e47a4_scoped_true_render = function render() {
96417
+ ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/button/button.vue?vue&type=template&id=1a0959d4&scoped=true
96418
+ var buttonvue_type_template_id_1a0959d4_scoped_true_render = function render() {
96375
96419
  var _vm = this,
96376
96420
  _c = _vm._self._c,
96377
96421
  _setup = _vm._self._setupProxy;
@@ -96385,6 +96429,7 @@ var buttonvue_type_template_id_049e47a4_scoped_true_render = function render() {
96385
96429
  reverse: _vm.iconConfig.pos === 'right'
96386
96430
  }],
96387
96431
  attrs: {
96432
+ "role": "button",
96388
96433
  "type": _vm.buttonType,
96389
96434
  "aria-label": !_vm.hasLabel ? _vm.label : null
96390
96435
  }
@@ -96402,7 +96447,7 @@ var buttonvue_type_template_id_049e47a4_scoped_true_render = function render() {
96402
96447
  return [_vm.submit ? [_vm._v(" Submit ")] : _vm.reset ? [_vm._v(" Reset ")] : _vm._e()];
96403
96448
  })], 2)]);
96404
96449
  };
96405
- var buttonvue_type_template_id_049e47a4_scoped_true_staticRenderFns = [];
96450
+ var buttonvue_type_template_id_1a0959d4_scoped_true_staticRenderFns = [];
96406
96451
 
96407
96452
  ;// ./node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js
96408
96453
 
@@ -96637,10 +96682,10 @@ Button = __decorate([vue_class_component_esm({
96637
96682
  /* harmony default export */ var buttonvue_type_script_lang_ts = (Button);
96638
96683
  ;// ./src/components/lib/button/button.vue?vue&type=script&lang=ts
96639
96684
  /* harmony default export */ var button_buttonvue_type_script_lang_ts = (buttonvue_type_script_lang_ts);
96640
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/button/button.vue?vue&type=style&index=0&id=049e47a4&prod&lang=scss&scoped=true
96685
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/button/button.vue?vue&type=style&index=0&id=1a0959d4&prod&lang=scss&scoped=true
96641
96686
  // extracted by mini-css-extract-plugin
96642
96687
 
96643
- ;// ./src/components/lib/button/button.vue?vue&type=style&index=0&id=049e47a4&prod&lang=scss&scoped=true
96688
+ ;// ./src/components/lib/button/button.vue?vue&type=style&index=0&id=1a0959d4&prod&lang=scss&scoped=true
96644
96689
 
96645
96690
  ;// ./src/components/lib/button/button.vue
96646
96691
 
@@ -96653,11 +96698,11 @@ Button = __decorate([vue_class_component_esm({
96653
96698
 
96654
96699
  var button_component = normalizeComponent(
96655
96700
  button_buttonvue_type_script_lang_ts,
96656
- buttonvue_type_template_id_049e47a4_scoped_true_render,
96657
- buttonvue_type_template_id_049e47a4_scoped_true_staticRenderFns,
96701
+ buttonvue_type_template_id_1a0959d4_scoped_true_render,
96702
+ buttonvue_type_template_id_1a0959d4_scoped_true_staticRenderFns,
96658
96703
  false,
96659
96704
  null,
96660
- "049e47a4",
96705
+ "1a0959d4",
96661
96706
  null
96662
96707
 
96663
96708
  )
@@ -96814,10 +96859,10 @@ card_card.install = function (vue) {
96814
96859
  };
96815
96860
 
96816
96861
  /* harmony default export */ var lib_card = (card_card);
96817
- ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/checkbox/checkbox.vue?vue&type=template&id=671611d8&scoped=true
96862
+ ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/checkbox/checkbox.vue?vue&type=template&id=1d20088f&scoped=true
96818
96863
 
96819
96864
 
96820
- var checkboxvue_type_template_id_671611d8_scoped_true_render = function render() {
96865
+ var checkboxvue_type_template_id_1d20088f_scoped_true_render = function render() {
96821
96866
  var _vm = this,
96822
96867
  _c = _vm._self._c,
96823
96868
  _setup = _vm._self._setupProxy;
@@ -96903,9 +96948,9 @@ var checkboxvue_type_template_id_671611d8_scoped_true_render = function render()
96903
96948
  return [_vm._v(" " + _vm._s(_vm.value) + " ")];
96904
96949
  })], 2)])]);
96905
96950
  };
96906
- var checkboxvue_type_template_id_671611d8_scoped_true_staticRenderFns = [];
96951
+ var checkboxvue_type_template_id_1d20088f_scoped_true_staticRenderFns = [];
96907
96952
 
96908
- ;// ./src/components/lib/checkbox/checkbox.vue?vue&type=template&id=671611d8&scoped=true
96953
+ ;// ./src/components/lib/checkbox/checkbox.vue?vue&type=template&id=1d20088f&scoped=true
96909
96954
 
96910
96955
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/checkbox/checkbox.vue?vue&type=script&lang=ts
96911
96956
 
@@ -97041,10 +97086,10 @@ CheckBox = __decorate([vue_class_component_esm({
97041
97086
  /* harmony default export */ var checkboxvue_type_script_lang_ts = (CheckBox);
97042
97087
  ;// ./src/components/lib/checkbox/checkbox.vue?vue&type=script&lang=ts
97043
97088
  /* harmony default export */ var checkbox_checkboxvue_type_script_lang_ts = (checkboxvue_type_script_lang_ts);
97044
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/checkbox/checkbox.vue?vue&type=style&index=0&id=671611d8&prod&lang=scss&scoped=true
97089
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/checkbox/checkbox.vue?vue&type=style&index=0&id=1d20088f&prod&lang=scss&scoped=true
97045
97090
  // extracted by mini-css-extract-plugin
97046
97091
 
97047
- ;// ./src/components/lib/checkbox/checkbox.vue?vue&type=style&index=0&id=671611d8&prod&lang=scss&scoped=true
97092
+ ;// ./src/components/lib/checkbox/checkbox.vue?vue&type=style&index=0&id=1d20088f&prod&lang=scss&scoped=true
97048
97093
 
97049
97094
  ;// ./src/components/lib/checkbox/checkbox.vue
97050
97095
 
@@ -97057,11 +97102,11 @@ CheckBox = __decorate([vue_class_component_esm({
97057
97102
 
97058
97103
  var checkbox_component = normalizeComponent(
97059
97104
  checkbox_checkboxvue_type_script_lang_ts,
97060
- checkboxvue_type_template_id_671611d8_scoped_true_render,
97061
- checkboxvue_type_template_id_671611d8_scoped_true_staticRenderFns,
97105
+ checkboxvue_type_template_id_1d20088f_scoped_true_render,
97106
+ checkboxvue_type_template_id_1d20088f_scoped_true_staticRenderFns,
97062
97107
  false,
97063
97108
  null,
97064
- "671611d8",
97109
+ "1d20088f",
97065
97110
  null
97066
97111
 
97067
97112
  )
@@ -98168,36 +98213,54 @@ var Dialog = /*#__PURE__*/function (_Vue) {
98168
98213
  value: function () {
98169
98214
  var _cancel = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(message) {
98170
98215
  var _this3 = this;
98216
+ var _safeMessage, isNormalCancellation, safeMessage;
98171
98217
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
98172
98218
  while (1) switch (_context3.prev = _context3.next) {
98173
98219
  case 0:
98174
98220
  _context3.prev = 0;
98175
98221
  if (!(this.hooks && this.hooks.cancel)) {
98176
- _context3.next = 4;
98222
+ _context3.next = 5;
98177
98223
  break;
98178
98224
  }
98179
- _context3.next = 4;
98180
- return Promise.resolve(this.hooks.cancel(message));
98181
- case 4:
98182
- _context3.next = 10;
98225
+ // Make sure we pass a safe value to hooks
98226
+ _safeMessage = message || new Error('Dialog cancelled');
98227
+ _context3.next = 5;
98228
+ return Promise.resolve(this.hooks.cancel(_safeMessage));
98229
+ case 5:
98230
+ _context3.next = 12;
98183
98231
  break;
98184
- case 6:
98185
- _context3.prev = 6;
98232
+ case 7:
98233
+ _context3.prev = 7;
98186
98234
  _context3.t0 = _context3["catch"](0);
98187
- if (!(!(message instanceof Error) || message.message !== 'Cancelled')) {
98188
- _context3.next = 10;
98235
+ // Simplified error handling with safer checks
98236
+ isNormalCancellation = message instanceof Error && message.message === 'Cancelled';
98237
+ if (isNormalCancellation) {
98238
+ _context3.next = 12;
98189
98239
  break;
98190
98240
  }
98191
98241
  return _context3.abrupt("return", this.error(String(_context3.t0)));
98192
- case 10:
98242
+ case 12:
98243
+ // Convert undefined to an error with descriptive message
98244
+ if (message === undefined) {
98245
+ safeMessage = new Error('Dialog cancelled');
98246
+ }
98247
+ // Keep string as is
98248
+ else if (typeof message === 'string') {
98249
+ safeMessage = message;
98250
+ }
98251
+ // Keep Error as is
98252
+ else {
98253
+ safeMessage = message;
98254
+ }
98255
+ // Use the safe message value in emits
98193
98256
  this.container.$emit('begin_teardown', 'cancel', function () {
98194
- return _this3.container.$emit('cancel', message);
98257
+ _this3.container.$emit('cancel', safeMessage);
98195
98258
  });
98196
- case 11:
98259
+ case 14:
98197
98260
  case "end":
98198
98261
  return _context3.stop();
98199
98262
  }
98200
- }, _callee3, this, [[0, 6]]);
98263
+ }, _callee3, this, [[0, 7]]);
98201
98264
  }));
98202
98265
  function cancel(_x2) {
98203
98266
  return _cancel.apply(this, arguments);
@@ -98313,7 +98376,7 @@ var dividervue_type_template_id_24d8bbe8_staticRenderFns = [];
98313
98376
 
98314
98377
  ;// ./src/assets/scss/_variables.module.scss
98315
98378
  // extracted by mini-css-extract-plugin
98316
- /* harmony default export */ var _variables_module = ({"paddingPx":"10","colorWhite":"#fff","colorBlack":"#000","colorPrimary":"#00284f","colorGreenPrimary":"#1e8366","colorYellowPrimary":"#ffdd9a","colorGreyPrimary":"#e7e7e7","colorGreySecondary":"#9fa7b3","colorGreyAccent":"rgb(207.9,207.9,207.9)","colorComponentBG":"#e7e7e7","fade-01-enter-active":"HqI5Ku11bM8IzFGOJSjy","fade-01-leave-active":"tHpJlz6JSoYOk8Pb2LxE","fade-01-enter":"L7OX8yvKUS0RB3CI8asV","fade-01-leave-to":"ZD1qqlteP6E7dHEU25Au","fade-02-enter-active":"DUeAGgExUS0EX8Yz_AUt","fade-02-leave-active":"fGZQqjZ0Np0dFk6biWUg","fade-02-enter":"aqRLp8sG5lgUOxRNNXgA","fade-02-leave-to":"GVWwniAPacYqhXud9LtA","fade-03-enter-active":"S6QNs4FTQR4ZIef8mayI","fade-03-leave-active":"RTAepTAOeZoqnrUG4Lb1","fade-03-enter":"LG4SDt_RDY4nfTpaAbUQ","fade-03-leave-to":"ObDXHtIndgUsOVybZeGQ","rotate-01-enter-active":"orTAUl6xnwDua3njCa_C","rotate-01-leave-active":"L1IiwkrL5EhPHJP9heSy","rotate-01-enter":"Z7ShV1I6UEvAozUXiqPc","rotate-01-leave-to":"LUn2e4DcXU0vRKrODBoK","rotate-02-enter-active":"jlwta8kjHYW66ZTPc_jc","rotate-02-leave-active":"ZZEVG6QLDQEj9ndbMr80","rotate-02-enter":"awY4HZw6EWIFwEHuf7ST","rotate-02-leave-to":"lI6UeLCtB5M4In431dE8","rotate-03-enter-active":"Iui3TkdwDOA6IYXIhgBp","rotate-03-leave-active":"hPdNrNPCw7Q0yGBKHj4U","rotate-03-enter":"AHzSaqYw28wOkw7ppHoj","rotate-03-leave-to":"uTAESBS_mvAgogq4aqGK","sd-card__header":"zACRq4mA0HsuQS03zXTb","sd-dialog__title":"DCs8OqzTFpcfkmTxueRA","sd-tabs__item":"rbD8u7a3ri4tp40V3oUg","sd-form-item__label":"AzR1FSGJVQ9MZ8qAMZbQ","sd-button":"sZqRw5BRKb8nn1P25WHO","sd-popout-menu__trigger":"MC3fygPo3QIOYcvBNgfB","sd-input":"RDrCTy3faS4gmdkoGc25","sd-select":"ViCENS8nD0upb0sd83cv","sd-radio__label":"zupQy6cRRpgULJRCDwNs","sd-checkbox__label":"oZ8UPPkyvAEAwghWg1NL","sd-form-item__content":"kMA0bGes8J4nExhsnd9b","sd-form-item__description":"yy5bcVmkK30vuNz4Uu6D","sd-autocomplete__suggestion":"uCjzG4tbpJglxalIM4Sa","sd-select-option":"JSLEnczQyLseIt4AMkhK","sd-form-item__error":"yX7A1R1CrYcM3fq9ychu","font-regular":"xqBkIWnQf546dZ_2tGQj","font-medium":"Lu0JxO5KHAI2F8LVNbzA","font-semibold":"wfluSRIPh5oy8wirDSwe","font-bold":"QbgyHUFC0DcvcuzlKop6","aria-instructions-hidden":"RwpAhDOE3xMcS18_RBRf"});
98379
+ /* harmony default export */ var _variables_module = ({"paddingPx":"10","colorWhite":"#fff","colorBlack":"#000","colorPrimary":"#00284f","colorGreenPrimary":"#1e8366","colorYellowPrimary":"#ffdd9a","colorGreyPrimary":"#e7e7e7","colorGreySecondary":"#9fa7b3","colorGreyAccent":"rgb(207.9,207.9,207.9)","colorComponentBG":"#e7e7e7","focus":"bc0hDsNwP8ocSBlzi1A7","fade-01-enter-active":"HqI5Ku11bM8IzFGOJSjy","fade-01-leave-active":"tHpJlz6JSoYOk8Pb2LxE","fade-01-enter":"L7OX8yvKUS0RB3CI8asV","fade-01-leave-to":"ZD1qqlteP6E7dHEU25Au","fade-02-enter-active":"DUeAGgExUS0EX8Yz_AUt","fade-02-leave-active":"fGZQqjZ0Np0dFk6biWUg","fade-02-enter":"aqRLp8sG5lgUOxRNNXgA","fade-02-leave-to":"GVWwniAPacYqhXud9LtA","fade-03-enter-active":"S6QNs4FTQR4ZIef8mayI","fade-03-leave-active":"RTAepTAOeZoqnrUG4Lb1","fade-03-enter":"LG4SDt_RDY4nfTpaAbUQ","fade-03-leave-to":"ObDXHtIndgUsOVybZeGQ","rotate-01-enter-active":"orTAUl6xnwDua3njCa_C","rotate-01-leave-active":"L1IiwkrL5EhPHJP9heSy","rotate-01-enter":"Z7ShV1I6UEvAozUXiqPc","rotate-01-leave-to":"LUn2e4DcXU0vRKrODBoK","rotate-02-enter-active":"jlwta8kjHYW66ZTPc_jc","rotate-02-leave-active":"ZZEVG6QLDQEj9ndbMr80","rotate-02-enter":"awY4HZw6EWIFwEHuf7ST","rotate-02-leave-to":"lI6UeLCtB5M4In431dE8","rotate-03-enter-active":"Iui3TkdwDOA6IYXIhgBp","rotate-03-leave-active":"hPdNrNPCw7Q0yGBKHj4U","rotate-03-enter":"AHzSaqYw28wOkw7ppHoj","rotate-03-leave-to":"uTAESBS_mvAgogq4aqGK","sd-card__header":"zACRq4mA0HsuQS03zXTb","sd-dialog__title":"DCs8OqzTFpcfkmTxueRA","sd-tabs__item":"rbD8u7a3ri4tp40V3oUg","sd-form-item__label":"AzR1FSGJVQ9MZ8qAMZbQ","sd-button":"sZqRw5BRKb8nn1P25WHO","sd-popout-menu__trigger":"MC3fygPo3QIOYcvBNgfB","menu-pill":"SadOkeiNyfQTTeIrbmcK","sd-input":"RDrCTy3faS4gmdkoGc25","sd-select":"ViCENS8nD0upb0sd83cv","sd-radio__label":"zupQy6cRRpgULJRCDwNs","sd-checkbox__label":"oZ8UPPkyvAEAwghWg1NL","sd-form-item__content":"kMA0bGes8J4nExhsnd9b","sd-form-item__description":"yy5bcVmkK30vuNz4Uu6D","sd-autocomplete__suggestion":"uCjzG4tbpJglxalIM4Sa","sd-select-option":"JSLEnczQyLseIt4AMkhK","sd-form-item__error":"yX7A1R1CrYcM3fq9ychu","font-regular":"xqBkIWnQf546dZ_2tGQj","font-medium":"Lu0JxO5KHAI2F8LVNbzA","font-semibold":"wfluSRIPh5oy8wirDSwe","font-bold":"QbgyHUFC0DcvcuzlKop6","aria-instructions-hidden":"RwpAhDOE3xMcS18_RBRf"});
98317
98380
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/divider/divider.vue?vue&type=script&lang=ts
98318
98381
 
98319
98382
 
@@ -98719,8 +98782,8 @@ var promptvue_type_template_id_4b20821a_scoped_true_render = function render() {
98719
98782
  };
98720
98783
  var promptvue_type_template_id_4b20821a_scoped_true_staticRenderFns = [];
98721
98784
 
98722
- ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/input/input.vue?vue&type=template&id=d27e0690&scoped=true
98723
- var inputvue_type_template_id_d27e0690_scoped_true_render = function render() {
98785
+ ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/input/input.vue?vue&type=template&id=21f1dcc6&scoped=true
98786
+ var inputvue_type_template_id_21f1dcc6_scoped_true_render = function render() {
98724
98787
  var _vm = this,
98725
98788
  _c = _vm._self._c,
98726
98789
  _setup = _vm._self._setupProxy;
@@ -98861,7 +98924,7 @@ var inputvue_type_template_id_d27e0690_scoped_true_render = function render() {
98861
98924
  }
98862
98925
  })], 1) : _vm._e()])], 1);
98863
98926
  };
98864
- var inputvue_type_template_id_d27e0690_scoped_true_staticRenderFns = [];
98927
+ var inputvue_type_template_id_21f1dcc6_scoped_true_staticRenderFns = [];
98865
98928
 
98866
98929
  ;// ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
98867
98930
  function arrayWithHoles_arrayWithHoles(r) {
@@ -99207,10 +99270,10 @@ Input = __decorate([vue_class_component_esm({
99207
99270
  /* harmony default export */ var inputvue_type_script_lang_ts = (Input);
99208
99271
  ;// ./src/components/lib/input/input.vue?vue&type=script&lang=ts
99209
99272
  /* harmony default export */ var input_inputvue_type_script_lang_ts = (inputvue_type_script_lang_ts);
99210
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/input/input.vue?vue&type=style&index=0&id=d27e0690&prod&lang=scss&scoped=true
99273
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/input/input.vue?vue&type=style&index=0&id=21f1dcc6&prod&lang=scss&scoped=true
99211
99274
  // extracted by mini-css-extract-plugin
99212
99275
 
99213
- ;// ./src/components/lib/input/input.vue?vue&type=style&index=0&id=d27e0690&prod&lang=scss&scoped=true
99276
+ ;// ./src/components/lib/input/input.vue?vue&type=style&index=0&id=21f1dcc6&prod&lang=scss&scoped=true
99214
99277
 
99215
99278
  ;// ./src/components/lib/input/input.vue
99216
99279
 
@@ -99223,11 +99286,11 @@ Input = __decorate([vue_class_component_esm({
99223
99286
 
99224
99287
  var input_component = normalizeComponent(
99225
99288
  input_inputvue_type_script_lang_ts,
99226
- inputvue_type_template_id_d27e0690_scoped_true_render,
99227
- inputvue_type_template_id_d27e0690_scoped_true_staticRenderFns,
99289
+ inputvue_type_template_id_21f1dcc6_scoped_true_render,
99290
+ inputvue_type_template_id_21f1dcc6_scoped_true_staticRenderFns,
99228
99291
  false,
99229
99292
  null,
99230
- "d27e0690",
99293
+ "21f1dcc6",
99231
99294
  null
99232
99295
 
99233
99296
  )
@@ -99522,22 +99585,37 @@ input_input.install = function (vue) {
99522
99585
  };
99523
99586
 
99524
99587
  /* harmony default export */ var lib_input = (input_input);
99525
- ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/popout-menu/popout-menu.vue?vue&type=template&id=dc172d08&scoped=true
99526
- var popout_menuvue_type_template_id_dc172d08_scoped_true_render = function render() {
99588
+ ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/popout-menu/popout-menu.vue?vue&type=template&id=15f12367&scoped=true
99589
+ var popout_menuvue_type_template_id_15f12367_scoped_true_render = function render() {
99527
99590
  var _vm = this,
99528
99591
  _c = _vm._self._c,
99529
99592
  _setup = _vm._self._setupProxy;
99530
- return _c('div', [_c('label', {
99531
- staticClass: "popout-menu__label",
99593
+ return _c('div', {
99594
+ class: ['link__menu', {
99595
+ open: _vm.open
99596
+ }],
99532
99597
  attrs: {
99533
- "id": "popout-menu__label",
99534
- "for": 'popout-menu__trigger'
99598
+ "id": _vm.componentId
99535
99599
  }
99536
- }, [_vm._v(" " + _vm._s(_vm.ariaLabel || 'Menu') + " ")]), _c('button', {
99600
+ }, [_c('label', {
99537
99601
  attrs: {
99538
- "id": "popout-menu__trigger",
99602
+ "id": "".concat(_vm.componentId, "__label"),
99603
+ "for": "".concat(_vm.componentId, "__trigger")
99604
+ }
99605
+ }, [_c('button', {
99606
+ directives: [{
99607
+ name: "click-outside",
99608
+ rawName: "v-click-outside",
99609
+ value: function value() {
99610
+ return _vm.setState('closed');
99611
+ },
99612
+ expression: "() => setState('closed')"
99613
+ }],
99614
+ attrs: {
99615
+ "id": "".concat(_vm.componentId, "__trigger"),
99539
99616
  "aria-haspopup": "true",
99540
- "aria-expanded": _vm.open
99617
+ "aria-expanded": _vm.open,
99618
+ "aria-controls": "".concat(_vm.componentId, "__popout")
99541
99619
  },
99542
99620
  on: {
99543
99621
  "click": function click($event) {
@@ -99564,28 +99642,49 @@ var popout_menuvue_type_template_id_dc172d08_scoped_true_render = function rende
99564
99642
  "open": _vm.open,
99565
99643
  "focus": _vm.label_focus,
99566
99644
  "hover": _vm.label_hover
99567
- })], 2), _c('div', {
99568
- directives: [{
99569
- name: "show",
99570
- rawName: "v-show",
99571
- value: _vm.open,
99572
- expression: "open"
99573
- }],
99574
- class: {
99575
- open: _vm.open
99576
- },
99645
+ })], 2)]), _c('div', {
99577
99646
  attrs: {
99578
- "id": "popout-menu",
99579
- "role": "menu",
99580
- "aria-labelledby": 'popout-menu__label'
99647
+ "id": "".concat(_vm.componentId, "__popout"),
99648
+ "aria-labelledby": "".concat(_vm.componentId, "__label"),
99649
+ "inert": !_vm.open
99650
+ },
99651
+ on: {
99652
+ "keydown": [function ($event) {
99653
+ if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "up", 38, $event.key, ["Up", "ArrowUp"])) return null;
99654
+ $event.preventDefault();
99655
+ return _vm.focusPreviousItem.apply(null, arguments);
99656
+ }, function ($event) {
99657
+ if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "down", 40, $event.key, ["Down", "ArrowDown"])) return null;
99658
+ $event.preventDefault();
99659
+ return _vm.focusNextItem.apply(null, arguments);
99660
+ }, function ($event) {
99661
+ if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "home", undefined, $event.key, undefined)) return null;
99662
+ $event.preventDefault();
99663
+ return _vm.focusFirstItem.apply(null, arguments);
99664
+ }, function ($event) {
99665
+ if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "end", undefined, $event.key, undefined)) return null;
99666
+ $event.preventDefault();
99667
+ return _vm.focusLastItem.apply(null, arguments);
99668
+ }, function ($event) {
99669
+ if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "esc", 27, $event.key, ["Esc", "Escape"])) return null;
99670
+ $event.preventDefault();
99671
+ return _vm.setState('closed');
99672
+ }, function ($event) {
99673
+ if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "tab", 9, $event.key, "Tab")) return null;
99674
+ return _vm.setState('closed');
99675
+ }, function ($event) {
99676
+ if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) return null;
99677
+ $event.preventDefault();
99678
+ return _vm.activateItem.apply(null, arguments);
99679
+ }]
99581
99680
  }
99681
+ }, [_c('div', {
99682
+ staticClass: "popout-menu__content"
99582
99683
  }, [_vm._t("menu", null, {
99583
- "open": _vm.open,
99584
- "ariaHidden": !_vm.open,
99585
- "role": 'menuitem'
99586
- })], 2)]);
99684
+ "open": _vm.open
99685
+ })], 2)])]);
99587
99686
  };
99588
- var popout_menuvue_type_template_id_dc172d08_scoped_true_staticRenderFns = [];
99687
+ var popout_menuvue_type_template_id_15f12367_scoped_true_staticRenderFns = [];
99589
99688
 
99590
99689
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/popout-menu/popout-menu.vue?vue&type=script&lang=ts
99591
99690
 
@@ -99598,6 +99697,17 @@ var popout_menuvue_type_template_id_dc172d08_scoped_true_staticRenderFns = [];
99598
99697
 
99599
99698
 
99600
99699
 
99700
+
99701
+
99702
+
99703
+
99704
+
99705
+
99706
+
99707
+
99708
+
99709
+ // Counter to generate unique IDs for each menu instance
99710
+ var menuCounter = 0;
99601
99711
  var PopoutMenu = /*#__PURE__*/function (_Vue) {
99602
99712
  function PopoutMenu() {
99603
99713
  var _this;
@@ -99607,13 +99717,23 @@ var PopoutMenu = /*#__PURE__*/function (_Vue) {
99607
99717
  }
99608
99718
  _this = _callSuper(this, PopoutMenu, [].concat(args));
99609
99719
  defineProperty_defineProperty(_this, "ariaLabel", void 0);
99720
+ defineProperty_defineProperty(_this, "id", void 0);
99610
99721
  defineProperty_defineProperty(_this, "isOpen", false);
99611
99722
  defineProperty_defineProperty(_this, "label_focus", false);
99612
99723
  defineProperty_defineProperty(_this, "label_hover", false);
99724
+ defineProperty_defineProperty(_this, "menuItems", []);
99725
+ defineProperty_defineProperty(_this, "uniqueId", menuCounter++);
99613
99726
  return _this;
99614
99727
  }
99615
99728
  _inherits(PopoutMenu, _Vue);
99616
99729
  return createClass_createClass(PopoutMenu, [{
99730
+ key: "componentId",
99731
+ get:
99732
+ // Generate a unique ID for this menu instance
99733
+ function get() {
99734
+ return this.id || "popout-menu-".concat(this.uniqueId);
99735
+ }
99736
+ }, {
99617
99737
  key: "open",
99618
99738
  get: function get() {
99619
99739
  return this.isOpen;
@@ -99621,19 +99741,42 @@ var PopoutMenu = /*#__PURE__*/function (_Vue) {
99621
99741
  }, {
99622
99742
  key: "setState",
99623
99743
  value: function setState(state) {
99744
+ var _this2 = this;
99624
99745
  this.isOpen = state === 'open';
99625
- if (this.open) document.addEventListener('focusin', this.trackFocusElement);else document.removeEventListener('focusin', this.trackFocusElement);
99746
+ if (this.open) {
99747
+ document.addEventListener('focusin', this.trackFocusElement);
99748
+ // Update menu items and prepare for keyboard navigation
99749
+ this.$nextTick(function () {
99750
+ _this2.updateMenuItems();
99751
+ });
99752
+ } else {
99753
+ document.removeEventListener('focusin', this.trackFocusElement);
99754
+ }
99626
99755
  }
99627
99756
  }, {
99628
99757
  key: "toggleMenu",
99629
99758
  value: function toggleMenu() {
99630
- this.setState(this.open ? 'closed' : 'open');
99759
+ var _this3 = this;
99760
+ var useKeyboard = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
99761
+ var newState = this.open ? 'closed' : 'open';
99762
+ this.setState(newState);
99763
+ // Only focus the first item if opened via keyboard
99764
+ if (newState === 'open' && useKeyboard) {
99765
+ this.$nextTick(function () {
99766
+ if (_this3.menuItems.length > 0) {
99767
+ _this3.focusFirstItem();
99768
+ }
99769
+ });
99770
+ }
99631
99771
  }
99632
99772
  }, {
99633
99773
  key: "onKeyDown",
99634
99774
  value: function onKeyDown(event) {
99635
- event.keyCode === KeyCode.SPACE && event.preventDefault();
99636
- this.toggleMenu();
99775
+ if (event.key === 'Enter' || event.key === ' ' || event.key === 'Space' // For older browsers
99776
+ ) {
99777
+ event.preventDefault(); // Prevent default action like page scrolling
99778
+ this.toggleMenu();
99779
+ }
99637
99780
  }
99638
99781
  }, {
99639
99782
  key: "trackFocusElement",
@@ -99642,12 +99785,154 @@ var PopoutMenu = /*#__PURE__*/function (_Vue) {
99642
99785
  // If focus is no longer within the menu - close it.
99643
99786
  if (tabbedOut) this.setState('closed');
99644
99787
  }
99788
+ }, {
99789
+ key: "mounted",
99790
+ value: function mounted() {
99791
+ var _this4 = this;
99792
+ this.$nextTick(function () {
99793
+ _this4.updateMenuItems();
99794
+ });
99795
+ }
99796
+ }, {
99797
+ key: "updateMenuItems",
99798
+ value: function updateMenuItems() {
99799
+ var _this5 = this;
99800
+ if (this.$el) {
99801
+ // Reset the menuItems array
99802
+ this.menuItems = [];
99803
+ // Find the menu container
99804
+ var menuContainer = this.$el.querySelector("#".concat(this.componentId, "__popout"));
99805
+ if (menuContainer) {
99806
+ // First, look for a proper menu structure - a ul with role="menu"
99807
+ var menuList = menuContainer.querySelector('[role="menu"]');
99808
+ if (menuList) {
99809
+ // If we have a proper menu, find all menuitem elements within it
99810
+ var items = menuList.querySelectorAll('[role="menuitem"]');
99811
+ Array.from(items).forEach(function (element) {
99812
+ var item = element;
99813
+ // Skip disabled items
99814
+ if (item.hasAttribute('disabled') || item.getAttribute('aria-disabled') === 'true') {
99815
+ return;
99816
+ }
99817
+ _this5.menuItems.push(item);
99818
+ });
99819
+ } else {
99820
+ // Fallback approach if no proper menu structure exists
99821
+ var selector = 'a, button:not([id$="__trigger"]), [role="menuitem"], .sd-button';
99822
+ var _items = menuContainer.querySelectorAll(selector);
99823
+ Array.from(_items).forEach(function (element) {
99824
+ var item = element;
99825
+ // Skip disabled items and containers
99826
+ if (item.hasAttribute('disabled') || item.getAttribute('aria-disabled') === 'true' || item.classList.contains('popout-menu__content') || item.getAttribute('role') === 'none' || item.getAttribute('role') === 'presentation' || item.getAttribute('role') === 'group' || item.querySelector(selector)) {
99827
+ return;
99828
+ }
99829
+ _this5.menuItems.push(item);
99830
+ });
99831
+ }
99832
+ // Setup each menu item
99833
+ this.menuItems.forEach(function (item, index) {
99834
+ item.setAttribute('tabindex', index === 0 ? '0' : '-1');
99835
+ // Add keyboard handling if needed
99836
+ if (!item.hasAttribute('data-has-keydown')) {
99837
+ item.addEventListener('keydown', function (event) {
99838
+ if (event.key === 'Enter' || event.key === ' ') {
99839
+ event.preventDefault();
99840
+ item.click();
99841
+ }
99842
+ });
99843
+ item.setAttribute('data-has-keydown', 'true');
99844
+ }
99845
+ // Ensure parent li has role="none"
99846
+ var parentLi = item.closest('li');
99847
+ if (parentLi) {
99848
+ parentLi.setAttribute('role', 'none');
99849
+ }
99850
+ });
99851
+ }
99852
+ }
99853
+ }
99854
+ }, {
99855
+ key: "hasMenuItems",
99856
+ get: function get() {
99857
+ return this.menuItems.length > 0;
99858
+ }
99859
+ }, {
99860
+ key: "focusNextItem",
99861
+ value: function focusNextItem() {
99862
+ if (!this.menuItems.length) return;
99863
+ var current = document.activeElement;
99864
+ var index = this.menuItems.findIndex(function (item) {
99865
+ return item === current;
99866
+ });
99867
+ var nextIndex = (index + 1) % this.menuItems.length;
99868
+ // Set appropriate tabindex values
99869
+ this.menuItems.forEach(function (item) {
99870
+ return item.setAttribute('tabindex', '-1');
99871
+ });
99872
+ this.menuItems[nextIndex].setAttribute('tabindex', '0');
99873
+ this.menuItems[nextIndex].focus();
99874
+ // Force update to ensure focus styling is applied
99875
+ this.$forceUpdate();
99876
+ }
99877
+ }, {
99878
+ key: "focusPreviousItem",
99879
+ value: function focusPreviousItem() {
99880
+ if (!this.menuItems.length) return;
99881
+ var current = document.activeElement;
99882
+ var index = this.menuItems.findIndex(function (item) {
99883
+ return item === current;
99884
+ });
99885
+ var prevIndex = (index - 1 + this.menuItems.length) % this.menuItems.length;
99886
+ // Set appropriate tabindex values
99887
+ this.menuItems.forEach(function (item) {
99888
+ return item.setAttribute('tabindex', '-1');
99889
+ });
99890
+ this.menuItems[prevIndex].setAttribute('tabindex', '0');
99891
+ this.menuItems[prevIndex].focus();
99892
+ // Force update to ensure focus styling is applied
99893
+ this.$forceUpdate();
99894
+ }
99895
+ }, {
99896
+ key: "focusFirstItem",
99897
+ value: function focusFirstItem() {
99898
+ if (!this.menuItems.length) return;
99899
+ // Reset all tabindex values
99900
+ this.menuItems.forEach(function (item) {
99901
+ return item.setAttribute('tabindex', '-1');
99902
+ });
99903
+ this.menuItems[0].setAttribute('tabindex', '0');
99904
+ this.menuItems[0].focus();
99905
+ }
99906
+ }, {
99907
+ key: "focusLastItem",
99908
+ value: function focusLastItem() {
99909
+ if (!this.menuItems.length) return;
99910
+ // Reset all tabindex values
99911
+ this.menuItems.forEach(function (item) {
99912
+ return item.setAttribute('tabindex', '-1');
99913
+ });
99914
+ this.menuItems[this.menuItems.length - 1].setAttribute('tabindex', '0');
99915
+ this.menuItems[this.menuItems.length - 1].focus();
99916
+ }
99917
+ }, {
99918
+ key: "activateItem",
99919
+ value: function activateItem(event) {
99920
+ var current = document.activeElement;
99921
+ if (current && this.menuItems.includes(current)) {
99922
+ current.click();
99923
+ }
99924
+ }
99645
99925
  }]);
99646
99926
  }((external_commonjs_vue_commonjs2_vue_root_Vue_default()));
99647
99927
  __decorate([Prop({
99648
99928
  type: String,
99649
99929
  required: false
99650
99930
  })], PopoutMenu.prototype, "ariaLabel", void 0);
99931
+ __decorate([Prop({
99932
+ type: String,
99933
+ required: false,
99934
+ default: ''
99935
+ })], PopoutMenu.prototype, "id", void 0);
99651
99936
  PopoutMenu = __decorate([vue_class_component_esm({
99652
99937
  directives: {
99653
99938
  ClickOutside: ClickOutside
@@ -99656,10 +99941,15 @@ PopoutMenu = __decorate([vue_class_component_esm({
99656
99941
  /* harmony default export */ var popout_menuvue_type_script_lang_ts = (PopoutMenu);
99657
99942
  ;// ./src/components/lib/popout-menu/popout-menu.vue?vue&type=script&lang=ts
99658
99943
  /* harmony default export */ var popout_menu_popout_menuvue_type_script_lang_ts = (popout_menuvue_type_script_lang_ts);
99659
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/popout-menu/popout-menu.vue?vue&type=style&index=0&id=dc172d08&prod&lang=scss&scoped=true
99944
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/popout-menu/popout-menu.vue?vue&type=style&index=0&id=15f12367&prod&lang=scss
99660
99945
  // extracted by mini-css-extract-plugin
99661
99946
 
99662
- ;// ./src/components/lib/popout-menu/popout-menu.vue?vue&type=style&index=0&id=dc172d08&prod&lang=scss&scoped=true
99947
+ ;// ./src/components/lib/popout-menu/popout-menu.vue?vue&type=style&index=0&id=15f12367&prod&lang=scss
99948
+
99949
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/popout-menu/popout-menu.vue?vue&type=style&index=1&id=15f12367&prod&lang=scss&scoped=true
99950
+ // extracted by mini-css-extract-plugin
99951
+
99952
+ ;// ./src/components/lib/popout-menu/popout-menu.vue?vue&type=style&index=1&id=15f12367&prod&lang=scss&scoped=true
99663
99953
 
99664
99954
  ;// ./src/components/lib/popout-menu/popout-menu.vue
99665
99955
 
@@ -99668,15 +99958,16 @@ PopoutMenu = __decorate([vue_class_component_esm({
99668
99958
  ;
99669
99959
 
99670
99960
 
99961
+
99671
99962
  /* normalize component */
99672
99963
 
99673
99964
  var popout_menu_component = normalizeComponent(
99674
99965
  popout_menu_popout_menuvue_type_script_lang_ts,
99675
- popout_menuvue_type_template_id_dc172d08_scoped_true_render,
99676
- popout_menuvue_type_template_id_dc172d08_scoped_true_staticRenderFns,
99966
+ popout_menuvue_type_template_id_15f12367_scoped_true_render,
99967
+ popout_menuvue_type_template_id_15f12367_scoped_true_staticRenderFns,
99677
99968
  false,
99678
99969
  null,
99679
- "dc172d08",
99970
+ "15f12367",
99680
99971
  null
99681
99972
 
99682
99973
  )
@@ -99692,8 +99983,8 @@ popout.install = function (vue) {
99692
99983
  };
99693
99984
 
99694
99985
  /* harmony default export */ var lib_popout_menu = (popout);
99695
- ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/radio/radio.vue?vue&type=template&id=3c25ece2&scoped=true
99696
- var radiovue_type_template_id_3c25ece2_scoped_true_render = function render() {
99986
+ ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/radio/radio.vue?vue&type=template&id=abc55f46&scoped=true
99987
+ var radiovue_type_template_id_abc55f46_scoped_true_render = function render() {
99697
99988
  var _vm = this,
99698
99989
  _c = _vm._self._c,
99699
99990
  _setup = _vm._self._setupProxy;
@@ -99768,7 +100059,7 @@ var radiovue_type_template_id_3c25ece2_scoped_true_render = function render() {
99768
100059
  return [_vm._v(" " + _vm._s(_vm.radioValue) + " ")];
99769
100060
  })], 2)])]);
99770
100061
  };
99771
- var radiovue_type_template_id_3c25ece2_scoped_true_staticRenderFns = [];
100062
+ var radiovue_type_template_id_abc55f46_scoped_true_staticRenderFns = [];
99772
100063
 
99773
100064
  ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/radio/radio-group.vue?vue&type=template&id=d044affc&scoped=true
99774
100065
  var radio_groupvue_type_template_id_d044affc_scoped_true_render = function render() {
@@ -100128,10 +100419,10 @@ Radio = __decorate([vue_class_component_esm({
100128
100419
  /* harmony default export */ var radiovue_type_script_lang_ts = (Radio);
100129
100420
  ;// ./src/components/lib/radio/radio.vue?vue&type=script&lang=ts
100130
100421
  /* harmony default export */ var radio_radiovue_type_script_lang_ts = (radiovue_type_script_lang_ts);
100131
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/radio/radio.vue?vue&type=style&index=0&id=3c25ece2&prod&lang=scss&scoped=true
100422
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/radio/radio.vue?vue&type=style&index=0&id=abc55f46&prod&lang=scss&scoped=true
100132
100423
  // extracted by mini-css-extract-plugin
100133
100424
 
100134
- ;// ./src/components/lib/radio/radio.vue?vue&type=style&index=0&id=3c25ece2&prod&lang=scss&scoped=true
100425
+ ;// ./src/components/lib/radio/radio.vue?vue&type=style&index=0&id=abc55f46&prod&lang=scss&scoped=true
100135
100426
 
100136
100427
  ;// ./src/components/lib/radio/radio.vue
100137
100428
 
@@ -100144,11 +100435,11 @@ Radio = __decorate([vue_class_component_esm({
100144
100435
 
100145
100436
  var radio_component = normalizeComponent(
100146
100437
  radio_radiovue_type_script_lang_ts,
100147
- radiovue_type_template_id_3c25ece2_scoped_true_render,
100148
- radiovue_type_template_id_3c25ece2_scoped_true_staticRenderFns,
100438
+ radiovue_type_template_id_abc55f46_scoped_true_render,
100439
+ radiovue_type_template_id_abc55f46_scoped_true_staticRenderFns,
100149
100440
  false,
100150
100441
  null,
100151
- "3c25ece2",
100442
+ "abc55f46",
100152
100443
  null
100153
100444
 
100154
100445
  )
@@ -101465,8 +101756,8 @@ rater_rater.install = function (vue) {
101465
101756
  };
101466
101757
 
101467
101758
  /* harmony default export */ var lib_rater = (rater_rater);
101468
- ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/select/select.vue?vue&type=template&id=10591e78&scoped=true
101469
- var selectvue_type_template_id_10591e78_scoped_true_render = function render() {
101759
+ ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/select/select.vue?vue&type=template&id=60664af8&scoped=true
101760
+ var selectvue_type_template_id_60664af8_scoped_true_render = function render() {
101470
101761
  var _vm = this,
101471
101762
  _c = _vm._self._c,
101472
101763
  _setup = _vm._self._setupProxy;
@@ -101474,8 +101765,8 @@ var selectvue_type_template_id_10591e78_scoped_true_render = function render() {
101474
101765
  directives: [{
101475
101766
  name: "click-outside",
101476
101767
  rawName: "v-click-outside",
101477
- value: _vm.close,
101478
- expression: "close"
101768
+ value: _vm.onClickOutside,
101769
+ expression: "onClickOutside"
101479
101770
  }],
101480
101771
  staticClass: "sd-select",
101481
101772
  class: {
@@ -101491,7 +101782,7 @@ var selectvue_type_template_id_10591e78_scoped_true_render = function render() {
101491
101782
  "aria-expanded": _vm.open ? 'true' : 'false',
101492
101783
  "aria-haspopup": !_vm.native ? 'listbox' : undefined,
101493
101784
  "aria-disabled": _vm.disabled ? 'true' : 'false',
101494
- "aria-labelledby": _vm.labelId,
101785
+ "aria-labelledby": _vm.formLabelledBy,
101495
101786
  "aria-controls": _vm.listboxId
101496
101787
  },
101497
101788
  on: {
@@ -101508,19 +101799,19 @@ var selectvue_type_template_id_10591e78_scoped_true_render = function render() {
101508
101799
  !_vm.disabled && _vm.onKeyDown($event);
101509
101800
  }
101510
101801
  }
101511
- }, [!this.labelId ? _c('label', {
101802
+ }, [_vm.showInternalLabel ? _c('label', {
101512
101803
  staticClass: "sd-select-label",
101513
101804
  attrs: {
101514
- "id": _vm.computedLabelId,
101805
+ "id": _vm.labelId,
101515
101806
  "for": _vm.id
101516
101807
  }
101517
- }, [_vm._v(" " + _vm._s(_vm.label) + " ")]) : _c('label', {
101518
- staticClass: "sd-select-label",
101808
+ }, [_vm._v(" " + _vm._s(_vm.label || _vm.nameAttr || ' ') + " ")]) : _c('label', {
101809
+ staticClass: "sd-select-label sr-only",
101519
101810
  attrs: {
101520
101811
  "id": _vm.labelId,
101521
101812
  "for": _vm.id
101522
101813
  }
101523
- }, [_vm._v(" " + _vm._s(_vm.label) + " ")]), _c('div', {
101814
+ }, [_vm._v(" " + _vm._s(_vm.label || _vm.nameAttr || ' ') + " ")]), _c('div', {
101524
101815
  staticClass: "sd-select-trigger",
101525
101816
  on: {
101526
101817
  "mouseenter": function mouseenter($event) {
@@ -101543,6 +101834,7 @@ var selectvue_type_template_id_10591e78_scoped_true_render = function render() {
101543
101834
  "disabled": _vm.disabled,
101544
101835
  "readonly": "",
101545
101836
  "aria-readonly": "true",
101837
+ "aria-labelledby": _vm.formLabelledBy,
101546
101838
  "aria-activedescendant": _vm.focusedOptionId ? _vm.focusedOptionId : undefined
101547
101839
  },
101548
101840
  domProps: {
@@ -101555,7 +101847,7 @@ var selectvue_type_template_id_10591e78_scoped_true_render = function render() {
101555
101847
  custom: _vm.custom
101556
101848
  },
101557
101849
  attrs: {
101558
- "name": _vm.nameAttr || undefined,
101850
+ "name": _vm.computedName,
101559
101851
  "disabled": _vm.disabled,
101560
101852
  "aria-hidden": "true",
101561
101853
  "tabindex": "-1"
@@ -101617,12 +101909,14 @@ var selectvue_type_template_id_10591e78_scoped_true_render = function render() {
101617
101909
  }
101618
101910
  }, [_vm._t("default")], 2)]);
101619
101911
  };
101620
- var selectvue_type_template_id_10591e78_scoped_true_staticRenderFns = [];
101912
+ var selectvue_type_template_id_60664af8_scoped_true_staticRenderFns = [];
101621
101913
 
101622
101914
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js
101623
101915
  var es_array_map = __webpack_require__(2062);
101624
101916
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
101625
101917
  var es_iterator_map = __webpack_require__(1701);
101918
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.trim.js
101919
+ var es_string_trim = __webpack_require__(2762);
101626
101920
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-42.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/select/select-option.vue?vue&type=script&lang=tsx
101627
101921
 
101628
101922
 
@@ -101737,10 +102031,10 @@ SelectOption = __decorate([vue_class_component_esm({
101737
102031
  /* harmony default export */ var select_optionvue_type_script_lang_tsx = (SelectOption);
101738
102032
  ;// ./src/components/lib/select/select-option.vue?vue&type=script&lang=tsx
101739
102033
  /* harmony default export */ var select_select_optionvue_type_script_lang_tsx = (select_optionvue_type_script_lang_tsx);
101740
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/select/select-option.vue?vue&type=style&index=0&id=5ce88e0e&prod&lang=scss&scoped=true
102034
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/select/select-option.vue?vue&type=style&index=0&id=f22f3ac4&prod&lang=scss&scoped=true
101741
102035
  // extracted by mini-css-extract-plugin
101742
102036
 
101743
- ;// ./src/components/lib/select/select-option.vue?vue&type=style&index=0&id=5ce88e0e&prod&lang=scss&scoped=true
102037
+ ;// ./src/components/lib/select/select-option.vue?vue&type=style&index=0&id=f22f3ac4&prod&lang=scss&scoped=true
101744
102038
 
101745
102039
  ;// ./src/components/lib/select/select-option.vue
101746
102040
  var select_option_render, select_option_staticRenderFns
@@ -101757,7 +102051,7 @@ var select_option_component = normalizeComponent(
101757
102051
  select_option_staticRenderFns,
101758
102052
  false,
101759
102053
  null,
101760
- "5ce88e0e",
102054
+ "f22f3ac4",
101761
102055
  null
101762
102056
 
101763
102057
  )
@@ -101792,6 +102086,7 @@ var select_option_component = normalizeComponent(
101792
102086
 
101793
102087
 
101794
102088
 
102089
+
101795
102090
 
101796
102091
 
101797
102092
  library.add(faAngleDown, faTimes);
@@ -101807,6 +102102,7 @@ var Select = /*#__PURE__*/function (_FormPluginComponent) {
101807
102102
  defineProperty_defineProperty(_this, "id", void 0);
101808
102103
  defineProperty_defineProperty(_this, "label", void 0);
101809
102104
  defineProperty_defineProperty(_this, "externalLabelId", void 0);
102105
+ defineProperty_defineProperty(_this, "hideInternalLabel", void 0);
101810
102106
  /**
101811
102107
  * The value to bind the selected item to.
101812
102108
  */
@@ -101830,20 +102126,25 @@ var Select = /*#__PURE__*/function (_FormPluginComponent) {
101830
102126
  }
101831
102127
  _inherits(Select, _FormPluginComponent);
101832
102128
  return createClass_createClass(Select, [{
101833
- key: "labelId",
102129
+ key: "showInternalLabel",
101834
102130
  get: function get() {
101835
- return this.externalLabelId || "".concat(this.id);
102131
+ return this.hideInternalLabel !== true && Boolean(this.label && this.label.trim() !== '');
101836
102132
  }
101837
102133
  }, {
101838
- key: "computedLabelId",
102134
+ key: "labelId",
101839
102135
  get: function get() {
101840
- return "".concat(this.id, "-computed-label");
102136
+ return "".concat(this.id, "-label");
101841
102137
  }
101842
102138
  }, {
101843
102139
  key: "listboxId",
101844
102140
  get: function get() {
101845
102141
  return "".concat(this.id, "-listbox");
101846
102142
  }
102143
+ }, {
102144
+ key: "formLabelledBy",
102145
+ get: function get() {
102146
+ return this.externalLabelId || this.labelId;
102147
+ }
101847
102148
  }, {
101848
102149
  key: "options",
101849
102150
  get: function get() {
@@ -101854,6 +102155,11 @@ var Select = /*#__PURE__*/function (_FormPluginComponent) {
101854
102155
  return o.componentInstance;
101855
102156
  }) : [];
101856
102157
  }
102158
+ }, {
102159
+ key: "computedName",
102160
+ get: function get() {
102161
+ return this.nameAttr || this.label || undefined;
102162
+ }
101857
102163
  }, {
101858
102164
  key: "mounted",
101859
102165
  value: function mounted() {
@@ -101877,7 +102183,21 @@ var Select = /*#__PURE__*/function (_FormPluginComponent) {
101877
102183
  // Focus the listbox when the dropdown is opened
101878
102184
  this.$nextTick(function () {
101879
102185
  var listbox = _this2.$el.querySelector('[role="listbox"]');
101880
- listbox && listbox.focus();
102186
+ if (listbox && listbox instanceof HTMLElement) {
102187
+ listbox.focus();
102188
+ // Find the selected option and scroll to it
102189
+ var selectedOption = _this2.options.find(function (opt) {
102190
+ return opt.value === _this2.value;
102191
+ });
102192
+ if (selectedOption && selectedOption.$el instanceof HTMLElement) {
102193
+ _this2.options.forEach(function (opt) {
102194
+ return opt.$el.classList.remove('focus');
102195
+ });
102196
+ selectedOption.$el.classList.add('focus');
102197
+ _this2.focusedOptionId = selectedOption.$el.id;
102198
+ _this2.scrollToFocusedOption(selectedOption.$el);
102199
+ }
102200
+ }
101881
102201
  });
101882
102202
  }
101883
102203
  }
@@ -101914,16 +102234,41 @@ var Select = /*#__PURE__*/function (_FormPluginComponent) {
101914
102234
  }
101915
102235
  /**
101916
102236
  * Closes the dropdown.
101917
- * @param {FocusEvent} [event] - Optional focus event
102237
+ * @param {FocusEvent|MouseEvent} [event] - Optional event
101918
102238
  * @returns {void}
101919
102239
  */
101920
102240
  }, {
101921
102241
  key: "close",
101922
102242
  value: function close(event) {
101923
102243
  if (!this.open) return;
102244
+ // If the event is a FocusEvent, check if we're focusing another element inside the component
102245
+ if (event && event instanceof FocusEvent) {
102246
+ var relatedTarget = event.relatedTarget;
102247
+ // Don't close if focus is moving within the component
102248
+ if (relatedTarget && this.$el.contains(relatedTarget)) {
102249
+ return;
102250
+ }
102251
+ }
101924
102252
  this.open = false;
101925
- this.$emit('blur', event);
101926
- this.broadcastFormEvent('blur', this.value, event);
102253
+ this.$emit('close');
102254
+ // Only emit blur events for focus-related closing
102255
+ if (event && event instanceof FocusEvent) {
102256
+ this.$emit('blur', event);
102257
+ this.broadcastFormEvent('blur', this.value, event);
102258
+ }
102259
+ }
102260
+ }, {
102261
+ key: "onClickOutside",
102262
+ value: function onClickOutside(event) {
102263
+ // Don't close if clicking on an element related to this select component
102264
+ // Like a connected form label
102265
+ if (this.externalLabelId) {
102266
+ var externalLabel = document.getElementById(this.externalLabelId);
102267
+ if (externalLabel && externalLabel.contains(event.target)) {
102268
+ return;
102269
+ }
102270
+ }
102271
+ this.close(event);
101927
102272
  }
101928
102273
  }, {
101929
102274
  key: "onOptionsChanged",
@@ -101964,17 +102309,27 @@ var Select = /*#__PURE__*/function (_FormPluginComponent) {
101964
102309
  }, {
101965
102310
  key: "onBlur",
101966
102311
  value: function onBlur(event) {
101967
- if (event.relatedTarget === this.$refs.input) return;
102312
+ var _this4 = this;
101968
102313
  this.focused = false;
101969
- // Clear the focused option when the dropdown is closed
101970
- if (!this.open) {
101971
- this.options.forEach(function (opt) {
101972
- return opt.$el.classList.remove('focus');
101973
- });
101974
- this.focusedOptionId = '';
102314
+ // Don't close immediately - check if focus moved to another element within the component
102315
+ var relatedTarget = event.relatedTarget;
102316
+ // If focus is moving outside the component, close the dropdown
102317
+ if (!relatedTarget || !this.$el.contains(relatedTarget)) {
102318
+ // Use setTimeout to allow other focus events to process first
102319
+ setTimeout(function () {
102320
+ // Double-check that focus is really outside the component
102321
+ if (!_this4.$el.contains(document.activeElement)) {
102322
+ _this4.close(event);
102323
+ // Clear the focused option when the dropdown is closed
102324
+ _this4.options.forEach(function (opt) {
102325
+ if (opt.$el instanceof HTMLElement) {
102326
+ opt.$el.classList.remove('focus');
102327
+ }
102328
+ });
102329
+ _this4.focusedOptionId = '';
102330
+ }
102331
+ }, 0);
101975
102332
  }
101976
- this.$emit('blur', event);
101977
- this.broadcastFormEvent('blur', this.value, event);
101978
102333
  }
101979
102334
  }, {
101980
102335
  key: "onChange",
@@ -101998,20 +102353,28 @@ var Select = /*#__PURE__*/function (_FormPluginComponent) {
101998
102353
  this.toggleMenu(event);
101999
102354
  if (enabledOptions.length) {
102000
102355
  var focusOption = event.keyCode === KeyCode.UP ? enabledOptions[enabledOptions.length - 1] : enabledOptions[0];
102001
- focusOption.$el.classList.add('focus');
102002
- this.focusedOptionId = focusOption.$el.id;
102356
+ if (focusOption.$el instanceof HTMLElement) {
102357
+ focusOption.$el.classList.add('focus');
102358
+ this.focusedOptionId = focusOption.$el.id;
102359
+ this.scrollToFocusedOption(focusOption.$el);
102360
+ }
102003
102361
  }
102004
102362
  } else {
102005
102363
  var focusedIndex = enabledOptions.findIndex(function (opt) {
102006
- return opt.$el.classList.contains('focus');
102364
+ return opt.$el instanceof HTMLElement && opt.$el.classList.contains('focus');
102007
102365
  });
102008
102366
  var nextIndex = event.keyCode === KeyCode.UP ? (focusedIndex - 1 + enabledOptions.length) % enabledOptions.length : (focusedIndex + 1) % enabledOptions.length;
102009
102367
  var nextOption = enabledOptions[nextIndex];
102010
102368
  this.options.forEach(function (opt) {
102011
- return opt.$el.classList.remove('focus');
102369
+ if (opt.$el instanceof HTMLElement) {
102370
+ opt.$el.classList.remove('focus');
102371
+ }
102012
102372
  });
102013
- nextOption.$el.classList.add('focus');
102014
- this.focusedOptionId = nextOption.$el.id;
102373
+ if (nextOption.$el instanceof HTMLElement) {
102374
+ nextOption.$el.classList.add('focus');
102375
+ this.focusedOptionId = nextOption.$el.id;
102376
+ this.scrollToFocusedOption(nextOption.$el);
102377
+ }
102015
102378
  }
102016
102379
  break;
102017
102380
  case KeyCode.ENTER:
@@ -102036,6 +102399,25 @@ var Select = /*#__PURE__*/function (_FormPluginComponent) {
102036
102399
  break;
102037
102400
  }
102038
102401
  }
102402
+ }, {
102403
+ key: "scrollToFocusedOption",
102404
+ value: function scrollToFocusedOption(element) {
102405
+ var _this5 = this;
102406
+ this.$nextTick(function () {
102407
+ // Use proper type casting with 'as HTMLElement'
102408
+ var listbox = _this5.$el.querySelector('.sd-select__options');
102409
+ if (!listbox || !element) return;
102410
+ var listboxRect = listbox.getBoundingClientRect();
102411
+ var elementRect = element.getBoundingClientRect();
102412
+ var isAbove = elementRect.top < listboxRect.top;
102413
+ var isBelow = elementRect.bottom > listboxRect.bottom;
102414
+ if (isAbove) {
102415
+ listbox.scrollTop -= listboxRect.top - elementRect.top + 5;
102416
+ } else if (isBelow) {
102417
+ listbox.scrollTop += elementRect.bottom - listboxRect.bottom + 5;
102418
+ }
102419
+ });
102420
+ }
102039
102421
  /**
102040
102422
  * Given a value, will return the Vue component associated with the provided value.
102041
102423
  * @param {any} The value to search by.
@@ -102077,6 +102459,11 @@ __decorate([Prop({
102077
102459
  type: String,
102078
102460
  required: false
102079
102461
  })], Select.prototype, "externalLabelId", void 0);
102462
+ __decorate([Prop({
102463
+ type: Boolean,
102464
+ required: false,
102465
+ default: false
102466
+ })], Select.prototype, "hideInternalLabel", void 0);
102080
102467
  __decorate([Prop({
102081
102468
  type: [String, Number, Date, Boolean],
102082
102469
  required: false,
@@ -102120,10 +102507,10 @@ Select = __decorate([vue_class_component_esm({
102120
102507
  /* harmony default export */ var selectvue_type_script_lang_ts = (Select);
102121
102508
  ;// ./src/components/lib/select/select.vue?vue&type=script&lang=ts
102122
102509
  /* harmony default export */ var select_selectvue_type_script_lang_ts = (selectvue_type_script_lang_ts);
102123
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/select/select.vue?vue&type=style&index=0&id=10591e78&prod&lang=scss&scoped=true
102510
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/style-resources-loader/lib/index.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/lib/select/select.vue?vue&type=style&index=0&id=60664af8&prod&lang=scss&scoped=true
102124
102511
  // extracted by mini-css-extract-plugin
102125
102512
 
102126
- ;// ./src/components/lib/select/select.vue?vue&type=style&index=0&id=10591e78&prod&lang=scss&scoped=true
102513
+ ;// ./src/components/lib/select/select.vue?vue&type=style&index=0&id=60664af8&prod&lang=scss&scoped=true
102127
102514
 
102128
102515
  ;// ./src/components/lib/select/select.vue
102129
102516
 
@@ -102136,11 +102523,11 @@ Select = __decorate([vue_class_component_esm({
102136
102523
 
102137
102524
  var select_component = normalizeComponent(
102138
102525
  select_selectvue_type_script_lang_ts,
102139
- selectvue_type_template_id_10591e78_scoped_true_render,
102140
- selectvue_type_template_id_10591e78_scoped_true_staticRenderFns,
102526
+ selectvue_type_template_id_60664af8_scoped_true_render,
102527
+ selectvue_type_template_id_60664af8_scoped_true_staticRenderFns,
102141
102528
  false,
102142
102529
  null,
102143
- "10591e78",
102530
+ "60664af8",
102144
102531
  null
102145
102532
 
102146
102533
  )
@@ -102275,6 +102662,7 @@ var element_ui_common_default = /*#__PURE__*/__webpack_require__.n(element_ui_co
102275
102662
 
102276
102663
 
102277
102664
 
102665
+
102278
102666
  function src_install(V, options) {
102279
102667
  V.use(lib_autocomplete);
102280
102668
  V.use(lib_button, options ? options.button : undefined);