@once-ui-system/core 1.5.14 → 1.6.1

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 (93) hide show
  1. package/dist/components/ArrowNavigationContext.js +1 -1
  2. package/dist/components/ArrowNavigationContext.js.map +1 -1
  3. package/dist/components/Carousel.d.ts.map +1 -1
  4. package/dist/components/Carousel.js +5 -9
  5. package/dist/components/Carousel.js.map +1 -1
  6. package/dist/components/Carousel.module.scss +16 -0
  7. package/dist/components/ClientFlex.d.ts +6 -6
  8. package/dist/components/ClientFlex.d.ts.map +1 -1
  9. package/dist/components/ClientFlex.js +21 -18
  10. package/dist/components/ClientFlex.js.map +1 -1
  11. package/dist/components/ClientGrid.d.ts +6 -6
  12. package/dist/components/ClientGrid.d.ts.map +1 -1
  13. package/dist/components/ClientGrid.js +21 -18
  14. package/dist/components/ClientGrid.js.map +1 -1
  15. package/dist/components/ContextMenu.d.ts.map +1 -1
  16. package/dist/components/ContextMenu.js +32 -41
  17. package/dist/components/ContextMenu.js.map +1 -1
  18. package/dist/components/Dialog.d.ts.map +1 -1
  19. package/dist/components/Dialog.js +57 -30
  20. package/dist/components/Dialog.js.map +1 -1
  21. package/dist/components/DropdownWrapper.d.ts.map +1 -1
  22. package/dist/components/DropdownWrapper.js +128 -174
  23. package/dist/components/DropdownWrapper.js.map +1 -1
  24. package/dist/components/Flex.d.ts +6 -6
  25. package/dist/components/Flex.d.ts.map +1 -1
  26. package/dist/components/Flex.js.map +1 -1
  27. package/dist/components/Grid.d.ts +6 -6
  28. package/dist/components/Grid.d.ts.map +1 -1
  29. package/dist/components/Grid.js.map +1 -1
  30. package/dist/components/Heading.d.ts +1 -1
  31. package/dist/components/Heading.d.ts.map +1 -1
  32. package/dist/components/Heading.js +20 -9
  33. package/dist/components/Heading.js.map +1 -1
  34. package/dist/components/MasonryGrid.d.ts +9 -1
  35. package/dist/components/MasonryGrid.d.ts.map +1 -1
  36. package/dist/components/MasonryGrid.js +2 -2
  37. package/dist/components/MasonryGrid.js.map +1 -1
  38. package/dist/components/MatrixFx.d.ts.map +1 -1
  39. package/dist/components/MatrixFx.js +57 -6
  40. package/dist/components/MatrixFx.js.map +1 -1
  41. package/dist/components/ScrollLock.d.ts +8 -0
  42. package/dist/components/ScrollLock.d.ts.map +1 -0
  43. package/dist/components/ScrollLock.js +112 -0
  44. package/dist/components/ScrollLock.js.map +1 -0
  45. package/dist/components/ServerFlex.d.ts +6 -6
  46. package/dist/components/ServerFlex.d.ts.map +1 -1
  47. package/dist/components/ServerFlex.js +199 -56
  48. package/dist/components/ServerFlex.js.map +1 -1
  49. package/dist/components/ServerGrid.d.ts +6 -6
  50. package/dist/components/ServerGrid.d.ts.map +1 -1
  51. package/dist/components/ServerGrid.js +154 -27
  52. package/dist/components/ServerGrid.js.map +1 -1
  53. package/dist/components/Text.d.ts +1 -1
  54. package/dist/components/Text.d.ts.map +1 -1
  55. package/dist/components/Text.js +20 -9
  56. package/dist/components/Text.js.map +1 -1
  57. package/dist/components/Textarea.js +1 -1
  58. package/dist/components/Textarea.js.map +1 -1
  59. package/dist/components/ThemeInit.d.ts +20 -0
  60. package/dist/components/ThemeInit.d.ts.map +1 -0
  61. package/dist/components/ThemeInit.js +47 -0
  62. package/dist/components/ThemeInit.js.map +1 -0
  63. package/dist/components/index.d.ts +2 -0
  64. package/dist/components/index.d.ts.map +1 -1
  65. package/dist/components/index.js +2 -0
  66. package/dist/components/index.js.map +1 -1
  67. package/dist/contexts/LayoutProvider.d.ts.map +1 -1
  68. package/dist/contexts/LayoutProvider.js +0 -8
  69. package/dist/contexts/LayoutProvider.js.map +1 -1
  70. package/dist/css/styles.css +1 -1
  71. package/dist/css/styles.css.map +1 -1
  72. package/dist/css/tokens.css +1 -1
  73. package/dist/css/tokens.css.map +1 -1
  74. package/dist/hooks/useResponsiveClasses.d.ts +1 -1
  75. package/dist/hooks/useResponsiveClasses.d.ts.map +1 -1
  76. package/dist/hooks/useResponsiveClasses.js +23 -23
  77. package/dist/hooks/useResponsiveClasses.js.map +1 -1
  78. package/dist/interfaces.d.ts +57 -35
  79. package/dist/interfaces.d.ts.map +1 -1
  80. package/dist/modules/data/Legend.d.ts +1 -0
  81. package/dist/modules/data/Legend.d.ts.map +1 -1
  82. package/dist/modules/data/Legend.js +2 -2
  83. package/dist/modules/data/Legend.js.map +1 -1
  84. package/dist/modules/data/LineChart.d.ts.map +1 -1
  85. package/dist/modules/data/LineChart.js +1 -1
  86. package/dist/modules/data/LineChart.js.map +1 -1
  87. package/dist/package.json +1 -1
  88. package/dist/styles/border.scss +4 -0
  89. package/dist/styles/typography.scss +20 -0
  90. package/dist/tokens/theme.scss +1 -0
  91. package/dist/types.d.ts +1 -0
  92. package/dist/types.d.ts.map +1 -1
  93. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React, { useEffect, useCallback, useRef, forwardRef, useState, useContext, } from "react";
4
4
  import ReactDOM from "react-dom";
5
5
  import classNames from "classnames";
6
- import { Column, Flex, Heading, IconButton, Text } from ".";
6
+ import { Column, Flex, Heading, IconButton, ScrollLock, Text } from ".";
7
7
  import styles from "./Dialog.module.scss";
8
8
  const DialogContext = React.createContext({
9
9
  stackedDialogOpen: false,
@@ -75,11 +75,37 @@ const Dialog = forwardRef(({ isOpen, onClose, title, description, children, stac
75
75
  }
76
76
  }, [isOpen, handleKeyDown]);
77
77
  useEffect(() => {
78
+ // Find the portal container (direct child of body that contains the dialog)
79
+ const getPortalContainer = () => {
80
+ let portalContainer = dialogRef.current;
81
+ while (portalContainer && portalContainer.parentElement !== document.body) {
82
+ portalContainer = portalContainer.parentElement;
83
+ }
84
+ return portalContainer;
85
+ };
86
+ // Cleanup function to restore inert state
87
+ const cleanup = () => {
88
+ // Restore inert on all body children
89
+ document.body.childNodes.forEach((node) => {
90
+ if (node instanceof HTMLElement) {
91
+ node.inert = false;
92
+ }
93
+ });
94
+ // Also restore inert on any dialogs (for stacked dialog case)
95
+ if (stack) {
96
+ const dialogs = document.querySelectorAll('[role="dialog"]');
97
+ dialogs.forEach((dialog) => {
98
+ if (dialog instanceof HTMLElement) {
99
+ dialog.inert = false;
100
+ }
101
+ });
102
+ }
103
+ };
78
104
  if (isOpen) {
79
- document.body.style.overflow = "hidden";
80
- // Make everything outside the dialog inert
105
+ const portalContainer = getPortalContainer();
106
+ // Make everything outside the dialog inert, except the dialog's own portal container
81
107
  document.body.childNodes.forEach((node) => {
82
- if (node instanceof HTMLElement && node !== document.getElementById("portal-root")) {
108
+ if (node instanceof HTMLElement && node !== portalContainer) {
83
109
  node.inert = true;
84
110
  }
85
111
  });
@@ -92,6 +118,8 @@ const Dialog = forwardRef(({ isOpen, onClose, title, description, children, stac
92
118
  }
93
119
  });
94
120
  }
121
+ // Return cleanup function for when component unmounts or isOpen changes
122
+ return cleanup;
95
123
  }
96
124
  else {
97
125
  // If this is a stacked dialog closing, restore interactivity to base dialog
@@ -110,7 +138,6 @@ const Dialog = forwardRef(({ isOpen, onClose, title, description, children, stac
110
138
  node.inert = false;
111
139
  }
112
140
  });
113
- document.body.style.overflow = "unset";
114
141
  }
115
142
  }
116
143
  }, [isOpen, stack]);
@@ -148,31 +175,31 @@ const Dialog = forwardRef(({ isOpen, onClose, title, description, children, stac
148
175
  }, [isVisible, onClose, stack, base]);
149
176
  if (!isVisible)
150
177
  return null;
151
- return ReactDOM.createPortal(_jsx(Flex, { ref: ref, transition: "macro-medium", background: "overlay", position: "fixed", zIndex: base ? 8 : 9, top: "0", left: "0", right: "0", bottom: "0", className: classNames(styles.overlay, {
152
- [styles.open]: isAnimating,
153
- }), center: true, padding: "l", role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-title", children: _jsx(Flex, { fill: true, center: true, transition: "macro-medium", style: {
154
- transform: base ? "scale(0.94) translateY(-1.25rem)" : "",
155
- }, children: _jsxs(Column, { position: "unset", className: classNames(styles.dialog, {
178
+ return ReactDOM.createPortal(_jsxs(_Fragment, { children: [_jsx(ScrollLock, { enabled: isOpen, allowScrollInElement: dialogRef }), _jsx(Flex, { ref: ref, transition: "macro-medium", background: "overlay", position: "fixed", zIndex: base ? 8 : 9, top: "0", left: "0", right: "0", bottom: "0", className: classNames(styles.overlay, {
156
179
  [styles.open]: isAnimating,
157
- }), style: {
158
- minHeight: minHeight ? `${minHeight}px` : undefined,
159
- }, ref: dialogRef, fillWidth: true, transition: "macro-medium", shadow: "xl", radius: "xl", border: "neutral-medium", background: "neutral-weak", tabIndex: -1, onKeyDown: (e) => {
160
- if (e.key === "Tab") {
161
- const focusableElements = Array.from(dialogRef.current?.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])') || []);
162
- if (focusableElements.length === 0)
163
- return;
164
- const firstElement = focusableElements[0];
165
- const lastElement = focusableElements[focusableElements.length - 1];
166
- if (e.shiftKey && document.activeElement === firstElement) {
167
- e.preventDefault();
168
- lastElement.focus();
169
- }
170
- else if (!e.shiftKey && document.activeElement === lastElement) {
171
- e.preventDefault();
172
- firstElement.focus();
173
- }
174
- }
175
- }, ...rest, children: [_jsxs(Column, { as: "header", paddingX: "24", paddingTop: "24", paddingBottom: "s", gap: "4", children: [_jsxs(Flex, { fillWidth: true, horizontal: "between", gap: "8", children: [typeof title === "string" ? (_jsx(Heading, { id: "dialog-title", variant: "heading-strong-l", children: title })) : (title), _jsx(IconButton, { icon: "close", size: "m", variant: "tertiary", tooltip: "Close", onClick: onClose })] }), description && (_jsx(Text, { variant: "body-default-s", onBackground: "neutral-weak", children: description }))] }), _jsx(Column, { as: "section", paddingX: "24", paddingBottom: "24", flex: 1, overflowY: "auto", children: children }), footer && (_jsx(Flex, { borderTop: "neutral-medium", as: "footer", horizontal: "end", padding: "12", gap: "8", children: footer }))] }) }) }), document.body);
180
+ }), center: true, padding: "l", role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-title", children: _jsx(Flex, { fill: true, center: true, transition: "macro-medium", style: {
181
+ transform: base ? "scale(0.94) translateY(-1.25rem)" : "",
182
+ }, children: _jsxs(Column, { position: "unset", className: classNames(styles.dialog, {
183
+ [styles.open]: isAnimating,
184
+ }), style: {
185
+ minHeight: minHeight ? `${minHeight}px` : undefined,
186
+ }, ref: dialogRef, fillWidth: true, transition: "macro-medium", shadow: "xl", radius: "xl", border: "neutral-medium", background: "neutral-weak", tabIndex: -1, onKeyDown: (e) => {
187
+ if (e.key === "Tab") {
188
+ const focusableElements = Array.from(dialogRef.current?.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])') || []);
189
+ if (focusableElements.length === 0)
190
+ return;
191
+ const firstElement = focusableElements[0];
192
+ const lastElement = focusableElements[focusableElements.length - 1];
193
+ if (e.shiftKey && document.activeElement === firstElement) {
194
+ e.preventDefault();
195
+ lastElement.focus();
196
+ }
197
+ else if (!e.shiftKey && document.activeElement === lastElement) {
198
+ e.preventDefault();
199
+ firstElement.focus();
200
+ }
201
+ }
202
+ }, ...rest, children: [_jsxs(Column, { as: "header", paddingX: "24", paddingTop: "24", paddingBottom: "s", gap: "4", children: [_jsxs(Flex, { fillWidth: true, horizontal: "between", gap: "8", children: [typeof title === "string" ? (_jsx(Heading, { id: "dialog-title", variant: "heading-strong-l", children: title })) : (title), _jsx(IconButton, { icon: "close", size: "m", variant: "tertiary", tooltip: "Close", onClick: onClose })] }), description && (_jsx(Text, { variant: "body-default-s", onBackground: "neutral-weak", children: description }))] }), _jsx(Column, { as: "section", paddingX: "24", paddingBottom: "24", flex: 1, overflowY: "auto", children: children }), footer && (_jsx(Flex, { borderTop: "neutral-medium", as: "footer", horizontal: "end", padding: "12", gap: "8", children: footer }))] }) }) })] }), document.body);
176
203
  });
177
204
  Dialog.displayName = "Dialog";
178
205
  export { Dialog };
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/components/Dialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/components/Dialog.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownWrapper.d.ts","sourceRoot":"","sources":["../../src/components/DropdownWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAKZ,SAAS,EAMV,MAAM,OAAO,CAAC;AAEf,OAAO,EAOL,SAAS,EACV,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAKD,QAAA,MAAM,eAAe,6FAmxBpB,CAAC;AAGF,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"DropdownWrapper.d.ts","sourceRoot":"","sources":["../../src/components/DropdownWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAKZ,SAAS,EAMV,MAAM,OAAO,CAAC;AAEf,OAAO,EAOL,SAAS,EACV,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAKD,QAAA,MAAM,eAAe,6FAiuBpB,CAAC;AAGF,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import React, { useState, useRef, useEffect, useLayoutEffect, forwardRef, useImperativeHandle, useCallback, } from "react";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import React, { useState, useRef, useEffect, forwardRef, useImperativeHandle, useCallback, } from "react";
4
4
  import { createPortal } from "react-dom";
5
5
  import { useFloating, shift, offset, flip, size, autoUpdate, } from "@floating-ui/react-dom";
6
- import { Flex, Dropdown, Column, Row, FocusTrap, ArrowNavigation } from ".";
6
+ import { Flex, Dropdown, Column, Row, FocusTrap, ArrowNavigation, ScrollLock } from ".";
7
7
  import styles from "./DropdownWrapper.module.scss";
8
8
  // Global state to track the last opened dropdown
9
9
  let dropdownCounter = 0;
@@ -103,52 +103,6 @@ const DropdownWrapper = forwardRef(({ trigger, dropdown, selectedOption, minHeig
103
103
  }, [mounted]);
104
104
  // Store the previously focused element to restore focus when dropdown closes
105
105
  const previouslyFocusedElement = useRef(null);
106
- // Lock/unlock body scroll when dropdown opens/closes
107
- useLayoutEffect(() => {
108
- if (isOpen) {
109
- // Store current scroll position
110
- const scrollY = window.scrollY;
111
- const scrollX = window.scrollX;
112
- // Prevent scroll via events instead of hiding overflow
113
- const preventScroll = (e) => {
114
- // Allow scroll if it's inside the dropdown content
115
- const target = e.target;
116
- if (dropdownRef.current?.contains(target)) {
117
- return; // Allow dropdown content to scroll
118
- }
119
- e.preventDefault();
120
- e.stopPropagation();
121
- // Restore scroll position if it changed
122
- window.scrollTo(scrollX, scrollY);
123
- };
124
- // Add event listeners to prevent scrolling on page body
125
- document.body.addEventListener('wheel', preventScroll, { passive: false });
126
- document.body.addEventListener('touchmove', preventScroll, { passive: false });
127
- window.addEventListener('scroll', preventScroll, { passive: false });
128
- // Prevent keyboard scrolling
129
- const preventKeyScroll = (e) => {
130
- const ke = e;
131
- const scrollKeys = ['ArrowUp', 'ArrowDown', 'PageUp', 'PageDown', 'Home', 'End', ' '];
132
- if (scrollKeys.includes(ke.key)) {
133
- // Allow keyboard scroll if focus is inside dropdown
134
- const target = ke.target;
135
- if (dropdownRef.current?.contains(target)) {
136
- return; // Allow dropdown content to scroll with keyboard
137
- }
138
- ke.preventDefault();
139
- window.scrollTo(scrollX, scrollY);
140
- }
141
- };
142
- window.addEventListener('keydown', preventKeyScroll);
143
- return () => {
144
- // Remove all event listeners
145
- document.body.removeEventListener('wheel', preventScroll);
146
- document.body.removeEventListener('touchmove', preventScroll);
147
- window.removeEventListener('scroll', preventScroll);
148
- window.removeEventListener('keydown', preventKeyScroll);
149
- };
150
- }
151
- }, [isOpen]);
152
106
  // Force update when dropdown opens
153
107
  useEffect(() => {
154
108
  if (isOpen && mounted) {
@@ -412,139 +366,139 @@ const DropdownWrapper = forwardRef(({ trigger, dropdown, selectedOption, minHeig
412
366
  // Arrow key navigation will be handled by ArrowNavigation component
413
367
  // Enter/Space key selection will be handled by ArrowNavigation component
414
368
  }, [isOpen, handleOpenChange, handleArrowNavigation]);
415
- return (_jsxs(Column, { fillWidth: fillWidth, fitWidth: !fillWidth, transition: "macro-medium", style: {
416
- ...style,
417
- }, className: className, ref: wrapperRef, onClick: disableTriggerClick
418
- ? undefined
419
- : (e) => {
420
- if (!isOpen) {
421
- handleOpenChange(true);
422
- return;
423
- }
424
- }, onKeyDown: handleKeyDown, tabIndex: -1, role: "button", "aria-haspopup": "listbox", "aria-expanded": isOpen, "data-role": "dropdown-wrapper", children: [_jsx(Row, { ref: triggerRef, fillWidth: fillWidth, fitWidth: !fillWidth, onClick: disableTriggerClick
369
+ return (_jsxs(_Fragment, { children: [_jsx(ScrollLock, { enabled: isOpen, allowScrollInElement: dropdownRef }), _jsxs(Column, { fillWidth: fillWidth, fitWidth: !fillWidth, transition: "macro-medium", style: {
370
+ ...style,
371
+ }, className: className, ref: wrapperRef, onClick: disableTriggerClick
425
372
  ? undefined
426
373
  : (e) => {
427
- // If already open, close on trigger click
428
- if (isOpen) {
429
- handleOpenChange(false);
374
+ if (!isOpen) {
375
+ handleOpenChange(true);
430
376
  return;
431
377
  }
432
- handleOpenChange(true);
433
- }, onKeyDown: (e) => {
434
- handleKeyDown(e);
435
- }, role: "button", "data-is-dropdown": "true", "aria-haspopup": "true", "aria-expanded": isOpen, className: "dropdown-trigger", children: trigger }), isOpen &&
436
- dropdown &&
437
- isBrowser &&
438
- 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: window.lastOpenedDropdown !== dropdownId.current, children: _jsx(Flex, { zIndex: 9, className: `${styles.fadeIn} dropdown-portal`, minWidth: minWidth, ref: dropdownRef, style: {
439
- position: strategy,
440
- top: y ?? 0,
441
- left: x ?? 0,
442
- }, "data-role": "dropdown-portal", "data-is-dropdown": "true", "data-dropdown-id": dropdownId.current, "data-is-active": window.lastOpenedDropdown === dropdownId.current, onKeyDown: (e) => {
443
- // If handleArrowNavigation is false, let all keyboard events pass through
444
- if (!handleArrowNavigation) {
378
+ }, onKeyDown: handleKeyDown, tabIndex: -1, role: "button", "aria-haspopup": "listbox", "aria-expanded": isOpen, "data-role": "dropdown-wrapper", children: [_jsx(Row, { ref: triggerRef, fillWidth: fillWidth, fitWidth: !fillWidth, onClick: disableTriggerClick
379
+ ? undefined
380
+ : (e) => {
381
+ // If already open, close on trigger click
382
+ if (isOpen) {
383
+ handleOpenChange(false);
445
384
  return;
446
385
  }
447
- // Let FocusTrap handle Tab key
448
- // Let ArrowNavigation handle arrow keys
449
- if (e.key !== "Tab" &&
450
- e.key !== "ArrowUp" &&
451
- e.key !== "ArrowDown" &&
452
- e.key !== "ArrowLeft" &&
453
- e.key !== "ArrowRight") {
454
- handleKeyDown(e);
455
- }
456
- }, onMouseDown: (e) => {
457
- // Allow interactive elements (inputs, buttons, etc.) to work normally
458
- const target = e.target;
459
- const isInteractive = target.closest('input, textarea, select, button, [role="button"], a');
460
- if (!isInteractive) {
461
- e.preventDefault();
462
- }
463
- }, onPointerDown: (e) => {
464
- // Allow interactive elements (inputs, buttons, etc.) to work normally
465
- const target = e.target;
466
- const isInteractive = target.closest('input, textarea, select, button, [role="button"], a');
467
- if (!isInteractive) {
468
- e.preventDefault();
469
- }
470
- }, onTouchStart: (e) => {
471
- // Allow interactive elements (inputs, buttons, etc.) to work normally
472
- const target = e.target;
473
- const isInteractive = target.closest('input, textarea, select, button, [role="button"], a');
474
- if (!isInteractive) {
475
- e.preventDefault();
476
- }
477
- }, children: _jsx(Dropdown, { minWidth: minWidth, radius: "l", padding: "0", selectedOption: selectedOption, onSelect: (value) => {
478
- onSelect?.(value);
479
- if (closeAfterClick) {
480
- handleOpenChange(false);
481
- setFocusedIndex(-1);
482
- }
483
- }, children: React.Children.map(dropdown, (child) => {
484
- if (React.isValidElement(child)) {
485
- // Only add onClick handler to elements that have data-value or are interactive
486
- const childElement = child;
487
- const hasDataValue = childElement.props["data-value"] ||
488
- childElement.props.value ||
489
- childElement.type === "button" ||
490
- childElement.props.role === "option";
491
- if (hasDataValue) {
492
- // Cast the child element to any to avoid TypeScript errors with unknown props
493
- return React.cloneElement(childElement, {
494
- onClick: (val) => {
495
- onSelect?.(val);
496
- if (closeAfterClick) {
497
- handleOpenChange(false);
498
- setFocusedIndex(-1);
499
- }
500
- },
501
- });
386
+ handleOpenChange(true);
387
+ }, onKeyDown: (e) => {
388
+ handleKeyDown(e);
389
+ }, role: "button", "data-is-dropdown": "true", "aria-haspopup": "true", "aria-expanded": isOpen, className: "dropdown-trigger", children: trigger }), isOpen &&
390
+ dropdown &&
391
+ isBrowser &&
392
+ 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: window.lastOpenedDropdown !== dropdownId.current, children: _jsx(Flex, { zIndex: 9, className: `${styles.fadeIn} dropdown-portal`, minWidth: minWidth, ref: dropdownRef, style: {
393
+ position: strategy,
394
+ top: y ?? 0,
395
+ left: x ?? 0,
396
+ }, "data-role": "dropdown-portal", "data-is-dropdown": "true", "data-dropdown-id": dropdownId.current, "data-is-active": window.lastOpenedDropdown === dropdownId.current, onKeyDown: (e) => {
397
+ // If handleArrowNavigation is false, let all keyboard events pass through
398
+ if (!handleArrowNavigation) {
399
+ return;
400
+ }
401
+ // Let FocusTrap handle Tab key
402
+ // Let ArrowNavigation handle arrow keys
403
+ if (e.key !== "Tab" &&
404
+ e.key !== "ArrowUp" &&
405
+ e.key !== "ArrowDown" &&
406
+ e.key !== "ArrowLeft" &&
407
+ e.key !== "ArrowRight") {
408
+ handleKeyDown(e);
409
+ }
410
+ }, onMouseDown: (e) => {
411
+ // Allow interactive elements (inputs, buttons, etc.) to work normally
412
+ const target = e.target;
413
+ const isInteractive = target.closest('input, textarea, select, button, [role="button"], a');
414
+ if (!isInteractive) {
415
+ e.preventDefault();
502
416
  }
503
- // Return the child unchanged if it doesn't need an onClick handler
504
- return child;
417
+ }, onPointerDown: (e) => {
418
+ // Allow interactive elements (inputs, buttons, etc.) to work normally
419
+ const target = e.target;
420
+ const isInteractive = target.closest('input, textarea, select, button, [role="button"], a');
421
+ if (!isInteractive) {
422
+ e.preventDefault();
423
+ }
424
+ }, onTouchStart: (e) => {
425
+ // Allow interactive elements (inputs, buttons, etc.) to work normally
426
+ const target = e.target;
427
+ const isInteractive = target.closest('input, textarea, select, button, [role="button"], a');
428
+ if (!isInteractive) {
429
+ e.preventDefault();
430
+ }
431
+ }, children: _jsx(Dropdown, { minWidth: minWidth, radius: "l", padding: "0", selectedOption: selectedOption, onSelect: (value) => {
432
+ onSelect?.(value);
433
+ if (closeAfterClick) {
434
+ handleOpenChange(false);
435
+ setFocusedIndex(-1);
436
+ }
437
+ }, children: React.Children.map(dropdown, (child) => {
438
+ if (React.isValidElement(child)) {
439
+ // Only add onClick handler to elements that have data-value or are interactive
440
+ const childElement = child;
441
+ const hasDataValue = childElement.props["data-value"] ||
442
+ childElement.props.value ||
443
+ childElement.type === "button" ||
444
+ childElement.props.role === "option";
445
+ if (hasDataValue) {
446
+ // Cast the child element to any to avoid TypeScript errors with unknown props
447
+ return React.cloneElement(childElement, {
448
+ onClick: (val) => {
449
+ onSelect?.(val);
450
+ if (closeAfterClick) {
451
+ handleOpenChange(false);
452
+ setFocusedIndex(-1);
453
+ }
454
+ },
455
+ });
456
+ }
457
+ // Return the child unchanged if it doesn't need an onClick handler
458
+ return child;
459
+ }
460
+ return child;
461
+ }) }) }) })) : (_jsx(Flex, { zIndex: 9, className: `${styles.fadeIn} dropdown-portal`, minWidth: minWidth, ref: dropdownRef, style: {
462
+ position: strategy,
463
+ top: y ?? 0,
464
+ left: x ?? 0,
465
+ }, "data-role": "dropdown-portal", "data-is-dropdown": "true", "data-dropdown-id": dropdownId.current, "data-is-active": window.lastOpenedDropdown === dropdownId.current, onKeyDown: (e) => {
466
+ // If handleArrowNavigation is false, let all keyboard events pass through
467
+ if (!handleArrowNavigation) {
468
+ return;
505
469
  }
506
- return child;
507
- }) }) }) })) : (_jsx(Flex, { zIndex: 9, className: `${styles.fadeIn} dropdown-portal`, minWidth: minWidth, ref: dropdownRef, style: {
508
- position: strategy,
509
- top: y ?? 0,
510
- left: x ?? 0,
511
- }, "data-role": "dropdown-portal", "data-is-dropdown": "true", "data-dropdown-id": dropdownId.current, "data-is-active": window.lastOpenedDropdown === dropdownId.current, onKeyDown: (e) => {
512
- // If handleArrowNavigation is false, let all keyboard events pass through
513
- if (!handleArrowNavigation) {
514
- return;
515
- }
516
- // Let FocusTrap handle Tab key
517
- if (e.key !== "Tab") {
518
- handleKeyDown(e);
519
- }
520
- }, onMouseDown: (e) => {
521
- // Allow interactive elements (inputs, buttons, etc.) to work normally
522
- const target = e.target;
523
- const isInteractive = target.closest('input, textarea, select, button, [role="button"], a');
524
- if (!isInteractive) {
525
- e.preventDefault();
526
- }
527
- }, onPointerDown: (e) => {
528
- // Allow interactive elements (inputs, buttons, etc.) to work normally
529
- const target = e.target;
530
- const isInteractive = target.closest('input, textarea, select, button, [role="button"], a');
531
- if (!isInteractive) {
532
- e.preventDefault();
533
- }
534
- }, onTouchStart: (e) => {
535
- // Allow interactive elements (inputs, buttons, etc.) to work normally
536
- const target = e.target;
537
- const isInteractive = target.closest('input, textarea, select, button, [role="button"], a');
538
- if (!isInteractive) {
539
- e.preventDefault();
540
- }
541
- }, children: _jsx(Dropdown, { minWidth: minWidth, radius: "l", padding: "0", selectedOption: selectedOption, onSelect: (value) => {
542
- onSelect?.(value);
543
- if (closeAfterClick) {
544
- handleOpenChange(false);
545
- setFocusedIndex(-1);
546
- }
547
- }, children: dropdown }) })) }), document.body)] }));
470
+ // Let FocusTrap handle Tab key
471
+ if (e.key !== "Tab") {
472
+ handleKeyDown(e);
473
+ }
474
+ }, onMouseDown: (e) => {
475
+ // Allow interactive elements (inputs, buttons, etc.) to work normally
476
+ const target = e.target;
477
+ const isInteractive = target.closest('input, textarea, select, button, [role="button"], a');
478
+ if (!isInteractive) {
479
+ e.preventDefault();
480
+ }
481
+ }, onPointerDown: (e) => {
482
+ // Allow interactive elements (inputs, buttons, etc.) to work normally
483
+ const target = e.target;
484
+ const isInteractive = target.closest('input, textarea, select, button, [role="button"], a');
485
+ if (!isInteractive) {
486
+ e.preventDefault();
487
+ }
488
+ }, onTouchStart: (e) => {
489
+ // Allow interactive elements (inputs, buttons, etc.) to work normally
490
+ const target = e.target;
491
+ const isInteractive = target.closest('input, textarea, select, button, [role="button"], a');
492
+ if (!isInteractive) {
493
+ e.preventDefault();
494
+ }
495
+ }, children: _jsx(Dropdown, { minWidth: minWidth, radius: "l", padding: "0", selectedOption: selectedOption, onSelect: (value) => {
496
+ onSelect?.(value);
497
+ if (closeAfterClick) {
498
+ handleOpenChange(false);
499
+ setFocusedIndex(-1);
500
+ }
501
+ }, children: dropdown }) })) }), document.body)] })] }));
548
502
  });
549
503
  DropdownWrapper.displayName = "DropdownWrapper";
550
504
  export { DropdownWrapper };