@acusti/dropdown 1.0.0-beta.0 → 1.0.0-beta.2
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/README.md +152 -20
- package/dist/Dropdown.d.ts +10 -0
- package/dist/Dropdown.js +683 -518
- package/dist/Dropdown.js.map +1 -1
- package/dist/context.d.ts +3 -0
- package/dist/helpers.d.ts +5 -0
- package/package.json +2 -2
package/dist/Dropdown.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c } from "react/compiler-runtime";
|
|
2
|
-
import useKeyboardEvents, { isEventTargetUsingKeyEvent } from "@acusti/use-keyboard-events";
|
|
2
|
+
import useKeyboardEvents, { NON_TEXT_INPUT_TYPES, isEventTargetUsingKeyEvent } from "@acusti/use-keyboard-events";
|
|
3
3
|
import clsx from "clsx";
|
|
4
|
-
import { Children, Fragment, cloneElement, createContext, isValidElement, useContext, useEffect, useId, useRef, useState } from "react";
|
|
4
|
+
import { Children, Fragment, cloneElement, createContext, isValidElement, useContext, useEffect, useId, useLayoutEffect, useReducer, useRef, useState } from "react";
|
|
5
5
|
import { getBestMatch } from "@acusti/matchmaking";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
//#region src/context.ts
|
|
@@ -9,12 +9,13 @@ var DropdownContext = createContext(null);
|
|
|
9
9
|
var MenubarContext = createContext(null);
|
|
10
10
|
//#endregion
|
|
11
11
|
//#region src/Dropdown.css?inline
|
|
12
|
-
var Dropdown_default = ":root{--uktdd-font-family:system-ui, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, Helvetica, Arial, sans-serif;--uktdd-color-scheme:inherit;--uktdd-body-bg-color:Canvas;--uktdd-body-bg-color-hover:Highlight;--uktdd-body-color-hover:HighlightText;--uktdd-body-bg-color-selected:color-mix(in oklab,
|
|
12
|
+
var Dropdown_default = ":root{--uktdd-font-family:system-ui, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, Helvetica, Arial, sans-serif;--uktdd-color-scheme:inherit;--uktdd-body-bg-color:Canvas;--uktdd-body-bg-color-hover:Highlight;--uktdd-body-color-hover:HighlightText;--uktdd-body-bg-color-selected:color-mix(in oklab, currentColor 6%, transparent);--uktdd-body-box-shadow:0 8px 18px #00000040;--uktdd-body-border-color:color-mix(in oklab, currentColor 15%, transparent);--uktdd-body-buffer:10px;--uktdd-body-max-height:calc(100dvh - var(--uktdd-body-buffer));--uktdd-body-max-width:calc(100dvw - var(--uktdd-body-buffer));--uktdd-body-min-height:30px;--uktdd-body-pad-bottom:.5em;--uktdd-body-pad-left:.6875em;--uktdd-body-pad-right:.6875em;--uktdd-body-pad-top:.5em;--uktdd-body-min-width:min(50px, 100%);--uktdd-body-position-area:block-end span-inline-end;--uktdd-body-position-try-fallback-1:--uktdd-top-start;--uktdd-body-position-try-fallback-2:--uktdd-bottom-end;--uktdd-body-fill-fallbacks:--uktdd-fill-bottom, --uktdd-fill-top;--uktdd-body-gap:0px;--uktdd-body-color:CanvasText;--uktdd-body-color-path:currentColor;--uktdd-label-pad-right:.625em;--uktdd-submenu-position-area:inline-end span-block-end;--uktdd-submenu-position-try-fallback:--uktdd-submenu-inline-start;--uktdd-submenu-fill-fallbacks:--uktdd-submenu-fill, --uktdd-submenu-fill flip-inline;--uktdd-submenu-gap:0px;--uktdd-menubar-trigger-bg-color-active:color-mix(in oklab, currentColor 12%, transparent)}.uktdropdown,.uktdropdown-trigger{font-family:var(--uktdd-font-family)}.uktdropdown{anchor-scope:--uktdd-anchor;width:max-content}.uktdropdown.disabled{pointer-events:none}.uktdropdown>*{cursor:default}.uktdropdown>:first-child{anchor-name:--uktdd-anchor}.uktdropdown-label{align-items:center;display:flex}.uktdropdown-label-text{padding-right:var(--uktdd-label-pad-right)}.uktdropdown-body{box-sizing:border-box;position-anchor:--uktdd-anchor;position-area:var(--uktdd-body-position-area);position-try-fallbacks:var(--uktdd-body-position-try-fallback-1), var(--uktdd-body-position-try-fallback-2), var(--uktdd-body-fill-fallbacks);min-block-size:min(var(--uktdd-body-min-height), var(--uktdd-body-max-height));max-block-size:var(--uktdd-body-max-height);min-inline-size:min(var(--uktdd-body-min-width), var(--uktdd-body-max-width));max-inline-size:var(--uktdd-body-max-width);inline-size:max-content;color:var(--uktdd-body-color);color-scheme:var(--uktdd-color-scheme);background-color:var(--uktdd-body-bg-color);box-shadow:var(--uktdd-body-box-shadow);flex-direction:column;display:flex;position:fixed;overflow:hidden}.uktdropdown-body.has-items{-webkit-user-select:none;user-select:none}.uktdropdown-body [aria-selected=true]{background-color:var(--uktdd-body-bg-color-selected)}.uktdropdown-body [data-ukt-active]{background-color:var(--uktdd-body-bg-color-hover);color:var(--uktdd-body-color-hover)}:is(.uktdropdown-body [data-ukt-active]:has([data-ukt-submenu] [data-ukt-active]),.uktdropdown-body [data-ukt-active]:has([data-ukt-submenu]:hover)){background-color:var(--uktdd-body-bg-color-path,color-mix(in oklab, var(--uktdd-body-color) 12%, var(--uktdd-body-bg-color)));color:var(--uktdd-body-color-path)}.uktdropdown-body [data-ukt-item][aria-disabled=true]{opacity:.5;pointer-events:none}.uktdropdown-body [data-ukt-item]{anchor-scope:--uktdd-submenu-anchor}.uktdropdown-body :is([data-ukt-item],[data-ukt-value])[aria-haspopup=menu]{padding-inline-end:2em;position:relative}.uktdropdown-body :is([data-ukt-item],[data-ukt-value])[aria-haspopup=menu]:after{content:\"\";border-block-start:.14em solid;border-inline-end:.14em solid;block-size:.3em;inline-size:.3em;position:absolute;inset-block-start:50%;inset-inline-end:.9em;translate:0 -50%;rotate:45deg}.uktdropdown-body :is([data-ukt-item],[data-ukt-value])[aria-haspopup=menu]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):after{rotate:-45deg}.uktdropdown-body [data-ukt-item][aria-expanded=true]{anchor-name:--uktdd-submenu-anchor}.uktdropdown-body [data-ukt-submenu]:not([popover]){display:none}.uktdropdown-body [data-ukt-submenu]{box-sizing:border-box;border:1px solid var(--uktdd-body-border-color);block-size:auto;color:var(--uktdd-body-color);position-anchor:--uktdd-submenu-anchor;position-area:var(--uktdd-submenu-position-area);position-try-fallbacks:var(--uktdd-submenu-position-try-fallback), var(--uktdd-submenu-fill-fallbacks);z-index:2;margin-block:0;margin-inline:var(--uktdd-submenu-gap);--uktdd-body-gap:0px;padding:var(--uktdd-body-pad-top) var(--uktdd-body-pad-right) var(--uktdd-body-pad-bottom) var(--uktdd-body-pad-left);inline-size:max-content;max-inline-size:var(--uktdd-body-max-width);min-block-size:min(var(--uktdd-body-min-height), var(--uktdd-body-max-height));max-block-size:var(--uktdd-body-max-height);overscroll-behavior:contain;background-color:var(--uktdd-body-bg-color);box-shadow:var(--uktdd-body-box-shadow);list-style:none;position:fixed;inset:auto;overflow:auto}div.uktdropdown-body{block-size:auto;margin-block:var(--uktdd-body-gap);border:1px solid var(--uktdd-body-border-color);margin-inline:0;padding:0;inset:auto}.uktmenubar{width:max-content;font-family:var(--uktdd-font-family);align-items:stretch;display:flex}.uktmenubar .uktdropdown.is-open .uktdropdown-trigger{box-shadow:inset 0 0 0 100vmax var(--uktdd-menubar-trigger-bg-color-active)}.uktdropdown-content{box-sizing:border-box;overscroll-behavior:contain;min-block-size:0;padding:var(--uktdd-body-pad-top) var(--uktdd-body-pad-right) var(--uktdd-body-pad-bottom) var(--uktdd-body-pad-left);overflow:auto}@position-try --uktdd-noop{}@position-try --uktdd-top-start{position-area:block-start span-inline-end}@position-try --uktdd-bottom-start{position-area:block-end span-inline-end}@position-try --uktdd-bottom-end{position-area:block-end span-inline-start}@position-try --uktdd-top-end{position-area:block-start span-inline-start}@position-try --uktdd-submenu-inline-start{position-area:inline-start span-block-end}@position-try --uktdd-fill-bottom{position-area:block-end;block-size:calc(100% - var(--uktdd-body-gap) * 2);min-block-size:min(var(--uktdd-body-min-height), var(--uktdd-body-max-height), calc((100dvb - anchor-size(block)) / 2 - var(--uktdd-body-gap) * 2));justify-self:anchor-center}@position-try --uktdd-fill-top{position-area:block-start;block-size:calc(100% - var(--uktdd-body-gap) * 2);min-block-size:min(var(--uktdd-body-min-height), var(--uktdd-body-max-height), calc((100dvb - anchor-size(block)) / 2 - var(--uktdd-body-gap) * 2));justify-self:anchor-center}@position-try --uktdd-fill{block-size:calc(100% - var(--uktdd-body-gap) * 2)}@position-try --uktdd-submenu-fill{position-area:inline-end;block-size:calc(100% - var(--uktdd-body-gap) * 2);align-self:anchor-center}@position-try --uktdd-fill-cover{position-area:span-all span-inline-end;block-size:calc(100% - var(--uktdd-body-gap) * 2);align-self:anchor-center}";
|
|
13
13
|
//#endregion
|
|
14
14
|
//#region src/helpers.ts
|
|
15
15
|
var ITEM_SELECTOR = "[data-ukt-item], [data-ukt-value]";
|
|
16
16
|
var SUBMENU_SELECTOR = "[data-ukt-submenu]";
|
|
17
17
|
var DISABLED_ITEM_SELECTOR = "[aria-disabled=\"true\"]";
|
|
18
|
+
var FOCUSABLE_SELECTOR = "a[href], button, input, select, textarea, [tabindex]";
|
|
18
19
|
var getBodyElement = (dropdownElement) => dropdownElement?.querySelector(".uktdropdown-body") ?? null;
|
|
19
20
|
var getLevelRoot = (element) => element.closest(SUBMENU_SELECTOR);
|
|
20
21
|
var getSubmenuOfItem = (item) => {
|
|
@@ -115,6 +116,51 @@ var getDeepestExpandedItem = (dropdownElement) => {
|
|
|
115
116
|
return expanded.length ? expanded[expanded.length - 1] : null;
|
|
116
117
|
};
|
|
117
118
|
var isItemExpanded = (item) => item.getAttribute("aria-expanded") === "true";
|
|
119
|
+
var getTriggerElement = (dropdownElement) => {
|
|
120
|
+
const firstChild = dropdownElement?.firstElementChild;
|
|
121
|
+
if (!firstChild) return null;
|
|
122
|
+
return firstChild.matches("a[href], button, input, select, textarea, [tabindex]") ? firstChild : firstChild.querySelector(FOCUSABLE_SELECTOR);
|
|
123
|
+
};
|
|
124
|
+
var ensureItemId = (dropdownElement, item) => {
|
|
125
|
+
const generatedId = item.dataset.uktGeneratedId;
|
|
126
|
+
if (item.id && item.id !== generatedId) return item.id;
|
|
127
|
+
const indexes = [];
|
|
128
|
+
let current = item;
|
|
129
|
+
while (current) {
|
|
130
|
+
const levelRoot = getLevelRoot(current);
|
|
131
|
+
const itemElements = getItemElements(dropdownElement, levelRoot) ?? [];
|
|
132
|
+
indexes.unshift(itemElements.indexOf(current));
|
|
133
|
+
if (!levelRoot) break;
|
|
134
|
+
current = getParentItem(levelRoot);
|
|
135
|
+
}
|
|
136
|
+
const id = `${getBodyElement(dropdownElement)?.id ?? "uktdd"}-${indexes.join("-")}`;
|
|
137
|
+
const existing = item.ownerDocument.getElementById(id);
|
|
138
|
+
if (existing && existing !== item && existing.dataset.uktGeneratedId === id) {
|
|
139
|
+
existing.removeAttribute("id");
|
|
140
|
+
delete existing.dataset.uktGeneratedId;
|
|
141
|
+
}
|
|
142
|
+
item.id = id;
|
|
143
|
+
item.dataset.uktGeneratedId = id;
|
|
144
|
+
return id;
|
|
145
|
+
};
|
|
146
|
+
var syncActiveDescendant = (dropdownElement) => {
|
|
147
|
+
const trigger = getTriggerElement(dropdownElement);
|
|
148
|
+
if (!trigger) return;
|
|
149
|
+
const activeItem = getActiveItemElement(dropdownElement);
|
|
150
|
+
if (!activeItem) {
|
|
151
|
+
trigger.removeAttribute("aria-activedescendant");
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
trigger.setAttribute("aria-activedescendant", ensureItemId(dropdownElement, activeItem));
|
|
155
|
+
};
|
|
156
|
+
var clearActiveItems = (dropdownElement, scopes) => {
|
|
157
|
+
for (const scope of Array.isArray(scopes) ? scopes : [scopes]) {
|
|
158
|
+
delete scope.dataset.uktActive;
|
|
159
|
+
for (const active of Array.from(scope.querySelectorAll("[data-ukt-active]"))) delete active.dataset.uktActive;
|
|
160
|
+
}
|
|
161
|
+
syncActiveDescendant(dropdownElement);
|
|
162
|
+
};
|
|
163
|
+
var getDropdownRoot = (element) => element.closest(".uktdropdown");
|
|
118
164
|
var submenuIdCounter = 0;
|
|
119
165
|
var ensureSubmenuARIA = (item, submenu) => {
|
|
120
166
|
if (!submenu.hasAttribute("role")) submenu.setAttribute("role", "menu");
|
|
@@ -155,7 +201,7 @@ var collapseItem = (item, onToggleSubmenu) => {
|
|
|
155
201
|
if (submenu) {
|
|
156
202
|
const expandedDescendants = Array.from(submenu.querySelectorAll("[aria-expanded=\"true\"]")).filter((descendant) => descendant.matches(ITEM_SELECTOR));
|
|
157
203
|
for (const descendant of expandedDescendants) collapseItem(descendant, onToggleSubmenu);
|
|
158
|
-
|
|
204
|
+
clearActiveItems(getDropdownRoot(item), submenu);
|
|
159
205
|
}
|
|
160
206
|
item.setAttribute("aria-expanded", "false");
|
|
161
207
|
onToggleSubmenu?.(item, false);
|
|
@@ -169,12 +215,6 @@ var collapseItemsOutsidePath = (dropdownElement, element, onToggleSubmenu) => {
|
|
|
169
215
|
collapseItem(item, onToggleSubmenu);
|
|
170
216
|
}
|
|
171
217
|
};
|
|
172
|
-
var clearItemElementsState = (itemElements) => {
|
|
173
|
-
itemElements.forEach((itemElement) => {
|
|
174
|
-
if (itemElement.hasAttribute("data-ukt-active")) delete itemElement.dataset.uktActive;
|
|
175
|
-
for (const active of Array.from(itemElement.querySelectorAll("[data-ukt-active]"))) delete active.dataset.uktActive;
|
|
176
|
-
});
|
|
177
|
-
};
|
|
178
218
|
var setActiveChain = (dropdownElement, element) => {
|
|
179
219
|
const chain = /* @__PURE__ */ new Set([element]);
|
|
180
220
|
let levelRoot = getLevelRoot(element);
|
|
@@ -186,6 +226,7 @@ var setActiveChain = (dropdownElement, element) => {
|
|
|
186
226
|
}
|
|
187
227
|
for (const active of getActiveItemElements(dropdownElement) ?? []) if (!chain.has(active)) delete active.dataset.uktActive;
|
|
188
228
|
for (const item of chain) item.setAttribute("data-ukt-active", "");
|
|
229
|
+
syncActiveDescendant(dropdownElement);
|
|
189
230
|
};
|
|
190
231
|
var setActiveItem = ({ dropdownElement, element, event, index, indexAddend, isExactMatch, onActiveItem, text }) => {
|
|
191
232
|
const currentDeepest = getActiveItemElement(dropdownElement);
|
|
@@ -204,14 +245,14 @@ var setActiveItem = ({ dropdownElement, element, event, index, indexAddend, isEx
|
|
|
204
245
|
nextActiveIndex = Math.max(0, Math.min(nextActiveIndex, lastIndex));
|
|
205
246
|
} else if (typeof text === "string") {
|
|
206
247
|
if (!text) {
|
|
207
|
-
|
|
248
|
+
clearActiveItems(dropdownElement, itemElements);
|
|
208
249
|
return null;
|
|
209
250
|
}
|
|
210
251
|
const itemTexts = itemElements.map(getItemLabel);
|
|
211
252
|
if (isExactMatch) {
|
|
212
253
|
const textToCompare = text.toLowerCase();
|
|
213
254
|
nextActiveIndex = itemTexts.findIndex((itemText) => itemText.toLowerCase().startsWith(textToCompare));
|
|
214
|
-
if (nextActiveIndex === -1)
|
|
255
|
+
if (nextActiveIndex === -1) clearActiveItems(dropdownElement, itemElements);
|
|
215
256
|
} else {
|
|
216
257
|
const bestMatch = getBestMatch({
|
|
217
258
|
items: itemTexts,
|
|
@@ -268,8 +309,17 @@ var compareDocumentOrder = (a, b) => {
|
|
|
268
309
|
return 0;
|
|
269
310
|
};
|
|
270
311
|
var NON_MENU_CONTROL_SELECTOR = "a[href], button, input, select, textarea, [tabindex]";
|
|
312
|
+
var findNextEnabledMember = (members, fromIndex, direction) => {
|
|
313
|
+
const { length } = members;
|
|
314
|
+
for (let step = 1; step < length; step++) {
|
|
315
|
+
const member = members[((fromIndex + direction * step) % length + length) % length];
|
|
316
|
+
if (!member.isDisabled()) return member;
|
|
317
|
+
}
|
|
318
|
+
return null;
|
|
319
|
+
};
|
|
320
|
+
var canHoldTabStop = (member) => !member.isDisabled() && member.isMenuPopup();
|
|
271
321
|
function Menubar(t0) {
|
|
272
|
-
const $ = c(
|
|
322
|
+
const $ = c(22);
|
|
273
323
|
const { children, className, style } = t0;
|
|
274
324
|
let t1;
|
|
275
325
|
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -277,6 +327,8 @@ function Menubar(t0) {
|
|
|
277
327
|
$[0] = t1;
|
|
278
328
|
} else t1 = $[0];
|
|
279
329
|
const membersRef = useRef(t1);
|
|
330
|
+
const [tabbableElement, setTabbableElement] = useState(null);
|
|
331
|
+
const [reconcileCount, reconcile] = useReducer(_temp, 0);
|
|
280
332
|
const engagedMemberRef = useRef(null);
|
|
281
333
|
let t2;
|
|
282
334
|
if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -286,134 +338,174 @@ function Menubar(t0) {
|
|
|
286
338
|
const getOrderedMembersRef = useRef(t2);
|
|
287
339
|
const getOrderedMembers = getOrderedMembersRef.current;
|
|
288
340
|
let t3;
|
|
289
|
-
if ($[2]
|
|
290
|
-
t3 = {
|
|
341
|
+
if ($[2] !== tabbableElement) {
|
|
342
|
+
t3 = () => {
|
|
343
|
+
const members = getOrderedMembersRef.current();
|
|
344
|
+
const owner = members.find((member) => member.element === tabbableElement);
|
|
345
|
+
if (owner && canHoldTabStop(owner)) return;
|
|
346
|
+
const nextOwner = members.find(canHoldTabStop);
|
|
347
|
+
setTabbableElement(nextOwner?.element ?? null);
|
|
348
|
+
};
|
|
349
|
+
$[2] = tabbableElement;
|
|
350
|
+
$[3] = t3;
|
|
351
|
+
} else t3 = $[3];
|
|
352
|
+
let t4;
|
|
353
|
+
if ($[4] !== reconcileCount || $[5] !== tabbableElement) {
|
|
354
|
+
t4 = [reconcileCount, tabbableElement];
|
|
355
|
+
$[4] = reconcileCount;
|
|
356
|
+
$[5] = tabbableElement;
|
|
357
|
+
$[6] = t4;
|
|
358
|
+
} else t4 = $[6];
|
|
359
|
+
useEffect(t3, t4);
|
|
360
|
+
let t5;
|
|
361
|
+
if ($[7] !== tabbableElement) {
|
|
362
|
+
t5 = {
|
|
291
363
|
moveOpen(fromElement, direction) {
|
|
292
|
-
const
|
|
293
|
-
if (
|
|
294
|
-
const index =
|
|
364
|
+
const members_0 = getOrderedMembersRef.current();
|
|
365
|
+
if (members_0.length < 2) return;
|
|
366
|
+
const index = members_0.findIndex((member_0) => member_0.element === fromElement);
|
|
295
367
|
if (index === -1) return;
|
|
296
|
-
const
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
368
|
+
const next = findNextEnabledMember(members_0, index, direction);
|
|
369
|
+
if (!next) return;
|
|
370
|
+
members_0[index].close();
|
|
371
|
+
next.open();
|
|
372
|
+
next.focusTrigger();
|
|
300
373
|
},
|
|
301
374
|
notifyClosed(element) {
|
|
302
375
|
if (engagedMemberRef.current === element) engagedMemberRef.current = null;
|
|
303
376
|
},
|
|
304
377
|
notifyOpened(element_0) {
|
|
305
378
|
engagedMemberRef.current = element_0;
|
|
306
|
-
for (const
|
|
379
|
+
for (const member_1 of membersRef.current) if (member_1.element !== element_0 && member_1.isOpen()) member_1.close();
|
|
307
380
|
},
|
|
308
|
-
registerMember(
|
|
309
|
-
membersRef.current.add(
|
|
381
|
+
registerMember(member_2) {
|
|
382
|
+
membersRef.current.add(member_2);
|
|
383
|
+
setTabbableElement((current) => current == null && canHoldTabStop(member_2) ? member_2.element : current);
|
|
310
384
|
return () => {
|
|
311
|
-
membersRef.current.delete(
|
|
385
|
+
membersRef.current.delete(member_2);
|
|
386
|
+
reconcile();
|
|
312
387
|
};
|
|
313
|
-
}
|
|
388
|
+
},
|
|
389
|
+
tabbableElement
|
|
314
390
|
};
|
|
315
|
-
$[
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
391
|
+
$[7] = tabbableElement;
|
|
392
|
+
$[8] = t5;
|
|
393
|
+
} else t5 = $[8];
|
|
394
|
+
const contextValue = t5;
|
|
395
|
+
let t6;
|
|
396
|
+
if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
|
|
397
|
+
t6 = (event) => {
|
|
321
398
|
const { key } = event;
|
|
322
399
|
if (key !== "ArrowLeft" && key !== "ArrowRight") return;
|
|
323
|
-
const
|
|
324
|
-
if (
|
|
325
|
-
if (
|
|
400
|
+
const members_1 = getOrderedMembers();
|
|
401
|
+
if (members_1.length < 2) return;
|
|
402
|
+
if (members_1.some(_temp2)) return;
|
|
326
403
|
const eventTarget = event.target;
|
|
327
|
-
const index_0 =
|
|
404
|
+
const index_0 = members_1.findIndex((member_4) => member_4.element.contains(eventTarget));
|
|
328
405
|
if (index_0 === -1) return;
|
|
329
406
|
event.preventDefault();
|
|
330
407
|
event.stopPropagation();
|
|
331
|
-
|
|
408
|
+
const next_0 = findNextEnabledMember(members_1, index_0, key === "ArrowRight" ? 1 : -1);
|
|
409
|
+
if (!next_0) return;
|
|
410
|
+
next_0.focusTrigger();
|
|
332
411
|
};
|
|
333
|
-
$[
|
|
334
|
-
} else
|
|
335
|
-
const handleKeyDown =
|
|
336
|
-
let
|
|
337
|
-
if ($[
|
|
338
|
-
|
|
412
|
+
$[9] = t6;
|
|
413
|
+
} else t6 = $[9];
|
|
414
|
+
const handleKeyDown = t6;
|
|
415
|
+
let t7;
|
|
416
|
+
if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
|
|
417
|
+
t7 = (eventTarget_0) => {
|
|
339
418
|
if (engagedMemberRef.current == null) return;
|
|
340
|
-
const
|
|
341
|
-
if (!
|
|
419
|
+
const members_2 = getOrderedMembers();
|
|
420
|
+
if (!members_2.some((m) => m.element === engagedMemberRef.current)) {
|
|
342
421
|
engagedMemberRef.current = null;
|
|
343
422
|
return;
|
|
344
423
|
}
|
|
345
|
-
const
|
|
346
|
-
if (
|
|
347
|
-
if (
|
|
424
|
+
const member_5 = members_2.find((m_0) => m_0.element.contains(eventTarget_0));
|
|
425
|
+
if (member_5) {
|
|
426
|
+
if (member_5.isDisabled()) return;
|
|
427
|
+
if (!member_5.isOpen()) member_5.open();
|
|
348
428
|
return;
|
|
349
429
|
}
|
|
350
430
|
if (!eventTarget_0.closest(NON_MENU_CONTROL_SELECTOR)) return;
|
|
351
|
-
for (const openMember of
|
|
431
|
+
for (const openMember of members_2) if (openMember.isOpen()) openMember.close();
|
|
352
432
|
};
|
|
353
|
-
$[
|
|
354
|
-
} else
|
|
355
|
-
const switchToMemberAt =
|
|
356
|
-
let
|
|
357
|
-
if ($[
|
|
358
|
-
|
|
359
|
-
|
|
433
|
+
$[10] = t7;
|
|
434
|
+
} else t7 = $[10];
|
|
435
|
+
const switchToMemberAt = t7;
|
|
436
|
+
let t8;
|
|
437
|
+
if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
|
|
438
|
+
t8 = (event_0) => {
|
|
439
|
+
const eventTarget_1 = event_0.target;
|
|
440
|
+
const member_6 = getOrderedMembers().find((m_1) => m_1.element.contains(eventTarget_1));
|
|
441
|
+
if (member_6 && canHoldTabStop(member_6)) setTabbableElement(member_6.element);
|
|
442
|
+
switchToMemberAt(eventTarget_1);
|
|
360
443
|
};
|
|
361
|
-
$[
|
|
362
|
-
} else
|
|
363
|
-
const handleFocus =
|
|
364
|
-
let
|
|
365
|
-
if ($[
|
|
366
|
-
|
|
444
|
+
$[11] = t8;
|
|
445
|
+
} else t8 = $[11];
|
|
446
|
+
const handleFocus = t8;
|
|
447
|
+
let t9;
|
|
448
|
+
if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
449
|
+
t9 = (event_1) => {
|
|
367
450
|
switchToMemberAt(event_1.target);
|
|
368
451
|
};
|
|
369
|
-
$[
|
|
370
|
-
} else
|
|
371
|
-
const handleMouseOver =
|
|
372
|
-
let
|
|
373
|
-
if ($[
|
|
374
|
-
|
|
375
|
-
$[
|
|
376
|
-
$[
|
|
377
|
-
} else
|
|
378
|
-
let
|
|
379
|
-
if ($[
|
|
380
|
-
|
|
452
|
+
$[12] = t9;
|
|
453
|
+
} else t9 = $[12];
|
|
454
|
+
const handleMouseOver = t9;
|
|
455
|
+
let t10;
|
|
456
|
+
if ($[13] !== className) {
|
|
457
|
+
t10 = clsx("uktmenubar", className);
|
|
458
|
+
$[13] = className;
|
|
459
|
+
$[14] = t10;
|
|
460
|
+
} else t10 = $[14];
|
|
461
|
+
let t11;
|
|
462
|
+
if ($[15] !== children || $[16] !== contextValue) {
|
|
463
|
+
t11 = /* @__PURE__ */ jsx(MenubarContext.Provider, {
|
|
381
464
|
value: contextValue,
|
|
382
465
|
children
|
|
383
466
|
});
|
|
384
|
-
$[
|
|
385
|
-
$[
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
467
|
+
$[15] = children;
|
|
468
|
+
$[16] = contextValue;
|
|
469
|
+
$[17] = t11;
|
|
470
|
+
} else t11 = $[17];
|
|
471
|
+
let t12;
|
|
472
|
+
if ($[18] !== style || $[19] !== t10 || $[20] !== t11) {
|
|
473
|
+
t12 = /* @__PURE__ */ jsx("div", {
|
|
474
|
+
className: t10,
|
|
391
475
|
onFocus: handleFocus,
|
|
392
476
|
onKeyDown: handleKeyDown,
|
|
393
477
|
onMouseOver: handleMouseOver,
|
|
394
478
|
role: "menubar",
|
|
395
479
|
style,
|
|
396
|
-
children:
|
|
480
|
+
children: t11
|
|
397
481
|
});
|
|
398
|
-
$[
|
|
399
|
-
$[
|
|
400
|
-
$[
|
|
401
|
-
$[
|
|
402
|
-
} else
|
|
403
|
-
return
|
|
482
|
+
$[18] = style;
|
|
483
|
+
$[19] = t10;
|
|
484
|
+
$[20] = t11;
|
|
485
|
+
$[21] = t12;
|
|
486
|
+
} else t12 = $[21];
|
|
487
|
+
return t12;
|
|
488
|
+
}
|
|
489
|
+
function _temp2(member_3) {
|
|
490
|
+
return member_3.isOpen();
|
|
404
491
|
}
|
|
405
|
-
function _temp(
|
|
406
|
-
return
|
|
492
|
+
function _temp(count) {
|
|
493
|
+
return count + 1;
|
|
407
494
|
}
|
|
408
495
|
//#endregion
|
|
409
496
|
//#region src/Dropdown.tsx
|
|
410
497
|
var CHILDREN_ERROR = "@acusti/dropdown requires either 1 child (the dropdown body) or 2 children: the dropdown trigger and the dropdown body.";
|
|
411
498
|
var CLICKABLE_SELECTOR = "button, a[href], input[type=\"button\"], input[type=\"submit\"]";
|
|
412
|
-
var
|
|
413
|
-
var TEXT_INPUT_SELECTOR = "input:not([type=radio]):not([type=checkbox]):not([type=range]),textarea";
|
|
499
|
+
var TEXT_INPUT_SELECTOR = `input${NON_TEXT_INPUT_TYPES.map((type) => `:not([type=${type}])`).join("")},textarea`;
|
|
414
500
|
var SUBMENU_DISCLOSURE_DELAY = 200;
|
|
415
501
|
var SAFE_AREA_TIMEOUT = 300;
|
|
416
502
|
var HOVER_CLOSE_DELAY = 150;
|
|
503
|
+
var isTextInputElement = (element) => {
|
|
504
|
+
if (element.type === "textarea") return true;
|
|
505
|
+
if (element.type !== "input") return false;
|
|
506
|
+
const { type } = element.props;
|
|
507
|
+
return type == null || !NON_TEXT_INPUT_TYPES.includes(type);
|
|
508
|
+
};
|
|
417
509
|
function Dropdown(props) {
|
|
418
510
|
const $ = c(5);
|
|
419
511
|
const parentDropdown = useContext(DropdownContext);
|
|
@@ -439,7 +531,7 @@ function Dropdown(props) {
|
|
|
439
531
|
return t0;
|
|
440
532
|
}
|
|
441
533
|
function RootDropdown(t0) {
|
|
442
|
-
const $ = c(
|
|
534
|
+
const $ = c(188);
|
|
443
535
|
const { allowCreate, allowEmpty: t1, children, className, disabled, hasItems: t2, isOpenOnMount, isSearchable, keepOpenOnSubmit: t3, label, name, onActiveItem, onClick, onClose, onMouseDown, onMouseUp, onOpen, onSubmitItem, openOnHover, placeholder, style: styleFromProps, tabIndex, value } = t0;
|
|
444
536
|
const allowEmpty = t1 === void 0 ? true : t1;
|
|
445
537
|
const hasItems = t2 === void 0 ? true : t2;
|
|
@@ -467,8 +559,13 @@ function RootDropdown(t0) {
|
|
|
467
559
|
const [isOpening, setIsOpening] = useState(!isOpenOnMount);
|
|
468
560
|
const [dropdownElement, setDropdownElement] = useState(null);
|
|
469
561
|
const bodyId = useId();
|
|
562
|
+
const triggerId = `${bodyId}-trigger`;
|
|
563
|
+
const labelId = `${bodyId}-label`;
|
|
470
564
|
const popupRole = isSearchable ? "listbox" : hasItems ? "menu" : "dialog";
|
|
471
565
|
const menubar = useContext(MenubarContext);
|
|
566
|
+
const isMenubarMember = menubar != null;
|
|
567
|
+
const isMenubarItem = isMenubarMember && popupRole === "menu";
|
|
568
|
+
const menubarTabIndex = !isMenubarItem ? void 0 : menubar.tabbableElement === dropdownElement ? 0 : -1;
|
|
472
569
|
const inputElementRef = useRef(null);
|
|
473
570
|
const consumerOwnsARIASelectedRef = useRef(false);
|
|
474
571
|
let t5;
|
|
@@ -497,65 +594,51 @@ function RootDropdown(t0) {
|
|
|
497
594
|
const safeAreaTimerRef = useRef(null);
|
|
498
595
|
const wasInSafeAreaRef = useRef(false);
|
|
499
596
|
const hoverCloseTimerRef = useRef(null);
|
|
500
|
-
const allowCreateRef = useRef(allowCreate);
|
|
501
|
-
const allowEmptyRef = useRef(allowEmpty);
|
|
502
|
-
const hasItemsRef = useRef(hasItems);
|
|
503
597
|
const isOpenRef = useRef(isOpen);
|
|
504
598
|
const isOpeningRef = useRef(isOpening);
|
|
505
|
-
const keepOpenOnSubmitRef = useRef(keepOpenOnSubmit);
|
|
506
599
|
const onCloseRef = useRef(onClose);
|
|
507
600
|
const onOpenRef = useRef(onOpen);
|
|
508
|
-
const onSubmitItemRef = useRef(onSubmitItem);
|
|
509
|
-
const valueRef = useRef(valueIdentity);
|
|
510
601
|
let t7;
|
|
511
602
|
let t8;
|
|
512
|
-
if ($[7] !==
|
|
603
|
+
if ($[7] !== isOpen || $[8] !== isOpening || $[9] !== onClose || $[10] !== onOpen) {
|
|
513
604
|
t7 = () => {
|
|
514
|
-
allowCreateRef.current = allowCreate;
|
|
515
|
-
allowEmptyRef.current = allowEmpty;
|
|
516
|
-
hasItemsRef.current = hasItems;
|
|
517
605
|
isOpenRef.current = isOpen;
|
|
518
606
|
isOpeningRef.current = isOpening;
|
|
519
|
-
keepOpenOnSubmitRef.current = keepOpenOnSubmit;
|
|
520
607
|
onCloseRef.current = onClose;
|
|
521
608
|
onOpenRef.current = onOpen;
|
|
522
|
-
onSubmitItemRef.current = onSubmitItem;
|
|
523
|
-
valueRef.current = valueIdentity;
|
|
524
609
|
};
|
|
525
610
|
t8 = [
|
|
526
|
-
allowCreate,
|
|
527
|
-
allowEmpty,
|
|
528
|
-
hasItems,
|
|
529
611
|
isOpen,
|
|
530
612
|
isOpening,
|
|
531
|
-
keepOpenOnSubmit,
|
|
532
613
|
onClose,
|
|
533
|
-
onOpen
|
|
534
|
-
onSubmitItem,
|
|
535
|
-
valueIdentity
|
|
614
|
+
onOpen
|
|
536
615
|
];
|
|
537
|
-
$[7] =
|
|
538
|
-
$[8] =
|
|
539
|
-
$[9] =
|
|
540
|
-
$[10] =
|
|
541
|
-
$[11] =
|
|
542
|
-
$[12] =
|
|
543
|
-
$[13] = onClose;
|
|
544
|
-
$[14] = onOpen;
|
|
545
|
-
$[15] = onSubmitItem;
|
|
546
|
-
$[16] = valueIdentity;
|
|
547
|
-
$[17] = t7;
|
|
548
|
-
$[18] = t8;
|
|
616
|
+
$[7] = isOpen;
|
|
617
|
+
$[8] = isOpening;
|
|
618
|
+
$[9] = onClose;
|
|
619
|
+
$[10] = onOpen;
|
|
620
|
+
$[11] = t7;
|
|
621
|
+
$[12] = t8;
|
|
549
622
|
} else {
|
|
550
|
-
t7 = $[
|
|
551
|
-
t8 = $[
|
|
623
|
+
t7 = $[11];
|
|
624
|
+
t8 = $[12];
|
|
552
625
|
}
|
|
553
626
|
useEffect(t7, t8);
|
|
554
|
-
const isMountedRef = useRef(false);
|
|
555
|
-
let t10;
|
|
556
627
|
let t9;
|
|
557
|
-
if ($[
|
|
628
|
+
if ($[13] !== dropdownElement || $[14] !== isOpen) {
|
|
558
629
|
t9 = () => {
|
|
630
|
+
if (isOpen) syncActiveDescendant(dropdownElement);
|
|
631
|
+
};
|
|
632
|
+
$[13] = dropdownElement;
|
|
633
|
+
$[14] = isOpen;
|
|
634
|
+
$[15] = t9;
|
|
635
|
+
} else t9 = $[15];
|
|
636
|
+
useLayoutEffect(t9);
|
|
637
|
+
const isMountedRef = useRef(false);
|
|
638
|
+
let t10;
|
|
639
|
+
let t11;
|
|
640
|
+
if ($[16] !== isOpen) {
|
|
641
|
+
t10 = () => {
|
|
559
642
|
if (!isMountedRef.current) {
|
|
560
643
|
isMountedRef.current = true;
|
|
561
644
|
if (isOpenRef.current && onOpenRef.current) onOpenRef.current();
|
|
@@ -564,48 +647,48 @@ function RootDropdown(t0) {
|
|
|
564
647
|
if (isOpen && onOpenRef.current) onOpenRef.current();
|
|
565
648
|
else if (!isOpen && onCloseRef.current) onCloseRef.current();
|
|
566
649
|
};
|
|
567
|
-
|
|
568
|
-
$[
|
|
569
|
-
$[
|
|
570
|
-
$[
|
|
650
|
+
t11 = [isOpen];
|
|
651
|
+
$[16] = isOpen;
|
|
652
|
+
$[17] = t10;
|
|
653
|
+
$[18] = t11;
|
|
571
654
|
} else {
|
|
572
|
-
t10 = $[
|
|
573
|
-
|
|
655
|
+
t10 = $[17];
|
|
656
|
+
t11 = $[18];
|
|
574
657
|
}
|
|
575
|
-
useEffect(
|
|
576
|
-
let
|
|
577
|
-
if ($[
|
|
578
|
-
|
|
658
|
+
useEffect(t10, t11);
|
|
659
|
+
let t12;
|
|
660
|
+
if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
|
|
661
|
+
t12 = { registerSubmenu(registration) {
|
|
579
662
|
submenuRegistrationsRef.current.add(registration);
|
|
580
663
|
return () => {
|
|
581
664
|
submenuRegistrationsRef.current.delete(registration);
|
|
582
665
|
};
|
|
583
666
|
} };
|
|
584
|
-
$[
|
|
585
|
-
} else
|
|
586
|
-
const dropdownContextValue =
|
|
587
|
-
let
|
|
588
|
-
if ($[
|
|
589
|
-
|
|
667
|
+
$[19] = t12;
|
|
668
|
+
} else t12 = $[19];
|
|
669
|
+
const dropdownContextValue = t12;
|
|
670
|
+
let t13;
|
|
671
|
+
if ($[20] === Symbol.for("react.memo_cache_sentinel")) {
|
|
672
|
+
t13 = (key, payload) => {
|
|
590
673
|
if (!payload.element) return;
|
|
591
674
|
for (const registration_0 of submenuRegistrationsRef.current) if (registration_0.element.contains(payload.element)) registration_0[key]?.(payload);
|
|
592
675
|
};
|
|
593
|
-
$[
|
|
594
|
-
} else
|
|
595
|
-
const dispatchToSubmenus =
|
|
596
|
-
let
|
|
597
|
-
if ($[
|
|
598
|
-
|
|
676
|
+
$[20] = t13;
|
|
677
|
+
} else t13 = $[20];
|
|
678
|
+
const dispatchToSubmenus = t13;
|
|
679
|
+
let t14;
|
|
680
|
+
if ($[21] !== onActiveItem) {
|
|
681
|
+
t14 = (payload_0) => {
|
|
599
682
|
onActiveItem?.(payload_0);
|
|
600
683
|
dispatchToSubmenus("onActiveItem", payload_0);
|
|
601
684
|
};
|
|
602
|
-
$[
|
|
603
|
-
$[
|
|
604
|
-
} else
|
|
605
|
-
const handleActiveItem =
|
|
606
|
-
let
|
|
607
|
-
if ($[
|
|
608
|
-
|
|
685
|
+
$[21] = onActiveItem;
|
|
686
|
+
$[22] = t14;
|
|
687
|
+
} else t14 = $[22];
|
|
688
|
+
const handleActiveItem = t14;
|
|
689
|
+
let t15;
|
|
690
|
+
if ($[23] === Symbol.for("react.memo_cache_sentinel")) {
|
|
691
|
+
t15 = (item, isExpanded) => {
|
|
609
692
|
const submenu = getSubmenuOfItem(item);
|
|
610
693
|
if (submenu) {
|
|
611
694
|
const isShown = submenu.matches(":popover-open");
|
|
@@ -614,36 +697,36 @@ function RootDropdown(t0) {
|
|
|
614
697
|
}
|
|
615
698
|
for (const registration_1 of submenuRegistrationsRef.current) if (registration_1.element === item) (isExpanded ? registration_1.onOpen : registration_1.onClose)?.();
|
|
616
699
|
};
|
|
617
|
-
$[
|
|
618
|
-
} else
|
|
619
|
-
const handleToggleSubmenu =
|
|
620
|
-
let
|
|
621
|
-
if ($[
|
|
622
|
-
|
|
700
|
+
$[23] = t15;
|
|
701
|
+
} else t15 = $[23];
|
|
702
|
+
const handleToggleSubmenu = t15;
|
|
703
|
+
let t16;
|
|
704
|
+
if ($[24] === Symbol.for("react.memo_cache_sentinel")) {
|
|
705
|
+
t16 = () => {
|
|
623
706
|
if (disclosureTimerRef.current != null) {
|
|
624
707
|
clearTimeout(disclosureTimerRef.current);
|
|
625
708
|
disclosureTimerRef.current = null;
|
|
626
709
|
}
|
|
627
710
|
pendingDisclosureItemRef.current = null;
|
|
628
711
|
};
|
|
629
|
-
$[
|
|
630
|
-
} else
|
|
631
|
-
const clearDisclosureTimer =
|
|
632
|
-
let t16;
|
|
712
|
+
$[24] = t16;
|
|
713
|
+
} else t16 = $[24];
|
|
714
|
+
const clearDisclosureTimer = t16;
|
|
633
715
|
let t17;
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
t17 =
|
|
637
|
-
|
|
638
|
-
$[
|
|
716
|
+
let t18;
|
|
717
|
+
if ($[25] === Symbol.for("react.memo_cache_sentinel")) {
|
|
718
|
+
t17 = () => clearDisclosureTimer;
|
|
719
|
+
t18 = [];
|
|
720
|
+
$[25] = t17;
|
|
721
|
+
$[26] = t18;
|
|
639
722
|
} else {
|
|
640
|
-
|
|
641
|
-
|
|
723
|
+
t17 = $[25];
|
|
724
|
+
t18 = $[26];
|
|
642
725
|
}
|
|
643
|
-
useEffect(
|
|
644
|
-
let
|
|
645
|
-
if ($[
|
|
646
|
-
|
|
726
|
+
useEffect(t17, t18);
|
|
727
|
+
let t19;
|
|
728
|
+
if ($[27] !== dropdownElement) {
|
|
729
|
+
t19 = () => {
|
|
647
730
|
if (!dropdownElement) return;
|
|
648
731
|
const activeElement = getActiveItemElement(dropdownElement);
|
|
649
732
|
collapseItemsOutsidePath(dropdownElement, activeElement, handleToggleSubmenu);
|
|
@@ -662,36 +745,36 @@ function RootDropdown(t0) {
|
|
|
662
745
|
}
|
|
663
746
|
clearDisclosureTimer();
|
|
664
747
|
};
|
|
665
|
-
$[
|
|
666
|
-
$[
|
|
667
|
-
} else
|
|
668
|
-
const syncSubmenuDisclosure =
|
|
669
|
-
let
|
|
670
|
-
if ($[
|
|
671
|
-
|
|
748
|
+
$[27] = dropdownElement;
|
|
749
|
+
$[28] = t19;
|
|
750
|
+
} else t19 = $[28];
|
|
751
|
+
const syncSubmenuDisclosure = t19;
|
|
752
|
+
let t20;
|
|
753
|
+
if ($[29] === Symbol.for("react.memo_cache_sentinel")) {
|
|
754
|
+
t20 = () => {
|
|
672
755
|
if (safeAreaTimerRef.current != null) {
|
|
673
756
|
clearTimeout(safeAreaTimerRef.current);
|
|
674
757
|
safeAreaTimerRef.current = null;
|
|
675
758
|
}
|
|
676
759
|
};
|
|
677
|
-
$[
|
|
678
|
-
} else
|
|
679
|
-
const clearSafeAreaTimer =
|
|
680
|
-
let t20;
|
|
760
|
+
$[29] = t20;
|
|
761
|
+
} else t20 = $[29];
|
|
762
|
+
const clearSafeAreaTimer = t20;
|
|
681
763
|
let t21;
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
t21 =
|
|
685
|
-
|
|
686
|
-
$[
|
|
764
|
+
let t22;
|
|
765
|
+
if ($[30] === Symbol.for("react.memo_cache_sentinel")) {
|
|
766
|
+
t21 = () => clearSafeAreaTimer;
|
|
767
|
+
t22 = [];
|
|
768
|
+
$[30] = t21;
|
|
769
|
+
$[31] = t22;
|
|
687
770
|
} else {
|
|
688
|
-
|
|
689
|
-
|
|
771
|
+
t21 = $[30];
|
|
772
|
+
t22 = $[31];
|
|
690
773
|
}
|
|
691
|
-
useEffect(
|
|
692
|
-
let
|
|
693
|
-
if ($[
|
|
694
|
-
|
|
774
|
+
useEffect(t21, t22);
|
|
775
|
+
let t23;
|
|
776
|
+
if ($[32] === Symbol.for("react.memo_cache_sentinel")) {
|
|
777
|
+
t23 = (x, y) => {
|
|
695
778
|
const safeArea = safeAreaRef.current;
|
|
696
779
|
if (!safeArea || !isItemExpanded(safeArea.parent)) return false;
|
|
697
780
|
const submenu_1 = getSubmenuOfItem(safeArea.parent);
|
|
@@ -710,12 +793,12 @@ function RootDropdown(t0) {
|
|
|
710
793
|
y: submenuRect.bottom
|
|
711
794
|
});
|
|
712
795
|
};
|
|
713
|
-
$[
|
|
714
|
-
} else
|
|
715
|
-
const isPointerInSafeArea =
|
|
716
|
-
let
|
|
717
|
-
if ($[
|
|
718
|
-
|
|
796
|
+
$[32] = t23;
|
|
797
|
+
} else t23 = $[32];
|
|
798
|
+
const isPointerInSafeArea = t23;
|
|
799
|
+
let t24;
|
|
800
|
+
if ($[33] !== dropdownElement || $[34] !== handleActiveItem || $[35] !== syncSubmenuDisclosure) {
|
|
801
|
+
t24 = (targetElement) => {
|
|
719
802
|
clearSafeAreaTimer();
|
|
720
803
|
safeAreaRef.current = null;
|
|
721
804
|
wasInSafeAreaRef.current = false;
|
|
@@ -732,16 +815,16 @@ function RootDropdown(t0) {
|
|
|
732
815
|
});
|
|
733
816
|
syncSubmenuDisclosure();
|
|
734
817
|
};
|
|
735
|
-
$[
|
|
736
|
-
$[
|
|
737
|
-
$[
|
|
738
|
-
$[
|
|
739
|
-
} else
|
|
740
|
-
const commitPointerTarget =
|
|
741
|
-
let
|
|
742
|
-
if ($[
|
|
743
|
-
|
|
744
|
-
if (!dropdownElement || !isOpenRef.current || !
|
|
818
|
+
$[33] = dropdownElement;
|
|
819
|
+
$[34] = handleActiveItem;
|
|
820
|
+
$[35] = syncSubmenuDisclosure;
|
|
821
|
+
$[36] = t24;
|
|
822
|
+
} else t24 = $[36];
|
|
823
|
+
const commitPointerTarget = t24;
|
|
824
|
+
let t25;
|
|
825
|
+
if ($[37] !== commitPointerTarget || $[38] !== dropdownElement || $[39] !== hasItems) {
|
|
826
|
+
t25 = (event_0) => {
|
|
827
|
+
if (!dropdownElement || !isOpenRef.current || !hasItems) return;
|
|
745
828
|
const pointer_0 = {
|
|
746
829
|
x: event_0.clientX,
|
|
747
830
|
y: event_0.clientY
|
|
@@ -773,37 +856,39 @@ function RootDropdown(t0) {
|
|
|
773
856
|
safeAreaTimerRef.current = setTimeout(commitPointerTarget, SAFE_AREA_TIMEOUT);
|
|
774
857
|
} else if (wasInSafeAreaRef.current) commitPointerTarget(target_0);
|
|
775
858
|
};
|
|
776
|
-
$[
|
|
777
|
-
$[
|
|
778
|
-
$[
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
859
|
+
$[37] = commitPointerTarget;
|
|
860
|
+
$[38] = dropdownElement;
|
|
861
|
+
$[39] = hasItems;
|
|
862
|
+
$[40] = t25;
|
|
863
|
+
} else t25 = $[40];
|
|
864
|
+
const trackSafeArea = t25;
|
|
865
|
+
let t26;
|
|
866
|
+
if ($[41] === Symbol.for("react.memo_cache_sentinel")) {
|
|
867
|
+
t26 = () => {
|
|
784
868
|
if (hoverCloseTimerRef.current != null) {
|
|
785
869
|
clearTimeout(hoverCloseTimerRef.current);
|
|
786
870
|
hoverCloseTimerRef.current = null;
|
|
787
871
|
}
|
|
788
872
|
};
|
|
789
|
-
$[
|
|
790
|
-
} else
|
|
791
|
-
const clearHoverCloseTimer =
|
|
792
|
-
let t26;
|
|
873
|
+
$[41] = t26;
|
|
874
|
+
} else t26 = $[41];
|
|
875
|
+
const clearHoverCloseTimer = t26;
|
|
793
876
|
let t27;
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
t27 =
|
|
797
|
-
|
|
798
|
-
$[
|
|
877
|
+
let t28;
|
|
878
|
+
if ($[42] === Symbol.for("react.memo_cache_sentinel")) {
|
|
879
|
+
t27 = () => clearHoverCloseTimer;
|
|
880
|
+
t28 = [];
|
|
881
|
+
$[42] = t27;
|
|
882
|
+
$[43] = t28;
|
|
799
883
|
} else {
|
|
800
|
-
|
|
801
|
-
|
|
884
|
+
t27 = $[42];
|
|
885
|
+
t28 = $[43];
|
|
802
886
|
}
|
|
803
|
-
useEffect(
|
|
804
|
-
let
|
|
805
|
-
if ($[
|
|
806
|
-
|
|
887
|
+
useEffect(t27, t28);
|
|
888
|
+
let t29;
|
|
889
|
+
if ($[44] !== dropdownElement || $[45] !== menubar) {
|
|
890
|
+
t29 = (options) => {
|
|
891
|
+
getTriggerElement(dropdownElement)?.removeAttribute("aria-activedescendant");
|
|
807
892
|
setIsOpen(false);
|
|
808
893
|
setIsOpening(false);
|
|
809
894
|
mouseDownPositionRef.current = null;
|
|
@@ -818,92 +903,98 @@ function RootDropdown(t0) {
|
|
|
818
903
|
}
|
|
819
904
|
if (menubar && dropdownElement && !options?.keepMenubarEngaged) menubar.notifyClosed(dropdownElement);
|
|
820
905
|
};
|
|
821
|
-
$[
|
|
822
|
-
$[
|
|
823
|
-
$[
|
|
824
|
-
} else
|
|
825
|
-
const closeDropdown =
|
|
826
|
-
let
|
|
827
|
-
if ($[
|
|
828
|
-
|
|
906
|
+
$[44] = dropdownElement;
|
|
907
|
+
$[45] = menubar;
|
|
908
|
+
$[46] = t29;
|
|
909
|
+
} else t29 = $[46];
|
|
910
|
+
const closeDropdown = t29;
|
|
911
|
+
let t30;
|
|
912
|
+
if ($[47] !== disabled || $[48] !== openOnHover) {
|
|
913
|
+
t30 = () => {
|
|
829
914
|
clearHoverCloseTimer();
|
|
830
|
-
if (!openOnHover || isOpenRef.current) return;
|
|
915
|
+
if (disabled || !openOnHover || isOpenRef.current) return;
|
|
831
916
|
setIsOpen(true);
|
|
832
917
|
setIsOpening(false);
|
|
833
918
|
};
|
|
834
|
-
$[
|
|
835
|
-
$[
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
919
|
+
$[47] = disabled;
|
|
920
|
+
$[48] = openOnHover;
|
|
921
|
+
$[49] = t30;
|
|
922
|
+
} else t30 = $[49];
|
|
923
|
+
const handleDropdownMouseEnter = t30;
|
|
924
|
+
let t31;
|
|
925
|
+
if ($[50] !== closeDropdown || $[51] !== openOnHover) {
|
|
926
|
+
t31 = () => {
|
|
841
927
|
if (!openOnHover || !isOpenRef.current || hoverCloseTimerRef.current != null) return;
|
|
842
928
|
hoverCloseTimerRef.current = setTimeout(() => {
|
|
843
929
|
hoverCloseTimerRef.current = null;
|
|
844
930
|
closeDropdown();
|
|
845
931
|
}, HOVER_CLOSE_DELAY);
|
|
846
932
|
};
|
|
847
|
-
$[
|
|
848
|
-
$[
|
|
849
|
-
$[
|
|
850
|
-
} else
|
|
851
|
-
const handleDropdownMouseLeave =
|
|
852
|
-
let t31;
|
|
853
|
-
if ($[54] !== dropdownElement?.firstElementChild) {
|
|
854
|
-
t31 = () => {
|
|
855
|
-
const firstChild = dropdownElement?.firstElementChild;
|
|
856
|
-
if (!firstChild) return;
|
|
857
|
-
(firstChild.matches(FOCUSABLE_SELECTOR) ? firstChild : firstChild.querySelector(FOCUSABLE_SELECTOR))?.focus();
|
|
858
|
-
};
|
|
859
|
-
$[54] = dropdownElement?.firstElementChild;
|
|
860
|
-
$[55] = t31;
|
|
861
|
-
} else t31 = $[55];
|
|
862
|
-
const focusTrigger = t31;
|
|
933
|
+
$[50] = closeDropdown;
|
|
934
|
+
$[51] = openOnHover;
|
|
935
|
+
$[52] = t31;
|
|
936
|
+
} else t31 = $[52];
|
|
937
|
+
const handleDropdownMouseLeave = t31;
|
|
863
938
|
let t32;
|
|
864
|
-
if ($[
|
|
939
|
+
if ($[53] !== dropdownElement) {
|
|
865
940
|
t32 = () => {
|
|
941
|
+
getTriggerElement(dropdownElement)?.focus();
|
|
942
|
+
};
|
|
943
|
+
$[53] = dropdownElement;
|
|
944
|
+
$[54] = t32;
|
|
945
|
+
} else t32 = $[54];
|
|
946
|
+
const focusTrigger = t32;
|
|
947
|
+
let t33;
|
|
948
|
+
if ($[55] !== closeDropdown || $[56] !== disabled || $[57] !== dropdownElement || $[58] !== focusTrigger || $[59] !== isMenubarItem || $[60] !== menubar) {
|
|
949
|
+
t33 = () => {
|
|
866
950
|
if (!menubar || !dropdownElement) return;
|
|
867
951
|
return menubar.registerMember({
|
|
868
952
|
close: () => closeDropdown({ keepMenubarEngaged: true }),
|
|
869
953
|
element: dropdownElement,
|
|
870
954
|
focusTrigger,
|
|
955
|
+
isDisabled: () => Boolean(disabled),
|
|
956
|
+
isMenuPopup: () => isMenubarItem,
|
|
871
957
|
isOpen: () => isOpenRef.current,
|
|
872
|
-
open: () =>
|
|
958
|
+
open: () => {
|
|
959
|
+
if (disabled) return;
|
|
960
|
+
setIsOpen(true);
|
|
961
|
+
}
|
|
873
962
|
});
|
|
874
963
|
};
|
|
875
|
-
$[
|
|
964
|
+
$[55] = closeDropdown;
|
|
965
|
+
$[56] = disabled;
|
|
876
966
|
$[57] = dropdownElement;
|
|
877
967
|
$[58] = focusTrigger;
|
|
878
|
-
$[59] =
|
|
879
|
-
$[60] =
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
968
|
+
$[59] = isMenubarItem;
|
|
969
|
+
$[60] = menubar;
|
|
970
|
+
$[61] = t33;
|
|
971
|
+
} else t33 = $[61];
|
|
972
|
+
useEffect(t33);
|
|
883
973
|
let t34;
|
|
884
|
-
|
|
885
|
-
|
|
974
|
+
let t35;
|
|
975
|
+
if ($[62] !== dropdownElement || $[63] !== isOpen || $[64] !== menubar) {
|
|
976
|
+
t34 = () => {
|
|
886
977
|
if (isOpen && menubar && dropdownElement) menubar.notifyOpened(dropdownElement);
|
|
887
978
|
};
|
|
888
|
-
|
|
979
|
+
t35 = [
|
|
889
980
|
dropdownElement,
|
|
890
981
|
isOpen,
|
|
891
982
|
menubar
|
|
892
983
|
];
|
|
893
|
-
$[
|
|
894
|
-
$[
|
|
895
|
-
$[
|
|
896
|
-
$[64] = t33;
|
|
984
|
+
$[62] = dropdownElement;
|
|
985
|
+
$[63] = isOpen;
|
|
986
|
+
$[64] = menubar;
|
|
897
987
|
$[65] = t34;
|
|
988
|
+
$[66] = t35;
|
|
898
989
|
} else {
|
|
899
|
-
t33 = $[64];
|
|
900
990
|
t34 = $[65];
|
|
991
|
+
t35 = $[66];
|
|
901
992
|
}
|
|
902
|
-
useEffect(
|
|
903
|
-
let
|
|
904
|
-
if ($[
|
|
905
|
-
|
|
906
|
-
const element =
|
|
993
|
+
useEffect(t34, t35);
|
|
994
|
+
let t36;
|
|
995
|
+
if ($[67] !== allowCreate || $[68] !== allowEmpty || $[69] !== closeDropdown || $[70] !== dropdownElement || $[71] !== handleActiveItem || $[72] !== hasItems || $[73] !== keepOpenOnSubmit || $[74] !== onSubmitItem || $[75] !== popupRole || $[76] !== valueIdentity) {
|
|
996
|
+
t36 = (event_1) => {
|
|
997
|
+
const element = hasItems ? getActiveItemElement(dropdownElement) : null;
|
|
907
998
|
const submenuOfActive = element ? getSubmenuOfItem(element) : null;
|
|
908
999
|
if (element && submenuOfActive) {
|
|
909
1000
|
clearDisclosureTimer();
|
|
@@ -919,13 +1010,13 @@ function RootDropdown(t0) {
|
|
|
919
1010
|
}
|
|
920
1011
|
return;
|
|
921
1012
|
}
|
|
922
|
-
if (isOpenRef.current && !
|
|
923
|
-
if (!
|
|
1013
|
+
if (isOpenRef.current && !keepOpenOnSubmit) closingTimerRef.current = setTimeout(closeDropdown, 90);
|
|
1014
|
+
if (!hasItems) return;
|
|
924
1015
|
if (!element) {
|
|
925
1016
|
if (!inputElementRef.current) return;
|
|
926
1017
|
if (inputElementRef.current.value) {
|
|
927
|
-
if (!
|
|
928
|
-
} else if (!
|
|
1018
|
+
if (!allowCreate) return;
|
|
1019
|
+
} else if (!allowEmpty) return;
|
|
929
1020
|
}
|
|
930
1021
|
let itemLabel = element?.innerText ?? "";
|
|
931
1022
|
if (inputElementRef.current) {
|
|
@@ -934,8 +1025,8 @@ function RootDropdown(t0) {
|
|
|
934
1025
|
if (inputElementRef.current === inputElementRef.current.ownerDocument.activeElement) inputElementRef.current.blur();
|
|
935
1026
|
}
|
|
936
1027
|
const nextValue = element?.dataset.uktValue ?? itemLabel;
|
|
937
|
-
if (
|
|
938
|
-
if (element &&
|
|
1028
|
+
if (valueIdentity && valueIdentity === nextValue) return;
|
|
1029
|
+
if (element && keepOpenOnSubmit && popupRole === "listbox" && !consumerOwnsARIASelectedRef.current) {
|
|
939
1030
|
const bodyElement = element.closest(".uktdropdown-body");
|
|
940
1031
|
for (const selected of Array.from(bodyElement?.querySelectorAll("[aria-selected=\"true\"]") ?? [])) selected.removeAttribute("aria-selected");
|
|
941
1032
|
element.setAttribute("aria-selected", "true");
|
|
@@ -959,19 +1050,25 @@ function RootDropdown(t0) {
|
|
|
959
1050
|
path: getItemPath(element),
|
|
960
1051
|
value: nextValue
|
|
961
1052
|
};
|
|
962
|
-
|
|
1053
|
+
onSubmitItem?.(payload_1);
|
|
963
1054
|
dispatchToSubmenus("onSubmitItem", payload_1);
|
|
964
1055
|
};
|
|
965
|
-
$[
|
|
966
|
-
$[
|
|
967
|
-
$[
|
|
968
|
-
$[
|
|
969
|
-
$[
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
1056
|
+
$[67] = allowCreate;
|
|
1057
|
+
$[68] = allowEmpty;
|
|
1058
|
+
$[69] = closeDropdown;
|
|
1059
|
+
$[70] = dropdownElement;
|
|
1060
|
+
$[71] = handleActiveItem;
|
|
1061
|
+
$[72] = hasItems;
|
|
1062
|
+
$[73] = keepOpenOnSubmit;
|
|
1063
|
+
$[74] = onSubmitItem;
|
|
1064
|
+
$[75] = popupRole;
|
|
1065
|
+
$[76] = valueIdentity;
|
|
1066
|
+
$[77] = t36;
|
|
1067
|
+
} else t36 = $[77];
|
|
1068
|
+
const handleSubmitItem = t36;
|
|
1069
|
+
let t37;
|
|
1070
|
+
if ($[78] !== trackSafeArea) {
|
|
1071
|
+
t37 = (event_2) => {
|
|
975
1072
|
const { clientX, clientY } = event_2;
|
|
976
1073
|
currentInputMethodRef.current = "mouse";
|
|
977
1074
|
trackSafeArea(event_2);
|
|
@@ -980,14 +1077,14 @@ function RootDropdown(t0) {
|
|
|
980
1077
|
if (Math.abs(initialPosition.clientX - clientX) < 12 && Math.abs(initialPosition.clientY - clientY) < 12) return;
|
|
981
1078
|
setIsOpening(false);
|
|
982
1079
|
};
|
|
983
|
-
$[
|
|
984
|
-
$[
|
|
985
|
-
} else
|
|
986
|
-
const handleMouseMove =
|
|
987
|
-
let
|
|
988
|
-
if ($[
|
|
989
|
-
|
|
990
|
-
if (!
|
|
1080
|
+
$[78] = trackSafeArea;
|
|
1081
|
+
$[79] = t37;
|
|
1082
|
+
} else t37 = $[79];
|
|
1083
|
+
const handleMouseMove = t37;
|
|
1084
|
+
let t38;
|
|
1085
|
+
if ($[80] !== dropdownElement || $[81] !== handleActiveItem || $[82] !== hasItems || $[83] !== syncSubmenuDisclosure) {
|
|
1086
|
+
t38 = (event_3) => {
|
|
1087
|
+
if (!hasItems) return;
|
|
991
1088
|
if (currentInputMethodRef.current !== "mouse") return;
|
|
992
1089
|
if (!dropdownElement) return;
|
|
993
1090
|
const eventTarget_0 = event_3.target;
|
|
@@ -1005,16 +1102,17 @@ function RootDropdown(t0) {
|
|
|
1005
1102
|
});
|
|
1006
1103
|
syncSubmenuDisclosure();
|
|
1007
1104
|
};
|
|
1008
|
-
$[
|
|
1009
|
-
$[
|
|
1010
|
-
$[
|
|
1011
|
-
$[
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1105
|
+
$[80] = dropdownElement;
|
|
1106
|
+
$[81] = handleActiveItem;
|
|
1107
|
+
$[82] = hasItems;
|
|
1108
|
+
$[83] = syncSubmenuDisclosure;
|
|
1109
|
+
$[84] = t38;
|
|
1110
|
+
} else t38 = $[84];
|
|
1111
|
+
const handleMouseOver = t38;
|
|
1112
|
+
let t39;
|
|
1113
|
+
if ($[85] !== dropdownElement || $[86] !== hasItems || $[87] !== syncSubmenuDisclosure) {
|
|
1114
|
+
t39 = (event_4) => {
|
|
1115
|
+
if (!hasItems) return;
|
|
1018
1116
|
const relatedTarget = event_4.relatedTarget;
|
|
1019
1117
|
if (!dropdownElement?.contains(relatedTarget)) {
|
|
1020
1118
|
clearSafeAreaTimer();
|
|
@@ -1026,19 +1124,20 @@ function RootDropdown(t0) {
|
|
|
1026
1124
|
if (!activeItem) return;
|
|
1027
1125
|
const eventRelatedTarget = event_4.relatedTarget;
|
|
1028
1126
|
if (activeItem !== event_4.target || activeItem.contains(eventRelatedTarget)) return;
|
|
1029
|
-
|
|
1127
|
+
clearActiveItems(dropdownElement, activeItem);
|
|
1030
1128
|
syncSubmenuDisclosure();
|
|
1031
1129
|
};
|
|
1032
|
-
$[
|
|
1033
|
-
$[
|
|
1034
|
-
$[
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1130
|
+
$[85] = dropdownElement;
|
|
1131
|
+
$[86] = hasItems;
|
|
1132
|
+
$[87] = syncSubmenuDisclosure;
|
|
1133
|
+
$[88] = t39;
|
|
1134
|
+
} else t39 = $[88];
|
|
1135
|
+
const handleMouseOut = t39;
|
|
1136
|
+
let t40;
|
|
1137
|
+
if ($[89] !== disabled || $[90] !== onMouseDown) {
|
|
1138
|
+
t40 = (event_5) => {
|
|
1040
1139
|
if (onMouseDown) onMouseDown(event_5);
|
|
1041
|
-
if (isOpenRef.current) return;
|
|
1140
|
+
if (disabled || isOpenRef.current) return;
|
|
1042
1141
|
setIsOpen(true);
|
|
1043
1142
|
setIsOpening(true);
|
|
1044
1143
|
mouseDownPositionRef.current = {
|
|
@@ -1050,13 +1149,14 @@ function RootDropdown(t0) {
|
|
|
1050
1149
|
isOpeningTimerRef.current = null;
|
|
1051
1150
|
}, 1e3);
|
|
1052
1151
|
};
|
|
1053
|
-
$[
|
|
1054
|
-
$[
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1152
|
+
$[89] = disabled;
|
|
1153
|
+
$[90] = onMouseDown;
|
|
1154
|
+
$[91] = t40;
|
|
1155
|
+
} else t40 = $[91];
|
|
1156
|
+
const handleMouseDown = t40;
|
|
1157
|
+
let t41;
|
|
1158
|
+
if ($[92] !== closeDropdown || $[93] !== dropdownElement || $[94] !== handleActiveItem || $[95] !== handleSubmitItem || $[96] !== hasItems || $[97] !== onMouseUp) {
|
|
1159
|
+
t41 = (event_6) => {
|
|
1060
1160
|
if (onMouseUp) onMouseUp(event_6);
|
|
1061
1161
|
if (isOpeningRef.current || !isOpenRef.current || closingTimerRef.current != null) return;
|
|
1062
1162
|
const eventTarget_1 = event_6.target;
|
|
@@ -1067,7 +1167,7 @@ function RootDropdown(t0) {
|
|
|
1067
1167
|
if (!isOpeningRef.current && inputElementRef.current !== eventTarget_1.ownerDocument.activeElement) closeDropdown();
|
|
1068
1168
|
return;
|
|
1069
1169
|
}
|
|
1070
|
-
if (!
|
|
1170
|
+
if (!hasItems) return;
|
|
1071
1171
|
if (dropdownElement) {
|
|
1072
1172
|
const clickedItem = getItemForTarget(dropdownElement, eventTarget_1);
|
|
1073
1173
|
if (clickedItem) setActiveItem({
|
|
@@ -1080,17 +1180,18 @@ function RootDropdown(t0) {
|
|
|
1080
1180
|
}
|
|
1081
1181
|
handleSubmitItem(event_6);
|
|
1082
1182
|
};
|
|
1083
|
-
$[
|
|
1084
|
-
$[
|
|
1085
|
-
$[
|
|
1086
|
-
$[
|
|
1087
|
-
$[
|
|
1088
|
-
$[
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1183
|
+
$[92] = closeDropdown;
|
|
1184
|
+
$[93] = dropdownElement;
|
|
1185
|
+
$[94] = handleActiveItem;
|
|
1186
|
+
$[95] = handleSubmitItem;
|
|
1187
|
+
$[96] = hasItems;
|
|
1188
|
+
$[97] = onMouseUp;
|
|
1189
|
+
$[98] = t41;
|
|
1190
|
+
} else t41 = $[98];
|
|
1191
|
+
const handleMouseUp = t41;
|
|
1192
|
+
let t42;
|
|
1193
|
+
if ($[99] !== allowCreate || $[100] !== closeDropdown || $[101] !== disabled || $[102] !== dropdownElement || $[103] !== focusTrigger || $[104] !== handleActiveItem || $[105] !== handleSubmitItem || $[106] !== hasItems || $[107] !== menubar || $[108] !== syncSubmenuDisclosure) {
|
|
1194
|
+
t42 = (event_7) => {
|
|
1094
1195
|
const { altKey, ctrlKey, key: key_0, metaKey } = event_7;
|
|
1095
1196
|
const eventTarget_2 = event_7.target;
|
|
1096
1197
|
if (!dropdownElement) return;
|
|
@@ -1104,14 +1205,15 @@ function RootDropdown(t0) {
|
|
|
1104
1205
|
if (nestedRoot && nestedRoot !== dropdownElement && dropdownElement.contains(nestedRoot) && nestedRoot.classList.contains("is-open")) return;
|
|
1105
1206
|
if (!isOpenRef.current) {
|
|
1106
1207
|
if (!isEventTargetingDropdown) return;
|
|
1107
|
-
if (
|
|
1208
|
+
if (disabled) return;
|
|
1209
|
+
if (key_0 === " " || key_0 === "Enter" || hasItems && (key_0 === "ArrowUp" || key_0 === "ArrowDown")) {
|
|
1108
1210
|
onEventHandled();
|
|
1109
1211
|
setIsOpen(true);
|
|
1110
1212
|
}
|
|
1111
1213
|
return;
|
|
1112
1214
|
}
|
|
1113
1215
|
const isTargetUsingKeyEvents = isEventTargetUsingKeyEvent(event_7);
|
|
1114
|
-
if (
|
|
1216
|
+
if (hasItems && !isTargetUsingKeyEvents) {
|
|
1115
1217
|
let isEditingCharacters = !ctrlKey && !metaKey && /^[A-Za-z0-9]$/.test(key_0);
|
|
1116
1218
|
if (!isEditingCharacters && enteredCharactersRef.current) isEditingCharacters = key_0 === " " || key_0 === "Backspace";
|
|
1117
1219
|
if (isEditingCharacters) {
|
|
@@ -1121,7 +1223,7 @@ function RootDropdown(t0) {
|
|
|
1121
1223
|
setActiveItem({
|
|
1122
1224
|
dropdownElement,
|
|
1123
1225
|
event: event_7,
|
|
1124
|
-
isExactMatch:
|
|
1226
|
+
isExactMatch: allowCreate,
|
|
1125
1227
|
onActiveItem: handleActiveItem,
|
|
1126
1228
|
text: enteredCharactersRef.current
|
|
1127
1229
|
});
|
|
@@ -1139,14 +1241,14 @@ function RootDropdown(t0) {
|
|
|
1139
1241
|
handleSubmitItem(event_7);
|
|
1140
1242
|
return;
|
|
1141
1243
|
}
|
|
1142
|
-
if (key_0 === "Escape" || isEventTargetingDropdown && key_0 === " " && !
|
|
1143
|
-
if (
|
|
1244
|
+
if (key_0 === "Escape" || isEventTargetingDropdown && key_0 === " " && !hasItems) {
|
|
1245
|
+
if (hasItems || !isTargetUsingKeyEvents) {
|
|
1144
1246
|
focusTrigger();
|
|
1145
1247
|
closeDropdown();
|
|
1146
1248
|
}
|
|
1147
1249
|
return;
|
|
1148
1250
|
}
|
|
1149
|
-
if (
|
|
1251
|
+
if (hasItems) {
|
|
1150
1252
|
if (key_0 === "ArrowUp") {
|
|
1151
1253
|
onEventHandled();
|
|
1152
1254
|
if (altKey || metaKey) setActiveItem({
|
|
@@ -1181,6 +1283,17 @@ function RootDropdown(t0) {
|
|
|
1181
1283
|
syncSubmenuDisclosure();
|
|
1182
1284
|
return;
|
|
1183
1285
|
}
|
|
1286
|
+
if (!isTargetUsingKeyEvents && (key_0 === "Home" || key_0 === "End")) {
|
|
1287
|
+
onEventHandled();
|
|
1288
|
+
setActiveItem({
|
|
1289
|
+
dropdownElement,
|
|
1290
|
+
event: event_7,
|
|
1291
|
+
index: key_0 === "Home" ? 0 : -1,
|
|
1292
|
+
onActiveItem: handleActiveItem
|
|
1293
|
+
});
|
|
1294
|
+
syncSubmenuDisclosure();
|
|
1295
|
+
return;
|
|
1296
|
+
}
|
|
1184
1297
|
if (!isTargetUsingKeyEvents) {
|
|
1185
1298
|
if (key_0 === "ArrowRight") {
|
|
1186
1299
|
const activeElement_0 = getActiveItemElement(dropdownElement);
|
|
@@ -1223,29 +1336,32 @@ function RootDropdown(t0) {
|
|
|
1223
1336
|
}
|
|
1224
1337
|
}
|
|
1225
1338
|
};
|
|
1226
|
-
$[
|
|
1227
|
-
$[
|
|
1228
|
-
$[
|
|
1229
|
-
$[
|
|
1230
|
-
$[
|
|
1231
|
-
$[
|
|
1232
|
-
$[
|
|
1233
|
-
$[
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1339
|
+
$[99] = allowCreate;
|
|
1340
|
+
$[100] = closeDropdown;
|
|
1341
|
+
$[101] = disabled;
|
|
1342
|
+
$[102] = dropdownElement;
|
|
1343
|
+
$[103] = focusTrigger;
|
|
1344
|
+
$[104] = handleActiveItem;
|
|
1345
|
+
$[105] = handleSubmitItem;
|
|
1346
|
+
$[106] = hasItems;
|
|
1347
|
+
$[107] = menubar;
|
|
1348
|
+
$[108] = syncSubmenuDisclosure;
|
|
1349
|
+
$[109] = t42;
|
|
1350
|
+
} else t42 = $[109];
|
|
1351
|
+
const handleKeyDown = t42;
|
|
1352
|
+
let t43;
|
|
1353
|
+
if ($[110] !== handleKeyDown) {
|
|
1354
|
+
t43 = {
|
|
1239
1355
|
ignoreUsedKeyboardEvents: false,
|
|
1240
1356
|
onKeyDown: handleKeyDown
|
|
1241
1357
|
};
|
|
1242
|
-
$[
|
|
1243
|
-
$[
|
|
1244
|
-
} else
|
|
1245
|
-
useKeyboardEvents(
|
|
1246
|
-
let
|
|
1247
|
-
if ($[
|
|
1248
|
-
|
|
1358
|
+
$[110] = handleKeyDown;
|
|
1359
|
+
$[111] = t43;
|
|
1360
|
+
} else t43 = $[111];
|
|
1361
|
+
useKeyboardEvents(t43);
|
|
1362
|
+
let t44;
|
|
1363
|
+
if ($[112] !== allowCreate || $[113] !== closeDropdown || $[114] !== disabled || $[115] !== handleActiveItem) {
|
|
1364
|
+
t44 = (ref) => {
|
|
1249
1365
|
setDropdownElement(ref);
|
|
1250
1366
|
if (!ref) return;
|
|
1251
1367
|
const { ownerDocument } = ref;
|
|
@@ -1255,13 +1371,13 @@ function RootDropdown(t0) {
|
|
|
1255
1371
|
else inputElement = ref.firstElementChild.querySelector(TEXT_INPUT_SELECTOR);
|
|
1256
1372
|
inputElementRef.current = inputElement;
|
|
1257
1373
|
}
|
|
1258
|
-
const handleGlobalMouseDown = (
|
|
1259
|
-
const { target: target_1 } =
|
|
1374
|
+
const handleGlobalMouseDown = (t45) => {
|
|
1375
|
+
const { target: target_1 } = t45;
|
|
1260
1376
|
const eventTarget_3 = target_1;
|
|
1261
1377
|
if (!ref.contains(eventTarget_3)) closeDropdown();
|
|
1262
1378
|
};
|
|
1263
|
-
const handleGlobalMouseUp = (
|
|
1264
|
-
const { target: target_2 } =
|
|
1379
|
+
const handleGlobalMouseUp = (t46) => {
|
|
1380
|
+
const { target: target_2 } = t46;
|
|
1265
1381
|
if (!isOpenRef.current || closingTimerRef.current != null) return;
|
|
1266
1382
|
if (isOpeningRef.current) {
|
|
1267
1383
|
setIsOpening(false);
|
|
@@ -1274,8 +1390,8 @@ function RootDropdown(t0) {
|
|
|
1274
1390
|
const eventTarget_4 = target_2;
|
|
1275
1391
|
if (!ref.contains(eventTarget_4)) closeDropdown();
|
|
1276
1392
|
};
|
|
1277
|
-
const handleGlobalFocusIn = (
|
|
1278
|
-
const { target: target_3 } =
|
|
1393
|
+
const handleGlobalFocusIn = (t47) => {
|
|
1394
|
+
const { target: target_3 } = t47;
|
|
1279
1395
|
if (!isOpenRef.current) return;
|
|
1280
1396
|
const eventTarget_5 = target_3;
|
|
1281
1397
|
if (ref.contains(eventTarget_5) || eventTarget_5.contains(ref)) return;
|
|
@@ -1289,8 +1405,8 @@ function RootDropdown(t0) {
|
|
|
1289
1405
|
ownerDocument.addEventListener("mousedown", handleGlobalMouseDown);
|
|
1290
1406
|
ownerDocument.addEventListener("mouseup", handleGlobalMouseUp);
|
|
1291
1407
|
}
|
|
1292
|
-
if (isOpenOnMount) ref.focus();
|
|
1293
1408
|
const handleInput = (event_8) => {
|
|
1409
|
+
if (disabled) return;
|
|
1294
1410
|
if (!isOpenRef.current) setIsOpen(true);
|
|
1295
1411
|
const input = event_8.target;
|
|
1296
1412
|
const isDeleting = enteredCharactersRef.current.length > input.value.length;
|
|
@@ -1299,7 +1415,7 @@ function RootDropdown(t0) {
|
|
|
1299
1415
|
setActiveItem({
|
|
1300
1416
|
dropdownElement: ref,
|
|
1301
1417
|
event: event_8,
|
|
1302
|
-
isExactMatch:
|
|
1418
|
+
isExactMatch: allowCreate,
|
|
1303
1419
|
onActiveItem: handleActiveItem,
|
|
1304
1420
|
text: enteredCharactersRef.current
|
|
1305
1421
|
});
|
|
@@ -1317,15 +1433,16 @@ function RootDropdown(t0) {
|
|
|
1317
1433
|
if (inputElement) inputElement.removeEventListener("input", handleInput);
|
|
1318
1434
|
};
|
|
1319
1435
|
};
|
|
1320
|
-
$[
|
|
1321
|
-
$[
|
|
1322
|
-
$[
|
|
1323
|
-
$[
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1436
|
+
$[112] = allowCreate;
|
|
1437
|
+
$[113] = closeDropdown;
|
|
1438
|
+
$[114] = disabled;
|
|
1439
|
+
$[115] = handleActiveItem;
|
|
1440
|
+
$[116] = t44;
|
|
1441
|
+
} else t44 = $[116];
|
|
1442
|
+
const handleRef = t44;
|
|
1443
|
+
let t45;
|
|
1444
|
+
if ($[117] !== dropdownElement || $[118] !== popupRole || $[119] !== valueIdentity) {
|
|
1445
|
+
t45 = (ref_0) => {
|
|
1329
1446
|
if (!ref_0) return;
|
|
1330
1447
|
if (annotatedBodiesRef.current.has(ref_0)) return;
|
|
1331
1448
|
annotatedBodiesRef.current.add(ref_0);
|
|
@@ -1344,135 +1461,180 @@ function RootDropdown(t0) {
|
|
|
1344
1461
|
}
|
|
1345
1462
|
}
|
|
1346
1463
|
};
|
|
1347
|
-
$[
|
|
1348
|
-
$[
|
|
1349
|
-
$[
|
|
1350
|
-
$[
|
|
1351
|
-
} else
|
|
1352
|
-
const handleBodyRef =
|
|
1464
|
+
$[117] = dropdownElement;
|
|
1465
|
+
$[118] = popupRole;
|
|
1466
|
+
$[119] = valueIdentity;
|
|
1467
|
+
$[120] = t45;
|
|
1468
|
+
} else t45 = $[120];
|
|
1469
|
+
const handleBodyRef = t45;
|
|
1470
|
+
let bodyLabelledBy;
|
|
1353
1471
|
if (!isValidElement(trigger)) if (isSearchable) {
|
|
1354
|
-
const
|
|
1355
|
-
let t46;
|
|
1356
|
-
if ($[106] === Symbol.for("react.memo_cache_sentinel")) {
|
|
1357
|
-
t46 = () => setIsOpen(true);
|
|
1358
|
-
$[106] = t46;
|
|
1359
|
-
} else t46 = $[106];
|
|
1472
|
+
const t46 = valueLabel ?? "";
|
|
1360
1473
|
let t47;
|
|
1361
|
-
if ($[
|
|
1362
|
-
t47 =
|
|
1474
|
+
if ($[121] === Symbol.for("react.memo_cache_sentinel")) {
|
|
1475
|
+
t47 = () => setIsOpen(true);
|
|
1476
|
+
$[121] = t47;
|
|
1477
|
+
} else t47 = $[121];
|
|
1478
|
+
let t48;
|
|
1479
|
+
if ($[122] !== bodyId || $[123] !== disabled || $[124] !== isOpen || $[125] !== name || $[126] !== placeholder || $[127] !== popupRole || $[128] !== t46 || $[129] !== tabIndex || $[130] !== triggerId) {
|
|
1480
|
+
t48 = /* @__PURE__ */ jsx("input", {
|
|
1481
|
+
"aria-autocomplete": "list",
|
|
1363
1482
|
"aria-controls": bodyId,
|
|
1364
1483
|
"aria-expanded": isOpen,
|
|
1365
1484
|
"aria-haspopup": popupRole,
|
|
1366
1485
|
autoComplete: "off",
|
|
1367
1486
|
className: "uktdropdown-trigger",
|
|
1368
|
-
defaultValue:
|
|
1487
|
+
defaultValue: t46,
|
|
1369
1488
|
disabled,
|
|
1489
|
+
id: triggerId,
|
|
1370
1490
|
name,
|
|
1371
|
-
onFocus:
|
|
1491
|
+
onFocus: t47,
|
|
1372
1492
|
placeholder,
|
|
1373
1493
|
ref: inputElementRef,
|
|
1494
|
+
role: "combobox",
|
|
1374
1495
|
tabIndex,
|
|
1375
1496
|
type: "text"
|
|
1376
1497
|
});
|
|
1377
|
-
$[
|
|
1378
|
-
$[
|
|
1379
|
-
$[
|
|
1380
|
-
$[
|
|
1381
|
-
$[
|
|
1382
|
-
$[
|
|
1383
|
-
$[
|
|
1384
|
-
$[
|
|
1385
|
-
$[
|
|
1386
|
-
|
|
1387
|
-
|
|
1498
|
+
$[122] = bodyId;
|
|
1499
|
+
$[123] = disabled;
|
|
1500
|
+
$[124] = isOpen;
|
|
1501
|
+
$[125] = name;
|
|
1502
|
+
$[126] = placeholder;
|
|
1503
|
+
$[127] = popupRole;
|
|
1504
|
+
$[128] = t46;
|
|
1505
|
+
$[129] = tabIndex;
|
|
1506
|
+
$[130] = triggerId;
|
|
1507
|
+
$[131] = t48;
|
|
1508
|
+
} else t48 = $[131];
|
|
1509
|
+
trigger = t48;
|
|
1388
1510
|
} else {
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1511
|
+
bodyLabelledBy = triggerId;
|
|
1512
|
+
const t46 = isMenubarItem ? "menuitem" : void 0;
|
|
1513
|
+
const t47 = menubarTabIndex ?? 0;
|
|
1514
|
+
let t48;
|
|
1515
|
+
if ($[132] !== bodyId || $[133] !== disabled || $[134] !== isOpen || $[135] !== popupRole || $[136] !== t46 || $[137] !== t47 || $[138] !== trigger || $[139] !== triggerId) {
|
|
1516
|
+
t48 = /* @__PURE__ */ jsx("button", {
|
|
1392
1517
|
"aria-controls": bodyId,
|
|
1393
1518
|
"aria-expanded": isOpen,
|
|
1394
1519
|
"aria-haspopup": popupRole,
|
|
1395
1520
|
className: "uktdropdown-trigger",
|
|
1396
|
-
|
|
1521
|
+
disabled,
|
|
1522
|
+
id: triggerId,
|
|
1523
|
+
role: t46,
|
|
1524
|
+
tabIndex: t47,
|
|
1397
1525
|
type: "button",
|
|
1398
1526
|
children: trigger
|
|
1399
1527
|
});
|
|
1400
|
-
$[
|
|
1401
|
-
$[
|
|
1402
|
-
$[
|
|
1403
|
-
$[
|
|
1404
|
-
$[
|
|
1405
|
-
|
|
1406
|
-
|
|
1528
|
+
$[132] = bodyId;
|
|
1529
|
+
$[133] = disabled;
|
|
1530
|
+
$[134] = isOpen;
|
|
1531
|
+
$[135] = popupRole;
|
|
1532
|
+
$[136] = t46;
|
|
1533
|
+
$[137] = t47;
|
|
1534
|
+
$[138] = trigger;
|
|
1535
|
+
$[139] = triggerId;
|
|
1536
|
+
$[140] = t48;
|
|
1537
|
+
} else t48 = $[140];
|
|
1538
|
+
trigger = t48;
|
|
1407
1539
|
}
|
|
1408
1540
|
else {
|
|
1409
1541
|
const triggerProps = trigger.props;
|
|
1410
|
-
const
|
|
1411
|
-
const
|
|
1412
|
-
|
|
1413
|
-
const
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1542
|
+
const resolvedTriggerId = triggerProps.id ?? triggerId;
|
|
1543
|
+
const isTextInputTrigger = isTextInputElement(trigger);
|
|
1544
|
+
if (!isSearchable && !isTextInputTrigger) bodyLabelledBy = resolvedTriggerId;
|
|
1545
|
+
const isCombobox = isSearchable && isTextInputTrigger && trigger.type !== "textarea";
|
|
1546
|
+
const triggerRole = triggerProps.role ?? (isCombobox ? "combobox" : isMenubarItem ? "menuitem" : void 0);
|
|
1547
|
+
const canExpand = !isTextInputTrigger || triggerRole != null;
|
|
1548
|
+
const t46 = trigger;
|
|
1549
|
+
const t47 = triggerProps["aria-autocomplete"] ?? (isCombobox ? "list" : void 0);
|
|
1550
|
+
const t48 = triggerProps["aria-controls"] ?? bodyId;
|
|
1551
|
+
const t49 = triggerProps["aria-disabled"] ?? (disabled || void 0);
|
|
1552
|
+
const t50 = triggerProps["aria-expanded"] ?? (canExpand ? isOpen : void 0);
|
|
1553
|
+
const t51 = triggerProps["aria-haspopup"] ?? popupRole;
|
|
1554
|
+
const t52 = triggerProps.tabIndex ?? menubarTabIndex;
|
|
1555
|
+
let t53;
|
|
1556
|
+
if ($[141] !== resolvedTriggerId || $[142] !== t46 || $[143] !== t47 || $[144] !== t48 || $[145] !== t49 || $[146] !== t50 || $[147] !== t51 || $[148] !== t52 || $[149] !== triggerRole) {
|
|
1557
|
+
t53 = cloneElement(t46, {
|
|
1558
|
+
"aria-autocomplete": t47,
|
|
1559
|
+
"aria-controls": t48,
|
|
1560
|
+
"aria-disabled": t49,
|
|
1561
|
+
"aria-expanded": t50,
|
|
1562
|
+
"aria-haspopup": t51,
|
|
1563
|
+
id: resolvedTriggerId,
|
|
1564
|
+
role: triggerRole,
|
|
1565
|
+
tabIndex: t52
|
|
1420
1566
|
});
|
|
1421
|
-
$[
|
|
1422
|
-
$[
|
|
1423
|
-
$[
|
|
1424
|
-
$[
|
|
1425
|
-
$[
|
|
1426
|
-
|
|
1427
|
-
|
|
1567
|
+
$[141] = resolvedTriggerId;
|
|
1568
|
+
$[142] = t46;
|
|
1569
|
+
$[143] = t47;
|
|
1570
|
+
$[144] = t48;
|
|
1571
|
+
$[145] = t49;
|
|
1572
|
+
$[146] = t50;
|
|
1573
|
+
$[147] = t51;
|
|
1574
|
+
$[148] = t52;
|
|
1575
|
+
$[149] = triggerRole;
|
|
1576
|
+
$[150] = t53;
|
|
1577
|
+
} else t53 = $[150];
|
|
1578
|
+
trigger = t53;
|
|
1428
1579
|
}
|
|
1429
1580
|
if (label != null) {
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1581
|
+
bodyLabelledBy = labelId;
|
|
1582
|
+
const t46 = isMenubarMember ? "none" : void 0;
|
|
1583
|
+
const t47 = isMenubarMember ? "none" : void 0;
|
|
1584
|
+
let t48;
|
|
1585
|
+
if ($[151] !== label || $[152] !== labelId || $[153] !== t47) {
|
|
1586
|
+
t48 = /* @__PURE__ */ jsx("div", {
|
|
1433
1587
|
className: "uktdropdown-label-text",
|
|
1588
|
+
id: labelId,
|
|
1589
|
+
role: t47,
|
|
1434
1590
|
children: label
|
|
1435
1591
|
});
|
|
1436
|
-
$[
|
|
1437
|
-
$[
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1592
|
+
$[151] = label;
|
|
1593
|
+
$[152] = labelId;
|
|
1594
|
+
$[153] = t47;
|
|
1595
|
+
$[154] = t48;
|
|
1596
|
+
} else t48 = $[154];
|
|
1597
|
+
let t49;
|
|
1598
|
+
if ($[155] !== t46 || $[156] !== t48 || $[157] !== trigger) {
|
|
1599
|
+
t49 = /* @__PURE__ */ jsxs("label", {
|
|
1442
1600
|
className: "uktdropdown-label",
|
|
1443
|
-
|
|
1601
|
+
role: t46,
|
|
1602
|
+
children: [t48, trigger]
|
|
1444
1603
|
});
|
|
1445
|
-
$[
|
|
1446
|
-
$[
|
|
1447
|
-
$[
|
|
1448
|
-
|
|
1449
|
-
|
|
1604
|
+
$[155] = t46;
|
|
1605
|
+
$[156] = t48;
|
|
1606
|
+
$[157] = trigger;
|
|
1607
|
+
$[158] = t49;
|
|
1608
|
+
} else t49 = $[158];
|
|
1609
|
+
trigger = t49;
|
|
1450
1610
|
}
|
|
1451
|
-
let
|
|
1452
|
-
if ($[
|
|
1453
|
-
|
|
1611
|
+
let t46;
|
|
1612
|
+
if ($[159] === Symbol.for("react.memo_cache_sentinel")) {
|
|
1613
|
+
t46 = /* @__PURE__ */ jsx("style", {
|
|
1454
1614
|
href: "@acusti/dropdown/Dropdown",
|
|
1455
1615
|
precedence: "medium",
|
|
1456
1616
|
children: Dropdown_default
|
|
1457
1617
|
});
|
|
1458
|
-
$[
|
|
1459
|
-
} else
|
|
1460
|
-
let
|
|
1461
|
-
if ($[
|
|
1462
|
-
|
|
1618
|
+
$[159] = t46;
|
|
1619
|
+
} else t46 = $[159];
|
|
1620
|
+
let t47;
|
|
1621
|
+
if ($[160] !== className || $[161] !== disabled || $[162] !== isOpen || $[163] !== isSearchable) {
|
|
1622
|
+
t47 = clsx("uktdropdown", className, {
|
|
1463
1623
|
disabled,
|
|
1464
1624
|
"is-open": isOpen,
|
|
1465
1625
|
"is-searchable": isSearchable
|
|
1466
1626
|
});
|
|
1467
|
-
$[
|
|
1468
|
-
$[
|
|
1469
|
-
$[
|
|
1470
|
-
$[
|
|
1471
|
-
$[
|
|
1472
|
-
} else
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1627
|
+
$[160] = className;
|
|
1628
|
+
$[161] = disabled;
|
|
1629
|
+
$[162] = isOpen;
|
|
1630
|
+
$[163] = isSearchable;
|
|
1631
|
+
$[164] = t47;
|
|
1632
|
+
} else t47 = $[164];
|
|
1633
|
+
const t48 = isMenubarMember ? "none" : void 0;
|
|
1634
|
+
let t49;
|
|
1635
|
+
if ($[165] !== body || $[166] !== bodyId || $[167] !== bodyLabelledBy || $[168] !== handleBodyRef || $[169] !== hasItems || $[170] !== isOpen || $[171] !== popupRole) {
|
|
1636
|
+
t49 = isOpen ? /* @__PURE__ */ jsx("div", {
|
|
1637
|
+
"aria-labelledby": bodyLabelledBy,
|
|
1476
1638
|
className: clsx("uktdropdown-body", { "has-items": hasItems }),
|
|
1477
1639
|
id: bodyId,
|
|
1478
1640
|
popover: "manual",
|
|
@@ -1486,19 +1648,21 @@ function RootDropdown(t0) {
|
|
|
1486
1648
|
})
|
|
1487
1649
|
})
|
|
1488
1650
|
}) : null;
|
|
1489
|
-
$[
|
|
1490
|
-
$[
|
|
1491
|
-
$[
|
|
1492
|
-
$[
|
|
1493
|
-
$[
|
|
1494
|
-
$[
|
|
1495
|
-
$[
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1651
|
+
$[165] = body;
|
|
1652
|
+
$[166] = bodyId;
|
|
1653
|
+
$[167] = bodyLabelledBy;
|
|
1654
|
+
$[168] = handleBodyRef;
|
|
1655
|
+
$[169] = hasItems;
|
|
1656
|
+
$[170] = isOpen;
|
|
1657
|
+
$[171] = popupRole;
|
|
1658
|
+
$[172] = t49;
|
|
1659
|
+
} else t49 = $[172];
|
|
1660
|
+
let t50;
|
|
1661
|
+
if ($[173] !== handleDropdownMouseEnter || $[174] !== handleDropdownMouseLeave || $[175] !== handleMouseDown || $[176] !== handleMouseMove || $[177] !== handleMouseOut || $[178] !== handleMouseOver || $[179] !== handleMouseUp || $[180] !== handleRef || $[181] !== onClick || $[182] !== styleFromProps || $[183] !== t47 || $[184] !== t48 || $[185] !== t49 || $[186] !== trigger) {
|
|
1662
|
+
t50 = /* @__PURE__ */ jsxs(Fragment, { children: [t46, /* @__PURE__ */ jsxs("div", {
|
|
1663
|
+
className: t47,
|
|
1501
1664
|
onClick,
|
|
1665
|
+
role: t48,
|
|
1502
1666
|
onMouseDown: handleMouseDown,
|
|
1503
1667
|
onMouseEnter: handleDropdownMouseEnter,
|
|
1504
1668
|
onMouseLeave: handleDropdownMouseLeave,
|
|
@@ -1508,24 +1672,25 @@ function RootDropdown(t0) {
|
|
|
1508
1672
|
onMouseUp: handleMouseUp,
|
|
1509
1673
|
ref: handleRef,
|
|
1510
1674
|
style: styleFromProps,
|
|
1511
|
-
children: [trigger,
|
|
1675
|
+
children: [trigger, t49]
|
|
1512
1676
|
})] });
|
|
1513
|
-
$[
|
|
1514
|
-
$[
|
|
1515
|
-
$[
|
|
1516
|
-
$[
|
|
1517
|
-
$[
|
|
1518
|
-
$[
|
|
1519
|
-
$[
|
|
1520
|
-
$[
|
|
1521
|
-
$[
|
|
1522
|
-
$[
|
|
1523
|
-
$[
|
|
1524
|
-
$[
|
|
1525
|
-
$[
|
|
1526
|
-
$[
|
|
1527
|
-
|
|
1528
|
-
|
|
1677
|
+
$[173] = handleDropdownMouseEnter;
|
|
1678
|
+
$[174] = handleDropdownMouseLeave;
|
|
1679
|
+
$[175] = handleMouseDown;
|
|
1680
|
+
$[176] = handleMouseMove;
|
|
1681
|
+
$[177] = handleMouseOut;
|
|
1682
|
+
$[178] = handleMouseOver;
|
|
1683
|
+
$[179] = handleMouseUp;
|
|
1684
|
+
$[180] = handleRef;
|
|
1685
|
+
$[181] = onClick;
|
|
1686
|
+
$[182] = styleFromProps;
|
|
1687
|
+
$[183] = t47;
|
|
1688
|
+
$[184] = t48;
|
|
1689
|
+
$[185] = t49;
|
|
1690
|
+
$[186] = trigger;
|
|
1691
|
+
$[187] = t50;
|
|
1692
|
+
} else t50 = $[187];
|
|
1693
|
+
return t50;
|
|
1529
1694
|
}
|
|
1530
1695
|
var INERT_SUBMENU_PROPS = [
|
|
1531
1696
|
"allowCreate",
|