@astryxdesign/core 0.7.5-canary.f57df18 → 0.7.5-canary.f85473e
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/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +4 -2
- package/dist/ComplexSelector/ComplexSelector.d.ts +1 -1
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +17 -1
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +21 -1
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +10 -4
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +10 -8
- package/dist/DropdownMenu/useMenuDrillIn.d.ts.map +1 -1
- package/dist/DropdownMenu/useMenuDrillIn.js +7 -5
- package/dist/InputGroup/InputGroup.d.ts +1 -1
- package/dist/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/InputGroup/InputGroup.js +46 -36
- package/dist/InputGroup/InputGroupInternalContext.d.ts +4 -0
- package/dist/InputGroup/InputGroupInternalContext.d.ts.map +1 -0
- package/dist/InputGroup/InputGroupInternalContext.js +15 -0
- package/dist/Layout/Layout.d.ts.map +1 -1
- package/dist/Layout/Layout.js +4 -0
- package/dist/Layout/LayoutContent.d.ts.map +1 -1
- package/dist/Layout/LayoutContent.js +2 -2
- package/dist/Layout/LayoutFooter.d.ts.map +1 -1
- package/dist/Layout/LayoutFooter.js +2 -1
- package/dist/Layout/LayoutHeader.d.ts.map +1 -1
- package/dist/Layout/LayoutHeader.js +2 -1
- package/dist/Layout/layoutEdges.stylex.d.ts +20 -0
- package/dist/Layout/layoutEdges.stylex.d.ts.map +1 -0
- package/dist/Layout/layoutEdges.stylex.js +28 -0
- package/dist/MultiSelector/MultiSelector.d.ts +1 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +6 -3
- package/dist/NumberInput/NumberInput.d.ts +1 -1
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +5 -2
- package/dist/SelectableCard/SelectableCard.d.ts +5 -5
- package/dist/SelectableCard/SelectableCard.js +5 -5
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +6 -3
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +5 -5
- package/dist/Switch/switch.markers.stylex.d.ts +7 -2
- package/dist/Switch/switch.markers.stylex.d.ts.map +1 -1
- package/dist/Switch/switch.markers.stylex.js +8 -3
- package/dist/TextInput/TextInput.d.ts +1 -1
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +6 -3
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +10 -3
- package/dist/Typeahead/Typeahead.d.ts +1 -1
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +5 -2
- package/dist/astryx.css +7 -5
- package/dist/hooks/useAdaptivePresentation.d.ts +1 -1
- package/dist/hooks/useAdaptivePresentation.d.ts.map +1 -1
- package/dist/hooks/useAdaptivePresentation.js +9 -6
- package/dist/utils/touchPresentation.d.ts +48 -0
- package/dist/utils/touchPresentation.d.ts.map +1 -0
- package/dist/utils/touchPresentation.js +133 -0
- package/package.json +3 -3
- package/src/Avatar/Avatar.spec.md +253 -0
- package/src/Avatar/AvatarStatusDot.spec.md +96 -79
- package/src/Badge/Badge.spec.md +10 -10
- package/src/BottomSheet/BottomSheet.spec.md +17 -1
- package/src/Button/Button.spec.md +1 -1
- package/src/Button/Button.tsx +5 -1
- package/src/ButtonGroup/ButtonGroup.spec.md +218 -0
- package/src/ComplexSelector/ComplexSelector.test.tsx +116 -1
- package/src/ComplexSelector/ComplexSelector.tsx +18 -1
- package/src/ContextMenu/ContextMenu.doc.mjs +1 -1
- package/src/ContextMenu/ContextMenu.spec.md +19 -15
- package/src/ContextMenu/ContextMenu.test.tsx +153 -2
- package/src/ContextMenu/ContextMenu.tsx +24 -1
- package/src/ContextMenu/__tests__/ContextMenuLongPress.a11y.chromium.spec.ts +117 -0
- package/src/DateInput/DateInput.tsx +7 -3
- package/src/DropdownMenu/DropdownMenu.spec.md +12 -6
- package/src/DropdownMenu/DropdownMenu.test.tsx +2 -1
- package/src/DropdownMenu/DropdownMenu.tsx +11 -6
- package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +57 -0
- package/src/DropdownMenu/modules/useMenuPress.spec.md +86 -57
- package/src/DropdownMenu/useMenuDrillIn.tsx +7 -5
- package/src/InputGroup/InputGroup.test.tsx +120 -0
- package/src/InputGroup/InputGroup.tsx +59 -52
- package/src/InputGroup/InputGroupInternalContext.ts +15 -0
- package/src/Layout/Layout.tsx +18 -0
- package/src/Layout/LayoutContent.tsx +5 -14
- package/src/Layout/LayoutFooter.tsx +2 -0
- package/src/Layout/LayoutHeader.tsx +2 -0
- package/src/Layout/layoutEdges.stylex.ts +25 -0
- package/src/MoreMenu/MoreMenu.doc.mjs +2 -2
- package/src/MultiSelector/MultiSelector.test.tsx +3 -2
- package/src/MultiSelector/MultiSelector.tsx +6 -2
- package/src/NumberInput/NumberInput.tsx +5 -1
- package/src/Popover/Popover.spec.md +19 -0
- package/src/SelectableCard/SelectableCard.doc.mjs +6 -4
- package/src/SelectableCard/SelectableCard.tsx +5 -5
- package/src/Selector/Selector.spec.md +3 -2
- package/src/Selector/Selector.test.tsx +3 -2
- package/src/Selector/Selector.tsx +6 -2
- package/src/SideNav/SideNav.spec.md +5 -3
- package/src/SideNav/SideNavCollapseButton.spec.md +161 -0
- package/src/SideNav/SideNavHeading.spec.md +219 -0
- package/src/SideNav/SideNavItem.spec.md +246 -0
- package/src/SideNav/SideNavSection.spec.md +153 -0
- package/src/Switch/Switch.focusRing.source-build.test.mjs +81 -0
- package/src/Switch/Switch.tsx +11 -9
- package/src/Switch/switch.markers.stylex.ts +7 -2
- package/src/TextInput/TextInput.tsx +6 -2
- package/src/TimeInput/TimeInput.tsx +10 -3
- package/src/ToggleButton/ToggleButton.spec.md +256 -0
- package/src/ToggleButton/ToggleButtonGroup.spec.md +194 -0
- package/src/Token/Token.spec.md +1 -1
- package/src/TopNav/TopNav.spec.md +190 -0
- package/src/TopNav/TopNavHeading.spec.md +204 -0
- package/src/TopNav/TopNavItem.spec.md +181 -0
- package/src/TopNav/TopNavMegaMenu.spec.md +190 -0
- package/src/TopNav/TopNavMegaMenuFeaturedCard.spec.md +150 -0
- package/src/TopNav/TopNavMegaMenuItem.spec.md +155 -0
- package/src/TopNav/TopNavMenu.spec.md +195 -0
- package/src/Typeahead/Typeahead.tsx +5 -1
- package/src/hooks/__tests__/MenuPressShadowRoot.a11y.chromium.spec.ts +97 -4
- package/src/hooks/useAdaptivePresentation.ts +14 -7
- package/src/theme/derivedVarRegistry.test.ts +5 -0
- package/src/utils/touchPresentation.test.ts +323 -0
- package/src/utils/touchPresentation.ts +153 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
|
package/dist/Button/Button.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*
|
|
18
18
|
* Last synced props: label, variant, size, isDisabled, isLoading, isInterruptible, clickAction, icon, isIconOnly, width, children, tooltip, endContent, href, as, target, rel
|
|
19
19
|
*/
|
|
20
|
-
import { useEffect, useRef, useState, useTransition } from 'react';
|
|
20
|
+
import { use, useEffect, useRef, useState, useTransition } from 'react';
|
|
21
21
|
import * as stylex from '@stylexjs/stylex';
|
|
22
22
|
import { useTooltip } from "../Tooltip/useTooltip.js";
|
|
23
23
|
import "../theme/tokens.stylex.js";
|
|
@@ -30,6 +30,7 @@ import { EDGE_COMP_ATTR } from "../Layout/edgeCompensation.stylex.js";
|
|
|
30
30
|
import { useSize } from "../SizeContext/SizeContext.js";
|
|
31
31
|
import { useButtonGroup } from "../ButtonGroup/ButtonGroupContext.js";
|
|
32
32
|
import { useInputGroup } from "../InputGroup/InputGroupContext.js";
|
|
33
|
+
import { InputGroupInternalContext } from "../InputGroup/InputGroupInternalContext.js";
|
|
33
34
|
import { groupStyles as inputGroupStyles } from "../InputGroup/groupStyles.js";
|
|
34
35
|
import { mergeProps } from "../utils/index.js";
|
|
35
36
|
import { useMergedRefs } from "../hooks/useMergedRefs.js";
|
|
@@ -377,7 +378,8 @@ export function Button({
|
|
|
377
378
|
// the consumer is deliberately showing it.
|
|
378
379
|
const delaySpinner = isPending || isInterruptible;
|
|
379
380
|
const groupDisabled = buttonGroup?.isDisabled ?? false;
|
|
380
|
-
const
|
|
381
|
+
const inputGroupState = use(InputGroupInternalContext);
|
|
382
|
+
const isTrueDisabled = isDisabled || groupDisabled || inputGroupState.isDisabled;
|
|
381
383
|
// Busy-only: the button can't fire again purely because an action is in
|
|
382
384
|
// flight, not because it's genuinely isDisabled/group-disabled. Per the API
|
|
383
385
|
// Conventions "Disabled vs Busy" rule, busy is visual-only (aria-busy +
|
|
@@ -136,7 +136,7 @@ export interface ComplexSelectorProps<Value> extends Omit<FieldInputBaseProps, '
|
|
|
136
136
|
isOptional?: boolean;
|
|
137
137
|
/** Marks the field required. */
|
|
138
138
|
isRequired?: boolean;
|
|
139
|
-
/**
|
|
139
|
+
/** Blocks opening and value commits, including from an already-open popup. */
|
|
140
140
|
isDisabled?: boolean;
|
|
141
141
|
/** Shows loading state on the trigger. */
|
|
142
142
|
isLoading?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComplexSelector.d.ts","sourceRoot":"","sources":["../../src/ComplexSelector/ComplexSelector.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ComplexSelector.d.ts","sourceRoot":"","sources":["../../src/ComplexSelector/ComplexSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - /apps/storybook/stories/ComplexSelector.stories.tsx
|
|
16
16
|
* - /packages/cli/assets/templates/blocks/components/ComplexSelector/ (showcase blocks)
|
|
17
17
|
*/
|
|
18
|
-
import React, { useCallback, useId, useImperativeHandle, useOptimistic, useRef, useTransition } from 'react';
|
|
18
|
+
import React, { useCallback, useId, useImperativeHandle, useInsertionEffect, useOptimistic, useRef, useTransition } from 'react';
|
|
19
19
|
import * as stylex from '@stylexjs/stylex';
|
|
20
20
|
import { useFieldInputStyling } from "../Field/fieldParts.js";
|
|
21
21
|
import { useDevWarning } from "../hooks/useDevWarning.js";
|
|
@@ -367,7 +367,23 @@ export function ComplexSelector({
|
|
|
367
367
|
},
|
|
368
368
|
isOpen: () => popover.isOpen
|
|
369
369
|
}), [isDisabled, popover]);
|
|
370
|
+
|
|
371
|
+
// The helper reads the selector's availability when it runs, not the
|
|
372
|
+
// render it came from: content may keep a helper from an earlier render
|
|
373
|
+
// (after an await, say) across a change either way. The insertion effect
|
|
374
|
+
// runs before any layout effect of the content, so a commit from the
|
|
375
|
+
// content's own layout effect in the render that changes it sees the new
|
|
376
|
+
// availability too.
|
|
377
|
+
const isDisabledRef = useRef(isDisabled);
|
|
378
|
+
useInsertionEffect(() => {
|
|
379
|
+
isDisabledRef.current = isDisabled;
|
|
380
|
+
}, [isDisabled]);
|
|
370
381
|
const commitValue = useCallback(nextValue => {
|
|
382
|
+
// Caller-owned popup controls may remain mounted after disablement.
|
|
383
|
+
// Guard the supplied commit boundary, not just the trigger.
|
|
384
|
+
if (isDisabledRef.current) {
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
371
387
|
onChange?.(nextValue);
|
|
372
388
|
if (changeAction) {
|
|
373
389
|
startTransition(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAsCrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,kCAAkC,CAAC;AA6G1C,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAMnD,UAAU,oBAAqB,SAAQ,SAAS;IAC9C,oDAAoD;IACpD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IAC9C,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,CAAC;IACpB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,wCAAwC;IACxC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,oBAAqB,SAAQ,oBAAoB;IACzD,gDAAgD;IAChD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,UAAU,wBAAyB,SAAQ,oBAAoB;IAC7D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+CAA+C;IAC/C,WAAW,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;AAM/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,IAAW,EACX,KAAK,EAAE,cAAc,EACrB,UAAkB,EAClB,YAAY,EACZ,YAAwB,EACxB,SAAiB,EACjB,GAAG,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,aAAa,EACb,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,gBAAgB,EAC9B,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,MAAM,EACrB,GAAG,IAAI,EACR,EAAE,gBAAgB,qBAwgBlB;yBA7hBe,WAAW"}
|
|
@@ -41,6 +41,7 @@ import { Icon } from "../Icon/index.js";
|
|
|
41
41
|
import { useLayer } from "../Layer/useLayer.js";
|
|
42
42
|
import { LayerDepthProvider } from "../Layer/LayerDepthContext.js";
|
|
43
43
|
import { useLayerDismissal } from "../Layer/useLayerDismissal.js";
|
|
44
|
+
import { currentGesture } from "../Layer/gestureCounter.js";
|
|
44
45
|
import { MenuBottomSheetActionList } from "../DropdownMenu/MenuBottomSheetActionList.js";
|
|
45
46
|
import { renderDropdownItems } from "../DropdownMenu/renderDropdownItems.js";
|
|
46
47
|
import { DropdownMenuContext, DropdownMenuRootOpenContext } from "../DropdownMenu/DropdownMenuContext.js";
|
|
@@ -233,6 +234,11 @@ export function ContextMenu({
|
|
|
233
234
|
// Element focused before the menu opened, restored when it closes so focus
|
|
234
235
|
// does not fall to <body> after Escape or outside-click dismissal.
|
|
235
236
|
const triggerFocusRef = useRef(null);
|
|
237
|
+
// The gesture of the finger press that opened the menu (`Layer/
|
|
238
|
+
// gestureCounter`), null when a mouse or the keyboard opened it: the
|
|
239
|
+
// browser's compatibility mouse events for that same press are not presses
|
|
240
|
+
// outside.
|
|
241
|
+
const openingGestureRef = useRef(null);
|
|
236
242
|
const [isOpen, setIsOpen] = useState(false);
|
|
237
243
|
const [submenuPath, setSubmenuPath] = useState([]);
|
|
238
244
|
const currentSubmenu = submenuPath.at(-1);
|
|
@@ -322,7 +328,10 @@ export function ContextMenu({
|
|
|
322
328
|
// Dismiss on any click outside the menu. We use popover="manual" (not
|
|
323
329
|
// "auto") because the native light-dismiss treats the mouseup from the
|
|
324
330
|
// opening right-click as a dismiss event. Handling it ourselves via
|
|
325
|
-
// mousedown avoids that race.
|
|
331
|
+
// mousedown avoids that race. A touch's compatibility mousedown for the
|
|
332
|
+
// press that opened the menu (sent mid-hold by iOS, or as a long press
|
|
333
|
+
// lifts by Chromium) belongs to that press's gesture, so it is not read as
|
|
334
|
+
// a press outside; any later press is a new gesture and closes as before.
|
|
326
335
|
useEffect(() => {
|
|
327
336
|
if (!isOpen || usesBottomSheet) {
|
|
328
337
|
return;
|
|
@@ -339,6 +348,9 @@ export function ContextMenu({
|
|
|
339
348
|
return;
|
|
340
349
|
}
|
|
341
350
|
judged.add(e);
|
|
351
|
+
if (currentGesture() === openingGestureRef.current) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
342
354
|
if (menu && !menu.contains(e.target)) {
|
|
343
355
|
closeMenu();
|
|
344
356
|
}
|
|
@@ -433,6 +445,11 @@ export function ContextMenu({
|
|
|
433
445
|
// the anchor lives inside the (scrollable) trigger context.
|
|
434
446
|
const localX = isKeyboardInvoked || !rect ? 0 : e.clientX - rect.left;
|
|
435
447
|
const localY = isKeyboardInvoked || !rect ? rect?.height ?? 0 : e.clientY - rect.top;
|
|
448
|
+
// A finger's long press reaches here as a pointer `contextmenu` where
|
|
449
|
+
// the browser sends one (Chromium); its compatibility mousedown then
|
|
450
|
+
// belongs to the opening press. A mouse or the keyboard opens without
|
|
451
|
+
// one, so every later mousedown is a press outside.
|
|
452
|
+
openingGestureRef.current = e.nativeEvent.pointerType === 'touch' ? currentGesture() : null;
|
|
436
453
|
openAtLocalPoint(localX, localY, e.currentTarget);
|
|
437
454
|
}, [isDisabled, openAtLocalPoint, getAnchorBaseRect]);
|
|
438
455
|
|
|
@@ -451,6 +468,9 @@ export function ContextMenu({
|
|
|
451
468
|
disabled: isDisabled,
|
|
452
469
|
onLongPress: useCallback(point => {
|
|
453
470
|
const rect = getAnchorBaseRect();
|
|
471
|
+
// The finger is still down: the compatibility mousedown iOS sends
|
|
472
|
+
// mid-hold, or Chromium as it lifts, belongs to this press.
|
|
473
|
+
openingGestureRef.current = currentGesture();
|
|
454
474
|
openAtLocalPoint(rect ? point.x - rect.left : point.x, rect ? point.y - rect.top : point.y, triggerRef.current);
|
|
455
475
|
}, [openAtLocalPoint, getAnchorBaseRect])
|
|
456
476
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../src/DateInput/DateInput.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../src/DateInput/DateInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - /apps/storybook/stories/DateInput.stories.tsx (storybook stories)
|
|
16
16
|
* - /packages/cli/assets/templates/blocks/components/DateInput/ (showcase blocks)
|
|
17
17
|
*/
|
|
18
|
-
import { useId, useState, useCallback, useRef, useOptimistic, useTransition } from 'react';
|
|
18
|
+
import { use, useId, useState, useCallback, useRef, useOptimistic, useTransition } from 'react';
|
|
19
19
|
import * as stylex from '@stylexjs/stylex';
|
|
20
20
|
import "../theme/tokens.stylex.js";
|
|
21
21
|
import { colorVars, sizeVars, radiusVars, typographyVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
@@ -23,6 +23,7 @@ import { Field, InputClearButton, inputWrapperStyles, inputStatusBorderStyles, i
|
|
|
23
23
|
import { Icon } from "../Icon/index.js";
|
|
24
24
|
import { VisuallyHidden } from "../VisuallyHidden/index.js";
|
|
25
25
|
import { useInputGroup } from "../InputGroup/InputGroupContext.js";
|
|
26
|
+
import { InputGroupInternalContext } from "../InputGroup/InputGroupInternalContext.js";
|
|
26
27
|
import { groupStyles } from "../InputGroup/groupStyles.js";
|
|
27
28
|
import { useSize } from "../SizeContext/SizeContext.js";
|
|
28
29
|
import { Spinner } from "../Spinner/index.js";
|
|
@@ -628,6 +629,8 @@ PointerDateField.displayName = 'PointerDateField';
|
|
|
628
629
|
* ```
|
|
629
630
|
*/
|
|
630
631
|
export function DateInput(props) {
|
|
632
|
+
const inputGroupState = use(InputGroupInternalContext);
|
|
633
|
+
const isDisabled = props.isDisabled || inputGroupState.isDisabled;
|
|
631
634
|
const isTouch = useMediaQuery(TOUCH_POINTER_QUERY);
|
|
632
635
|
useDevWarning('DateInput', '`nativePicker` is deprecated; use `presentation` instead (`touch` → `adaptive-native`, `always` → `native`, `never` → `adaptive-bottom-sheet`). `presentation` wins when both are set.', props.nativePicker !== undefined);
|
|
633
636
|
const surface = resolvePickerPresentation(effectivePickerPresentation(props.presentation, props.nativePicker), isTouch);
|
|
@@ -639,15 +642,18 @@ export function DateInput(props) {
|
|
|
639
642
|
switch (surface) {
|
|
640
643
|
case 'native':
|
|
641
644
|
return /*#__PURE__*/_jsx(NativeDateField, {
|
|
642
|
-
...rest
|
|
645
|
+
...rest,
|
|
646
|
+
isDisabled: isDisabled
|
|
643
647
|
});
|
|
644
648
|
case 'sheet':
|
|
645
649
|
return /*#__PURE__*/_jsx(TouchDateField, {
|
|
646
|
-
...rest
|
|
650
|
+
...rest,
|
|
651
|
+
isDisabled: isDisabled
|
|
647
652
|
});
|
|
648
653
|
case 'desktop':
|
|
649
654
|
return /*#__PURE__*/_jsx(PointerDateField, {
|
|
650
|
-
...rest
|
|
655
|
+
...rest,
|
|
656
|
+
isDisabled: isDisabled
|
|
651
657
|
});
|
|
652
658
|
}
|
|
653
659
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAS,KAAK,WAAW,EAAC,MAAM,WAAW,CAAC;AAKnD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AA6B9D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,kCAAkC,CAAC;AAO1C,OAAO,KAAK,EAAC,cAAc,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAStE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAS,KAAK,WAAW,EAAC,MAAM,WAAW,CAAC;AAKnD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AA6B9D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,kCAAkC,CAAC;AAO1C,OAAO,KAAK,EAAC,cAAc,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAStE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAiM5C;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,qBAAqB,EACnB,MAAM,GACN,SAAS,GACT,YAAY,GACZ,SAAS,GACT,aAAa,GACb,YAAY,GACZ,kBAAkB,GAClB,MAAM,GACN,QAAQ,GACR,KAAK,CACR;IACC;;;;;;OAMG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,0EAA0E;IAC1E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,MAAM,MAAM,kBAAkB,GAC5B,oBAAoB,GAAG,uBAAuB,GAAG,mBAAmB,CAAC;AAMvE,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAEnE,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,yEAAyE;IACzE,GAAG,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACxD,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/D,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAChE,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC9D,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACxD,eAAe,EAAE,MAAM,GAAG,QAAQ,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,qBAAsB,SAAQ,SAAS;IAC/C;;;OAGG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,SAAS,CAAC;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,qBAAsB,SAAQ,qBAAqB;IAC3D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,wBAAwB,CAAC;IACxC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,UAAU,yBAA0B,SAAQ,qBAAqB;IAC/D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GAC3B,qBAAqB,GAAG,yBAAyB,CAAC;AA6uCpD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBA4CpD;yBA5Ce,YAAY"}
|
|
@@ -78,11 +78,12 @@ const MENU_MAX_BLOCK_SIZE_FALLBACK = `min(${MENU_BLOCK_CAP}, ${layerViewportInse
|
|
|
78
78
|
const MENU_TRIGGER_OPEN_BACKGROUND = `linear-gradient(${colorVars['--color-overlay-pressed']}, ${colorVars['--color-overlay-pressed']})`;
|
|
79
79
|
|
|
80
80
|
// A sub-menu's drilled-in view with a header or footer renders in the surface
|
|
81
|
-
// host that follows the menu, as the frame
|
|
82
|
-
// `data-astryx-submenu-regions="view"` (hidden while a deeper view
|
|
83
|
-
// While one shows, the menu and its header and footer step aside. The
|
|
84
|
-
// reads that from the DOM, so no state mirrors which view shows
|
|
85
|
-
|
|
81
|
+
// host that follows the menu (marked `data-astryx-submenu-host`), as the frame
|
|
82
|
+
// marked `data-astryx-submenu-regions="view"` (hidden while a deeper view
|
|
83
|
+
// shows). While one shows, the menu and its header and footer step aside. The
|
|
84
|
+
// rule reads that from the DOM, so no state mirrors which view shows; it names
|
|
85
|
+
// the host by its marker rather than a universal selector.
|
|
86
|
+
const STEPS_ASIDE_FOR_VIEW = ':has(~ [data-astryx-submenu-host] > [data-astryx-submenu-regions="view"]:not([hidden]))';
|
|
86
87
|
const _temp = {
|
|
87
88
|
kzqmXN: "x1uyokj7",
|
|
88
89
|
"$$css": true
|
|
@@ -99,7 +100,7 @@ const styles = {
|
|
|
99
100
|
},
|
|
100
101
|
dropdown: {
|
|
101
102
|
kB7OPa: "x9f619",
|
|
102
|
-
k1xSpc: "x78zum5
|
|
103
|
+
k1xSpc: "x78zum5 x6ptruj",
|
|
103
104
|
kXwgrk: "xdt5ytf",
|
|
104
105
|
kOIVth: "x1lsbc85",
|
|
105
106
|
kI3sdo: "x1a2a7pz",
|
|
@@ -1146,6 +1147,7 @@ function DropdownMenuPopover({
|
|
|
1146
1147
|
// the regions step aside (STEPS_ASIDE_FOR_VIEW).
|
|
1147
1148
|
const surfaceHostElement = /*#__PURE__*/_jsx("div", {
|
|
1148
1149
|
ref: attachSurfaceHost,
|
|
1150
|
+
"data-astryx-submenu-host": "",
|
|
1149
1151
|
...{
|
|
1150
1152
|
className: "xjp7ctv"
|
|
1151
1153
|
}
|
|
@@ -1156,14 +1158,14 @@ function DropdownMenuPopover({
|
|
|
1156
1158
|
ref: headerRef,
|
|
1157
1159
|
onKeyDown: handleRegionKeyDown,
|
|
1158
1160
|
...{
|
|
1159
|
-
className: "x2lah0s x9epnlk
|
|
1161
|
+
className: "x2lah0s x9epnlk x6ptruj"
|
|
1160
1162
|
},
|
|
1161
1163
|
children: header
|
|
1162
1164
|
}), menu, isRenderable(footer) && /*#__PURE__*/_jsx("div", {
|
|
1163
1165
|
ref: footerRef,
|
|
1164
1166
|
onKeyDown: handleRegionKeyDown,
|
|
1165
1167
|
...{
|
|
1166
|
-
className: "x2lah0s x9epnlk
|
|
1168
|
+
className: "x2lah0s x9epnlk x6ptruj"
|
|
1167
1169
|
},
|
|
1168
1170
|
children: footer
|
|
1169
1171
|
}), surfaceHostElement]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuDrillIn.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/useMenuDrillIn.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAiC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAErE,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuDrillIn.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/useMenuDrillIn.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAiC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAErE,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AA8B/D,MAAM,WAAW,oBAAoB;IACnC,2DAA2D;IAC3D,OAAO,EAAE,mBAAmB,CAAC;IAC7B,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC;CAChD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,oBAAoB,CAyDpE"}
|
|
@@ -21,18 +21,19 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import { useCallback, useMemo, useState } from 'react';
|
|
23
23
|
import * as stylex from '@stylexjs/stylex';
|
|
24
|
-
import {
|
|
24
|
+
import { useCompactDefinition } from "../utils/touchPresentation.js";
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
|
-
* The same
|
|
27
|
+
* The same compact-touch condition the root presentation uses to decide the
|
|
28
|
+
* bottom sheet (the active theme's, spec:AST-012 FR9), so
|
|
28
29
|
* one component carries one meaning of "adaptive". A bare `(pointer: coarse)`
|
|
29
30
|
* would disagree with it on a large touch tablet: the menu would stay an
|
|
30
31
|
* anchored popover while its sub-menus replaced rows in place, a combination
|
|
31
32
|
* nobody designed.
|
|
32
33
|
*/
|
|
33
34
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
34
|
-
function matchesCompactTouch() {
|
|
35
|
-
return typeof window !== 'undefined' && typeof window.matchMedia === 'function' && window.matchMedia(
|
|
35
|
+
function matchesCompactTouch(query) {
|
|
36
|
+
return typeof window !== 'undefined' && typeof window.matchMedia === 'function' && window.matchMedia(query).matches;
|
|
36
37
|
}
|
|
37
38
|
/**
|
|
38
39
|
* The drill-in view stack for a menu root.
|
|
@@ -41,6 +42,7 @@ function matchesCompactTouch() {
|
|
|
41
42
|
* opens and the stack empties when it closes.
|
|
42
43
|
*/
|
|
43
44
|
export function useMenuDrillIn(isOpen) {
|
|
45
|
+
const compactTouchQuery = useCompactDefinition().coarsePointerQuery;
|
|
44
46
|
const [isCompactTouch, setIsCompactTouch] = useState(false);
|
|
45
47
|
const [viewStack, setViewStack] = useState([]);
|
|
46
48
|
const [host, setHost] = useState(null);
|
|
@@ -52,7 +54,7 @@ export function useMenuDrillIn(isOpen) {
|
|
|
52
54
|
if (wasOpen !== isOpen) {
|
|
53
55
|
setWasOpen(isOpen);
|
|
54
56
|
if (isOpen) {
|
|
55
|
-
setIsCompactTouch(matchesCompactTouch());
|
|
57
|
+
setIsCompactTouch(matchesCompactTouch(compactTouchQuery));
|
|
56
58
|
} else if (viewStack.length > 0) {
|
|
57
59
|
setViewStack([]);
|
|
58
60
|
}
|
|
@@ -83,7 +83,7 @@ export interface InputGroupProps extends Omit<BaseProps<HTMLDivElement>, 'childr
|
|
|
83
83
|
* </InputGroup>
|
|
84
84
|
* ```
|
|
85
85
|
*/
|
|
86
|
-
export declare function InputGroup({ children, label, isLabelHidden, description, isDisabled, isOptional, isRequired, size: sizeProp, status, labelTooltip, xstyle, className, style, ref, 'data-testid': testId, ...rest }: InputGroupProps): import("react").JSX.Element;
|
|
86
|
+
export declare function InputGroup({ children, label, isLabelHidden, description, isDisabled: isDisabledProp, isOptional, isRequired, size: sizeProp, status, labelTooltip, xstyle, className, style, ref, 'data-testid': testId, ...rest }: InputGroupProps): import("react").JSX.Element;
|
|
87
87
|
export declare namespace InputGroup {
|
|
88
88
|
var displayName: string;
|
|
89
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputGroup.d.ts","sourceRoot":"","sources":["../../src/InputGroup/InputGroup.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"InputGroup.d.ts","sourceRoot":"","sources":["../../src/InputGroup/InputGroup.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAsB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAG1D,OAAO,EAAQ,KAAK,WAAW,EAAC,MAAM,UAAU,CAAC;AAGjD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAK5C,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AA0BhD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,mDAAmD;IACnD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,UAAU,EAAE,cAAsB,EAClC,UAAkB,EAClB,UAAkB,EAClB,IAAI,EAAE,QAAQ,EACd,MAAM,EACN,YAAY,EACZ,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,aAAa,EAAE,MAAM,EACrB,GAAG,IAAI,EACR,EAAE,eAAe,+BA8EjB;yBA/Fe,UAAU"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* - /apps/storybook/stories/InputGroup.stories.tsx
|
|
19
19
|
* - /packages/cli/assets/templates/blocks/components/InputGroup/
|
|
20
20
|
*/
|
|
21
|
-
import { useId, useMemo } from 'react';
|
|
21
|
+
import { use, useId, useMemo } from 'react';
|
|
22
22
|
import * as stylex from '@stylexjs/stylex';
|
|
23
23
|
import "../theme/tokens.stylex.js";
|
|
24
24
|
import { sizeVars } from "../theme/tokens.stylex.js";
|
|
@@ -26,6 +26,7 @@ import { Field } from "../Field/index.js";
|
|
|
26
26
|
import { SizeProvider, useSize } from "../SizeContext/SizeContext.js";
|
|
27
27
|
import { mergeProps } from "../utils/index.js";
|
|
28
28
|
import { InputGroupContext } from "./InputGroupContext.js";
|
|
29
|
+
import { InputGroupInternalContext } from "./InputGroupInternalContext.js";
|
|
29
30
|
import { themeProps } from "../utils/themeProps.js";
|
|
30
31
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
31
32
|
const styles = {
|
|
@@ -72,7 +73,7 @@ export function InputGroup({
|
|
|
72
73
|
label,
|
|
73
74
|
isLabelHidden = false,
|
|
74
75
|
description,
|
|
75
|
-
isDisabled = false,
|
|
76
|
+
isDisabled: isDisabledProp = false,
|
|
76
77
|
isOptional = false,
|
|
77
78
|
isRequired = false,
|
|
78
79
|
size: sizeProp,
|
|
@@ -85,6 +86,8 @@ export function InputGroup({
|
|
|
85
86
|
'data-testid': testId,
|
|
86
87
|
...rest
|
|
87
88
|
}) {
|
|
89
|
+
const parentGroup = use(InputGroupInternalContext);
|
|
90
|
+
const isDisabled = isDisabledProp || parentGroup.isDisabled;
|
|
88
91
|
const size = useSize(sizeProp, 'md');
|
|
89
92
|
const inputId = useId();
|
|
90
93
|
const labelID = useId();
|
|
@@ -96,40 +99,47 @@ export function InputGroup({
|
|
|
96
99
|
labelID,
|
|
97
100
|
describedByIDs
|
|
98
101
|
}), [labelID, describedByIDs]);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
"
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
102
|
+
const internalContextValue = useMemo(() => ({
|
|
103
|
+
isDisabled
|
|
104
|
+
}), [isDisabled]);
|
|
105
|
+
return /*#__PURE__*/_jsx(InputGroupInternalContext, {
|
|
106
|
+
value: internalContextValue,
|
|
107
|
+
children: /*#__PURE__*/_jsx(InputGroupContext, {
|
|
108
|
+
value: contextValue,
|
|
109
|
+
children: /*#__PURE__*/_jsx(SizeProvider, {
|
|
110
|
+
value: size,
|
|
111
|
+
children: /*#__PURE__*/_jsx(Field, {
|
|
112
|
+
label: label,
|
|
113
|
+
isLabelHidden: isLabelHidden,
|
|
114
|
+
description: description,
|
|
115
|
+
inputID: inputId,
|
|
116
|
+
labelID: labelID,
|
|
117
|
+
descriptionID: description ? descriptionID : undefined,
|
|
118
|
+
isGroupLabel: true,
|
|
119
|
+
isOptional: isOptional,
|
|
120
|
+
isRequired: isRequired,
|
|
121
|
+
isDisabled: isDisabled,
|
|
122
|
+
status: status ? {
|
|
123
|
+
type: status.type,
|
|
124
|
+
message: status.message,
|
|
125
|
+
messageID: status.message ? statusMessageId : undefined
|
|
126
|
+
} : undefined,
|
|
127
|
+
statusVariant: "detached",
|
|
128
|
+
labelTooltip: labelTooltip,
|
|
129
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
130
|
+
ref: ref,
|
|
131
|
+
"data-testid": testId,
|
|
132
|
+
...rest,
|
|
133
|
+
role: "group",
|
|
134
|
+
"aria-disabled": isDisabled || undefined,
|
|
135
|
+
"aria-labelledby": labelID,
|
|
136
|
+
"aria-describedby": describedByIDs,
|
|
137
|
+
...mergeProps(themeProps('input-group', {
|
|
138
|
+
size,
|
|
139
|
+
status: status?.type ?? null
|
|
140
|
+
}), stylex.props(styles.group, sizeStyles[size], isDisabled && styles.disabled, xstyle), className, style),
|
|
141
|
+
children: children
|
|
142
|
+
})
|
|
133
143
|
})
|
|
134
144
|
})
|
|
135
145
|
})
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputGroupInternalContext.d.ts","sourceRoot":"","sources":["../../src/InputGroup/InputGroupInternalContext.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,yBAAyB;;EAAqC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
'use client';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @file InputGroupInternalContext.ts
|
|
7
|
+
* @input Layer-scoped React context
|
|
8
|
+
* @output Package-private InputGroup state context
|
|
9
|
+
* @position Internal group state; not re-exported by index.ts
|
|
10
|
+
*/
|
|
11
|
+
import { createLayerScopedContext as createContext } from "../Layer/layerScopedContext.js";
|
|
12
|
+
export const InputGroupInternalContext = createContext({
|
|
13
|
+
isDisabled: false
|
|
14
|
+
});
|
|
15
|
+
InputGroupInternalContext.displayName = 'InputGroupInternalContext';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../src/Layout/Layout.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAU,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../src/Layout/Layout.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAU,MAAM,OAAO,CAAC;AAS9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAO3D;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAoJ3C,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;IAC7D;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB;;OAEG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAkBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,kBAAkB,EAClB,GAAG,EACH,MAAM,EACN,MAAM,EACN,MAAe,EACf,OAAO,EACP,GAAG,EACH,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,SAAS,EACb,EAAE,WAAW,+BAsGb;yBAtHe,MAAM"}
|
package/dist/Layout/Layout.js
CHANGED
|
@@ -24,6 +24,8 @@ import { LayoutDividerContext } from "./LayoutDividerContext.js";
|
|
|
24
24
|
import { stack } from "../Stack/stack.stylex.js";
|
|
25
25
|
import { stackItem } from "../Stack/stackItem.stylex.js";
|
|
26
26
|
import { mergeProps } from "../utils/index.js";
|
|
27
|
+
import "./layoutEdges.stylex.js";
|
|
28
|
+
import { layoutFooterMarker, layoutHeaderMarker } from "./layoutEdges.stylex.js";
|
|
27
29
|
import { themeProps } from "../utils/themeProps.js";
|
|
28
30
|
import { layoutPaddingOuterXVarStyles, layoutPaddingOuterYVarStyles } from "./padding.stylex.js";
|
|
29
31
|
|
|
@@ -79,6 +81,8 @@ const styles = {
|
|
|
79
81
|
middle: {
|
|
80
82
|
kUk6DE: "x98rzlu",
|
|
81
83
|
kAzted: "x2lwn1j",
|
|
84
|
+
"--_layout-flush-block-start": "x1akq5vd",
|
|
85
|
+
"--_layout-flush-block-end": "x51rtne",
|
|
82
86
|
$$css: true
|
|
83
87
|
},
|
|
84
88
|
middleQuery: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutContent.d.ts","sourceRoot":"","sources":["../../src/Layout/LayoutContent.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAM5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"LayoutContent.d.ts","sourceRoot":"","sources":["../../src/Layout/LayoutContent.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAM5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAqFhD,MAAM,WAAW,kBAAmB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACnE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,YAAmB,EACnB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,kBAAkB,+BAkDpB;yBA7De,aAAa"}
|
|
@@ -32,8 +32,8 @@ const styles = {
|
|
|
32
32
|
kVQacm: "x7giv3",
|
|
33
33
|
kZCmMZ: "xwjyata",
|
|
34
34
|
kwRFfy: "x1peupej",
|
|
35
|
-
kLKAdn: "
|
|
36
|
-
kGO01o: "
|
|
35
|
+
kLKAdn: "x1q01h0h",
|
|
36
|
+
kGO01o: "x12g7ifj",
|
|
37
37
|
"--container-padding-inline-start": "x408pgh",
|
|
38
38
|
"--container-padding-inline-end": "xikqloz",
|
|
39
39
|
"--container-padding-block-start": "xjmgx01",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutFooter.d.ts","sourceRoot":"","sources":["../../src/Layout/LayoutFooter.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"LayoutFooter.d.ts","sourceRoot":"","sources":["../../src/Layout/LayoutFooter.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAO5C,OAAO,KAAK,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAsD3D,MAAM,WAAW,iBAAkB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAClE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,UAAU,EACV,MAAM,EACN,KAAK,EACL,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,iBAAiB,+BAuCnB;yBAnDe,YAAY"}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { use } from 'react';
|
|
18
18
|
import * as stylex from '@stylexjs/stylex';
|
|
19
|
+
import { layoutFooterMarker } from "./layoutEdges.stylex.js";
|
|
19
20
|
import { LayoutDividerContext } from "./LayoutDividerContext.js";
|
|
20
21
|
import "../theme/tokens.stylex.js";
|
|
21
22
|
import { colorVars, spacingVars } from "../theme/tokens.stylex.js";
|
|
@@ -108,7 +109,7 @@ export function LayoutFooter({
|
|
|
108
109
|
role: role,
|
|
109
110
|
"aria-label": label,
|
|
110
111
|
"data-divider": resolvedHasDivider || undefined,
|
|
111
|
-
...mergeProps(themeProps('layout-footer'), stylex.props(styles.footer, dynamicStyles.sizing(height ?? null), resolvedHasDivider && styles.divider, xstyle), className, style),
|
|
112
|
+
...mergeProps(themeProps('layout-footer'), stylex.props(layoutFooterMarker, styles.footer, dynamicStyles.sizing(height ?? null), resolvedHasDivider && styles.divider, xstyle), className, style),
|
|
112
113
|
...props,
|
|
113
114
|
children: /*#__PURE__*/_jsx("div", {
|
|
114
115
|
...stylex.props(styles.inner, isZeroPadding && styles.fullBleed, padding != null && paddingStyles[padding], padding != null && containerPaddingInlineVarStyles[padding], padding != null && containerPaddingBlockStartVarStyles[padding], padding != null && containerPaddingBlockEndVarStyles[padding]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutHeader.d.ts","sourceRoot":"","sources":["../../src/Layout/LayoutHeader.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"LayoutHeader.d.ts","sourceRoot":"","sources":["../../src/Layout/LayoutHeader.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAO5C,OAAO,KAAK,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAuD3D,MAAM,WAAW,iBAAkB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAClE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,WAAW,CAAC;IAE9B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,UAAU,EACV,MAAM,EACN,KAAK,EACL,OAAO,EACP,eAAe,EACf,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,iBAAiB,+BA6CnB;yBA1De,YAAY"}
|