@carbon/vue 3.0.27 → 3.0.30
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.
- package/dist/carbon-vue-3.common.js +235 -49
- package/dist/carbon-vue-3.common.js.map +1 -1
- package/dist/carbon-vue-3.css +1 -1
- package/dist/carbon-vue-3.umd.js +235 -49
- package/dist/carbon-vue-3.umd.js.map +1 -1
- package/dist/carbon-vue-3.umd.min.js +4 -4
- package/dist/carbon-vue-3.umd.min.js.map +1 -1
- package/dist/web-types.json +18 -2
- package/package.json +1 -1
- package/src/components/CvDropdown/CvDropdown.vue +51 -7
- package/src/components/CvOverflowMenu/CvOverflowMenu.vue +2 -1
- package/src/components/CvTabs/CvTabs.vue +22 -7
- package/src/components/CvTabs/__tests__/__snapshots__/CvTabs.spec.js.snap +3 -3
- package/src/components/CvUIShell/CvContent.vue +7 -1
- package/src/components/CvUIShell/CvHeaderMenu.vue +2 -1
- package/src/components/CvUIShell/CvHeaderMenuItem.vue +8 -3
- package/src/components/CvUIShell/CvHeaderNav.vue +10 -1
- package/src/components/CvUIShell/CvHeaderPanel.vue +42 -0
- package/src/components/CvUIShell/CvSideNav.vue +36 -0
- package/src/components/CvUIShell/CvUIShell.stories.mdx +19 -15
|
@@ -9312,7 +9312,7 @@ const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(CvDatePickerSke
|
|
|
9312
9312
|
|
|
9313
9313
|
/***/ }),
|
|
9314
9314
|
|
|
9315
|
-
/***/
|
|
9315
|
+
/***/ 4073:
|
|
9316
9316
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9317
9317
|
|
|
9318
9318
|
"use strict";
|
|
@@ -9508,6 +9508,7 @@ var _hoisted_7 = ["aria-disabled"];
|
|
|
9508
9508
|
var itemsList = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
|
|
9509
9509
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('dropdown-items', itemsList);
|
|
9510
9510
|
var open = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(false);
|
|
9511
|
+
var transitionDone = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(false);
|
|
9511
9512
|
var data = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)({
|
|
9512
9513
|
isHelper: false,
|
|
9513
9514
|
isInvalid: undefined,
|
|
@@ -9539,6 +9540,15 @@ var _hoisted_7 = ["aria-disabled"];
|
|
|
9539
9540
|
});
|
|
9540
9541
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(open, function () {
|
|
9541
9542
|
focusItem.value = '';
|
|
9543
|
+
if (open.value) {
|
|
9544
|
+
// Wait for the transition to complete before allowing overflow
|
|
9545
|
+
transitionDone.value = false;
|
|
9546
|
+
setTimeout(function () {
|
|
9547
|
+
transitionDone.value = true;
|
|
9548
|
+
}, 200); // Increase delay to ensure animation completes
|
|
9549
|
+
} else {
|
|
9550
|
+
transitionDone.value = false;
|
|
9551
|
+
}
|
|
9542
9552
|
});
|
|
9543
9553
|
var ariaLabeledBy = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(function () {
|
|
9544
9554
|
if (props.label) {
|
|
@@ -9562,6 +9572,13 @@ var _hoisted_7 = ["aria-disabled"];
|
|
|
9562
9572
|
});
|
|
9563
9573
|
var el = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
|
|
9564
9574
|
function onClickOut() {
|
|
9575
|
+
// Move focus to button if focus is inside dropdown list
|
|
9576
|
+
var dropListEl = dropList.value;
|
|
9577
|
+
if (dropListEl && dropListEl.contains(document.activeElement)) {
|
|
9578
|
+
if (button.value && typeof button.value.focus === 'function') {
|
|
9579
|
+
button.value.focus();
|
|
9580
|
+
}
|
|
9581
|
+
}
|
|
9565
9582
|
open.value = false;
|
|
9566
9583
|
}
|
|
9567
9584
|
(0,index_esm/* onClickOutside */.X2)(el, onClickOut);
|
|
@@ -9608,8 +9625,14 @@ var _hoisted_7 = ["aria-disabled"];
|
|
|
9608
9625
|
}
|
|
9609
9626
|
}
|
|
9610
9627
|
function onEsc() {
|
|
9628
|
+
// Move focus to button if focus is inside dropdown list
|
|
9629
|
+
var dropListEl = dropList.value;
|
|
9630
|
+
if (dropListEl && dropListEl.contains(document.activeElement)) {
|
|
9631
|
+
if (button.value && typeof button.value.focus === 'function') {
|
|
9632
|
+
button.value.focus();
|
|
9633
|
+
}
|
|
9634
|
+
}
|
|
9611
9635
|
open.value = false;
|
|
9612
|
-
doFocus();
|
|
9613
9636
|
}
|
|
9614
9637
|
var button = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
|
|
9615
9638
|
var listBox = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
|
|
@@ -9621,8 +9644,10 @@ var _hoisted_7 = ["aria-disabled"];
|
|
|
9621
9644
|
open.value = false;
|
|
9622
9645
|
} else if (ev.target === null || (_listBox$value = listBox.value) !== null && _listBox$value !== void 0 && _listBox$value.contains(ev.target)) {
|
|
9623
9646
|
// list has focus, close and return focus to dropdown
|
|
9647
|
+
if (button.value && typeof button.value.focus === 'function') {
|
|
9648
|
+
button.value.focus();
|
|
9649
|
+
}
|
|
9624
9650
|
open.value = false;
|
|
9625
|
-
doFocus();
|
|
9626
9651
|
ev.preventDefault();
|
|
9627
9652
|
}
|
|
9628
9653
|
}
|
|
@@ -9631,9 +9656,6 @@ var _hoisted_7 = ["aria-disabled"];
|
|
|
9631
9656
|
if (props.disabled) {
|
|
9632
9657
|
ev.preventDefault();
|
|
9633
9658
|
} else {
|
|
9634
|
-
open.value = !open.value;
|
|
9635
|
-
doFocus(); // open or close (Some browsers do not focus on button when clicked)
|
|
9636
|
-
|
|
9637
9659
|
var target = ev.target;
|
|
9638
9660
|
while (!target.classList.contains("".concat(settings/* carbonPrefix */.s, "--dropdown-link")) && (_dropList$value2 = dropList.value) !== null && _dropList$value2 !== void 0 && _dropList$value2.contains(target)) {
|
|
9639
9661
|
var _dropList$value2;
|
|
@@ -9642,6 +9664,14 @@ var _hoisted_7 = ["aria-disabled"];
|
|
|
9642
9664
|
if (target.classList.contains("".concat(settings/* carbonPrefix */.s, "--dropdown-link"))) {
|
|
9643
9665
|
var targetItemEl = target.parentNode;
|
|
9644
9666
|
dataValue.value = targetItemEl.getAttribute('data-value');
|
|
9667
|
+
// Move focus to button before closing
|
|
9668
|
+
if (button.value && typeof button.value.focus === 'function') {
|
|
9669
|
+
button.value.focus();
|
|
9670
|
+
}
|
|
9671
|
+
open.value = false;
|
|
9672
|
+
} else {
|
|
9673
|
+
open.value = !open.value;
|
|
9674
|
+
doFocus(); // open or close (Some browsers do not focus on button when clicked)
|
|
9645
9675
|
}
|
|
9646
9676
|
}
|
|
9647
9677
|
}
|
|
@@ -9703,7 +9733,9 @@ var _hoisted_7 = ["aria-disabled"];
|
|
|
9703
9733
|
ref: dropList,
|
|
9704
9734
|
"aria-hidden": !open.value ? 'true' : 'false',
|
|
9705
9735
|
"aria-labelledby": "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(uid), "-label"),
|
|
9706
|
-
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)("".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--list-box__menu")
|
|
9736
|
+
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(["".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--list-box__menu"), {
|
|
9737
|
+
'cv-dropdown__menu--transition-done': transitionDone.value
|
|
9738
|
+
}]),
|
|
9707
9739
|
role: "menu",
|
|
9708
9740
|
tabindex: "-1"
|
|
9709
9741
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "default", {}, function () {
|
|
@@ -9744,10 +9776,17 @@ var _hoisted_7 = ["aria-disabled"];
|
|
|
9744
9776
|
});
|
|
9745
9777
|
;// ./src/components/CvDropdown/CvDropdown.vue?vue&type=script&setup=true&lang=js
|
|
9746
9778
|
|
|
9779
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/CvDropdown/CvDropdown.vue?vue&type=style&index=0&id=21e6324c&lang=scss
|
|
9780
|
+
// extracted by mini-css-extract-plugin
|
|
9781
|
+
|
|
9782
|
+
;// ./src/components/CvDropdown/CvDropdown.vue?vue&type=style&index=0&id=21e6324c&lang=scss
|
|
9783
|
+
|
|
9747
9784
|
;// ./src/components/CvDropdown/CvDropdown.vue
|
|
9748
9785
|
|
|
9749
9786
|
|
|
9750
9787
|
|
|
9788
|
+
;
|
|
9789
|
+
|
|
9751
9790
|
const __exports__ = CvDropdownvue_type_script_setup_true_lang_js;
|
|
9752
9791
|
|
|
9753
9792
|
/* harmony default export */ var CvDropdown = (__exports__);
|
|
@@ -13929,7 +13968,7 @@ var _hoisted_3 = ["id", "aria-labelledby"];
|
|
|
13929
13968
|
var tryOn = _step.value;
|
|
13930
13969
|
if (
|
|
13931
13970
|
// don't focus on before after or something that can't be tabbed to
|
|
13932
|
-
!(tryOn.classList.contains('cv-overflow-menu__before-content') || tryOn.classList.contains('cv-overflow-menu__after-content') || tryOn.tabindex < 0)) {
|
|
13971
|
+
!(tryOn.classList.contains('cv-overflow-menu__before-content') || tryOn.classList.contains('cv-overflow-menu__after-content') || tryOn.tabindex < 0 || tryOn.disabled)) {
|
|
13933
13972
|
focusOn = tryOn;
|
|
13934
13973
|
break;
|
|
13935
13974
|
}
|
|
@@ -17048,7 +17087,7 @@ const __exports__ = CvTabvue_type_script_setup_true_lang_js;
|
|
|
17048
17087
|
|
|
17049
17088
|
/***/ }),
|
|
17050
17089
|
|
|
17051
|
-
/***/
|
|
17090
|
+
/***/ 2225:
|
|
17052
17091
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
17053
17092
|
|
|
17054
17093
|
"use strict";
|
|
@@ -17062,6 +17101,40 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
17062
17101
|
|
|
17063
17102
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js + 2 modules
|
|
17064
17103
|
var defineProperty = __webpack_require__(139);
|
|
17104
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js
|
|
17105
|
+
var es_symbol = __webpack_require__(3534);
|
|
17106
|
+
;// ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
|
|
17107
|
+
function _objectWithoutPropertiesLoose(r, e) {
|
|
17108
|
+
if (null == r) return {};
|
|
17109
|
+
var t = {};
|
|
17110
|
+
for (var n in r) {
|
|
17111
|
+
if ({}.hasOwnProperty.call(r, n)) {
|
|
17112
|
+
if (-1 !== e.indexOf(n)) continue;
|
|
17113
|
+
t[n] = r[n];
|
|
17114
|
+
}
|
|
17115
|
+
}
|
|
17116
|
+
return t;
|
|
17117
|
+
}
|
|
17118
|
+
|
|
17119
|
+
;// ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
|
|
17120
|
+
|
|
17121
|
+
|
|
17122
|
+
function _objectWithoutProperties(e, t) {
|
|
17123
|
+
if (null == e) return {};
|
|
17124
|
+
var o,
|
|
17125
|
+
r,
|
|
17126
|
+
i = _objectWithoutPropertiesLoose(e, t);
|
|
17127
|
+
if (Object.getOwnPropertySymbols) {
|
|
17128
|
+
var n = Object.getOwnPropertySymbols(e);
|
|
17129
|
+
for (r = 0; r < n.length; r++) {
|
|
17130
|
+
o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
|
|
17131
|
+
}
|
|
17132
|
+
}
|
|
17133
|
+
return i;
|
|
17134
|
+
}
|
|
17135
|
+
|
|
17136
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.assign.js
|
|
17137
|
+
var es_object_assign = __webpack_require__(9218);
|
|
17065
17138
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js
|
|
17066
17139
|
var es_array_iterator = __webpack_require__(8665);
|
|
17067
17140
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js
|
|
@@ -17117,6 +17190,9 @@ var _16 = __webpack_require__(238);
|
|
|
17117
17190
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/CvTabs/CvTabs.vue?vue&type=script&setup=true&lang=js
|
|
17118
17191
|
|
|
17119
17192
|
|
|
17193
|
+
var _excluded = ["aria-label"];
|
|
17194
|
+
|
|
17195
|
+
|
|
17120
17196
|
|
|
17121
17197
|
|
|
17122
17198
|
|
|
@@ -17131,16 +17207,20 @@ var _hoisted_1 = {
|
|
|
17131
17207
|
"width": "100%"
|
|
17132
17208
|
}
|
|
17133
17209
|
};
|
|
17134
|
-
var _hoisted_2 = ["onKeydown"];
|
|
17135
|
-
var _hoisted_3 = ["
|
|
17136
|
-
var _hoisted_4 =
|
|
17210
|
+
var _hoisted_2 = ["aria-label", "onKeydown"];
|
|
17211
|
+
var _hoisted_3 = ["aria-label", "tabIndex"];
|
|
17212
|
+
var _hoisted_4 = ["id", "aria-controls", "aria-disabled", "aria-selected", "tabindex", "onClick"];
|
|
17213
|
+
var _hoisted_5 = ["aria-label", "tabIndex"];
|
|
17214
|
+
var _hoisted_6 = {
|
|
17137
17215
|
class: "cv-tabs__panels"
|
|
17138
17216
|
};
|
|
17139
17217
|
|
|
17140
17218
|
|
|
17141
17219
|
|
|
17142
17220
|
var OVERFLOW_BUTTON_OFFSET = 40;
|
|
17143
|
-
/* harmony default export */ var CvTabsvue_type_script_setup_true_lang_js = ({
|
|
17221
|
+
/* harmony default export */ var CvTabsvue_type_script_setup_true_lang_js = (/*@__PURE__*/Object.assign({
|
|
17222
|
+
inheritAttrs: false
|
|
17223
|
+
}, {
|
|
17144
17224
|
__name: 'CvTabs',
|
|
17145
17225
|
props: {
|
|
17146
17226
|
/**
|
|
@@ -17184,6 +17264,12 @@ var OVERFLOW_BUTTON_OFFSET = 40;
|
|
|
17184
17264
|
var __emit = _ref.emit;
|
|
17185
17265
|
var props = __props;
|
|
17186
17266
|
var emit = __emit;
|
|
17267
|
+
var attrs = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.useAttrs)();
|
|
17268
|
+
var attrsWithoutAriaLabel = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(function () {
|
|
17269
|
+
var _ = attrs['aria-label'],
|
|
17270
|
+
rest = _objectWithoutProperties(attrs, _excluded);
|
|
17271
|
+
return rest;
|
|
17272
|
+
});
|
|
17187
17273
|
var selectedId = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)('');
|
|
17188
17274
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('tab-selected', selectedId);
|
|
17189
17275
|
/**
|
|
@@ -17439,16 +17525,16 @@ var OVERFLOW_BUTTON_OFFSET = 40;
|
|
|
17439
17525
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", _hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
|
|
17440
17526
|
"data-tabs": "",
|
|
17441
17527
|
class: ["cv-tab ".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--tabs--scrollable"), (_ref4 = {}, (0,defineProperty/* default */.A)(_ref4, "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--tabs--container"), __props.container), (0,defineProperty/* default */.A)(_ref4, "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--tabs--scrollable--container"), __props.container), _ref4)],
|
|
17442
|
-
role: "navigation"
|
|
17443
|
-
|
|
17528
|
+
role: "navigation",
|
|
17529
|
+
"aria-label": (0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(attrs)['aria-label'] || 'Tabs'
|
|
17530
|
+
}, attrsWithoutAriaLabel.value, {
|
|
17444
17531
|
onKeydown: [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(onRight, ["prevent", "stop"]), ["right"]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(onLeft, ["prevent", "stop"]), ["left"])]
|
|
17445
17532
|
}), [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("button", {
|
|
17446
17533
|
ref_key: "elLeftOverflow",
|
|
17447
17534
|
ref: elLeftOverflow,
|
|
17448
|
-
"aria-
|
|
17449
|
-
"aria-label": "scroll left",
|
|
17535
|
+
"aria-label": leftOverflowNavButtonHidden.value ? undefined : 'Scroll tabs left',
|
|
17450
17536
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)([(_ref5 = {}, (0,defineProperty/* default */.A)(_ref5, "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--tab--overflow-nav-button"), horizontalOverflow.value), (0,defineProperty/* default */.A)(_ref5, "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--tab--overflow-nav-button--hidden"), leftOverflowNavButtonHidden.value), _ref5)]),
|
|
17451
|
-
tabIndex:
|
|
17537
|
+
tabIndex: leftOverflowNavButtonHidden.value ? -1 : 0,
|
|
17452
17538
|
type: "button",
|
|
17453
17539
|
onClick: _cache[0] || (_cache[0] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(function (e) {
|
|
17454
17540
|
return onOverflowClick(e, {
|
|
@@ -17461,7 +17547,7 @@ var OVERFLOW_BUTTON_OFFSET = 40;
|
|
|
17461
17547
|
});
|
|
17462
17548
|
}, ["stop", "prevent"])),
|
|
17463
17549
|
onMouseup: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(onOverflowMouseUp, ["stop", "prevent"])
|
|
17464
|
-
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(ChevronLeft16))],
|
|
17550
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(ChevronLeft16))], 42, _hoisted_3), !leftOverflowNavButtonHidden.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
|
|
17465
17551
|
key: 0,
|
|
17466
17552
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)("".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--tabs__overflow-indicator--left"))
|
|
17467
17553
|
}, null, 2)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("ul", {
|
|
@@ -17494,17 +17580,16 @@ var OVERFLOW_BUTTON_OFFSET = 40;
|
|
|
17494
17580
|
ref_for: true
|
|
17495
17581
|
}, tab), function () {
|
|
17496
17582
|
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(tab.label), 1)];
|
|
17497
|
-
})], 10,
|
|
17583
|
+
})], 10, _hoisted_4)], 2);
|
|
17498
17584
|
}), 128))], 2), !rightOverflowNavButtonHidden.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
|
|
17499
17585
|
key: 1,
|
|
17500
17586
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)("".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--tabs__overflow-indicator--right"))
|
|
17501
17587
|
}, null, 2)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("button", {
|
|
17502
17588
|
ref_key: "elRightOverflow",
|
|
17503
17589
|
ref: elRightOverflow,
|
|
17504
|
-
"aria-
|
|
17505
|
-
"aria-label": "scroll right",
|
|
17590
|
+
"aria-label": rightOverflowNavButtonHidden.value ? undefined : 'Scroll tabs right',
|
|
17506
17591
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)([(_ref7 = {}, (0,defineProperty/* default */.A)(_ref7, "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--tab--overflow-nav-button"), horizontalOverflow.value), (0,defineProperty/* default */.A)(_ref7, "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--tab--overflow-nav-button--hidden"), rightOverflowNavButtonHidden.value), _ref7)]),
|
|
17507
|
-
tabIndex:
|
|
17592
|
+
tabIndex: rightOverflowNavButtonHidden.value ? -1 : 0,
|
|
17508
17593
|
type: "button",
|
|
17509
17594
|
onClick: _cache[2] || (_cache[2] = function (e) {
|
|
17510
17595
|
return onOverflowClick(e, {
|
|
@@ -17517,10 +17602,10 @@ var OVERFLOW_BUTTON_OFFSET = 40;
|
|
|
17517
17602
|
});
|
|
17518
17603
|
}),
|
|
17519
17604
|
onMouseup: onOverflowMouseUp
|
|
17520
|
-
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(_16/* default */.A))],
|
|
17605
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(_16/* default */.A))], 42, _hoisted_5)], 16, _hoisted_2), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", _hoisted_6, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "default")])]);
|
|
17521
17606
|
};
|
|
17522
17607
|
}
|
|
17523
|
-
});
|
|
17608
|
+
}));
|
|
17524
17609
|
;// ./src/components/CvTabs/CvTabs.vue?vue&type=script&setup=true&lang=js
|
|
17525
17610
|
|
|
17526
17611
|
;// ./src/components/CvTabs/CvTabs.vue
|
|
@@ -19963,18 +20048,24 @@ var settings = __webpack_require__(8470);
|
|
|
19963
20048
|
tagType: {
|
|
19964
20049
|
type: String,
|
|
19965
20050
|
default: 'main'
|
|
20051
|
+
},
|
|
20052
|
+
id: {
|
|
20053
|
+
type: String,
|
|
20054
|
+
default: 'main-content'
|
|
19966
20055
|
}
|
|
19967
20056
|
},
|
|
19968
20057
|
setup: function setup(__props) {
|
|
19969
20058
|
return function (_ctx, _cache) {
|
|
19970
20059
|
return (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.tagType), {
|
|
19971
|
-
|
|
20060
|
+
id: __props.id,
|
|
20061
|
+
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)("".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--content")),
|
|
20062
|
+
tabindex: "-1"
|
|
19972
20063
|
}, {
|
|
19973
20064
|
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(function () {
|
|
19974
20065
|
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "default")];
|
|
19975
20066
|
}),
|
|
19976
20067
|
_: 3
|
|
19977
|
-
}, 8, ["class"]);
|
|
20068
|
+
}, 8, ["id", "class"]);
|
|
19978
20069
|
};
|
|
19979
20070
|
}
|
|
19980
20071
|
});
|
|
@@ -20478,6 +20569,7 @@ var _hoisted_2 = ["aria-label", "aria-labelledby"];
|
|
|
20478
20569
|
ref_key: "el",
|
|
20479
20570
|
ref: el,
|
|
20480
20571
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)("cv-header-menu ".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--header__submenu")),
|
|
20572
|
+
role: "menuitem",
|
|
20481
20573
|
onMouseenter: _cache[1] || (_cache[1] = function ($event) {
|
|
20482
20574
|
return doHoverToggle(true);
|
|
20483
20575
|
}),
|
|
@@ -20489,9 +20581,9 @@ var _hoisted_2 = ["aria-label", "aria-labelledby"];
|
|
|
20489
20581
|
"aria-expanded": data.expanded ? 'true' : 'false',
|
|
20490
20582
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)("".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--header__menu-item ").concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--header__menu-title")),
|
|
20491
20583
|
href: "javascript:void(0)",
|
|
20492
|
-
role: "menuitem",
|
|
20493
20584
|
tabindex: "0",
|
|
20494
20585
|
"aria-label": _ctx.$attrs.ariaLabel,
|
|
20586
|
+
role: "button",
|
|
20495
20587
|
onClick: doToggle,
|
|
20496
20588
|
onKeydown: [_cache[0] || (_cache[0] = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(function () {}, ["prevent"]), ["space"])), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(doToggle, ["prevent"]), ["enter"])],
|
|
20497
20589
|
onKeyup: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withKeys)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(doToggle, ["prevent"]), ["space"]),
|
|
@@ -20714,7 +20806,10 @@ var cvLink = __webpack_require__(7174);
|
|
|
20714
20806
|
|
|
20715
20807
|
|
|
20716
20808
|
|
|
20717
|
-
var _hoisted_1 =
|
|
20809
|
+
var _hoisted_1 = {
|
|
20810
|
+
class: "cv-header-menu-item",
|
|
20811
|
+
role: "none"
|
|
20812
|
+
};
|
|
20718
20813
|
|
|
20719
20814
|
|
|
20720
20815
|
|
|
@@ -20728,7 +20823,7 @@ var _hoisted_1 = ["role"];
|
|
|
20728
20823
|
},
|
|
20729
20824
|
role: {
|
|
20730
20825
|
type: String,
|
|
20731
|
-
default:
|
|
20826
|
+
default: 'menuitem'
|
|
20732
20827
|
}
|
|
20733
20828
|
}, cvLink/* props */.xk),
|
|
20734
20829
|
setup: function setup(__props) {
|
|
@@ -20738,14 +20833,15 @@ var _hoisted_1 = ["role"];
|
|
|
20738
20833
|
var activePage = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(function () {
|
|
20739
20834
|
return props.active && props.ariaCurrent !== 'page';
|
|
20740
20835
|
});
|
|
20836
|
+
var tabindex = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(function () {
|
|
20837
|
+
return props.role === 'menuitem' ? '0' : undefined;
|
|
20838
|
+
});
|
|
20741
20839
|
return function (_ctx, _cache) {
|
|
20742
|
-
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("li", {
|
|
20743
|
-
class: "cv-header-menu-item",
|
|
20744
|
-
role: __props.role
|
|
20745
|
-
}, [((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)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(tagType)), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)((0,objectSpread2/* default */.A)((0,objectSpread2/* default */.A)({}, _ctx.$attrs), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(linkProps)), {
|
|
20840
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("li", _hoisted_1, [((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)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(tagType)), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)((0,objectSpread2/* default */.A)((0,objectSpread2/* default */.A)({}, _ctx.$attrs), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(linkProps)), {
|
|
20746
20841
|
class: ["".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--header__menu-item"), (0,defineProperty/* default */.A)({}, "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--header__menu-item--current"), activePage.value)],
|
|
20747
|
-
|
|
20748
|
-
|
|
20842
|
+
"aria-current": __props.ariaCurrent,
|
|
20843
|
+
role: __props.role,
|
|
20844
|
+
tabindex: tabindex.value
|
|
20749
20845
|
}), {
|
|
20750
20846
|
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(function () {
|
|
20751
20847
|
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("span", {
|
|
@@ -20753,7 +20849,7 @@ var _hoisted_1 = ["role"];
|
|
|
20753
20849
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "default")], 2)];
|
|
20754
20850
|
}),
|
|
20755
20851
|
_: 3
|
|
20756
|
-
}, 16, ["class", "aria-current"
|
|
20852
|
+
}, 16, ["class", "aria-current", "role", "tabindex"]))]);
|
|
20757
20853
|
};
|
|
20758
20854
|
}
|
|
20759
20855
|
});
|
|
@@ -20845,17 +20941,27 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
20845
20941
|
"default": function() { return /* binding */ CvHeaderNav; }
|
|
20846
20942
|
});
|
|
20847
20943
|
|
|
20944
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.assign.js
|
|
20945
|
+
var es_object_assign = __webpack_require__(9218);
|
|
20848
20946
|
// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
|
|
20849
20947
|
var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__(4100);
|
|
20850
20948
|
// EXTERNAL MODULE: ./src/global/settings.js
|
|
20851
20949
|
var settings = __webpack_require__(8470);
|
|
20852
20950
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/CvUIShell/CvHeaderNav.vue?vue&type=script&setup=true&lang=js
|
|
20853
20951
|
|
|
20854
|
-
var _hoisted_1 = ["ariaLabeldBy"];
|
|
20855
20952
|
|
|
20856
|
-
|
|
20953
|
+
var _hoisted_1 = ["aria-label", "aria-labelledby"];
|
|
20954
|
+
|
|
20955
|
+
var __default__ = {
|
|
20956
|
+
inheritAttrs: false
|
|
20957
|
+
};
|
|
20958
|
+
/* harmony default export */ var CvHeaderNavvue_type_script_setup_true_lang_js = (/*@__PURE__*/Object.assign(__default__, {
|
|
20857
20959
|
__name: 'CvHeaderNav',
|
|
20858
20960
|
props: {
|
|
20961
|
+
ariaLabel: {
|
|
20962
|
+
type: String,
|
|
20963
|
+
default: undefined
|
|
20964
|
+
},
|
|
20859
20965
|
ariaLabelledBy: {
|
|
20860
20966
|
type: String,
|
|
20861
20967
|
default: undefined
|
|
@@ -20868,11 +20974,13 @@ var _hoisted_1 = ["ariaLabeldBy"];
|
|
|
20868
20974
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("ul", {
|
|
20869
20975
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)("".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--header__menu-bar")),
|
|
20870
20976
|
role: "menubar",
|
|
20871
|
-
|
|
20977
|
+
"aria-orientation": "horizontal",
|
|
20978
|
+
"aria-label": __props.ariaLabel || _ctx.$attrs['aria-label'],
|
|
20979
|
+
"aria-labelledby": __props.ariaLabelledBy || _ctx.$attrs['aria-labelledby']
|
|
20872
20980
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1)], 2);
|
|
20873
20981
|
};
|
|
20874
20982
|
}
|
|
20875
|
-
});
|
|
20983
|
+
}));
|
|
20876
20984
|
;// ./src/components/CvUIShell/CvHeaderNav.vue?vue&type=script&setup=true&lang=js
|
|
20877
20985
|
|
|
20878
20986
|
;// ./src/components/CvUIShell/CvHeaderNav.vue
|
|
@@ -20899,6 +21007,10 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
20899
21007
|
|
|
20900
21008
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js + 2 modules
|
|
20901
21009
|
var defineProperty = __webpack_require__(139);
|
|
21010
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js
|
|
21011
|
+
var es_object_to_string = __webpack_require__(5086);
|
|
21012
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js
|
|
21013
|
+
var web_dom_collections_for_each = __webpack_require__(8379);
|
|
20902
21014
|
// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
|
|
20903
21015
|
var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__(4100);
|
|
20904
21016
|
// EXTERNAL MODULE: ./src/global/settings.js
|
|
@@ -20908,7 +21020,9 @@ var event_bus = __webpack_require__(9535);
|
|
|
20908
21020
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/CvUIShell/CvHeaderPanel.vue?vue&type=script&setup=true&lang=js
|
|
20909
21021
|
|
|
20910
21022
|
|
|
20911
|
-
|
|
21023
|
+
|
|
21024
|
+
|
|
21025
|
+
var _hoisted_1 = ["id", "aria-hidden", "inert"];
|
|
20912
21026
|
|
|
20913
21027
|
|
|
20914
21028
|
|
|
@@ -20990,6 +21104,29 @@ var _hoisted_1 = ["id", "aria-hidden"];
|
|
|
20990
21104
|
}, function () {
|
|
20991
21105
|
panelExpanded.value = props.expanded;
|
|
20992
21106
|
});
|
|
21107
|
+
function manageFocusableElements(isExpanded) {
|
|
21108
|
+
if (!el.value) return;
|
|
21109
|
+
var focusableElements = el.value.querySelectorAll('a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])');
|
|
21110
|
+
focusableElements.forEach(function (element) {
|
|
21111
|
+
if (isExpanded) {
|
|
21112
|
+
// Restore original tabindex when expanded
|
|
21113
|
+
var originalTabindex = element.getAttribute('data-original-tabindex');
|
|
21114
|
+
if (originalTabindex !== null) {
|
|
21115
|
+
if (originalTabindex === 'null') {
|
|
21116
|
+
element.removeAttribute('tabindex');
|
|
21117
|
+
} else {
|
|
21118
|
+
element.setAttribute('tabindex', originalTabindex);
|
|
21119
|
+
}
|
|
21120
|
+
element.removeAttribute('data-original-tabindex');
|
|
21121
|
+
}
|
|
21122
|
+
} else {
|
|
21123
|
+
// Store original tabindex and set to -1 when collapsed
|
|
21124
|
+
var currentTabindex = element.getAttribute('tabindex');
|
|
21125
|
+
element.setAttribute('data-original-tabindex', currentTabindex || 'null');
|
|
21126
|
+
element.setAttribute('tabindex', '-1');
|
|
21127
|
+
}
|
|
21128
|
+
});
|
|
21129
|
+
}
|
|
20993
21130
|
var emit = __emit;
|
|
20994
21131
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(panelExpanded, function (current) {
|
|
20995
21132
|
emit('update:expanded', current);
|
|
@@ -20997,6 +21134,18 @@ var _hoisted_1 = ["id", "aria-hidden"];
|
|
|
20997
21134
|
id: props.id,
|
|
20998
21135
|
expanded: current
|
|
20999
21136
|
});
|
|
21137
|
+
|
|
21138
|
+
// Manage focusable elements
|
|
21139
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(function () {
|
|
21140
|
+
manageFocusableElements(current);
|
|
21141
|
+
});
|
|
21142
|
+
});
|
|
21143
|
+
|
|
21144
|
+
// Initial setup of focusable elements
|
|
21145
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(function () {
|
|
21146
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(function () {
|
|
21147
|
+
manageFocusableElements(panelExpanded.value);
|
|
21148
|
+
});
|
|
21000
21149
|
});
|
|
21001
21150
|
return function (_ctx, _cache) {
|
|
21002
21151
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
|
|
@@ -21005,6 +21154,7 @@ var _hoisted_1 = ["id", "aria-hidden"];
|
|
|
21005
21154
|
ref: el,
|
|
21006
21155
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(["cv-header-panel", "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--header-panel"), (0,defineProperty/* default */.A)({}, "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--header-panel--expanded"), panelExpanded.value)]),
|
|
21007
21156
|
"aria-hidden": !panelExpanded.value ? 'true' : 'false',
|
|
21157
|
+
inert: !panelExpanded.value,
|
|
21008
21158
|
onFocusout: onFocusout,
|
|
21009
21159
|
onMousedown: onMouseDown
|
|
21010
21160
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "default")], 42, _hoisted_1);
|
|
@@ -21037,6 +21187,10 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
21037
21187
|
|
|
21038
21188
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js + 2 modules
|
|
21039
21189
|
var defineProperty = __webpack_require__(139);
|
|
21190
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js
|
|
21191
|
+
var es_object_to_string = __webpack_require__(5086);
|
|
21192
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js
|
|
21193
|
+
var web_dom_collections_for_each = __webpack_require__(8379);
|
|
21040
21194
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.fixed.js
|
|
21041
21195
|
var es_string_fixed = __webpack_require__(9607);
|
|
21042
21196
|
// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
|
|
@@ -21135,7 +21289,9 @@ var event_bus = __webpack_require__(9535);
|
|
|
21135
21289
|
|
|
21136
21290
|
|
|
21137
21291
|
|
|
21138
|
-
|
|
21292
|
+
|
|
21293
|
+
|
|
21294
|
+
var CvSideNavvue_type_script_setup_true_lang_js_hoisted_1 = ["id", "aria-hidden", "inert"];
|
|
21139
21295
|
|
|
21140
21296
|
|
|
21141
21297
|
|
|
@@ -21213,6 +21369,30 @@ var CvSideNavvue_type_script_setup_true_lang_js_hoisted_1 = ["id", "aria-hidden"
|
|
|
21213
21369
|
}, function () {
|
|
21214
21370
|
panelExpanded.value = props.expanded;
|
|
21215
21371
|
});
|
|
21372
|
+
// Manage focusable elements when panel visibility changes
|
|
21373
|
+
function manageFocusableElements(isExpanded, isFixed) {
|
|
21374
|
+
if (!el.value || isFixed) return;
|
|
21375
|
+
var focusableElements = el.value.querySelectorAll('a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])');
|
|
21376
|
+
focusableElements.forEach(function (element) {
|
|
21377
|
+
if (isExpanded) {
|
|
21378
|
+
// Restore original tabindex when expanded
|
|
21379
|
+
var originalTabindex = element.getAttribute('data-original-tabindex');
|
|
21380
|
+
if (originalTabindex !== null) {
|
|
21381
|
+
if (originalTabindex === 'null') {
|
|
21382
|
+
element.removeAttribute('tabindex');
|
|
21383
|
+
} else {
|
|
21384
|
+
element.setAttribute('tabindex', originalTabindex);
|
|
21385
|
+
}
|
|
21386
|
+
element.removeAttribute('data-original-tabindex');
|
|
21387
|
+
}
|
|
21388
|
+
} else {
|
|
21389
|
+
// Store original tabindex and set to -1 when collapsed
|
|
21390
|
+
var currentTabindex = element.getAttribute('tabindex');
|
|
21391
|
+
element.setAttribute('data-original-tabindex', currentTabindex || 'null');
|
|
21392
|
+
element.setAttribute('tabindex', '-1');
|
|
21393
|
+
}
|
|
21394
|
+
});
|
|
21395
|
+
}
|
|
21216
21396
|
var emit = __emit;
|
|
21217
21397
|
var isPanelExpanded = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(function () {
|
|
21218
21398
|
return panelExpanded.value || expandedViaHoverState.value;
|
|
@@ -21223,6 +21403,11 @@ var CvSideNavvue_type_script_setup_true_lang_js_hoisted_1 = ["id", "aria-hidden"
|
|
|
21223
21403
|
id: props.id,
|
|
21224
21404
|
expanded: current
|
|
21225
21405
|
});
|
|
21406
|
+
|
|
21407
|
+
// Manage focusable elements for non-fixed nav
|
|
21408
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(function () {
|
|
21409
|
+
manageFocusableElements(current, props.fixed);
|
|
21410
|
+
});
|
|
21226
21411
|
});
|
|
21227
21412
|
var isChildOfHeader = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(function () {
|
|
21228
21413
|
return !!bus.value;
|
|
@@ -21255,6 +21440,7 @@ var CvSideNavvue_type_script_setup_true_lang_js_hoisted_1 = ["id", "aria-hidden"
|
|
|
21255
21440
|
ref: el,
|
|
21256
21441
|
class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(["cv-side-nav", "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--side-nav"), "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--side-nav__navigation"), (_ref2 = {}, (0,defineProperty/* default */.A)(_ref2, "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--side-nav--expanded"), panelExpanded.value), (0,defineProperty/* default */.A)(_ref2, "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--side-nav--rail"), __props.rail), (0,defineProperty/* default */.A)(_ref2, "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--side-nav--collapsed"), !panelExpanded.value && __props.fixed), (0,defineProperty/* default */.A)(_ref2, "".concat((0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(settings/* carbonPrefix */.s), "--side-nav--ux"), isChildOfHeader.value), _ref2)]),
|
|
21257
21442
|
"aria-hidden": !panelExpanded.value && !__props.fixed ? 'true' : 'false',
|
|
21443
|
+
inert: !panelExpanded.value && !__props.fixed,
|
|
21258
21444
|
onFocusout: onFocusout,
|
|
21259
21445
|
onMousedown: onMouseDown,
|
|
21260
21446
|
onMouseenter: _cache[0] || (_cache[0] = function ($event) {
|
|
@@ -42236,7 +42422,7 @@ var map = {
|
|
|
42236
42422
|
"./CvDataTable/CvDataTableSkeleton.vue": 9587,
|
|
42237
42423
|
"./CvDatePicker/CvDatePicker.vue": 8192,
|
|
42238
42424
|
"./CvDatePicker/CvDatePickerSkeleton.vue": 8607,
|
|
42239
|
-
"./CvDropdown/CvDropdown.vue":
|
|
42425
|
+
"./CvDropdown/CvDropdown.vue": 4073,
|
|
42240
42426
|
"./CvDropdown/CvDropdownItem.vue": 4895,
|
|
42241
42427
|
"./CvDropdown/CvDropdownSkeleton.vue": 3786,
|
|
42242
42428
|
"./CvFileUploader/CvFileUploader.vue": 6565,
|
|
@@ -42281,7 +42467,7 @@ var map = {
|
|
|
42281
42467
|
"./CvStructuredList/CvStructuredListItemSelectable.vue": 8771,
|
|
42282
42468
|
"./CvStructuredList/CvStructuredListItemStandard.vue": 4916,
|
|
42283
42469
|
"./CvTabs/CvTab.vue": 9638,
|
|
42284
|
-
"./CvTabs/CvTabs.vue":
|
|
42470
|
+
"./CvTabs/CvTabs.vue": 2225,
|
|
42285
42471
|
"./CvTabs/CvTabsSkeleton.vue": 5655,
|
|
42286
42472
|
"./CvTag/CvTag.vue": 9800,
|
|
42287
42473
|
"./CvTag/CvTagSkeleton.vue": 468,
|
|
@@ -43228,8 +43414,8 @@ var CvDataTableSkeleton = __webpack_require__(9587);
|
|
|
43228
43414
|
var CvDatePicker = __webpack_require__(8192);
|
|
43229
43415
|
// EXTERNAL MODULE: ./src/components/CvDatePicker/CvDatePickerSkeleton.vue + 4 modules
|
|
43230
43416
|
var CvDatePickerSkeleton = __webpack_require__(8607);
|
|
43231
|
-
// EXTERNAL MODULE: ./src/components/CvDropdown/CvDropdown.vue +
|
|
43232
|
-
var CvDropdown = __webpack_require__(
|
|
43417
|
+
// EXTERNAL MODULE: ./src/components/CvDropdown/CvDropdown.vue + 4 modules
|
|
43418
|
+
var CvDropdown = __webpack_require__(4073);
|
|
43233
43419
|
// EXTERNAL MODULE: ./src/components/CvDropdown/CvDropdownItem.vue + 2 modules
|
|
43234
43420
|
var CvDropdownItem = __webpack_require__(4895);
|
|
43235
43421
|
// EXTERNAL MODULE: ./src/components/CvDropdown/CvDropdownSkeleton.vue + 2 modules
|
|
@@ -43318,8 +43504,8 @@ var CvStructuredListItemSelectable = __webpack_require__(8771);
|
|
|
43318
43504
|
var CvStructuredListItemStandard = __webpack_require__(4916);
|
|
43319
43505
|
// EXTERNAL MODULE: ./src/components/CvTabs/CvTab.vue + 2 modules
|
|
43320
43506
|
var CvTab = __webpack_require__(9638);
|
|
43321
|
-
// EXTERNAL MODULE: ./src/components/CvTabs/CvTabs.vue +
|
|
43322
|
-
var CvTabs = __webpack_require__(
|
|
43507
|
+
// EXTERNAL MODULE: ./src/components/CvTabs/CvTabs.vue + 5 modules
|
|
43508
|
+
var CvTabs = __webpack_require__(2225);
|
|
43323
43509
|
// EXTERNAL MODULE: ./src/components/CvTabs/CvTabsSkeleton.vue + 2 modules
|
|
43324
43510
|
var CvTabsSkeleton = __webpack_require__(5655);
|
|
43325
43511
|
// EXTERNAL MODULE: ./src/components/CvTag/CvTag.vue + 4 modules
|