@nova-design-system/nova-react 3.31.2-beta.4 → 3.33.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/THIRD_PARTY_NOTICES.txt +89925 -90780
- package/dist/cjs/events.utils-BysSxG1C-CckC1aXX.js +40 -0
- package/dist/cjs/{index-DN55EpKb.js → index-BNK3HFv_.js} +263 -267
- package/dist/cjs/{index.esm-D3eWMME9-CG1TVKfu.js → index.esm-DBTxpXCn-D5HbQDBa.js} +48 -30
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/{nv-accordion-item.entry-DTMF2QA4.js → nv-accordion-item.entry-DJjtHWto.js} +1 -1
- package/dist/cjs/{nv-accordion.entry-LhpIZNos.js → nv-accordion.entry-DIpRQ1yZ.js} +1 -1
- package/dist/cjs/{nv-alert.entry-CLzSK5qn.js → nv-alert.entry-s8ltmaSW.js} +1 -1
- package/dist/cjs/{nv-avatar.entry-BLdl6iCG.js → nv-avatar.entry-Uoj3PxPB.js} +1 -1
- package/dist/cjs/{nv-badge_2.entry-D9dDFfNt.js → nv-badge_2.entry-XvGfkslD.js} +1 -1
- package/dist/cjs/{nv-breadcrumb.entry-zM46pNeP.js → nv-breadcrumb.entry-xrbBbTWB.js} +1 -1
- package/dist/cjs/{nv-breadcrumbs.entry-C15cO6Oe.js → nv-breadcrumbs.entry-BlymeOTX.js} +1 -1
- package/dist/cjs/{nv-button.entry-DI4P9AiP.js → nv-button.entry-hufry_es.js} +1 -1
- package/dist/cjs/{nv-buttongroup.entry-D7yCaYjm.js → nv-buttongroup.entry-BCN3BnAR.js} +1 -1
- package/dist/cjs/{nv-calendar.entry-zseSe52a.js → nv-calendar.entry-D9AyUjb8.js} +3 -3
- package/dist/cjs/{nv-col.entry-nEoJ7359.js → nv-col.entry-BshQRf6v.js} +1 -1
- package/dist/cjs/{nv-datagrid.entry-CFwixyUO.js → nv-datagrid.entry-a3NBcRtd.js} +1 -1
- package/dist/cjs/{nv-datagridcolumn.entry-B_olySPa.js → nv-datagridcolumn.entry-DFgcPx8Y.js} +1 -1
- package/dist/cjs/{nv-datetest.entry-Dwr0C5xt.js → nv-datetest.entry-tyVjTBBR.js} +1 -1
- package/dist/cjs/{nv-datetimetest.entry-hziXdUJX.js → nv-datetimetest.entry-CNZNSBlt.js} +1 -1
- package/dist/cjs/{nv-dialog.entry-B9qKSweg.js → nv-dialog.entry-Bo0_iopY.js} +39 -18
- package/dist/cjs/{nv-dialogfooter_2.entry-CBTqmO9s.js → nv-dialogfooter_2.entry-DGI1rhxT.js} +1 -1
- package/dist/cjs/{nv-drawer.entry-DD-VjFP9.js → nv-drawer.entry-BY8NzVhz.js} +10 -10
- package/dist/cjs/{nv-drawerfooter_2.entry-CkODBIr6.js → nv-drawerfooter_2.entry-Dybwzc8O.js} +1 -1
- package/dist/cjs/{nv-fieldcheckbox.entry-DWAA4UE3.js → nv-fieldcheckbox.entry-6mBP4IIQ.js} +3 -3
- package/dist/cjs/{nv-fielddate.entry-BVZhCq5F.js → nv-fielddate.entry-DYM-t6pu.js} +4 -4
- package/dist/cjs/{nv-fielddaterange.entry-CWAnYRgI.js → nv-fielddaterange.entry-DPtDC_VM.js} +5 -5
- package/dist/cjs/{nv-fielddropdown.entry-CLauf21x.js → nv-fielddropdown.entry-XSAGwuQN.js} +3 -3
- package/dist/cjs/{nv-fielddropdownitem.entry-DCTeh9KO.js → nv-fielddropdownitem.entry-BVD2bujB.js} +1 -1
- package/dist/cjs/{nv-fieldmultiselect.entry-BNwKkdeR.js → nv-fieldmultiselect.entry-Dp1Rpptg.js} +3 -3
- package/dist/cjs/{nv-fieldnumber.entry-D86SjYXx.js → nv-fieldnumber.entry-4viVcJgw.js} +3 -3
- package/dist/cjs/{nv-fieldpassword.entry-Dt0lUkJt.js → nv-fieldpassword.entry-C4RiF7P0.js} +3 -3
- package/dist/cjs/{nv-fieldradio.entry-DNvjs4oH.js → nv-fieldradio.entry-DkLds_A_.js} +23 -8
- package/dist/cjs/{nv-fieldselect.entry-OZEU8DSk.js → nv-fieldselect.entry-DdlYU0vr.js} +3 -3
- package/dist/cjs/{nv-fieldslider.entry-1IiUmkIh.js → nv-fieldslider.entry-BAdGT9Ow.js} +4 -4
- package/dist/cjs/{nv-fieldtext.entry-AuynZcaD.js → nv-fieldtext.entry-CbCqsR3r.js} +3 -3
- package/dist/cjs/{nv-fieldtextarea.entry-CgJKQdfG.js → nv-fieldtextarea.entry-D4oXfYGF.js} +3 -3
- package/dist/cjs/{nv-fieldtime.entry-uB03riIZ.js → nv-fieldtime.entry-YxN-tPoZ.js} +3 -3
- package/dist/cjs/nv-icon.entry-6wvhISa2.js +80 -0
- package/dist/cjs/{nv-iconbutton_2.entry-DWKZigsd.js → nv-iconbutton_2.entry-nVyjIkl7.js} +1 -1
- package/dist/cjs/{nv-menu.entry-DDFZOYwe.js → nv-menu.entry-69KujGjb.js} +1 -1
- package/dist/cjs/{nv-menuitem.entry-Btgdr6Od.js → nv-menuitem.entry-CZKPJD2H.js} +1 -1
- package/dist/cjs/{nv-notification-bullet.entry-Dqa7L5lv.js → nv-notification-bullet.entry-B3adkLIp.js} +1 -1
- package/dist/cjs/{nv-notification.entry-C_AyXrky.js → nv-notification.entry-BCRwZd31.js} +3 -3
- package/dist/cjs/{nv-notificationcontainer.entry-DCvtamdA.js → nv-notificationcontainer.entry-4OMQu6mD.js} +1 -1
- package/dist/cjs/{nv-pagination-nav.entry-BEKSbRT5.js → nv-pagination-nav.entry-SXNk9whA.js} +1 -1
- package/dist/cjs/{nv-paginationtable.entry-XD08dNh6.js → nv-paginationtable.entry-CTvn3nvZ.js} +1 -1
- package/dist/cjs/{nv-pill.entry-DXy2Ez6j.js → nv-pill.entry-DnHcaB3o.js} +1 -1
- package/dist/cjs/{nv-popover.entry-Dkn58xz1.js → nv-popover.entry-IQ2NS-H3.js} +187 -141
- package/dist/cjs/{nv-row.entry-C-Pu-4d5.js → nv-row.entry-BDmgS2u1.js} +1 -1
- package/dist/cjs/{nv-sidebar.entry-BCPSmV8X.js → nv-sidebar.entry-BtbINl74.js} +1 -1
- package/dist/cjs/{nv-sidebarcontent.entry-Dbk9Jp-R.js → nv-sidebarcontent.entry-Cmn1Ag4E.js} +1 -1
- package/dist/cjs/{nv-sidebardivider.entry-BSbCqQ-I.js → nv-sidebardivider.entry-BGyBcRCm.js} +1 -1
- package/dist/cjs/{nv-sidebarfooter.entry-DrYkZsT7.js → nv-sidebarfooter.entry-FUjyZ_L0.js} +1 -1
- package/dist/cjs/{nv-sidebargroup.entry-XUiruLr8.js → nv-sidebargroup.entry-BLT-Z2cV.js} +1 -1
- package/dist/cjs/{nv-sidebarheader.entry-LY9keSTe.js → nv-sidebarheader.entry-BWts-jYM.js} +1 -1
- package/dist/cjs/{nv-sidebarlogo.entry-CXTBFLAn.js → nv-sidebarlogo.entry-CUddr-S1.js} +1 -1
- package/dist/cjs/{nv-sidebarnavitem.entry-D322CneD.js → nv-sidebarnavitem.entry-CD_1lOXa.js} +1 -1
- package/dist/cjs/{nv-sidebarnavsubitem.entry-CUTyEkyb.js → nv-sidebarnavsubitem.entry-ZySBNwG2.js} +1 -1
- package/dist/cjs/{nv-split.entry-TFxGWUX9.js → nv-split.entry-BGhae9a4.js} +1 -1
- package/dist/cjs/{nv-stack.entry-Bh7oNRvH.js → nv-stack.entry-c4sMwsu8.js} +1 -1
- package/dist/cjs/{nv-statusindicator.entry-DZQ5jU9e.js → nv-statusindicator.entry-CkuPYwtD.js} +1 -1
- package/dist/cjs/{nv-table.entry-zgAnu_aK.js → nv-table.entry-B5SEtIAo.js} +1 -1
- package/dist/cjs/{nv-tableheader.entry-DA639Bgy.js → nv-tableheader.entry-DdqsP8sP.js} +1 -1
- package/dist/cjs/{nv-tag.entry-C2aYljq1.js → nv-tag.entry-C455_9p7.js} +1 -1
- package/dist/cjs/{nv-timetest.entry-DgyhZ_ec.js → nv-timetest.entry-BNgk3NHV.js} +1 -1
- package/dist/cjs/{nv-toggle.entry-HnXIWK6v.js → nv-toggle.entry-B5VQXr6D.js} +3 -3
- package/dist/cjs/{nv-togglebutton.entry-DLgQwvYS.js → nv-togglebutton.entry-DYL0qJ69.js} +1 -1
- package/dist/cjs/{nv-togglebuttongroup.entry-JtEebncS.js → nv-togglebuttongroup.entry-B7H0NtpN.js} +1 -1
- package/dist/cjs/{nv-tooltip.entry-CieHlmqB.js → nv-tooltip.entry-CBk7P9RD.js} +1 -1
- package/dist/cjs/v4-CK3_k8jD-_2BfiRUa.js +52 -0
- package/package.json +3 -2
- package/dist/cjs/events.utils-B6GgGra--01N__3wY.js +0 -23
- package/dist/cjs/nv-icon.entry-DsZUamyE.js +0 -80
- package/dist/cjs/v4-BdYh22OP-C1vaJ4yP.js +0 -56
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
/*!
|
|
4
|
-
* tabbable 6.
|
|
4
|
+
* tabbable 6.4.0
|
|
5
5
|
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
|
|
6
6
|
*/
|
|
7
7
|
// NOTE: separate `:not()` selectors has broader browser support than the newer
|
|
8
8
|
// `:not([inert], [inert] *)` (Feb 2023)
|
|
9
|
-
|
|
10
|
-
// the entire query to fail, resulting in no nodes found, which will break a lot
|
|
11
|
-
// of things... so we have to rely on JS to identify nodes inside an inert container
|
|
12
|
-
var candidateSelectors = ['input:not([inert])', 'select:not([inert])', 'textarea:not([inert])', 'a[href]:not([inert])', 'button:not([inert])', '[tabindex]:not(slot):not([inert])', 'audio[controls]:not([inert])', 'video[controls]:not([inert])', '[contenteditable]:not([contenteditable="false"]):not([inert])', 'details>summary:first-of-type:not([inert])', 'details:not([inert])'];
|
|
9
|
+
var candidateSelectors = ['input:not([inert]):not([inert] *)', 'select:not([inert]):not([inert] *)', 'textarea:not([inert]):not([inert] *)', 'a[href]:not([inert]):not([inert] *)', 'button:not([inert]):not([inert] *)', '[tabindex]:not(slot):not([inert]):not([inert] *)', 'audio[controls]:not([inert]):not([inert] *)', 'video[controls]:not([inert]):not([inert] *)', '[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)', 'details>summary:first-of-type:not([inert]):not([inert] *)', 'details:not([inert]):not([inert] *)'];
|
|
13
10
|
var candidateSelector = /* #__PURE__ */candidateSelectors.join(',');
|
|
14
11
|
var NoElement = typeof Element === 'undefined';
|
|
15
12
|
var matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
|
|
@@ -22,13 +19,13 @@ var getRootNode = !NoElement && Element.prototype.getRootNode ? function (elemen
|
|
|
22
19
|
|
|
23
20
|
/**
|
|
24
21
|
* Determines if a node is inert or in an inert ancestor.
|
|
25
|
-
* @param {
|
|
22
|
+
* @param {Node} [node]
|
|
26
23
|
* @param {boolean} [lookUp] If true and `node` is not inert, looks up at ancestors to
|
|
27
24
|
* see if any of them are inert. If false, only `node` itself is considered.
|
|
28
25
|
* @returns {boolean} True if inert itself or by way of being in an inert ancestor.
|
|
29
26
|
* False if `node` is falsy.
|
|
30
27
|
*/
|
|
31
|
-
var
|
|
28
|
+
var _isInert = function isInert(node, lookUp) {
|
|
32
29
|
var _node$getAttribute;
|
|
33
30
|
if (lookUp === void 0) {
|
|
34
31
|
lookUp = true;
|
|
@@ -42,10 +39,10 @@ var isInert = function isInert(node, lookUp) {
|
|
|
42
39
|
// NOTE: this could also be handled with `node.matches('[inert], :is([inert] *)')`
|
|
43
40
|
// if it weren't for `matches()` not being a function on shadow roots; the following
|
|
44
41
|
// code works for any kind of node
|
|
45
|
-
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
|
|
42
|
+
var result = inert || lookUp && node && (
|
|
43
|
+
// closest does not exist on shadow roots, so we fall back to a manual
|
|
44
|
+
// lookup upward, in case it is not defined.
|
|
45
|
+
typeof node.closest === 'function' ? node.closest('[inert]') : _isInert(node.parentNode));
|
|
49
46
|
return result;
|
|
50
47
|
};
|
|
51
48
|
|
|
@@ -71,8 +68,8 @@ var isContentEditable = function isContentEditable(node) {
|
|
|
71
68
|
*/
|
|
72
69
|
var getCandidates = function getCandidates(el, includeContainer, filter) {
|
|
73
70
|
// even if `includeContainer=false`, we still have to check it for inertness because
|
|
74
|
-
// if it's inert, all its children are inert
|
|
75
|
-
if (
|
|
71
|
+
// if it's inert (either by itself or via its parent), then all its children are inert
|
|
72
|
+
if (_isInert(el)) {
|
|
76
73
|
return [];
|
|
77
74
|
}
|
|
78
75
|
var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));
|
|
@@ -117,12 +114,12 @@ var getCandidates = function getCandidates(el, includeContainer, filter) {
|
|
|
117
114
|
* @param {IterativeOptions} options
|
|
118
115
|
* @returns {Array.<Element|CandidateScope>}
|
|
119
116
|
*/
|
|
120
|
-
var
|
|
117
|
+
var _getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {
|
|
121
118
|
var candidates = [];
|
|
122
119
|
var elementsToCheck = Array.from(elements);
|
|
123
120
|
while (elementsToCheck.length) {
|
|
124
121
|
var element = elementsToCheck.shift();
|
|
125
|
-
if (
|
|
122
|
+
if (_isInert(element, false)) {
|
|
126
123
|
// no need to look up since we're drilling down
|
|
127
124
|
// anything inside this container will also be inert
|
|
128
125
|
continue;
|
|
@@ -131,7 +128,7 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
|
|
|
131
128
|
// add shadow dom slot scope (slot itself cannot be focusable)
|
|
132
129
|
var assigned = element.assignedElements();
|
|
133
130
|
var content = assigned.length ? assigned : element.children;
|
|
134
|
-
var nestedCandidates =
|
|
131
|
+
var nestedCandidates = _getCandidatesIteratively(content, true, options);
|
|
135
132
|
if (options.flatten) {
|
|
136
133
|
candidates.push.apply(candidates, nestedCandidates);
|
|
137
134
|
} else {
|
|
@@ -155,7 +152,7 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
|
|
|
155
152
|
// no inert look up because we're already drilling down and checking for inertness
|
|
156
153
|
// on the way down, so all containers to this root node should have already been
|
|
157
154
|
// vetted as non-inert
|
|
158
|
-
var validShadowRoot = !
|
|
155
|
+
var validShadowRoot = !_isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));
|
|
159
156
|
if (shadowRoot && validShadowRoot) {
|
|
160
157
|
// add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed
|
|
161
158
|
// shadow exists, so look at light dom children as fallback BUT create a scope for any
|
|
@@ -163,7 +160,7 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
|
|
|
163
160
|
// children of the web component element (which has the shadow), in the light dom, but
|
|
164
161
|
// slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,
|
|
165
162
|
// _after_ we return from this recursive call
|
|
166
|
-
var _nestedCandidates =
|
|
163
|
+
var _nestedCandidates = _getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);
|
|
167
164
|
if (options.flatten) {
|
|
168
165
|
candidates.push.apply(candidates, _nestedCandidates);
|
|
169
166
|
} else {
|
|
@@ -340,6 +337,28 @@ var isZeroArea = function isZeroArea(node) {
|
|
|
340
337
|
var isHidden = function isHidden(node, _ref) {
|
|
341
338
|
var displayCheck = _ref.displayCheck,
|
|
342
339
|
getShadowRoot = _ref.getShadowRoot;
|
|
340
|
+
if (displayCheck === 'full-native') {
|
|
341
|
+
if ('checkVisibility' in node) {
|
|
342
|
+
// Chrome >= 105, Edge >= 105, Firefox >= 106, Safari >= 17.4
|
|
343
|
+
// @see https://developer.mozilla.org/en-US/docs/Web/API/Element/checkVisibility#browser_compatibility
|
|
344
|
+
var visible = node.checkVisibility({
|
|
345
|
+
// Checking opacity might be desirable for some use cases, but natively,
|
|
346
|
+
// opacity zero elements _are_ focusable and tabbable.
|
|
347
|
+
checkOpacity: false,
|
|
348
|
+
opacityProperty: false,
|
|
349
|
+
contentVisibilityAuto: true,
|
|
350
|
+
visibilityProperty: true,
|
|
351
|
+
// This is an alias for `visibilityProperty`. Contemporary browsers
|
|
352
|
+
// support both. However, this alias has wider browser support (Chrome
|
|
353
|
+
// >= 105 and Firefox >= 106, vs. Chrome >= 121 and Firefox >= 122), so
|
|
354
|
+
// we include it anyway.
|
|
355
|
+
checkVisibilityCSS: true
|
|
356
|
+
});
|
|
357
|
+
return !visible;
|
|
358
|
+
}
|
|
359
|
+
// Fall through to manual visibility checks
|
|
360
|
+
}
|
|
361
|
+
|
|
343
362
|
// NOTE: visibility will be `undefined` if node is detached from the document
|
|
344
363
|
// (see notes about this further down), which means we will consider it visible
|
|
345
364
|
// (this is legacy behavior from a very long way back)
|
|
@@ -353,7 +372,10 @@ var isHidden = function isHidden(node, _ref) {
|
|
|
353
372
|
if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {
|
|
354
373
|
return true;
|
|
355
374
|
}
|
|
356
|
-
if (!displayCheck || displayCheck === 'full' ||
|
|
375
|
+
if (!displayCheck || displayCheck === 'full' ||
|
|
376
|
+
// full-native can run this branch when it falls through in case
|
|
377
|
+
// Element#checkVisibility is unsupported
|
|
378
|
+
displayCheck === 'full-native' || displayCheck === 'legacy-full') {
|
|
357
379
|
if (typeof getShadowRoot === 'function') {
|
|
358
380
|
// figure out if we should consider the node to be in an undisclosed shadow and use the
|
|
359
381
|
// 'non-zero-area' fallback
|
|
@@ -462,11 +484,7 @@ var isDisabledFromFieldset = function isDisabledFromFieldset(node) {
|
|
|
462
484
|
return false;
|
|
463
485
|
};
|
|
464
486
|
var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {
|
|
465
|
-
if (node.disabled ||
|
|
466
|
-
// we must do an inert look up to filter out any elements inside an inert ancestor
|
|
467
|
-
// because we're limited in the type of selectors we can use in JSDom (see related
|
|
468
|
-
// note related to `candidateSelectors`)
|
|
469
|
-
isInert(node) || isHiddenInput(node) || isHidden(node, options) ||
|
|
487
|
+
if (node.disabled || isHiddenInput(node) || isHidden(node, options) ||
|
|
470
488
|
// For a details element with a summary, the summary element gets the focus
|
|
471
489
|
isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
|
|
472
490
|
return false;
|
|
@@ -479,7 +497,7 @@ var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(opt
|
|
|
479
497
|
}
|
|
480
498
|
return true;
|
|
481
499
|
};
|
|
482
|
-
var
|
|
500
|
+
var isShadowRootTabbable = function isShadowRootTabbable(shadowHostNode) {
|
|
483
501
|
var tabIndex = parseInt(shadowHostNode.getAttribute('tabindex'), 10);
|
|
484
502
|
if (isNaN(tabIndex) || tabIndex >= 0) {
|
|
485
503
|
return true;
|
|
@@ -493,14 +511,14 @@ var isValidShadowRootTabbable = function isValidShadowRootTabbable(shadowHostNod
|
|
|
493
511
|
* @param {Array.<Element|CandidateScope>} candidates
|
|
494
512
|
* @returns Element[]
|
|
495
513
|
*/
|
|
496
|
-
var
|
|
514
|
+
var _sortByOrder = function sortByOrder(candidates) {
|
|
497
515
|
var regularTabbables = [];
|
|
498
516
|
var orderedTabbables = [];
|
|
499
517
|
candidates.forEach(function (item, i) {
|
|
500
518
|
var isScope = !!item.scopeParent;
|
|
501
519
|
var element = isScope ? item.scopeParent : item;
|
|
502
520
|
var candidateTabindex = getSortOrderTabIndex(element, isScope);
|
|
503
|
-
var elements = isScope ?
|
|
521
|
+
var elements = isScope ? _sortByOrder(item.candidates) : element;
|
|
504
522
|
if (candidateTabindex === 0) {
|
|
505
523
|
isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);
|
|
506
524
|
} else {
|
|
@@ -522,16 +540,16 @@ var tabbable = function tabbable(container, options) {
|
|
|
522
540
|
options = options || {};
|
|
523
541
|
var candidates;
|
|
524
542
|
if (options.getShadowRoot) {
|
|
525
|
-
candidates =
|
|
543
|
+
candidates = _getCandidatesIteratively([container], options.includeContainer, {
|
|
526
544
|
filter: isNodeMatchingSelectorTabbable.bind(null, options),
|
|
527
545
|
flatten: false,
|
|
528
546
|
getShadowRoot: options.getShadowRoot,
|
|
529
|
-
shadowRootFilter:
|
|
547
|
+
shadowRootFilter: isShadowRootTabbable
|
|
530
548
|
});
|
|
531
549
|
} else {
|
|
532
550
|
candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
|
|
533
551
|
}
|
|
534
|
-
return
|
|
552
|
+
return _sortByOrder(candidates);
|
|
535
553
|
};
|
|
536
554
|
|
|
537
555
|
exports.tabbable = tabbable;
|
package/dist/cjs/index.js
CHANGED
package/dist/cjs/{nv-accordion-item.entry-DTMF2QA4.js → nv-accordion-item.entry-DJjtHWto.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-BNK3HFv_.js');
|
|
4
4
|
var collapse_animationDZDm0vSK = require('./collapse.animation-DZDm0vSK-C2TOIhIK.js');
|
|
5
5
|
require('./style-value-types.es-xlgmw4x8-B1vLqX9m.js');
|
|
6
6
|
var accessibility_utilsC4Cy9iy8 = require('./accessibility.utils-C4Cy9iy8-CeSsswXF.js');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-BNK3HFv_.js');
|
|
4
4
|
var clsxChV9xqsO = require('./clsx-ChV9xqsO-BtxeOLZW.js');
|
|
5
5
|
var constantsGOKBmbgZ = require('./constants-gOKBmbgZ-CSoZ8z-G.js');
|
|
6
6
|
var collapse_animationDZDm0vSK = require('./collapse.animation-DZDm0vSK-C2TOIhIK.js');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-BNK3HFv_.js');
|
|
4
4
|
var clsxChV9xqsO = require('./clsx-ChV9xqsO-BtxeOLZW.js');
|
|
5
5
|
var constantsGOKBmbgZ = require('./constants-gOKBmbgZ-CSoZ8z-G.js');
|
|
6
6
|
require('@stencil/react-output-target/runtime');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-BNK3HFv_.js');
|
|
4
4
|
var clsxChV9xqsO = require('./clsx-ChV9xqsO-BtxeOLZW.js');
|
|
5
5
|
var collapse_animationDZDm0vSK = require('./collapse.animation-DZDm0vSK-C2TOIhIK.js');
|
|
6
6
|
var fade_animationDcRL9lcm = require('./fade.animation-DcRL9lcm-DAZeHoKN.js');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-BNK3HFv_.js');
|
|
4
4
|
var constantsGOKBmbgZ = require('./constants-gOKBmbgZ-CSoZ8z-G.js');
|
|
5
5
|
var accessibility_utilsC4Cy9iy8 = require('./accessibility.utils-C4Cy9iy8-CeSsswXF.js');
|
|
6
6
|
require('@stencil/react-output-target/runtime');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-BNK3HFv_.js');
|
|
4
4
|
var constantsGOKBmbgZ = require('./constants-gOKBmbgZ-CSoZ8z-G.js');
|
|
5
5
|
var _commonjsHelpersB85MJLTf = require('./_commonjsHelpers-B85MJLTf-CFO10eej.js');
|
|
6
6
|
require('@stencil/react-output-target/runtime');
|
|
@@ -17,7 +17,7 @@ function requireDayjs_min () {
|
|
|
17
17
|
if (hasRequiredDayjs_min) return dayjs_min$1.exports;
|
|
18
18
|
hasRequiredDayjs_min = 1;
|
|
19
19
|
(function (module, exports) {
|
|
20
|
-
!function(t,e){module.exports=e();}(dayjs_min,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|
|
|
20
|
+
!function(t,e){module.exports=e();}(dayjs_min,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p="$isDayjsObject",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,true),this.parse(t),this.$x=this.$x||t.x||{},this[p]=true;}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return b},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,false)},m.$set=function(t,e){var n,o=b.p(t),f="set"+(this.$u?"UTC":""),l=(n={},n[a]=f+"Date",n[d]=f+"Date",n[c]=f+"Month",n[h]=f+"FullYear",n[u]=f+"Hours",n[s]=f+"Minutes",n[i]=f+"Seconds",n[r]=f+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,"0")},$=f||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case "YY":return String(e.$y).slice(-2);case "YYYY":return b.s(e.$y,4,"0");case "M":return a+1;case "MM":return b.s(a+1,2,"0");case "MMM":return h(n.monthsShort,a,c,3);case "MMMM":return h(c,a);case "D":return e.$D;case "DD":return b.s(e.$D,2,"0");case "d":return String(e.$W);case "dd":return h(n.weekdaysMin,e.$W,o,2);case "ddd":return h(n.weekdaysShort,e.$W,o,3);case "dddd":return o[e.$W];case "H":return String(s);case "HH":return b.s(s,2,"0");case "h":return d(1);case "hh":return d(2);case "a":return $(s,u,true);case "A":return $(s,u,false);case "m":return String(u);case "mm":return b.s(u,2,"0");case "s":return String(e.$s);case "ss":return b.s(e.$s,2,"0");case "SSS":return b.s(e.$ms,3,"0");case "Z":return i}return null}(t)||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g;}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,true);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),Y=_.prototype;return O.prototype=Y,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach((function(t){Y[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=true),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));
|
|
21
21
|
} (dayjs_min$1));
|
|
22
22
|
return dayjs_min$1.exports;
|
|
23
23
|
}
|
|
@@ -53,7 +53,7 @@ function requireUtc () {
|
|
|
53
53
|
if (hasRequiredUtc) return utc$2.exports;
|
|
54
54
|
hasRequiredUtc = 1;
|
|
55
55
|
(function (module, exports) {
|
|
56
|
-
!function(t,i){module.exports=i();}(utc$1,(function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:true,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:true});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:false})};var
|
|
56
|
+
!function(t,i){module.exports=i();}(utc$1,(function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:true,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:true});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:false})};var r=u.parse;u.parse=function(t){t.utc&&(this.$u=true),this.$utils().u(t.$offset)||(this.$offset=t.$offset),r.call(this,t);};var o=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else o.call(this);};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){ void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s;if(0===u)return this.utc(f);var r=this.clone();if(f)return r.$offset=u,r.$u=false,r;var o=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return (r=this.local().add(u+o,t)).$offset=u,r.$x.$localOffset=o,r};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return !!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return "s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)};}}));
|
|
57
57
|
} (utc$2));
|
|
58
58
|
return utc$2.exports;
|
|
59
59
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-BNK3HFv_.js');
|
|
4
4
|
var dom_utilsCuXVGECR = require('./dom.utils-CuXVGECR-8VY5SfMZ.js');
|
|
5
5
|
var constantsGOKBmbgZ = require('./constants-gOKBmbgZ-CSoZ8z-G.js');
|
|
6
6
|
require('@stencil/react-output-target/runtime');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var index = require('./index-BNK3HFv_.js');
|
|
4
|
+
var index_esmDBTxpXCn = require('./index.esm-DBTxpXCn-D5HbQDBa.js');
|
|
5
|
+
var events_utilsBysSxG1C = require('./events.utils-BysSxG1C-CckC1aXX.js');
|
|
6
6
|
var fade_animationDcRL9lcm = require('./fade.animation-DcRL9lcm-DAZeHoKN.js');
|
|
7
7
|
var grow_animationD7ep_aVl = require('./grow.animation-D7ep_aVl-BuXEDSK-.js');
|
|
8
8
|
require('./style-value-types.es-xlgmw4x8-B1vLqX9m.js');
|
|
@@ -10,12 +10,12 @@ var timeline_animationCgHCo_Ho = require('./timeline.animation-CgHCo_Ho-KteJaZPb
|
|
|
10
10
|
var clsxChV9xqsO = require('./clsx-ChV9xqsO-BtxeOLZW.js');
|
|
11
11
|
var constantsGOKBmbgZ = require('./constants-gOKBmbgZ-CSoZ8z-G.js');
|
|
12
12
|
var accessibility_utilsC4Cy9iy8 = require('./accessibility.utils-C4Cy9iy8-CeSsswXF.js');
|
|
13
|
-
var
|
|
13
|
+
var v4CK3_k8jD = require('./v4-CK3_k8jD-_2BfiRUa.js');
|
|
14
14
|
require('@stencil/react-output-target/runtime');
|
|
15
15
|
require('react');
|
|
16
16
|
require('react-dom');
|
|
17
17
|
|
|
18
|
-
const nvDialogCss = () => `nv-dialog dialog{width:100vw;height:100svh;margin:0;max-height:unset;max-width:unset;padding:0;background:color-mix(in srgb, var(--components-overlay-background) 70%, transparent);backdrop-filter:blur(4px)}nv-dialog dialog.full
|
|
18
|
+
const nvDialogCss = () => `nv-dialog dialog{width:100vw;height:100svh;margin:0;max-height:unset;max-width:unset;padding:0;border:none;background:color-mix(in srgb, var(--components-overlay-background) 70%, transparent);backdrop-filter:blur(4px)}nv-dialog dialog.full>.backdrop>.content{min-width:90vw;width:90vw;max-width:90vw}nv-dialog .backdrop{display:flex;min-height:100%;padding:var(--spacing-3);box-shadow:0px var(--shadow-y-axis-2xl) var(--shadow-blur-2xl) var(--shadow-spread-2xl) var(--shadow-color-opacity-3) var(--shadow-color-opacity-3)}nv-dialog .backdrop>.content{border-radius:var(--radius-rounded-2xl);background:var(--color-level-00-background);min-width:min(90vw, 400px);width:fit-content;max-width:clamp(90vw, min(90vw, 960px), 960px);margin:auto;display:flex;flex-direction:column;align-items:flex-start;height:fit-content;position:relative}nv-dialog .backdrop>.content nv-button.close-button{position:absolute;top:var(--dialog-dismissible-position-top);right:var(--dialog-dismissible-position-right);display:flex;padding:var(--button-sm-icon-button-padding);justify-content:flex-end;align-items:flex-start;gap:10px}nv-dialog .backdrop>.content .content-body::-webkit-scrollbar{width:6px;height:6px}nv-dialog .backdrop>.content .content-body::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-dialog .backdrop>.content .content-body::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-dialog .backdrop>.content .content-body{box-sizing:border-box;padding:var(--dialog-body-padding-y) var(--dialog-body-padding-x);scrollbar-gutter:stable both-edges;font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--line-height-base);color:var(--color-content-medium-text);width:100%}`;
|
|
19
19
|
|
|
20
20
|
const NvDialog = class {
|
|
21
21
|
constructor(hostRef) {
|
|
@@ -89,6 +89,7 @@ const NvDialog = class {
|
|
|
89
89
|
*/
|
|
90
90
|
this.handleDialogPointerDown = (event) => {
|
|
91
91
|
this.pointerDownTarget = event.target;
|
|
92
|
+
this.stopEventPropagation(event);
|
|
92
93
|
};
|
|
93
94
|
/**
|
|
94
95
|
* Handles the click event to close the dialog when clickOutside is true.
|
|
@@ -97,18 +98,33 @@ const NvDialog = class {
|
|
|
97
98
|
* @param {MouseEvent} event - The click event.
|
|
98
99
|
*/
|
|
99
100
|
this.handleDialogClick = (event) => {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
this.stopEventPropagation(event);
|
|
102
|
+
const shouldHandleOutsideClick = this.clickOutside &&
|
|
103
|
+
!this.undismissable &&
|
|
104
|
+
event.target === this.backdropElement &&
|
|
105
|
+
this.pointerDownTarget === this.backdropElement;
|
|
106
|
+
if (shouldHandleOutsideClick && this.checkForOpenPopovers()) {
|
|
107
|
+
// first backdrop click closes nested popovers,
|
|
108
|
+
// second backdrop click closes the dialog itself.
|
|
109
|
+
this.closeOpenPopovers();
|
|
110
|
+
}
|
|
111
|
+
else if (shouldHandleOutsideClick) {
|
|
106
112
|
this.close();
|
|
107
113
|
event.preventDefault();
|
|
108
|
-
event.stopPropagation();
|
|
109
114
|
}
|
|
110
115
|
this.pointerDownTarget = null;
|
|
111
116
|
};
|
|
117
|
+
/**
|
|
118
|
+
* Stops events from bubbling past the `<dialog>` element so they don't
|
|
119
|
+
* trigger handlers on ancestors of `nv-dialog` (e.g. a clickable row
|
|
120
|
+
* containing the dialog). The `<dialog>` is promoted to the top layer
|
|
121
|
+
* visually via `showModal()` but its DOM position is unchanged, so bubbling
|
|
122
|
+
* otherwise proceeds normally.
|
|
123
|
+
* @param {Event} event - The event whose propagation should be stopped.
|
|
124
|
+
*/
|
|
125
|
+
this.stopEventPropagation = (event) => {
|
|
126
|
+
event.stopPropagation();
|
|
127
|
+
};
|
|
112
128
|
this.checkForOpenPopovers = () => {
|
|
113
129
|
let hasOpenPopover = false;
|
|
114
130
|
this.el.querySelectorAll('nv-popover').forEach(popover => {
|
|
@@ -118,6 +134,11 @@ const NvDialog = class {
|
|
|
118
134
|
});
|
|
119
135
|
return hasOpenPopover;
|
|
120
136
|
};
|
|
137
|
+
this.closeOpenPopovers = () => {
|
|
138
|
+
this.el.querySelectorAll('nv-popover[open]').forEach(popover => {
|
|
139
|
+
popover.open = false;
|
|
140
|
+
});
|
|
141
|
+
};
|
|
121
142
|
}
|
|
122
143
|
//#endregion PROPERTIES
|
|
123
144
|
/****************************************************************************/
|
|
@@ -164,7 +185,7 @@ const NvDialog = class {
|
|
|
164
185
|
* Sets the autofocus on the first focusable element in the dialog.
|
|
165
186
|
*/
|
|
166
187
|
setAutofocus() {
|
|
167
|
-
const focusableElements =
|
|
188
|
+
const focusableElements = index_esmDBTxpXCn.tabbable(this.dialogElement, {
|
|
168
189
|
displayCheck: 'none',
|
|
169
190
|
});
|
|
170
191
|
if (focusableElements.length > 0) {
|
|
@@ -187,7 +208,7 @@ const NvDialog = class {
|
|
|
187
208
|
*/
|
|
188
209
|
attachEventListeners() {
|
|
189
210
|
if (this.triggerElement && !this.eventsAttached && !this.controlled) {
|
|
190
|
-
|
|
211
|
+
events_utilsBysSxG1C.addEventListeners(this.triggerClickEvents, this.triggerElement, this);
|
|
191
212
|
this.eventsAttached = true;
|
|
192
213
|
}
|
|
193
214
|
}
|
|
@@ -213,7 +234,7 @@ const NvDialog = class {
|
|
|
213
234
|
}
|
|
214
235
|
ensureFormId(formElement) {
|
|
215
236
|
if (!formElement.id) {
|
|
216
|
-
formElement.id = `dialog-form-${
|
|
237
|
+
formElement.id = `dialog-form-${v4CK3_k8jD.v4()}`;
|
|
217
238
|
}
|
|
218
239
|
return formElement.id;
|
|
219
240
|
}
|
|
@@ -288,8 +309,8 @@ const NvDialog = class {
|
|
|
288
309
|
// this.setupContentBodyListeners();
|
|
289
310
|
}
|
|
290
311
|
disconnectedCallback() {
|
|
291
|
-
if (this.triggerElement &&
|
|
292
|
-
|
|
312
|
+
if (this.triggerElement && this.eventsAttached && !this.controlled) {
|
|
313
|
+
events_utilsBysSxG1C.removeEventListeners(this.triggerClickEvents, this.triggerElement);
|
|
293
314
|
this.eventsAttached = false;
|
|
294
315
|
}
|
|
295
316
|
this.allowScroll();
|
|
@@ -299,7 +320,7 @@ const NvDialog = class {
|
|
|
299
320
|
//#region RENDER
|
|
300
321
|
render() {
|
|
301
322
|
const hasForm = this.form || this.el.querySelector('form');
|
|
302
|
-
return (index.h(index.Host, { key: '
|
|
323
|
+
return (index.h(index.Host, { key: 'ddce4af5ea620a9c199f1c3613ff74150f2c0fd7' }, index.h("slot", { key: 'b5d44222a35e1234ecb6ae9ce7559d167ccdaf2b', name: "trigger" }), index.h("dialog", { key: '65247cd73bf26a0451692553675bc85d4f5b02a5', ref: el => (this.dialogElement = el), onClose: this.handleDialogClose, onPointerDown: this.handleDialogPointerDown, onPointerUp: this.stopEventPropagation, onMouseDown: this.stopEventPropagation, onMouseUp: this.stopEventPropagation, onClick: this.handleDialogClick, onDblClick: this.stopEventPropagation, onContextMenu: this.stopEventPropagation, role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-header", "aria-describedby": "dialog-content", class: clsxChV9xqsO.clsx({ full: this.full }) }, index.h("div", { key: 'e0099c3f416e264f37137ae66957df9393632b13', class: "backdrop", ref: el => (this.backdropElement = el) }, index.h("div", { key: '5b30f2748e0808d1c529cdcd675cd0c702bc425e', class: "content", ref: el => (this.contentElement = el) }, !this.undismissable && (index.h("nv-button", { key: '504bb233c7ad0d050bcc11abec2d49b65b9b9299', class: "close-button", emphasis: "lower", size: "sm", onClick: this.handleDialogClose, "aria-label": "Close dialog" }, index.h("nv-icon", { key: '6b54a135ffb6dd599323c127b5666b9eef9e513f', name: "x", size: "sm" }))), this.headerElement ? (index.h("slot", { name: "header" })) : (index.h("nv-dialogheader", { id: "dialog-header" })), index.h("div", { key: '67918f89af9d65b1d077786a0af6459dd6cd6cd6', class: "content-body", id: "dialog-content" }, index.h("slot", { key: '792be8c0785a21af0046aaaaa64844655b57e865' })), this.footerElement ? (index.h("slot", { name: "footer" })) : (index.h("nv-dialogfooter", { form: this.form, primaryButtonType: hasForm ? constantsGOKBmbgZ.ButtonType.Submit : constantsGOKBmbgZ.ButtonType.Button, onDialogCanceled: this.handleDialogClose, undismissable: this.undismissable })))))));
|
|
303
324
|
}
|
|
304
325
|
get el() { return index.getElement(this); }
|
|
305
326
|
static get watchers() { return {
|