@aurodesignsystem-dev/auro-formkit 0.0.0-pr1309.1 → 0.0.0-pr1313.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/bibtemplate/dist/auro-bibtemplate.d.ts +0 -10
- package/components/bibtemplate/dist/buttonVersion.d.ts +1 -1
- package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
- package/components/bibtemplate/dist/index.js +13 -23
- package/components/bibtemplate/dist/registered.js +13 -23
- package/components/checkbox/demo/api.md +0 -7
- package/components/checkbox/demo/api.min.js +13 -16
- package/components/checkbox/demo/index.min.js +13 -16
- package/components/checkbox/dist/auro-checkbox-group.d.ts +3 -4
- package/components/checkbox/dist/auro-checkbox.d.ts +0 -2
- package/components/checkbox/dist/index.js +4 -7
- package/components/checkbox/dist/registered.js +4 -7
- package/components/combobox/demo/api.min.js +279 -449
- package/components/combobox/demo/index.html +5 -1
- package/components/combobox/demo/index.js +15 -0
- package/components/combobox/demo/index.min.js +280 -445
- package/components/combobox/dist/index.js +162 -331
- package/components/combobox/dist/registered.js +162 -331
- package/components/counter/demo/api.min.js +185 -356
- package/components/counter/demo/index.min.js +185 -356
- package/components/counter/dist/auro-counter-button.d.ts +2 -11
- package/components/counter/dist/index.js +145 -312
- package/components/counter/dist/registered.js +145 -312
- package/components/datepicker/demo/api.min.js +322 -491
- package/components/datepicker/demo/index.min.js +322 -491
- package/components/datepicker/dist/buttonVersion.d.ts +1 -1
- package/components/datepicker/dist/iconVersion.d.ts +1 -1
- package/components/datepicker/dist/index.js +180 -349
- package/components/datepicker/dist/registered.js +180 -349
- package/components/dropdown/README.md +2 -2
- package/components/dropdown/demo/api.js +15 -3
- package/components/dropdown/demo/api.md +48 -51
- package/components/dropdown/demo/api.min.js +203 -290
- package/components/dropdown/demo/index.js +7 -2
- package/components/dropdown/demo/index.md +6 -6
- package/components/dropdown/demo/index.min.js +164 -288
- package/components/dropdown/demo/readme.html +7 -1
- package/components/dropdown/demo/readme.md +2 -2
- package/components/dropdown/dist/iconVersion.d.ts +1 -1
- package/components/dropdown/dist/index.js +119 -274
- package/components/dropdown/dist/registered.js +119 -274
- package/components/form/demo/api.min.js +11 -13
- package/components/form/demo/index.min.js +11 -13
- package/components/form/dist/auro-form.d.ts +0 -8
- package/components/form/dist/index.js +6 -8
- package/components/form/dist/registered.js +6 -8
- package/components/input/demo/api.md +0 -2
- package/components/input/demo/api.min.js +79 -83
- package/components/input/demo/index.min.js +79 -83
- package/components/input/dist/auro-input.d.ts +0 -22
- package/components/input/dist/base-input.d.ts +18 -1
- package/components/input/dist/buttonVersion.d.ts +1 -1
- package/components/input/dist/iconVersion.d.ts +1 -1
- package/components/input/dist/index.js +34 -38
- package/components/input/dist/registered.js +34 -38
- package/components/menu/demo/api.md +3 -3
- package/components/menu/demo/api.min.js +17 -18
- package/components/menu/demo/index.min.js +17 -18
- package/components/menu/dist/auro-menuoption.d.ts +1 -2
- package/components/menu/dist/index.js +6 -7
- package/components/menu/dist/registered.js +6 -7
- package/components/radio/demo/api.min.js +10 -10
- package/components/radio/demo/index.min.js +10 -10
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/api.min.js +161 -327
- package/components/select/demo/index.min.js +161 -327
- package/components/select/dist/index.js +133 -298
- package/components/select/dist/registered.js +133 -298
- package/package.json +14 -38
- package/custom-elements.json +0 -18143
|
@@ -131,9 +131,8 @@ function getOppositeAxis(axis) {
|
|
|
131
131
|
function getAxisLength(axis) {
|
|
132
132
|
return axis === 'y' ? 'height' : 'width';
|
|
133
133
|
}
|
|
134
|
-
const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
|
|
135
134
|
function getSideAxis(placement) {
|
|
136
|
-
return
|
|
135
|
+
return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';
|
|
137
136
|
}
|
|
138
137
|
function getAlignmentAxis(placement) {
|
|
139
138
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -158,19 +157,19 @@ function getExpandedPlacements(placement) {
|
|
|
158
157
|
function getOppositeAlignmentPlacement(placement) {
|
|
159
158
|
return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
|
|
160
159
|
}
|
|
161
|
-
const lrPlacement = ['left', 'right'];
|
|
162
|
-
const rlPlacement = ['right', 'left'];
|
|
163
|
-
const tbPlacement = ['top', 'bottom'];
|
|
164
|
-
const btPlacement = ['bottom', 'top'];
|
|
165
160
|
function getSideList(side, isStart, rtl) {
|
|
161
|
+
const lr = ['left', 'right'];
|
|
162
|
+
const rl = ['right', 'left'];
|
|
163
|
+
const tb = ['top', 'bottom'];
|
|
164
|
+
const bt = ['bottom', 'top'];
|
|
166
165
|
switch (side) {
|
|
167
166
|
case 'top':
|
|
168
167
|
case 'bottom':
|
|
169
|
-
if (rtl) return isStart ?
|
|
170
|
-
return isStart ?
|
|
168
|
+
if (rtl) return isStart ? rl : lr;
|
|
169
|
+
return isStart ? lr : rl;
|
|
171
170
|
case 'left':
|
|
172
171
|
case 'right':
|
|
173
|
-
return isStart ?
|
|
172
|
+
return isStart ? tb : bt;
|
|
174
173
|
default:
|
|
175
174
|
return [];
|
|
176
175
|
}
|
|
@@ -611,22 +610,16 @@ const flip$1 = function (options) {
|
|
|
611
610
|
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
|
612
611
|
const nextPlacement = placements[nextIndex];
|
|
613
612
|
if (nextPlacement) {
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
},
|
|
625
|
-
reset: {
|
|
626
|
-
placement: nextPlacement
|
|
627
|
-
}
|
|
628
|
-
};
|
|
629
|
-
}
|
|
613
|
+
// Try next placement and re-run the lifecycle.
|
|
614
|
+
return {
|
|
615
|
+
data: {
|
|
616
|
+
index: nextIndex,
|
|
617
|
+
overflows: overflowsData
|
|
618
|
+
},
|
|
619
|
+
reset: {
|
|
620
|
+
placement: nextPlacement
|
|
621
|
+
}
|
|
622
|
+
};
|
|
630
623
|
}
|
|
631
624
|
|
|
632
625
|
// First, find the candidates that fit on the mainAxis side of overflow,
|
|
@@ -672,8 +665,6 @@ const flip$1 = function (options) {
|
|
|
672
665
|
};
|
|
673
666
|
};
|
|
674
667
|
|
|
675
|
-
const originSides = /*#__PURE__*/new Set(['left', 'top']);
|
|
676
|
-
|
|
677
668
|
// For type backwards-compatibility, the `OffsetOptions` type was also
|
|
678
669
|
// Derivable.
|
|
679
670
|
|
|
@@ -687,7 +678,7 @@ async function convertValueToCoords(state, options) {
|
|
|
687
678
|
const side = getSide(placement);
|
|
688
679
|
const alignment = getAlignment(placement);
|
|
689
680
|
const isVertical = getSideAxis(placement) === 'y';
|
|
690
|
-
const mainAxisMulti =
|
|
681
|
+
const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
|
|
691
682
|
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
|
692
683
|
const rawValue = evaluate(options, state);
|
|
693
684
|
|
|
@@ -880,7 +871,6 @@ function isShadowRoot(value) {
|
|
|
880
871
|
}
|
|
881
872
|
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
882
873
|
}
|
|
883
|
-
const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
|
|
884
874
|
function isOverflowElement(element) {
|
|
885
875
|
const {
|
|
886
876
|
overflow,
|
|
@@ -888,32 +878,27 @@ function isOverflowElement(element) {
|
|
|
888
878
|
overflowY,
|
|
889
879
|
display
|
|
890
880
|
} = getComputedStyle$1(element);
|
|
891
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !
|
|
881
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);
|
|
892
882
|
}
|
|
893
|
-
const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
|
|
894
883
|
function isTableElement(element) {
|
|
895
|
-
return
|
|
884
|
+
return ['table', 'td', 'th'].includes(getNodeName(element));
|
|
896
885
|
}
|
|
897
|
-
const topLayerSelectors = [':popover-open', ':modal'];
|
|
898
886
|
function isTopLayer(element) {
|
|
899
|
-
return
|
|
887
|
+
return [':popover-open', ':modal'].some(selector => {
|
|
900
888
|
try {
|
|
901
889
|
return element.matches(selector);
|
|
902
|
-
} catch (
|
|
890
|
+
} catch (e) {
|
|
903
891
|
return false;
|
|
904
892
|
}
|
|
905
893
|
});
|
|
906
894
|
}
|
|
907
|
-
const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
|
|
908
|
-
const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
|
|
909
|
-
const containValues = ['paint', 'layout', 'strict', 'content'];
|
|
910
895
|
function isContainingBlock(elementOrCss) {
|
|
911
896
|
const webkit = isWebKit();
|
|
912
897
|
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
913
898
|
|
|
914
899
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
915
900
|
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
|
916
|
-
return
|
|
901
|
+
return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));
|
|
917
902
|
}
|
|
918
903
|
function getContainingBlock(element) {
|
|
919
904
|
let currentNode = getParentNode(element);
|
|
@@ -931,9 +916,8 @@ function isWebKit() {
|
|
|
931
916
|
if (typeof CSS === 'undefined' || !CSS.supports) return false;
|
|
932
917
|
return CSS.supports('-webkit-backdrop-filter', 'none');
|
|
933
918
|
}
|
|
934
|
-
const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
|
|
935
919
|
function isLastTraversableNode(node) {
|
|
936
|
-
return
|
|
920
|
+
return ['html', 'body', '#document'].includes(getNodeName(node));
|
|
937
921
|
}
|
|
938
922
|
function getComputedStyle$1(element) {
|
|
939
923
|
return getWindow(element).getComputedStyle(element);
|
|
@@ -1133,9 +1117,14 @@ function getWindowScrollBarX(element, rect) {
|
|
|
1133
1117
|
return rect.left + leftScroll;
|
|
1134
1118
|
}
|
|
1135
1119
|
|
|
1136
|
-
function getHTMLOffset(documentElement, scroll) {
|
|
1120
|
+
function getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {
|
|
1121
|
+
if (ignoreScrollbarX === void 0) {
|
|
1122
|
+
ignoreScrollbarX = false;
|
|
1123
|
+
}
|
|
1137
1124
|
const htmlRect = documentElement.getBoundingClientRect();
|
|
1138
|
-
const x = htmlRect.left + scroll.scrollLeft -
|
|
1125
|
+
const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :
|
|
1126
|
+
// RTL <body> scrollbar.
|
|
1127
|
+
getWindowScrollBarX(documentElement, htmlRect));
|
|
1139
1128
|
const y = htmlRect.top + scroll.scrollTop;
|
|
1140
1129
|
return {
|
|
1141
1130
|
x,
|
|
@@ -1174,7 +1163,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
1174
1163
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
1175
1164
|
}
|
|
1176
1165
|
}
|
|
1177
|
-
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
1166
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);
|
|
1178
1167
|
return {
|
|
1179
1168
|
width: rect.width * scale.x,
|
|
1180
1169
|
height: rect.height * scale.y,
|
|
@@ -1208,10 +1197,6 @@ function getDocumentRect(element) {
|
|
|
1208
1197
|
};
|
|
1209
1198
|
}
|
|
1210
1199
|
|
|
1211
|
-
// Safety check: ensure the scrollbar space is reasonable in case this
|
|
1212
|
-
// calculation is affected by unusual styles.
|
|
1213
|
-
// Most scrollbars leave 15-18px of space.
|
|
1214
|
-
const SCROLLBAR_MAX = 25;
|
|
1215
1200
|
function getViewportRect(element, strategy) {
|
|
1216
1201
|
const win = getWindow(element);
|
|
1217
1202
|
const html = getDocumentElement(element);
|
|
@@ -1229,24 +1214,6 @@ function getViewportRect(element, strategy) {
|
|
|
1229
1214
|
y = visualViewport.offsetTop;
|
|
1230
1215
|
}
|
|
1231
1216
|
}
|
|
1232
|
-
const windowScrollbarX = getWindowScrollBarX(html);
|
|
1233
|
-
// <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
|
|
1234
|
-
// visual width of the <html> but this is not considered in the size
|
|
1235
|
-
// of `html.clientWidth`.
|
|
1236
|
-
if (windowScrollbarX <= 0) {
|
|
1237
|
-
const doc = html.ownerDocument;
|
|
1238
|
-
const body = doc.body;
|
|
1239
|
-
const bodyStyles = getComputedStyle(body);
|
|
1240
|
-
const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
|
|
1241
|
-
const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
|
|
1242
|
-
if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
|
|
1243
|
-
width -= clippingStableScrollbarWidth;
|
|
1244
|
-
}
|
|
1245
|
-
} else if (windowScrollbarX <= SCROLLBAR_MAX) {
|
|
1246
|
-
// If the <body> scrollbar is on the left, the width needs to be extended
|
|
1247
|
-
// by the scrollbar amount so there isn't extra space on the right.
|
|
1248
|
-
width += windowScrollbarX;
|
|
1249
|
-
}
|
|
1250
1217
|
return {
|
|
1251
1218
|
width,
|
|
1252
1219
|
height,
|
|
@@ -1255,7 +1222,6 @@ function getViewportRect(element, strategy) {
|
|
|
1255
1222
|
};
|
|
1256
1223
|
}
|
|
1257
1224
|
|
|
1258
|
-
const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
|
|
1259
1225
|
// Returns the inner client rect, subtracting scrollbars if present.
|
|
1260
1226
|
function getInnerBoundingClientRect(element, strategy) {
|
|
1261
1227
|
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
@@ -1320,7 +1286,7 @@ function getClippingElementAncestors(element, cache) {
|
|
|
1320
1286
|
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
|
1321
1287
|
currentContainingBlockComputedStyle = null;
|
|
1322
1288
|
}
|
|
1323
|
-
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle &&
|
|
1289
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
1324
1290
|
if (shouldDropCurrentNode) {
|
|
1325
1291
|
// Drop non-containing blocks.
|
|
1326
1292
|
result = result.filter(ancestor => ancestor !== currentNode);
|
|
@@ -1383,12 +1349,6 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
1383
1349
|
scrollTop: 0
|
|
1384
1350
|
};
|
|
1385
1351
|
const offsets = createCoords(0);
|
|
1386
|
-
|
|
1387
|
-
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
|
1388
|
-
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
1389
|
-
function setLeftRTLScrollbarOffset() {
|
|
1390
|
-
offsets.x = getWindowScrollBarX(documentElement);
|
|
1391
|
-
}
|
|
1392
1352
|
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
|
1393
1353
|
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
1394
1354
|
scroll = getNodeScroll(offsetParent);
|
|
@@ -1398,12 +1358,11 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
1398
1358
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
1399
1359
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
1400
1360
|
} else if (documentElement) {
|
|
1401
|
-
|
|
1361
|
+
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
|
1362
|
+
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
1363
|
+
offsets.x = getWindowScrollBarX(documentElement);
|
|
1402
1364
|
}
|
|
1403
1365
|
}
|
|
1404
|
-
if (isFixed && !isOffsetParentAnElement && documentElement) {
|
|
1405
|
-
setLeftRTLScrollbarOffset();
|
|
1406
|
-
}
|
|
1407
1366
|
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
1408
1367
|
const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
|
|
1409
1368
|
const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
|
|
@@ -1580,7 +1539,7 @@ function observeMove(element, onMove) {
|
|
|
1580
1539
|
// Handle <iframe>s
|
|
1581
1540
|
root: root.ownerDocument
|
|
1582
1541
|
});
|
|
1583
|
-
} catch (
|
|
1542
|
+
} catch (e) {
|
|
1584
1543
|
io = new IntersectionObserver(handleObserve, options);
|
|
1585
1544
|
}
|
|
1586
1545
|
io.observe(element);
|
|
@@ -2371,32 +2330,32 @@ class AuroFloatingUI {
|
|
|
2371
2330
|
|
|
2372
2331
|
// Selectors for focusable elements
|
|
2373
2332
|
const FOCUSABLE_SELECTORS = [
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2333
|
+
'a[href]',
|
|
2334
|
+
'button:not([disabled])',
|
|
2335
|
+
'textarea:not([disabled])',
|
|
2336
|
+
'input:not([disabled])',
|
|
2337
|
+
'select:not([disabled])',
|
|
2379
2338
|
'[role="tab"]:not([disabled])',
|
|
2380
2339
|
'[role="link"]:not([disabled])',
|
|
2381
2340
|
'[role="button"]:not([disabled])',
|
|
2382
2341
|
'[tabindex]:not([tabindex="-1"])',
|
|
2383
|
-
'[contenteditable]:not([contenteditable="false"])'
|
|
2342
|
+
'[contenteditable]:not([contenteditable="false"])'
|
|
2384
2343
|
];
|
|
2385
2344
|
|
|
2386
2345
|
// List of custom components that are known to be focusable
|
|
2387
2346
|
const FOCUSABLE_COMPONENTS = [
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2347
|
+
'auro-checkbox',
|
|
2348
|
+
'auro-radio',
|
|
2349
|
+
'auro-dropdown',
|
|
2350
|
+
'auro-button',
|
|
2351
|
+
'auro-combobox',
|
|
2352
|
+
'auro-input',
|
|
2353
|
+
'auro-counter',
|
|
2354
|
+
'auro-menu',
|
|
2355
|
+
'auro-select',
|
|
2356
|
+
'auro-datepicker',
|
|
2357
|
+
'auro-hyperlink',
|
|
2358
|
+
'auro-accordion',
|
|
2400
2359
|
];
|
|
2401
2360
|
|
|
2402
2361
|
/**
|
|
@@ -2410,43 +2369,21 @@ function isFocusableComponent(element) {
|
|
|
2410
2369
|
const componentName = element.tagName.toLowerCase();
|
|
2411
2370
|
|
|
2412
2371
|
// Guard Clause: Element is a focusable component
|
|
2413
|
-
if (
|
|
2414
|
-
!FOCUSABLE_COMPONENTS.some(
|
|
2415
|
-
(name) => element.hasAttribute(name) || componentName === name,
|
|
2416
|
-
)
|
|
2417
|
-
)
|
|
2418
|
-
return false;
|
|
2372
|
+
if (!FOCUSABLE_COMPONENTS.some((name) => element.hasAttribute(name) || componentName === name)) return false;
|
|
2419
2373
|
|
|
2420
2374
|
// Guard Clause: Element is not disabled
|
|
2421
|
-
if (element.hasAttribute(
|
|
2375
|
+
if (element.hasAttribute('disabled')) return false;
|
|
2422
2376
|
|
|
2423
2377
|
// Guard Clause: The element is a hyperlink and has no href attribute
|
|
2424
|
-
if (componentName.match("hyperlink") && !element.hasAttribute(
|
|
2425
|
-
return false;
|
|
2378
|
+
if (componentName.match("hyperlink") && !element.hasAttribute('href')) return false;
|
|
2426
2379
|
|
|
2427
2380
|
// If all guard clauses pass, the element is a focusable component
|
|
2428
2381
|
return true;
|
|
2429
2382
|
}
|
|
2430
2383
|
|
|
2431
|
-
/**
|
|
2432
|
-
* Safely get a numeric tabindex for an element.
|
|
2433
|
-
* Returns a number if the tabindex is a valid integer, otherwise null.
|
|
2434
|
-
*
|
|
2435
|
-
* @param {HTMLElement} element The element whose tabindex to read.
|
|
2436
|
-
* @returns {?number} The numeric tabindex or null if missing/invalid.
|
|
2437
|
-
*/
|
|
2438
|
-
function getNumericTabIndex(element) {
|
|
2439
|
-
const raw = element.getAttribute("tabindex");
|
|
2440
|
-
if (raw == null) return null;
|
|
2441
|
-
|
|
2442
|
-
const value = Number.parseInt(raw, 10);
|
|
2443
|
-
return Number.isNaN(value) ? null : value;
|
|
2444
|
-
}
|
|
2445
|
-
|
|
2446
2384
|
/**
|
|
2447
2385
|
* Retrieves all focusable elements within the container in DOM order, including those in shadow DOM and slots.
|
|
2448
2386
|
* Returns a unique, ordered array of elements that can receive focus.
|
|
2449
|
-
* Also sorts elements with tabindex first, preserving their order.
|
|
2450
2387
|
*
|
|
2451
2388
|
* @param {HTMLElement} container The container to search within
|
|
2452
2389
|
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
@@ -2480,14 +2417,14 @@ function getFocusableElements(container) {
|
|
|
2480
2417
|
if (root.shadowRoot) {
|
|
2481
2418
|
// Process shadow DOM children in order
|
|
2482
2419
|
if (root.shadowRoot.children) {
|
|
2483
|
-
Array.from(root.shadowRoot.children).forEach(
|
|
2420
|
+
Array.from(root.shadowRoot.children).forEach(child => {
|
|
2484
2421
|
collectFocusableElements(child);
|
|
2485
2422
|
});
|
|
2486
2423
|
}
|
|
2487
2424
|
}
|
|
2488
2425
|
|
|
2489
2426
|
// Process slots and their assigned nodes in order
|
|
2490
|
-
if (root.tagName ===
|
|
2427
|
+
if (root.tagName === 'SLOT') {
|
|
2491
2428
|
const assignedNodes = root.assignedNodes({ flatten: true });
|
|
2492
2429
|
for (const node of assignedNodes) {
|
|
2493
2430
|
collectFocusableElements(node);
|
|
@@ -2495,7 +2432,7 @@ function getFocusableElements(container) {
|
|
|
2495
2432
|
} else {
|
|
2496
2433
|
// Process light DOM children in order
|
|
2497
2434
|
if (root.children) {
|
|
2498
|
-
Array.from(root.children).forEach(
|
|
2435
|
+
Array.from(root.children).forEach(child => {
|
|
2499
2436
|
collectFocusableElements(child);
|
|
2500
2437
|
});
|
|
2501
2438
|
}
|
|
@@ -2518,37 +2455,7 @@ function getFocusableElements(container) {
|
|
|
2518
2455
|
}
|
|
2519
2456
|
}
|
|
2520
2457
|
|
|
2521
|
-
|
|
2522
|
-
// This ensures that elements with tabindex are prioritized in the focus order
|
|
2523
|
-
|
|
2524
|
-
// First extract elements with valid positive tabindex
|
|
2525
|
-
const elementsWithTabindex = uniqueElements.filter((el) => {
|
|
2526
|
-
const tabindex = getNumericTabIndex(el);
|
|
2527
|
-
return tabindex !== null && tabindex > 0;
|
|
2528
|
-
});
|
|
2529
|
-
|
|
2530
|
-
// Sort these elements by their tabindex value
|
|
2531
|
-
elementsWithTabindex.sort((a, b) => {
|
|
2532
|
-
const aIndex = getNumericTabIndex(a) ?? 0;
|
|
2533
|
-
const bIndex = getNumericTabIndex(b) ?? 0;
|
|
2534
|
-
return aIndex - bIndex;
|
|
2535
|
-
});
|
|
2536
|
-
|
|
2537
|
-
// Elements without tabindex (preserving their original order)
|
|
2538
|
-
const elementsWithoutTabindex = uniqueElements.filter((el) => {
|
|
2539
|
-
const tabindex = getNumericTabIndex(el);
|
|
2540
|
-
|
|
2541
|
-
// Elements without tabindex or with tabindex of 0 stay in DOM order
|
|
2542
|
-
return tabindex === null || tabindex === 0;
|
|
2543
|
-
});
|
|
2544
|
-
|
|
2545
|
-
// Combine both arrays with tabindex elements first
|
|
2546
|
-
const tabIndexedUniqueElements = [
|
|
2547
|
-
...elementsWithTabindex,
|
|
2548
|
-
...elementsWithoutTabindex,
|
|
2549
|
-
];
|
|
2550
|
-
|
|
2551
|
-
return tabIndexedUniqueElements;
|
|
2458
|
+
return uniqueElements;
|
|
2552
2459
|
}
|
|
2553
2460
|
|
|
2554
2461
|
/**
|
|
@@ -2561,17 +2468,15 @@ class FocusTrap {
|
|
|
2561
2468
|
* Initializes event listeners and prepares the container for focus management.
|
|
2562
2469
|
*
|
|
2563
2470
|
* @param {HTMLElement} container The DOM element to trap focus within.
|
|
2564
|
-
* @param {boolean} [controlTabOrder=false] If true enables manual control of the tab order by the FocusTrap.
|
|
2565
2471
|
* @throws {Error} If the provided container is not a valid HTMLElement.
|
|
2566
2472
|
*/
|
|
2567
|
-
constructor(container
|
|
2473
|
+
constructor(container) {
|
|
2568
2474
|
if (!container || !(container instanceof HTMLElement)) {
|
|
2569
2475
|
throw new Error("FocusTrap requires a valid HTMLElement.");
|
|
2570
2476
|
}
|
|
2571
2477
|
|
|
2572
2478
|
this.container = container;
|
|
2573
|
-
this.tabDirection =
|
|
2574
|
-
this.controlTabOrder = controlTabOrder;
|
|
2479
|
+
this.tabDirection = 'forward'; // or 'backward'
|
|
2575
2480
|
|
|
2576
2481
|
this._init();
|
|
2577
2482
|
}
|
|
@@ -2583,119 +2488,58 @@ class FocusTrap {
|
|
|
2583
2488
|
* @private
|
|
2584
2489
|
*/
|
|
2585
2490
|
_init() {
|
|
2491
|
+
|
|
2586
2492
|
// Add inert attribute to prevent focusing programmatically as well (if supported)
|
|
2587
|
-
if (
|
|
2493
|
+
if ('inert' in HTMLElement.prototype) {
|
|
2588
2494
|
this.container.inert = false; // Ensure the container isn't inert
|
|
2589
|
-
this.container.setAttribute(
|
|
2495
|
+
this.container.setAttribute('data-focus-trap-container', true); // Mark for identification
|
|
2590
2496
|
}
|
|
2591
2497
|
|
|
2592
2498
|
// Track tab direction
|
|
2593
|
-
this.container.addEventListener(
|
|
2499
|
+
this.container.addEventListener('keydown', this._onKeydown);
|
|
2594
2500
|
}
|
|
2595
2501
|
|
|
2596
2502
|
/**
|
|
2597
|
-
*
|
|
2598
|
-
*
|
|
2599
|
-
*
|
|
2600
|
-
*/
|
|
2601
|
-
_getActiveElements() {
|
|
2602
|
-
// Get the active element(s) in the document and shadow root
|
|
2603
|
-
// This will include the active element in the shadow DOM if it exists
|
|
2604
|
-
// Active element may be inside the shadow DOM depending on delegatesFocus, so we need to check both
|
|
2605
|
-
let { activeElement } = document;
|
|
2606
|
-
const actives = [activeElement];
|
|
2607
|
-
while (activeElement?.shadowRoot?.activeElement) {
|
|
2608
|
-
actives.push(activeElement.shadowRoot.activeElement);
|
|
2609
|
-
activeElement = activeElement.shadowRoot.activeElement;
|
|
2610
|
-
}
|
|
2611
|
-
return actives;
|
|
2612
|
-
}
|
|
2613
|
-
|
|
2614
|
-
/**
|
|
2615
|
-
* Gets the next focus index based on the current index and focusable elements.
|
|
2616
|
-
* @param {number} currentIndex The current index of the focused element.
|
|
2617
|
-
* @param {Array<HTMLElement>} focusables The array of focusable elements.
|
|
2618
|
-
* @returns {number|null} The next focus index or null if not determined.
|
|
2619
|
-
*/
|
|
2620
|
-
_getNextFocusIndex(currentIndex, focusables, actives) {
|
|
2621
|
-
if (this.controlTabOrder) {
|
|
2622
|
-
// Calculate the new index based on the current index and tab direction
|
|
2623
|
-
let newFocusIndex =
|
|
2624
|
-
currentIndex + (this.tabDirection === "forward" ? 1 : -1);
|
|
2625
|
-
|
|
2626
|
-
// Wrap-around logic
|
|
2627
|
-
if (newFocusIndex < 0) newFocusIndex = focusables.length - 1;
|
|
2628
|
-
if (newFocusIndex >= focusables.length) newFocusIndex = 0;
|
|
2629
|
-
|
|
2630
|
-
// Early return with the new index
|
|
2631
|
-
return newFocusIndex;
|
|
2632
|
-
}
|
|
2633
|
-
|
|
2634
|
-
// Determine if we need to wrap
|
|
2635
|
-
const atFirst =
|
|
2636
|
-
actives.includes(focusables[0]) || actives.includes(this.container);
|
|
2637
|
-
const atLast = actives.includes(focusables[focusables.length - 1]);
|
|
2638
|
-
|
|
2639
|
-
// Only wrap if at the ends
|
|
2640
|
-
if (this.tabDirection === "backward" && atFirst) {
|
|
2641
|
-
return focusables.length - 1;
|
|
2642
|
-
}
|
|
2643
|
-
|
|
2644
|
-
if (this.tabDirection === "forward" && atLast) {
|
|
2645
|
-
return 0;
|
|
2646
|
-
}
|
|
2647
|
-
|
|
2648
|
-
// No wrap, so don't change focus, return early
|
|
2649
|
-
return null;
|
|
2650
|
-
}
|
|
2651
|
-
|
|
2652
|
-
/**
|
|
2653
|
-
* Handles the Tab key press event to manage focus within the container.
|
|
2654
|
-
* @param {KeyboardEvent} e The keyboard event triggered by the user.
|
|
2655
|
-
* @returns {void}
|
|
2656
|
-
*/
|
|
2657
|
-
_handleTabKey(e) {
|
|
2658
|
-
// Update the focusable elements
|
|
2659
|
-
const focusables = this._getFocusableElements();
|
|
2660
|
-
|
|
2661
|
-
// If there are no focusable elements, exit
|
|
2662
|
-
if (!focusables.length) return;
|
|
2663
|
-
|
|
2664
|
-
// Set the tab direction based on the key pressed
|
|
2665
|
-
this.tabDirection = e.shiftKey ? "backward" : "forward";
|
|
2666
|
-
|
|
2667
|
-
// Get the active elements that are currently focused
|
|
2668
|
-
const actives = this._getActiveElements();
|
|
2669
|
-
|
|
2670
|
-
// If we're at either end of the focusable elements, wrap around to the other end
|
|
2671
|
-
let focusIndex = focusables.findIndex((el) => actives.includes(el));
|
|
2672
|
-
|
|
2673
|
-
// Fallback if we have no focused element
|
|
2674
|
-
if (focusIndex === -1) focusIndex = 0;
|
|
2675
|
-
|
|
2676
|
-
// Get the next focus index based on the current focus index, tab direction, and controlTabOrder setting
|
|
2677
|
-
// Is null if no new focus index is determined
|
|
2678
|
-
const newFocusIndex = this._getNextFocusIndex(
|
|
2679
|
-
focusIndex,
|
|
2680
|
-
focusables,
|
|
2681
|
-
actives,
|
|
2682
|
-
);
|
|
2683
|
-
|
|
2684
|
-
// If we have a new focus index, set focus to that element
|
|
2685
|
-
if (newFocusIndex !== null) {
|
|
2686
|
-
e.preventDefault();
|
|
2687
|
-
focusables[newFocusIndex].focus();
|
|
2688
|
-
}
|
|
2689
|
-
}
|
|
2690
|
-
|
|
2691
|
-
/**
|
|
2692
|
-
* Catches the keydown event
|
|
2503
|
+
* Handles keydown events to manage tab navigation within the container.
|
|
2504
|
+
* Ensures that focus wraps around when reaching the first or last focusable element.
|
|
2505
|
+
*
|
|
2693
2506
|
* @param {KeyboardEvent} e The keyboard event triggered by user interaction.
|
|
2694
2507
|
* @private
|
|
2695
2508
|
*/
|
|
2696
2509
|
_onKeydown = (e) => {
|
|
2697
|
-
|
|
2698
|
-
if (e.key ===
|
|
2510
|
+
|
|
2511
|
+
if (e.key === 'Tab') {
|
|
2512
|
+
|
|
2513
|
+
// Set the tab direction based on the key pressed
|
|
2514
|
+
this.tabDirection = e.shiftKey ? 'backward' : 'forward';
|
|
2515
|
+
|
|
2516
|
+
// Get the active element(s) in the document and shadow root
|
|
2517
|
+
// This will include the active element in the shadow DOM if it exists
|
|
2518
|
+
// Active element may be inside the shadow DOM depending on delegatesFocus, so we need to check both
|
|
2519
|
+
let activeElement = document.activeElement;
|
|
2520
|
+
const actives = [activeElement];
|
|
2521
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
2522
|
+
actives.push(activeElement.shadowRoot.activeElement);
|
|
2523
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
2524
|
+
}
|
|
2525
|
+
|
|
2526
|
+
// Update the focusable elements
|
|
2527
|
+
const focusables = this._getFocusableElements();
|
|
2528
|
+
|
|
2529
|
+
// If we're at either end of the focusable elements, wrap around to the other end
|
|
2530
|
+
const focusIndex =
|
|
2531
|
+
(actives.includes(focusables[0]) || actives.includes(this.container)) && this.tabDirection === 'backward'
|
|
2532
|
+
? focusables.length - 1
|
|
2533
|
+
: actives.includes(focusables[focusables.length - 1]) && this.tabDirection === 'forward'
|
|
2534
|
+
? 0
|
|
2535
|
+
: null;
|
|
2536
|
+
|
|
2537
|
+
if (focusIndex !== null) {
|
|
2538
|
+
focusables[focusIndex].focus();
|
|
2539
|
+
e.preventDefault(); // Prevent default tab behavior
|
|
2540
|
+
e.stopPropagation(); // Stop the event from bubbling up
|
|
2541
|
+
}
|
|
2542
|
+
}
|
|
2699
2543
|
};
|
|
2700
2544
|
|
|
2701
2545
|
/**
|
|
@@ -2708,8 +2552,8 @@ class FocusTrap {
|
|
|
2708
2552
|
_getFocusableElements() {
|
|
2709
2553
|
// Use the imported utility function to get focusable elements
|
|
2710
2554
|
const elements = getFocusableElements(this.container);
|
|
2711
|
-
|
|
2712
|
-
//
|
|
2555
|
+
|
|
2556
|
+
// Filter out any elements with the 'focus-bookend' class
|
|
2713
2557
|
return elements;
|
|
2714
2558
|
}
|
|
2715
2559
|
|
|
@@ -2736,11 +2580,12 @@ class FocusTrap {
|
|
|
2736
2580
|
* Call this method to clean up when the focus trap is no longer needed.
|
|
2737
2581
|
*/
|
|
2738
2582
|
disconnect() {
|
|
2739
|
-
|
|
2740
|
-
|
|
2583
|
+
|
|
2584
|
+
if (this.container.hasAttribute('data-focus-trap-container')) {
|
|
2585
|
+
this.container.removeAttribute('data-focus-trap-container');
|
|
2741
2586
|
}
|
|
2742
2587
|
|
|
2743
|
-
this.container.removeEventListener(
|
|
2588
|
+
this.container.removeEventListener('keydown', this._onKeydown);
|
|
2744
2589
|
}
|
|
2745
2590
|
}
|
|
2746
2591
|
|
|
@@ -2784,11 +2629,11 @@ class AuroDependencyVersioning {
|
|
|
2784
2629
|
}
|
|
2785
2630
|
}
|
|
2786
2631
|
|
|
2787
|
-
class p{registerComponent(t,a){customElements.get(t)||customElements.define(t,class extends a{});}closestElement(t,a=this,e=(a,s=a&&a.closest(t))=>a&&a!==document&&a!==window?s||e(a.getRootNode().host):null){return e(a)}handleComponentTagRename(t,a){const e=a.toLowerCase();t.tagName.toLowerCase()!==e&&t.setAttribute(e,true);}elementMatch(t,a){const e=a.toLowerCase();return t.tagName.toLowerCase()===e||t.hasAttribute(e)}
|
|
2788
|
-
`;class z extends m{constructor(){super(),this.
|
|
2632
|
+
class p{registerComponent(t,a){customElements.get(t)||customElements.define(t,class extends a{});}closestElement(t,a=this,e=(a,s=a&&a.closest(t))=>a&&a!==document&&a!==window?s||e(a.getRootNode().host):null){return e(a)}handleComponentTagRename(t,a){const e=a.toLowerCase();t.tagName.toLowerCase()!==e&&t.setAttribute(e,true);}elementMatch(t,a){const e=a.toLowerCase();return t.tagName.toLowerCase()===e||t.hasAttribute(e)}}var u='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-labelledby="error__desc" class="ico_squareLarge" data-deprecated="true" role="img" style="min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor" viewBox="0 0 24 24" part="svg"><title/><desc id="error__desc">Error alert indicator.</desc><path d="m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583"/></svg>';class m extends LitElement{static get properties(){return {hidden:{type:Boolean,reflect:true},hiddenVisually:{type:Boolean,reflect:true},hiddenAudible:{type:Boolean,reflect:true}}}hideAudible(t){return t?"true":"false"}}const g=new Map,f=(t,a={})=>{const e=a.responseParser||(t=>t.text());return g.has(t)||g.set(t,fetch(t).then(e)),g.get(t)};var w=css`:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, .75rem))}:host{color:currentColor;vertical-align:middle;display:inline-block}svg{min-width:var(--ds-auro-icon-size, 1.5rem)!important;width:var(--ds-auro-icon-size, 1.5rem)!important;height:var(--ds-auro-icon-size, 1.5rem)!important}.componentWrapper{display:flex;line-height:var(--ds-auro-icon-size)}.svgWrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.svgWrapper [part=svg]{display:flex}.labelWrapper{margin-left:var(--ds-size-50, .25rem)}.labelWrapper ::slotted(*){line-height:inherit!important}
|
|
2633
|
+
`;class z extends m{constructor(){super(),this.onDark=false,this.appearance="default";}static get properties(){return {...m.properties,onDark:{type:Boolean,reflect:true},appearance:{type:String,reflect:true},svg:{attribute:false,reflect:true}}}static get styles(){return w}async fetchIcon(t,a){let e="";e="logos"===t?await f(`${this.uri}/${t}/${a}.svg`):await f(`${this.uri}/icons/${t}/${a}.svg`);return (new DOMParser).parseFromString(e,"text/html").body.querySelector("svg")}async firstUpdated(){try{if(!this.customSvg){const t=await this.fetchIcon(this.category,this.name);if(t)this.svg=t;else if(!t){const t=(new DOMParser).parseFromString(u,"text/html");this.svg=t.body.firstChild;}}}catch(t){this.svg=void 0;}}}css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;padding:0;border:0}:host{display:inline-block;--ds-auro-icon-size: 100%;width:100%;height:100%}:host .logo{color:var(--ds-auro-alaska-color)}:host([onDark]),:host([appearance=inverse]){--ds-auro-alaska-color: #FFF}
|
|
2789
2634
|
`;var y=css`:host{--ds-auro-icon-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-alaska-color: #02426D;--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}
|
|
2790
|
-
`;var
|
|
2791
|
-
`;class
|
|
2635
|
+
`;var k=css`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]),:host(:not([appearance=inverse])[variant=accent1]){--ds-auro-icon-color: var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]),:host(:not([appearance=inverse])[variant=disabled]){--ds-auro-icon-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]),:host(:not([appearance=inverse])[variant=muted]){--ds-auro-icon-color: var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]),:host(:not([appearance=inverse])[variant=statusDefault]){--ds-auro-icon-color: var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]),:host(:not([appearance=inverse])[variant=statusInfo]){--ds-auro-icon-color: var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]),:host(:not([appearance=inverse])[variant=statusSuccess]){--ds-auro-icon-color: var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]),:host(:not([appearance=inverse])[variant=statusWarning]){--ds-auro-icon-color: var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]),:host(:not([appearance=inverse])[variant=statusError]){--ds-auro-icon-color: var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]),:host(:not([appearance=inverse])[variant=statusInfoSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]),:host(:not([appearance=inverse])[variant=statusSuccessSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]),:host(:not([appearance=inverse])[variant=statusWarningSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]),:host(:not([appearance=inverse])[variant=statusErrorSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]),:host(:not([appearance=inverse])[variant=fareBasicEconomy]){--ds-auro-icon-color: var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]),:host(:not([appearance=inverse])[variant=fareBusiness]){--ds-auro-icon-color: var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]),:host(:not([appearance=inverse])[variant=fareEconomy]){--ds-auro-icon-color: var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]),:host(:not([appearance=inverse])[variant=fareFirst]){--ds-auro-icon-color: var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]),:host(:not([appearance=inverse])[variant=farePremiumEconomy]){--ds-auro-icon-color: var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]),:host(:not([appearance=inverse])[variant=tierOneWorldEmerald]){--ds-auro-icon-color: var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]),:host(:not([appearance=inverse])[variant=tierOneWorldSapphire]){--ds-auro-icon-color: var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]),:host(:not([appearance=inverse])[variant=tierOneWorldRuby]){--ds-auro-icon-color: var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]),:host([appearance=inverse]){--ds-auro-icon-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]),:host([appearance=inverse][variant=disabled]){--ds-auro-icon-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]),:host([appearance=inverse][variant=muted]){--ds-auro-icon-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][variant=statusError]),:host([appearance=inverse][variant=statusError]){--ds-auro-icon-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}
|
|
2636
|
+
`;class x extends z{constructor(){super(),this.variant=void 0,this.privateDefaults();}privateDefaults(){this.uri="https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist",this.runtimeUtils=new p;}static get properties(){return {...z.properties,ariaHidden:{type:String,reflect:true},category:{type:String,reflect:true},customColor:{type:Boolean,reflect:true},customSvg:{type:Boolean},label:{type:Boolean,reflect:true},name:{type:String,reflect:true},variant:{type:String,reflect:true}}}static get styles(){return [z.styles,y,w,k]}static register(t="auro-icon"){p.prototype.registerComponent(t,x);}connectedCallback(){super.connectedCallback(),this.runtimeUtils.handleComponentTagRename(this,"auro-icon");}exposeCssParts(){this.setAttribute("exportparts","svg:iconSvg");}async firstUpdated(){if(await super.firstUpdated(),this.hasAttribute("ariaHidden")&&this.svg){const t=this.svg.querySelector("desc");t&&(t.remove(),this.svg.removeAttribute("aria-labelledby"));}}render(){const t={labelWrapper:true,util_displayHiddenVisually:!this.label};return html`
|
|
2792
2637
|
<div class="componentWrapper">
|
|
2793
2638
|
<div
|
|
2794
2639
|
class="${classMap({svgWrapper:true})}"
|
|
@@ -2808,7 +2653,7 @@ class p{registerComponent(t,a){customElements.get(t)||customElements.define(t,cl
|
|
|
2808
2653
|
</div>
|
|
2809
2654
|
`}}
|
|
2810
2655
|
|
|
2811
|
-
var iconVersion = '9.1.
|
|
2656
|
+
var iconVersion = '9.1.1';
|
|
2812
2657
|
|
|
2813
2658
|
var styleCss$2 = css`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}`;
|
|
2814
2659
|
|
|
@@ -3249,7 +3094,7 @@ class AuroHelpText extends LitElement {
|
|
|
3249
3094
|
}
|
|
3250
3095
|
}
|
|
3251
3096
|
|
|
3252
|
-
var formkitVersion = '
|
|
3097
|
+
var formkitVersion = '202601290115';
|
|
3253
3098
|
|
|
3254
3099
|
class AuroElement extends LitElement {
|
|
3255
3100
|
static get properties() {
|
|
@@ -3477,7 +3322,7 @@ class AuroDropdown extends AuroElement {
|
|
|
3477
3322
|
/**
|
|
3478
3323
|
* @private
|
|
3479
3324
|
*/
|
|
3480
|
-
this.iconTag = versioning.generateTag('auro-formkit-dropdown-icon', iconVersion,
|
|
3325
|
+
this.iconTag = versioning.generateTag('auro-formkit-dropdown-icon', iconVersion, x);
|
|
3481
3326
|
|
|
3482
3327
|
/**
|
|
3483
3328
|
* @private
|
|
@@ -3544,7 +3389,7 @@ class AuroDropdown extends AuroElement {
|
|
|
3544
3389
|
* The value for the role attribute of the trigger element.
|
|
3545
3390
|
*/
|
|
3546
3391
|
a11yRole: {
|
|
3547
|
-
type: String,
|
|
3392
|
+
type: String || undefined,
|
|
3548
3393
|
attribute: false,
|
|
3549
3394
|
reflect: false
|
|
3550
3395
|
},
|