@once-ui-system/core 2.0.0-alpha.1 → 2.0.0-alpha.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.
Files changed (116) hide show
  1. package/ai/catalog.json +11 -4
  2. package/ai/components/Effect.json +1 -1
  3. package/ai/components/Feedback.json +1 -0
  4. package/ai/components/Form.json +15 -0
  5. package/ai/components/Input.json +3 -2
  6. package/ai/components/{Particle.json → ParticleFx.json} +1 -1
  7. package/ai/components/ScrollContainer.json +9 -1
  8. package/ai/components/Textarea.json +3 -2
  9. package/ai/components/ThemeSwitcher.json +2 -1
  10. package/ai/examples/blocks/Footer4.tsx +2 -2
  11. package/ai/examples/blocks/manifest.json +2 -2
  12. package/ai/gotchas.json +7 -0
  13. package/ai/manifest.json +2 -2
  14. package/ai/rules.md +1 -1
  15. package/ai/spec.json +35 -10
  16. package/dist/ai/catalog.json +11 -4
  17. package/dist/ai/components/Effect.json +1 -1
  18. package/dist/ai/components/Feedback.json +1 -0
  19. package/dist/ai/components/Form.json +15 -0
  20. package/dist/ai/components/Input.json +3 -2
  21. package/dist/ai/components/{Particle.json → ParticleFx.json} +1 -1
  22. package/dist/ai/components/ScrollContainer.json +9 -1
  23. package/dist/ai/components/Textarea.json +3 -2
  24. package/dist/ai/components/ThemeSwitcher.json +2 -1
  25. package/dist/ai/examples/blocks/manifest.json +2 -2
  26. package/dist/ai/gotchas.json +7 -0
  27. package/dist/ai/manifest.json +2 -2
  28. package/dist/ai/rules.md +1 -1
  29. package/dist/ai/spec.json +35 -10
  30. package/dist/components/Animation.d.ts +1 -2
  31. package/dist/components/Animation.d.ts.map +1 -1
  32. package/dist/components/Animation.js +1 -1
  33. package/dist/components/Animation.js.map +1 -1
  34. package/dist/components/ArrowNavigationContext.d.ts.map +1 -1
  35. package/dist/components/ArrowNavigationContext.js +12 -3
  36. package/dist/components/ArrowNavigationContext.js.map +1 -1
  37. package/dist/components/ContextMenu.d.ts +1 -1
  38. package/dist/components/ContextMenu.d.ts.map +1 -1
  39. package/dist/components/CursorCard.d.ts +1 -1
  40. package/dist/components/CursorCard.d.ts.map +1 -1
  41. package/dist/components/DatePicker.d.ts.map +1 -1
  42. package/dist/components/DatePicker.js +7 -0
  43. package/dist/components/DatePicker.js.map +1 -1
  44. package/dist/components/DropdownWrapper.d.ts +1 -1
  45. package/dist/components/DropdownWrapper.d.ts.map +1 -1
  46. package/dist/components/DropdownWrapper.js +178 -35
  47. package/dist/components/DropdownWrapper.js.map +1 -1
  48. package/dist/components/DropdownWrapper.module.scss +3 -1
  49. package/dist/components/Effect.d.ts +2 -2
  50. package/dist/components/Effect.d.ts.map +1 -1
  51. package/dist/components/Effect.js +2 -2
  52. package/dist/components/Effect.js.map +1 -1
  53. package/dist/components/Feedback.d.ts +4 -0
  54. package/dist/components/Feedback.d.ts.map +1 -1
  55. package/dist/components/Feedback.js +2 -2
  56. package/dist/components/Feedback.js.map +1 -1
  57. package/dist/components/FocusTrap.d.ts +3 -3
  58. package/dist/components/FocusTrap.d.ts.map +1 -1
  59. package/dist/components/FocusTrap.js +10 -0
  60. package/dist/components/FocusTrap.js.map +1 -1
  61. package/dist/components/Form.d.ts +48 -0
  62. package/dist/components/Form.d.ts.map +1 -0
  63. package/dist/components/Form.js +191 -0
  64. package/dist/components/Form.js.map +1 -0
  65. package/dist/components/Form.module.scss +160 -0
  66. package/dist/components/FormContext.d.ts +20 -0
  67. package/dist/components/FormContext.d.ts.map +1 -0
  68. package/dist/components/FormContext.js +12 -0
  69. package/dist/components/FormContext.js.map +1 -0
  70. package/dist/components/Input.d.ts +3 -0
  71. package/dist/components/Input.d.ts.map +1 -1
  72. package/dist/components/Input.js +13 -2
  73. package/dist/components/Input.js.map +1 -1
  74. package/dist/components/Input.module.scss +27 -6
  75. package/dist/components/{Particle.d.ts → ParticleFx.d.ts} +9 -4
  76. package/dist/components/ParticleFx.d.ts.map +1 -0
  77. package/dist/components/{Particle.js → ParticleFx.js} +9 -4
  78. package/dist/components/ParticleFx.js.map +1 -0
  79. package/dist/components/ScrollContainer.d.ts +69 -2
  80. package/dist/components/ScrollContainer.d.ts.map +1 -1
  81. package/dist/components/ScrollContainer.js +377 -46
  82. package/dist/components/ScrollContainer.js.map +1 -1
  83. package/dist/components/ScrollContainer.module.scss +131 -0
  84. package/dist/components/Select.d.ts +1 -1
  85. package/dist/components/Select.d.ts.map +1 -1
  86. package/dist/components/Setting.d.ts.map +1 -1
  87. package/dist/components/Setting.js +6 -1
  88. package/dist/components/Setting.js.map +1 -1
  89. package/dist/components/Textarea.d.ts +3 -0
  90. package/dist/components/Textarea.d.ts.map +1 -1
  91. package/dist/components/Textarea.js +22 -6
  92. package/dist/components/Textarea.js.map +1 -1
  93. package/dist/components/ThemeSwitcher.d.ts +16 -0
  94. package/dist/components/ThemeSwitcher.d.ts.map +1 -1
  95. package/dist/components/ThemeSwitcher.js +48 -9
  96. package/dist/components/ThemeSwitcher.js.map +1 -1
  97. package/dist/components/ThemeSwitcher.module.scss +112 -0
  98. package/dist/components/UserMenu.d.ts +1 -1
  99. package/dist/components/UserMenu.d.ts.map +1 -1
  100. package/dist/components/index.d.ts +2 -1
  101. package/dist/components/index.d.ts.map +1 -1
  102. package/dist/components/index.js +2 -1
  103. package/dist/components/index.js.map +1 -1
  104. package/dist/data/emoji-data.json +10 -0
  105. package/dist/hooks/useArrowNavigation.d.ts.map +1 -1
  106. package/dist/hooks/useArrowNavigation.js +52 -7
  107. package/dist/hooks/useArrowNavigation.js.map +1 -1
  108. package/dist/modules/navigation/MegaMenu.d.ts.map +1 -1
  109. package/dist/modules/navigation/MegaMenu.js +76 -10
  110. package/dist/modules/navigation/MegaMenu.js.map +1 -1
  111. package/dist/package.json +1 -1
  112. package/dist/types.d.ts +14 -0
  113. package/dist/types.d.ts.map +1 -1
  114. package/package.json +1 -1
  115. package/dist/components/Particle.d.ts.map +0 -1
  116. package/dist/components/Particle.js.map +0 -1
@@ -2,12 +2,13 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React, { useState, useRef, useEffect, forwardRef, useImperativeHandle, useCallback, } from "react";
4
4
  import { createPortal } from "react-dom";
5
- import { useFloating, shift, offset, flip, size, autoUpdate, } from "@floating-ui/react-dom";
5
+ import { useFloating, shift, offset, flip, size, autoUpdate } from "@floating-ui/react-dom";
6
6
  import { Flex, Dropdown, Column, Row, FocusTrap, ArrowNavigation, ScrollLock } from ".";
7
7
  import styles from "./DropdownWrapper.module.scss";
8
8
  import { getLastOpenedDropdown, setLastOpenedDropdown, clearLastOpenedDropdown } from "../utils";
9
9
  // Global state to track the last opened dropdown
10
10
  let dropdownCounter = 0;
11
+ const isEnabledOption = (el) => !el.hasAttribute("disabled") && el.getAttribute("aria-disabled") !== "true";
11
12
  const DropdownWrapper = forwardRef(({ trigger, onFocusCapture, onBlurCapture, dropdown, selectedOption, minHeight, onSelect, closeAfterClick = true, open: controlledIsOpen, handleArrowNavigation = true, onOpenChange, minWidth, maxWidth, fillWidth = false, placement = "bottom-start", className, style, nested = false, navigationLayout: propNavigationLayout, columns = 8, optionsCount: propOptionsCount, dropdownId: propDropdownId, disableTriggerClick = false, }, ref) => {
12
13
  const [internalIsOpen, setInternalIsOpen] = useState(false);
13
14
  const [mounted, setMounted] = useState(false);
@@ -17,6 +18,11 @@ const DropdownWrapper = forwardRef(({ trigger, onFocusCapture, onBlurCapture, dr
17
18
  const wrapperRef = useRef(null);
18
19
  const triggerRef = useRef(null);
19
20
  const dropdownRef = useRef(null);
21
+ /** The portal's outermost element — FocusTrap's container. `dropdownRef`
22
+ * sits two levels below it (FocusTrap > ArrowNavigation > panel), and
23
+ * both of those levels are focusable and get focused by this component
24
+ * when the panel opens, so containment has to be tested from the top. */
25
+ const portalRef = useRef(null);
20
26
  const isControlled = controlledIsOpen !== undefined;
21
27
  const isOpen = isControlled ? controlledIsOpen : internalIsOpen;
22
28
  const handleOpenChange = useCallback((newIsOpen) => {
@@ -59,7 +65,7 @@ const DropdownWrapper = forwardRef(({ trigger, onFocusCapture, onBlurCapture, dr
59
65
  // Store the reference element's width for fillWidth calculation
60
66
  const [referenceWidth, setReferenceWidth] = useState(null);
61
67
  // We'll measure the width directly in the floating UI middleware
62
- const { x, y, strategy, refs, update } = useFloating({
68
+ const { x, y, strategy, refs, update, isPositioned, placement: resolvedPlacement } = useFloating({
63
69
  placement: placement,
64
70
  open: isOpen,
65
71
  middleware: [
@@ -90,6 +96,29 @@ const DropdownWrapper = forwardRef(({ trigger, onFocusCapture, onBlurCapture, dr
90
96
  ],
91
97
  whileElementsMounted: autoUpdate,
92
98
  });
99
+ /**
100
+ * Where the open animation grows from. The panel scales 0.9 -> 1, so the
101
+ * corner this names stays put while the opposite one travels by 10% of the
102
+ * panel's size. It has to be the edge anchored to the trigger, or the
103
+ * panel visibly slides as it opens: measured in a browser, a 480px panel
104
+ * on a "-start" placement drifted 48px sideways with this hardcoded to
105
+ * "top right" in the stylesheet.
106
+ *
107
+ * Derived from the RESOLVED placement, not the requested one, because
108
+ * `flip()` is in the middleware — a panel that flips above its trigger has
109
+ * to scale from its bottom edge instead.
110
+ */
111
+ const transformOrigin = (() => {
112
+ const [side, align] = (resolvedPlacement || "bottom").split("-");
113
+ if (side === "top" || side === "bottom") {
114
+ const y = side === "bottom" ? "top" : "bottom";
115
+ const x = align === "start" ? "left" : align === "end" ? "right" : "center";
116
+ return `${x} ${y}`;
117
+ }
118
+ const x = side === "right" ? "left" : "right";
119
+ const y = align === "start" ? "top" : align === "end" ? "bottom" : "center";
120
+ return `${x} ${y}`;
121
+ })();
93
122
  useImperativeHandle(ref, () => wrapperRef.current);
94
123
  useEffect(() => {
95
124
  if (wrapperRef.current) {
@@ -117,6 +146,60 @@ const DropdownWrapper = forwardRef(({ trigger, onFocusCapture, onBlurCapture, dr
117
146
  return () => clearTimeout(timeoutId);
118
147
  }
119
148
  }, [isOpen, mounted, update]);
149
+ /**
150
+ * Which option the panel opens on: the selected one, else the first
151
+ * enabled one. Deliberately the same rule `useArrowNavigation` applies to
152
+ * its own `autoFocus` — see the long form there — so the two agree
153
+ * instead of fighting over where focus lands. Kept here rather than
154
+ * shared through `utils`, which is published: this is an internal detail
155
+ * of how a panel opens, not API.
156
+ */
157
+ const resolveOpenIndex = useCallback((options) => {
158
+ const selected = options.findIndex((el) => el.getAttribute("aria-selected") === "true" && isEnabledOption(el));
159
+ if (selected >= 0)
160
+ return selected;
161
+ const first = options.findIndex(isEnabledOption);
162
+ return first >= 0 ? first : 0;
163
+ }, []);
164
+ /** The nearest scrollable ancestor of an option, no higher than the panel. */
165
+ const findScroller = useCallback((option) => {
166
+ const panel = dropdownRef.current;
167
+ if (!option || !panel)
168
+ return null;
169
+ for (let el = option.parentElement; el && panel.contains(el); el = el.parentElement) {
170
+ if (el.scrollHeight > el.clientHeight)
171
+ return el;
172
+ }
173
+ return null;
174
+ }, []);
175
+ /**
176
+ * Bring an option into view by scrolling the panel, never the page.
177
+ * `scrollIntoView` walks every scrollable ancestor, so opening a long
178
+ * list on its selection would drag the document with it; this moves only
179
+ * the nearest scroller inside the panel.
180
+ *
181
+ * Measured in layout pixels — `offsetTop` and `clientHeight` — rather than
182
+ * through `getBoundingClientRect`. The panel scales from 0.9 to 1 as it
183
+ * opens, so rects taken during that animation are up to a tenth short
184
+ * while `scrollTop` is always layout pixels: mixing the two left the
185
+ * selected row 35px below the scrollport, just off the bottom edge.
186
+ */
187
+ const scrollOptionIntoView = useCallback((option) => {
188
+ const scroller = findScroller(option);
189
+ if (!scroller)
190
+ return;
191
+ let top = option.offsetTop;
192
+ for (let parent = option.offsetParent; parent && parent !== scroller && scroller.contains(parent); parent = parent.offsetParent) {
193
+ top += parent.offsetTop;
194
+ }
195
+ const bottom = top + option.offsetHeight;
196
+ if (bottom > scroller.scrollTop + scroller.clientHeight) {
197
+ scroller.scrollTop = bottom - scroller.clientHeight;
198
+ }
199
+ else if (top < scroller.scrollTop) {
200
+ scroller.scrollTop = top;
201
+ }
202
+ }, [findScroller]);
120
203
  useEffect(() => {
121
204
  if (isOpen && mounted) {
122
205
  // Store the currently focused element before focusing the dropdown
@@ -127,17 +210,19 @@ const DropdownWrapper = forwardRef(({ trigger, onFocusCapture, onBlurCapture, dr
127
210
  update();
128
211
  // Reset focus index when opening
129
212
  setFocusedIndex(-1);
130
- const focusableElements = dropdownRef.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
131
- if (focusableElements.length > 0) {
132
- focusableElements[0].focus({ preventScroll: true });
133
- }
134
- const optionElements = dropdownRef.current
135
- ? Array.from(dropdownRef.current.querySelectorAll('.option, [role="option"], [data-value]'))
136
- : [];
213
+ const focusableElements = Array.from(dropdownRef.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'));
214
+ const optionElements = Array.from(dropdownRef.current.querySelectorAll('.option, [role="option"], [data-value]'));
215
+ const openIndex = resolveOpenIndex(optionElements);
216
+ // A panel that leads with something other than its list — a
217
+ // searchable Select's query field — still opens on that. Only a
218
+ // plain list opens on its selection.
219
+ const leadsWithOptions = focusableElements.length > 0 && optionElements.includes(focusableElements[0]);
220
+ const target = leadsWithOptions ? optionElements[openIndex] : focusableElements[0];
221
+ target?.focus({ preventScroll: true });
137
222
  if (optionElements.length > 0) {
138
- setFocusedIndex(0);
223
+ setFocusedIndex(openIndex);
139
224
  optionElements.forEach((el, i) => {
140
- if (i === 0) {
225
+ if (i === openIndex) {
141
226
  el.classList.add("highlighted");
142
227
  }
143
228
  else {
@@ -148,13 +233,20 @@ const DropdownWrapper = forwardRef(({ trigger, onFocusCapture, onBlurCapture, dr
148
233
  }
149
234
  });
150
235
  }
151
- else if (!isOpen && previouslyFocusedElement.current) {
152
- // Only try to focus if the element is still in the document
153
- if (document.contains(previouslyFocusedElement.current)) {
154
- previouslyFocusedElement.current.focus({ preventScroll: true });
236
+ else if (!isOpen) {
237
+ // Forget where focus was. `focusedIndex` seeds ArrowNavigation's
238
+ // `initialFocusedIndex`, which is read once at mount — leaving the
239
+ // last session's index behind meant the next open started from it and
240
+ // never resolved the current selection at all.
241
+ setFocusedIndex(-1);
242
+ if (previouslyFocusedElement.current) {
243
+ // Only try to focus if the element is still in the document
244
+ if (document.contains(previouslyFocusedElement.current)) {
245
+ previouslyFocusedElement.current.focus({ preventScroll: true });
246
+ }
155
247
  }
156
248
  }
157
- }, [isOpen, mounted, refs, update]);
249
+ }, [isOpen, mounted, refs, update, resolveOpenIndex]);
158
250
  const handleClickOutside = useCallback((event) => {
159
251
  const target = event.target;
160
252
  // Check if the click is inside the dropdown or the wrapper
@@ -211,7 +303,16 @@ const DropdownWrapper = forwardRef(({ trigger, onFocusCapture, onBlurCapture, dr
211
303
  // Check if focus moved to the dropdown or stayed in the wrapper. The
212
304
  // dropdown is portalled, so it is not a descendant of the wrapper and
213
305
  // both have to be checked.
214
- const isFocusInDropdown = dropdownRef.current && dropdownRef.current.contains(event.relatedTarget);
306
+ //
307
+ // Tested from `portalRef`, not `dropdownRef`: the panel is wrapped by
308
+ // FocusTrap and ArrowNavigation, each of which renders a focusable
309
+ // container above it and focuses that container itself as the panel
310
+ // opens. Measured in Chromium, ArrowNavigation's autoFocus timer moved
311
+ // focus from the trigger to its container 20ms after a DatePicker's
312
+ // month selector opened; read against `dropdownRef` that container is
313
+ // "outside", so the panel closed itself before the user could aim at
314
+ // anything in it.
315
+ const isFocusInDropdown = portalRef.current && portalRef.current.contains(event.relatedTarget);
215
316
  const isFocusInWrapper = wrapperRef.current && wrapperRef.current.contains(event.relatedTarget);
216
317
  // Only close if focus moved outside both the dropdown and the wrapper
217
318
  if (!isFocusInDropdown && !isFocusInWrapper) {
@@ -255,6 +356,46 @@ const DropdownWrapper = forwardRef(({ trigger, onFocusCapture, onBlurCapture, dr
255
356
  return [];
256
357
  return Array.from(dropdownRef.current.querySelectorAll('.option, [role="option"], [data-value]'));
257
358
  }, []);
359
+ /**
360
+ * Keep the current option in view — on open, and as the arrow keys move.
361
+ *
362
+ * How far to scroll depends on how tall the scrollport is, and that is
363
+ * still settling: Floating UI's `size` middleware caps the panel's height
364
+ * from its own measurements, and `autoUpdate` can revise that again a
365
+ * frame later. Scrolling once, at any single moment, lands short by
366
+ * however much the panel shrinks afterwards — measured on a 51-row year
367
+ * list, the selected row ended up 90px below the scrollport, invisible.
368
+ *
369
+ * The rows move too: a web font swapping in grew each one by 3px, which
370
+ * over the 24 rows above the selection added up to 72px of drift after
371
+ * the scroll had already run.
372
+ *
373
+ * So the scroll is tied to the geometry it depends on rather than to a
374
+ * guess about when that stops changing: the scrollport for its height,
375
+ * the row for the content's. Either resizing re-runs it. It is
376
+ * idempotent, scrolls nothing once everything fits, and stops as soon as
377
+ * the panel closes.
378
+ */
379
+ useEffect(() => {
380
+ if (!isOpen || !isPositioned)
381
+ return;
382
+ const bring = () => {
383
+ const options = getOptions();
384
+ if (focusedIndex >= 0 && focusedIndex < options.length) {
385
+ scrollOptionIntoView(options[focusedIndex]);
386
+ }
387
+ };
388
+ bring();
389
+ const option = getOptions()[focusedIndex];
390
+ const scroller = findScroller(option);
391
+ if (!scroller || typeof ResizeObserver === "undefined")
392
+ return;
393
+ const observer = new ResizeObserver(bring);
394
+ observer.observe(scroller);
395
+ if (option)
396
+ observer.observe(option);
397
+ return () => observer.disconnect();
398
+ }, [isOpen, isPositioned, focusedIndex, getOptions, scrollOptionIntoView, findScroller]);
258
399
  // Track hover on options to sync with keyboard navigation
259
400
  useEffect(() => {
260
401
  if (!isOpen || !dropdownRef.current)
@@ -313,25 +454,12 @@ const DropdownWrapper = forwardRef(({ trigger, onFocusCapture, onBlurCapture, dr
313
454
  }
314
455
  }
315
456
  }, [getOptions, closeAfterClick, handleOpenChange]);
316
- // Handle focus change
457
+ // Handle focus change. Scrolling the new option into view is the effect
458
+ // above, which is tied to the scrollport's size; recording the index is
459
+ // all this has to do.
317
460
  const handleFocusChange = useCallback((index) => {
318
461
  setFocusedIndex(index);
319
- const options = getOptions();
320
- if (index >= 0 && index < options.length && dropdownRef.current) {
321
- // Scroll within the dropdown container only, not the page
322
- const option = options[index];
323
- const container = dropdownRef.current;
324
- const optionRect = option.getBoundingClientRect();
325
- const containerRect = container.getBoundingClientRect();
326
- // Check if option is outside visible area of container
327
- if (optionRect.bottom > containerRect.bottom) {
328
- option.scrollIntoView({ block: "nearest", behavior: "auto" });
329
- }
330
- else if (optionRect.top < containerRect.top) {
331
- option.scrollIntoView({ block: "nearest", behavior: "auto" });
332
- }
333
- }
334
- }, [getOptions]);
462
+ }, []);
335
463
  // Handle keyboard navigation
336
464
  const handleKeyDown = useCallback((e) => {
337
465
  if (!isOpen) {
@@ -404,10 +532,21 @@ const DropdownWrapper = forwardRef(({ trigger, onFocusCapture, onBlurCapture, dr
404
532
  }, role: "button", "data-is-dropdown": "true", "aria-haspopup": "true", "aria-expanded": isOpen, className: "dropdown-trigger", children: trigger }), isOpen &&
405
533
  dropdown &&
406
534
  isBrowser &&
407
- createPortal(_jsx(FocusTrap, { active: isOpen, onEscape: () => handleOpenChange(false), autoFocus: true, restoreFocus: true, children: handleArrowNavigation ? (_jsx(ArrowNavigation, { layout: navigationLayout, itemCount: optionsCount, columns: typeof columns === "string" ? parseInt(columns, 10) || 8 : columns, onSelect: handleOptionSelect, onFocusChange: handleFocusChange, wrap: true, autoFocus: true, initialFocusedIndex: focusedIndex, itemSelector: '.option, [role="option"], [data-value]', role: navigationLayout === "grid" ? "grid" : "listbox", "aria-label": "Dropdown options", disabled: getLastOpenedDropdown() !== dropdownId.current, children: _jsx(Flex, { zIndex: 9, className: `${styles.fadeIn} dropdown-portal`, minWidth: minWidth, ref: dropdownRef, style: {
535
+ createPortal(_jsx(FocusTrap, { containerRef: portalRef,
536
+ // Not `isOpen`: the panel is `visibility: hidden` until Floating
537
+ // UI has measured it, and a hidden element cannot take focus, so
538
+ // autofocusing before then silently lands nowhere.
539
+ active: isOpen && isPositioned, onEscape: () => handleOpenChange(false), autoFocus: true, restoreFocus: true, children: handleArrowNavigation ? (_jsx(ArrowNavigation, { layout: navigationLayout, itemCount: optionsCount, columns: typeof columns === "string" ? parseInt(columns, 10) || 8 : columns, onSelect: handleOptionSelect, onFocusChange: handleFocusChange, wrap: true, autoFocus: isPositioned, initialFocusedIndex: focusedIndex, itemSelector: '.option, [role="option"], [data-value]', role: navigationLayout === "grid" ? "grid" : "listbox", "aria-label": "Dropdown options", disabled: getLastOpenedDropdown() !== dropdownId.current, children: _jsx(Flex, { zIndex: 9, className: `${styles.fadeIn} dropdown-portal`, minWidth: minWidth, ref: dropdownRef, style: {
408
540
  position: strategy,
409
541
  top: y ?? 0,
410
542
  left: x ?? 0,
543
+ // Floating UI reports 0,0 until it has measured, so the
544
+ // panel would otherwise paint once at the edge of the
545
+ // positioning context before jumping to the trigger.
546
+ // Hidden rather than unmounted: it has to be in the DOM
547
+ // to be measured at all.
548
+ visibility: isPositioned ? "visible" : "hidden",
549
+ transformOrigin,
411
550
  }, "data-role": "dropdown-portal", "data-is-dropdown": "true", "data-dropdown-id": dropdownId.current, "data-is-active": getLastOpenedDropdown() === dropdownId.current, onKeyDown: (e) => {
412
551
  // If handleArrowNavigation is false, let all keyboard events pass through
413
552
  if (!handleArrowNavigation) {
@@ -485,6 +624,10 @@ const DropdownWrapper = forwardRef(({ trigger, onFocusCapture, onBlurCapture, dr
485
624
  position: strategy,
486
625
  top: y ?? 0,
487
626
  left: x ?? 0,
627
+ // See the portal above: hidden until Floating UI has
628
+ // measured, so it cannot paint at 0,0 first.
629
+ visibility: isPositioned ? "visible" : "hidden",
630
+ transformOrigin,
488
631
  }, "data-role": "dropdown-portal", "data-is-dropdown": "true", "data-dropdown-id": dropdownId.current, "data-is-active": getLastOpenedDropdown() === dropdownId.current, onKeyDown: (e) => {
489
632
  // If handleArrowNavigation is false, let all keyboard events pass through
490
633
  if (!handleArrowNavigation) {
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownWrapper.js","sourceRoot":"","sources":["../../src/components/DropdownWrapper.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropdownWrapper.js","sourceRoot":"","sources":["../../src/components/DropdownWrapper.tsx"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@
10
10
  }
11
11
 
12
12
  .fadeIn {
13
- transform-origin: top right;
13
+ /* transform-origin is set inline from the RESOLVED placement — see
14
+ DropdownWrapper.tsx. Hardcoding it to `top right` here made every
15
+ left-anchored panel slide sideways as it scaled open. */
14
16
  animation: fadeIn var(--transition-duration-micro-medium) var(--transition-eased);
15
17
  }
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { BlobFx, CelebrationFx, Flex, MatrixFx, Particle, WeatherFx } from ".";
2
+ import { BlobFx, CelebrationFx, Flex, MatrixFx, ParticleFx, WeatherFx } from ".";
3
3
  /**
4
4
  * The ambient effects that are interchangeable with one another: each paints a
5
5
  * full-bleed decorative layer behind its content and none of them owns any
@@ -31,7 +31,7 @@ interface EffectProps extends React.ComponentProps<typeof Flex> {
31
31
  blob?: Omit<React.ComponentProps<typeof BlobFx>, "children">;
32
32
  matrix?: Omit<React.ComponentProps<typeof MatrixFx>, "children">;
33
33
  weather?: Omit<React.ComponentProps<typeof WeatherFx>, "children">;
34
- particle?: Omit<React.ComponentProps<typeof Particle>, "children">;
34
+ particle?: Omit<React.ComponentProps<typeof ParticleFx>, "children">;
35
35
  celebration?: Omit<React.ComponentProps<typeof CelebrationFx>, "children">;
36
36
  children?: React.ReactNode;
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../../src/components/Effect.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAE/E;;;;;GAKG;AACH,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;AAEtF,UAAU,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC;IAC7D;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;IACjE,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;IACnE,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;IACnE,WAAW,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;IAC3E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,MAAM,iGA8CX,CAAC;AAIF,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../../src/components/Effect.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAEjF;;;;;GAKG;AACH,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;AAEtF,UAAU,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC;IAC7D;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;IACjE,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;IACnE,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IACrE,WAAW,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;IAC3E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,MAAM,iGA8CX,CAAC;AAIF,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { forwardRef } from "react";
4
- import { BlobFx, CelebrationFx, Flex, MatrixFx, Particle, WeatherFx } from ".";
4
+ import { BlobFx, CelebrationFx, Flex, MatrixFx, ParticleFx, WeatherFx } from ".";
5
5
  const Effect = forwardRef(({ type = "none", colors, speed, reducedMotion, blob, matrix, weather, particle, celebration, children, ...flex }, ref) => {
6
6
  // Every layer is positioned identically and sits under the children, so
7
7
  // switching `type` changes the look and nothing else.
@@ -18,7 +18,7 @@ const Effect = forwardRef(({ type = "none", colors, speed, reducedMotion, blob,
18
18
  case "celebration":
19
19
  return _jsx(CelebrationFx, { ...layer, ...shared, colors: colors, ...celebration });
20
20
  case "particle":
21
- return _jsx(Particle, { ...layer, ...shared, color: colors?.[0], ...particle });
21
+ return _jsx(ParticleFx, { ...layer, ...shared, color: colors?.[0], ...particle });
22
22
  default:
23
23
  return null;
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Effect.js","sourceRoot":"","sources":["../../src/components/Effect.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAuC/E,MAAM,MAAM,GAAG,UAAU,CACvB,CACE,EACE,IAAI,GAAG,MAAM,EACb,MAAM,EACN,KAAK,EACL,aAAa,EACb,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,wEAAwE;IACxE,sDAAsD;IACtD,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAW,CAAC;IACjF,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAExC,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,OAAO,KAAC,MAAM,OAAK,KAAK,KAAM,IAAI,GAAI,CAAC;YACzC,KAAK,QAAQ;gBACX,OAAO,KAAC,QAAQ,OAAK,KAAK,KAAM,MAAM,EAAE,MAAM,EAAE,MAAM,KAAM,MAAM,GAAI,CAAC;YACzE,KAAK,SAAS;gBACZ,OAAO,KAAC,SAAS,OAAK,KAAK,KAAM,MAAM,EAAE,MAAM,EAAE,MAAM,KAAM,OAAO,GAAI,CAAC;YAC3E,KAAK,aAAa;gBAChB,OAAO,KAAC,aAAa,OAAK,KAAK,KAAM,MAAM,EAAE,MAAM,EAAE,MAAM,KAAM,WAAW,GAAI,CAAC;YACnF,KAAK,UAAU;gBACb,OAAO,KAAC,QAAQ,OAAK,KAAK,KAAM,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAM,QAAQ,GAAI,CAAC;YAC/E;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,CACL,MAAC,IAAI,IAAC,GAAG,EAAE,GAAG,EAAE,IAAI,QAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAC,QAAQ,KAAK,IAAI,aAChE,MAAM,EACN,QAAQ,IACJ,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"Effect.js","sourceRoot":"","sources":["../../src/components/Effect.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAuCjF,MAAM,MAAM,GAAG,UAAU,CACvB,CACE,EACE,IAAI,GAAG,MAAM,EACb,MAAM,EACN,KAAK,EACL,aAAa,EACb,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,wEAAwE;IACxE,sDAAsD;IACtD,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAW,CAAC;IACjF,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAExC,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,OAAO,KAAC,MAAM,OAAK,KAAK,KAAM,IAAI,GAAI,CAAC;YACzC,KAAK,QAAQ;gBACX,OAAO,KAAC,QAAQ,OAAK,KAAK,KAAM,MAAM,EAAE,MAAM,EAAE,MAAM,KAAM,MAAM,GAAI,CAAC;YACzE,KAAK,SAAS;gBACZ,OAAO,KAAC,SAAS,OAAK,KAAK,KAAM,MAAM,EAAE,MAAM,EAAE,MAAM,KAAM,OAAO,GAAI,CAAC;YAC3E,KAAK,aAAa;gBAChB,OAAO,KAAC,aAAa,OAAK,KAAK,KAAM,MAAM,EAAE,MAAM,EAAE,MAAM,KAAM,WAAW,GAAI,CAAC;YACnF,KAAK,UAAU;gBACb,OAAO,KAAC,UAAU,OAAK,KAAK,KAAM,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAM,QAAQ,GAAI,CAAC;YACjF;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,CACL,MAAC,IAAI,IAAC,GAAG,EAAE,GAAG,EAAE,IAAI,QAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAC,QAAQ,KAAK,IAAI,aAChE,MAAM,EACN,QAAQ,IACJ,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,8 +1,12 @@
1
1
  import React, { ReactNode } from "react";
2
2
  import { Flex } from ".";
3
+ import type { IconName } from "../icons";
3
4
  interface FeedbackProps extends Omit<React.ComponentProps<typeof Flex>, "title"> {
4
5
  variant?: "info" | "danger" | "warning" | "success";
5
6
  showIcon?: boolean;
7
+ /** Overrides the variant's icon. Custom names work once registered through
8
+ * the `IconLibraryOverrides` interface, which is what widens `IconName`. */
9
+ icon?: IconName;
6
10
  title?: string;
7
11
  description?: string;
8
12
  showCloseButton?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Feedback.d.ts","sourceRoot":"","sources":["../../src/components/Feedback.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAoB,IAAI,EAAgB,MAAM,GAAG,CAAC;AAGzD,UAAU,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,CAAC;IAC9E,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAWD,QAAA,MAAM,QAAQ,mGAqFb,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"Feedback.d.ts","sourceRoot":"","sources":["../../src/components/Feedback.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAoB,IAAI,EAAgB,MAAM,GAAG,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,UAAU,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,CAAC;IAC9E,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;iFAC6E;IAC7E,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAWD,QAAA,MAAM,QAAQ,mGAsFb,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -8,8 +8,8 @@ const variantIconMap = {
8
8
  warning: "warning",
9
9
  success: "check",
10
10
  };
11
- const Feedback = forwardRef(({ variant = "info", showIcon = true, title, description, showCloseButton = false, onClose, className, style, children, ...rest }, ref) => {
12
- return (_jsxs(Flex, { fillWidth: true, radius: "l", ref: ref, border: `${variant}-medium`, background: `${variant}-medium`, vertical: "start", role: "alert", "aria-live": "assertive", className: className, style: style, ...rest, children: [showIcon && (_jsx(Flex, { paddingY: "16", paddingLeft: "16", children: _jsx(Icon, { padding: "2", radius: "m", onBackground: `${variant}-medium`, name: variantIconMap[variant], "aria-hidden": "true" }) })), _jsxs(Column, { fillWidth: true, padding: "16", gap: "24", vertical: "center", children: [(title || description) && (_jsxs(Column, { fillWidth: true, gap: "2", children: [title && (_jsxs(Flex, { fillWidth: true, gap: "16", children: [_jsx(Flex, { fillWidth: true, paddingY: "4", children: _jsx(Text, { variant: "heading-strong-xs", onBackground: `${variant}-medium`, role: "heading", "aria-level": 2, children: title }) }), showCloseButton && (_jsx(IconButton, { onClick: onClose, icon: "close", size: "m", tooltip: "Hide", tooltipPosition: "top", variant: "ghost", "aria-label": "Close alert" }))] })), description && (_jsx(Text, { marginBottom: "2", variant: "body-default-s", onBackground: `${variant}-strong`, children: description }))] })), children] })] }));
11
+ const Feedback = forwardRef(({ variant = "info", showIcon = true, icon, title, description, showCloseButton = false, onClose, className, style, children, ...rest }, ref) => {
12
+ return (_jsxs(Flex, { fillWidth: true, radius: "l", ref: ref, border: `${variant}-medium`, background: `${variant}-medium`, vertical: title || children ? "start" : "center", role: "alert", "aria-live": "assertive", className: className, style: style, ...rest, children: [showIcon && (_jsx(Flex, { paddingY: "16", paddingLeft: "16", children: _jsx(Icon, { padding: "2", radius: "m", onBackground: `${variant}-medium`, name: icon ?? variantIconMap[variant], "aria-hidden": "true" }) })), _jsxs(Column, { fillWidth: true, padding: "16", gap: "24", vertical: "center", children: [(title || description) && (_jsxs(Column, { fillWidth: true, gap: "2", children: [title && (_jsxs(Flex, { fillWidth: true, gap: "16", children: [_jsx(Flex, { fillWidth: true, paddingY: "4", children: _jsx(Text, { variant: "heading-strong-xs", onBackground: `${variant}-medium`, role: "heading", "aria-level": 2, children: title }) }), showCloseButton && (_jsx(IconButton, { onClick: onClose, icon: "close", size: "m", tooltip: "Hide", tooltipPosition: "top", variant: "ghost", "aria-label": "Close alert" }))] })), description && (_jsx(Text, { marginBottom: "2", variant: "body-default-s", onBackground: `${variant}-strong`, children: description }))] })), children] })] }));
13
13
  });
14
14
  Feedback.displayName = "Feedback";
15
15
  export { Feedback };
@@ -1 +1 @@
1
- {"version":3,"file":"Feedback.js","sourceRoot":"","sources":["../../src/components/Feedback.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,UAAU,EAAa,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAezD,MAAM,cAAc,GAEhB;IACF,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,QAAQ,GAAG,UAAU,CACzB,CACE,EACE,OAAO,GAAG,MAAM,EAChB,QAAQ,GAAG,IAAI,EACf,KAAK,EACL,WAAW,EACX,eAAe,GAAG,KAAK,EACvB,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,OAAO,CACL,MAAC,IAAI,IACH,SAAS,QACT,MAAM,EAAC,GAAG,EACV,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,GAAG,OAAO,SAAS,EAC3B,UAAU,EAAE,GAAG,OAAO,SAAS,EAC/B,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAC,OAAO,eACF,WAAW,EACrB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,KACR,IAAI,aAEP,QAAQ,IAAI,CACX,KAAC,IAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,WAAW,EAAC,IAAI,YAClC,KAAC,IAAI,IACH,OAAO,EAAC,GAAG,EACX,MAAM,EAAC,GAAG,EACV,YAAY,EAAE,GAAG,OAAO,SAAS,EACjC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,iBACjB,MAAM,GAClB,GACG,CACR,EACD,MAAC,MAAM,IAAC,SAAS,QAAC,OAAO,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,aACtD,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CACzB,MAAC,MAAM,IAAC,SAAS,QAAC,GAAG,EAAC,GAAG,aACtB,KAAK,IAAI,CACR,MAAC,IAAI,IAAC,SAAS,QAAC,GAAG,EAAC,IAAI,aACtB,KAAC,IAAI,IAAC,SAAS,QAAC,QAAQ,EAAC,GAAG,YAC1B,KAAC,IAAI,IACH,OAAO,EAAC,mBAAmB,EAC3B,YAAY,EAAE,GAAG,OAAO,SAAS,EACjC,IAAI,EAAC,SAAS,gBACF,CAAC,YAEZ,KAAK,GACD,GACF,EACN,eAAe,IAAI,CAClB,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,GAAG,EACR,OAAO,EAAC,MAAM,EACd,eAAe,EAAC,KAAK,EACrB,OAAO,EAAC,OAAO,gBACJ,aAAa,GACxB,CACH,IACI,CACR,EACA,WAAW,IAAI,CACd,KAAC,IAAI,IACH,YAAY,EAAC,GAAG,EAChB,OAAO,EAAC,gBAAgB,EACxB,YAAY,EAAE,GAAG,OAAO,SAAS,YAEhC,WAAW,GACP,CACR,IACM,CACV,EACA,QAAQ,IACF,IACJ,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"Feedback.js","sourceRoot":"","sources":["../../src/components/Feedback.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,UAAU,EAAa,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAkBzD,MAAM,cAAc,GAEhB;IACF,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,QAAQ,GAAG,UAAU,CACzB,CACE,EACE,OAAO,GAAG,MAAM,EAChB,QAAQ,GAAG,IAAI,EACf,IAAI,EACJ,KAAK,EACL,WAAW,EACX,eAAe,GAAG,KAAK,EACvB,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,OAAO,CACL,MAAC,IAAI,IACH,SAAS,QACT,MAAM,EAAC,GAAG,EACV,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,GAAG,OAAO,SAAS,EAC3B,UAAU,EAAE,GAAG,OAAO,SAAS,EAC/B,QAAQ,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAChD,IAAI,EAAC,OAAO,eACF,WAAW,EACrB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,KACR,IAAI,aAEP,QAAQ,IAAI,CACX,KAAC,IAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,WAAW,EAAC,IAAI,YAClC,KAAC,IAAI,IACH,OAAO,EAAC,GAAG,EACX,MAAM,EAAC,GAAG,EACV,YAAY,EAAE,GAAG,OAAO,SAAS,EACjC,IAAI,EAAE,IAAI,IAAI,cAAc,CAAC,OAAO,CAAC,iBACzB,MAAM,GAClB,GACG,CACR,EACD,MAAC,MAAM,IAAC,SAAS,QAAC,OAAO,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,aACtD,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CACzB,MAAC,MAAM,IAAC,SAAS,QAAC,GAAG,EAAC,GAAG,aACtB,KAAK,IAAI,CACR,MAAC,IAAI,IAAC,SAAS,QAAC,GAAG,EAAC,IAAI,aACtB,KAAC,IAAI,IAAC,SAAS,QAAC,QAAQ,EAAC,GAAG,YAC1B,KAAC,IAAI,IACH,OAAO,EAAC,mBAAmB,EAC3B,YAAY,EAAE,GAAG,OAAO,SAAS,EACjC,IAAI,EAAC,SAAS,gBACF,CAAC,YAEZ,KAAK,GACD,GACF,EACN,eAAe,IAAI,CAClB,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,GAAG,EACR,OAAO,EAAC,MAAM,EACd,eAAe,EAAC,KAAK,EACrB,OAAO,EAAC,OAAO,gBACJ,aAAa,GACxB,CACH,IACI,CACR,EACA,WAAW,IAAI,CACd,KAAC,IAAI,IACH,YAAY,EAAC,GAAG,EAChB,OAAO,EAAC,gBAAgB,EACxB,YAAY,EAAE,GAAG,OAAO,SAAS,YAEhC,WAAW,GACP,CACR,IACM,CACV,EACA,QAAQ,IACF,IACJ,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -3,11 +3,11 @@ interface FocusTrapProps {
3
3
  children: ReactNode;
4
4
  active: boolean;
5
5
  onEscape?: () => void;
6
- containerRef?: RefObject<HTMLDivElement>;
6
+ containerRef?: RefObject<HTMLDivElement | null>;
7
7
  className?: string;
8
8
  style?: React.CSSProperties;
9
- initialFocusRef?: RefObject<HTMLElement>;
10
- returnFocusRef?: RefObject<HTMLElement>;
9
+ initialFocusRef?: RefObject<HTMLElement | null>;
10
+ returnFocusRef?: RefObject<HTMLElement | null>;
11
11
  restoreFocus?: boolean;
12
12
  autoFocus?: boolean;
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FocusTrap.d.ts","sourceRoot":"","sources":["../../src/components/FocusTrap.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAqB,SAAS,EAAiB,SAAS,EAAc,MAAM,OAAO,CAAC;AAElG,UAAU,cAAc;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IACzC,cAAc,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,SAAS,uFAgHb,CAAA;AAGF,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"FocusTrap.d.ts","sourceRoot":"","sources":["../../src/components/FocusTrap.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAqB,SAAS,EAAiB,SAAS,EAAc,MAAM,OAAO,CAAC;AAElG,UAAU,cAAc;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,SAAS,uFA0Hb,CAAA;AAGF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -8,6 +8,16 @@ const FocusTrap = forwardRef(({ children, active, onEscape, containerRef: extern
8
8
  // Store the previously focused element when the trap becomes active
9
9
  useEffect(() => {
10
10
  if (active) {
11
+ // Focus already inside means someone placed it there deliberately and
12
+ // more precisely than "the first focusable element" — DropdownWrapper
13
+ // opens a list on its selected option, not its first. This effect can
14
+ // run before or after that, depending on when the panel finishes
15
+ // positioning, so it defers instead of racing: a trap's job is to keep
16
+ // focus in, not to reset where it sits. The element outside is likewise
17
+ // only worth remembering when focus is actually coming from out there.
18
+ const alreadyInside = containerRef.current?.contains(document.activeElement) ?? false;
19
+ if (alreadyInside)
20
+ return;
11
21
  previouslyFocusedElement.current = document.activeElement;
12
22
  if (autoFocus) {
13
23
  // Focus the specified initial element or the first focusable element
@@ -1 +1 @@
1
- {"version":3,"file":"FocusTrap.js","sourceRoot":"","sources":["../../src/components/FocusTrap.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FocusTrap.js","sourceRoot":"","sources":["../../src/components/FocusTrap.tsx"],"names":[],"mappings":"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"}