@multiplatform.one/forms 7.88.5 → 7.88.7
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/cjs/AdaptivePopup/index.native.js +2 -2
- package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
- package/dist/cjs/Button/IconButtonGroup.native.js.map +1 -1
- package/dist/cjs/Button/circleGlyph.native.js.map +1 -1
- package/dist/cjs/Button/iconButtonGroupContext.native.js.map +1 -1
- package/dist/cjs/Button/index.cjs +23 -7
- package/dist/cjs/Button/index.native.js +38 -9
- package/dist/cjs/Button/index.native.js.map +1 -1
- package/dist/cjs/Button/webGlass.native.js.map +1 -1
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +1 -1
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/index.native.js +3 -3
- package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
- package/dist/cjs/ControlGroup/index.native.js +1 -1
- package/dist/cjs/ControlGroup/index.native.js.map +1 -1
- package/dist/cjs/DescriptionList/index.native.js +2 -2
- package/dist/cjs/DescriptionList/index.native.js.map +1 -1
- package/dist/cjs/ErrorSummary.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/editMode.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/formatters.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/index.native.js +1 -1
- package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
- package/dist/cjs/FieldGroup.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/PanelHeader.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/RegularPanel.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/compactFace.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/containingBlock.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/coverRect.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/echoContext.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/nestedAction.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/paintedBox.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/panelWidth.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/pointAnchor.cjs +61 -17
- package/dist/cjs/FloatingPanel/pointAnchor.native.js +62 -17
- package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/regularPlacement.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/trailingAction.native.js +1 -1
- package/dist/cjs/FloatingPanel/trailingAction.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/cjs/Form/index.native.js +1 -1
- package/dist/cjs/Form/index.native.js.map +1 -1
- package/dist/cjs/Form/submissionController.native.js.map +1 -1
- package/dist/cjs/Form/validateOn.native.js.map +1 -1
- package/dist/cjs/FormGrid.native.js.map +1 -1
- package/dist/cjs/FormSection.native.js.map +1 -1
- package/dist/cjs/InputParts/PasswordReveal.native.js.map +1 -1
- package/dist/cjs/InputParts/index.native.js.map +1 -1
- package/dist/cjs/InputParts/keyboardAppearance.native.js.map +1 -1
- package/dist/cjs/Label/index.native.js.map +1 -1
- package/dist/cjs/MediaPicker/base64.native.js.map +1 -1
- package/dist/cjs/MediaPicker/payload.native.js.map +1 -1
- package/dist/cjs/MediaPicker/types.native.js.map +1 -1
- package/dist/cjs/MediaPicker/useMediaPicker.native.js.map +1 -1
- package/dist/cjs/Skeleton/index.native.js.map +1 -1
- package/dist/cjs/Spinner/SpinnerGlyph.native.js.map +1 -1
- package/dist/cjs/Spinner/spinnerSize.native.js.map +1 -1
- package/dist/cjs/Table/index.native.js.map +1 -1
- package/dist/cjs/Wheel/haptic.native.js.map +1 -1
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/Wheel/wheelShared.native.js.map +1 -1
- package/dist/cjs/actionLabel.native.js.map +1 -1
- package/dist/cjs/fieldDefaults.native.js.map +1 -1
- package/dist/cjs/fieldLayout.native.js +1 -1
- package/dist/cjs/fieldLayout.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/BarcodePreview.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +1 -1
- package/dist/cjs/fields/Barcode/code128.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/index.native.js +2 -2
- package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/qr.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/Checkbox.native.js +1 -1
- package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/SystemColorField.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/index.native.js +2 -2
- package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/parts.native.js +2 -2
- package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
- package/dist/cjs/fields/Combobox/authorOptions.native.js.map +1 -1
- package/dist/cjs/fields/Combobox/index.native.js +5 -5
- package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +2 -2
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +3 -3
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +2 -2
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js +2 -2
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +2 -2
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/catalog.native.js +2 -2
- package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/fieldValueSync.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/index.native.js +2 -2
- package/dist/cjs/fields/DatePicker/parts.native.js +2 -2
- package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/utils.native.js.map +1 -1
- package/dist/cjs/fields/Duration/DurationWheel.native.js +1 -1
- package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -1
- package/dist/cjs/fields/Duration/durationWheelTypes.native.js.map +1 -1
- package/dist/cjs/fields/Duration/index.native.js +3 -3
- package/dist/cjs/fields/Duration/index.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/filePickerTypes.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/index.native.js +2 -2
- package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geoValue.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geocoder.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geocoderContext.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/index.native.js +5 -5
- package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/mapMath.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/mapTypes.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/photonGeocoder.native.js.map +1 -1
- package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -1
- package/dist/cjs/fields/Icon/index.native.js +3 -3
- package/dist/cjs/fields/Icon/index.native.js.map +1 -1
- package/dist/cjs/fields/ImageField/index.native.js +2 -2
- package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
- package/dist/cjs/fields/Input/index.native.js +3 -3
- package/dist/cjs/fields/Input/index.native.js.map +1 -1
- package/dist/cjs/fields/MentionInput/index.native.js +3 -3
- package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/index.native.js +3 -3
- package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/otpCellCss.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/otpCellEdge.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/dialCodes.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/index.native.js +3 -3
- package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/phone.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/regionNames.native.js.map +1 -1
- package/dist/cjs/fields/Progress/index.native.js +1 -1
- package/dist/cjs/fields/Progress/index.native.js.map +1 -1
- package/dist/cjs/fields/RadioGroup/index.native.js +1 -1
- package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/index.native.js +1 -1
- package/dist/cjs/fields/Rating/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/ratingMath.native.js.map +1 -1
- package/dist/cjs/fields/Rating/types.native.js.map +1 -1
- package/dist/cjs/fields/SearchInput/index.native.js +2 -2
- package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/InlineChoices.native.js.map +1 -1
- package/dist/cjs/fields/Select/SheetPickerRow.native.js.map +1 -1
- package/dist/cjs/fields/Select/index.native.js +4 -4
- package/dist/cjs/fields/Select/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/shouldInlineChoices.native.js.map +1 -1
- package/dist/cjs/fields/Signature/index.native.js +2 -2
- package/dist/cjs/fields/Signature/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/index.native.js +1 -1
- package/dist/cjs/fields/Slider/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/jumpMotion.native.js.map +1 -1
- package/dist/cjs/fields/Stepper/index.native.js +2 -2
- package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
- package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
- package/dist/cjs/fields/Switch/footprint.native.js.map +1 -1
- package/dist/cjs/fields/Switch/index.native.js +2 -2
- package/dist/cjs/fields/Switch/index.native.js.map +1 -1
- package/dist/cjs/fields/TextArea/index.native.js +2 -2
- package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/catalog.native.js +3 -3
- package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/index.native.js +2 -2
- package/dist/cjs/fields/TimePicker/parts.native.js +1 -1
- package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
- package/dist/cjs/fields/TimeRangeScrubber/index.native.js +2 -2
- package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
- package/dist/cjs/fields/ToggleGroup/index.native.js +1 -1
- package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +1 -1
- package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
- package/dist/cjs/fields/nativeSelect.native.js.map +1 -1
- package/dist/cjs/fields/selectedOrder.native.js.map +1 -1
- package/dist/cjs/formSpacing.native.js.map +1 -1
- package/dist/cjs/hooks/useFocusManagement.native.js.map +1 -1
- package/dist/cjs/index.native.js +45 -45
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/keyboard/KeyboardDoneBar.native.js +1 -1
- package/dist/cjs/keyboard/chain.native.js.map +1 -1
- package/dist/cjs/keyboard/index.native.js.map +1 -1
- package/dist/cjs/keyboard/types.native.js.map +1 -1
- package/dist/cjs/requiredMarking.native.js.map +1 -1
- package/dist/cjs/shared/CheckGlyph.native.js.map +1 -1
- package/dist/cjs/shared/TimeColumn.native.js +1 -1
- package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
- package/dist/cjs/shared/capabilityPreflight.native.js.map +1 -1
- package/dist/cjs/shared/checkedOnField.native.js.map +1 -1
- package/dist/cjs/shared/choiceRowPress.native.js.map +1 -1
- package/dist/cjs/shared/colorRamps.native.js.map +1 -1
- package/dist/cjs/shared/devWarn.native.js.map +1 -1
- package/dist/cjs/shared/fieldRowContext.native.js.map +1 -1
- package/dist/cjs/shared/floatingList.native.js +1 -1
- package/dist/cjs/shared/floatingList.native.js.map +1 -1
- package/dist/cjs/shared/focusManagement.native.js.map +1 -1
- package/dist/cjs/shared/groupContext.native.js.map +1 -1
- package/dist/cjs/shared/i18n.native.js.map +1 -1
- package/dist/cjs/shared/instantMotion.native.js.map +1 -1
- package/dist/cjs/shared/nativeA11y.native.js.map +1 -1
- package/dist/cjs/shared/nativeAutoFocus.native.js.map +1 -1
- package/dist/cjs/shared/overlaySizeClass.native.js.map +1 -1
- package/dist/cjs/shared/overlayStack.native.js.map +1 -1
- package/dist/cjs/shared/panelPortal.native.js.map +1 -1
- package/dist/cjs/shared/pickerTriggerContract.native.js.map +1 -1
- package/dist/cjs/shared/pressSlopProps.native.js.map +1 -1
- package/dist/cjs/shared/restoreRetries.native.js.map +1 -1
- package/dist/cjs/shared/sheetNavigation.native.js.map +1 -1
- package/dist/cjs/shared/systemControlModules.gnome.native.js.map +1 -1
- package/dist/cjs/shared/systemControls.native.js.map +1 -1
- package/dist/cjs/shared/t.native.js.map +1 -1
- package/dist/cjs/shared/tableCellContext.native.js.map +1 -1
- package/dist/cjs/shared/useDragScroll.native.js.map +1 -1
- package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
- package/dist/cjs/shared/useSheetEscapeDismiss.native.js.map +1 -1
- package/dist/cjs/shared/useWheelIncrement.native.js.map +1 -1
- package/dist/cjs/shared/utils.native.js +1 -1
- package/dist/cjs/shared/utils.native.js.map +1 -1
- package/dist/cjs/shared/zIndex.native.js.map +1 -1
- package/dist/cjs/standardActions.native.js.map +1 -1
- package/dist/cjs/themedPrimitives.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/utils/LinkCell.native.js.map +1 -1
- package/dist/esm/Button/index.mjs +23 -7
- package/dist/esm/Button/index.mjs.map +1 -1
- package/dist/esm/Button/index.native.js +36 -7
- package/dist/esm/Button/index.native.js.map +1 -1
- package/dist/esm/FloatingPanel/pointAnchor.mjs +61 -17
- package/dist/esm/FloatingPanel/pointAnchor.mjs.map +1 -1
- package/dist/esm/FloatingPanel/pointAnchor.native.js +62 -17
- package/dist/esm/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/dist/jsx/Button/index.mjs +23 -7
- package/dist/jsx/Button/index.mjs.map +1 -1
- package/dist/jsx/Button/index.native.js +36 -7
- package/dist/jsx/Button/index.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/pointAnchor.mjs +61 -17
- package/dist/jsx/FloatingPanel/pointAnchor.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/pointAnchor.native.js +62 -17
- package/dist/jsx/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/package.json +8 -8
- package/src/Button/Button.accentInk.spec.tsx +4 -2
- package/src/Button/Button.disabledWash.spec.tsx +229 -3
- package/src/Button/Button.nativeInk.spec.tsx +61 -1
- package/src/Button/Button.outlinedAccentInk.spec.tsx +13 -1
- package/src/Button/Button.outlinedInkFlip.spec.tsx +305 -0
- package/src/Button/index.tsx +40 -6
- package/src/FloatingPanel/FloatingPanel.stories.tsx +24 -22
- package/src/FloatingPanel/pointAnchor.ts +54 -34
- package/types/Button/index.d.ts.map +1 -1
- package/types/FloatingPanel/pointAnchor.d.ts.map +1 -1
package/src/Button/index.tsx
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
useId,
|
|
12
12
|
useState,
|
|
13
13
|
type ComponentType,
|
|
14
|
+
type CSSProperties,
|
|
14
15
|
type ReactNode,
|
|
15
16
|
} from "react";
|
|
16
17
|
import {
|
|
@@ -789,6 +790,18 @@ export function Button({
|
|
|
789
790
|
: value,
|
|
790
791
|
]),
|
|
791
792
|
) as T;
|
|
793
|
+
const hostWashVar = (token: string) => `--mp-host-${token}`;
|
|
794
|
+
const hostWash = <T extends object>(fragment: T): T =>
|
|
795
|
+
isWeb
|
|
796
|
+
? (Object.fromEntries(
|
|
797
|
+
Object.entries(fragment).map(([key, value]) => [
|
|
798
|
+
key,
|
|
799
|
+
typeof value === "string" && value.startsWith("$")
|
|
800
|
+
? `var(${hostWashVar(value.slice(1))})`
|
|
801
|
+
: value,
|
|
802
|
+
]),
|
|
803
|
+
) as T)
|
|
804
|
+
: hostScoped(fragment);
|
|
792
805
|
// LC-40 / MPO-433: a solid-palette theme has no wash tier, so the wash and
|
|
793
806
|
// its ink come from the host scope. Solid-intent ramps keep their own wash,
|
|
794
807
|
// where `$color11` misses 4.5:1 (light warning 4.48, success 4.27) and the
|
|
@@ -809,14 +822,14 @@ export function Button({
|
|
|
809
822
|
borderColor: tierDisabled.borderColor,
|
|
810
823
|
}
|
|
811
824
|
: washOnHost
|
|
812
|
-
?
|
|
825
|
+
? hostWash(disabledState.surfaceKnobProps)
|
|
813
826
|
: disabledState.surfaceKnobProps;
|
|
814
827
|
const disabledText: { color?: string } = frameless
|
|
815
828
|
? {}
|
|
816
829
|
: tierDisabled
|
|
817
830
|
? { ...disabledState.textKnobProps, color: tierDisabled.color }
|
|
818
831
|
: washOnHost
|
|
819
|
-
?
|
|
832
|
+
? hostWash(disabledState.textKnobProps)
|
|
820
833
|
: activeThemeName &&
|
|
821
834
|
solidButtonIntents.has(activeThemeName) &&
|
|
822
835
|
disabledState.textKnobProps.color
|
|
@@ -868,7 +881,11 @@ export function Button({
|
|
|
868
881
|
const outlinedOnHost = Boolean(
|
|
869
882
|
onPage && activeThemeName && solidPaletteThemes.has(activeThemeName),
|
|
870
883
|
);
|
|
871
|
-
const outlinedInk = outlinedOnHost
|
|
884
|
+
const outlinedInk = outlinedOnHost
|
|
885
|
+
? hostWash({ color: hostAccentInk }).color
|
|
886
|
+
: outlinedIntentInk
|
|
887
|
+
? "$color11"
|
|
888
|
+
: undefined;
|
|
872
889
|
|
|
873
890
|
const resolvedRole: ButtonActionRole | undefined =
|
|
874
891
|
actionRole ?? (accent || confirmPlate ? "primary" : undefined);
|
|
@@ -1000,7 +1017,7 @@ export function Button({
|
|
|
1000
1017
|
{...(nested ? knobProps.label : { fontSize: recipe.fontSize })}
|
|
1001
1018
|
{...(textColor
|
|
1002
1019
|
? outlinedOnHost
|
|
1003
|
-
?
|
|
1020
|
+
? hostWash({ color: textColor })
|
|
1004
1021
|
: { color: textColor }
|
|
1005
1022
|
: outlinedInk
|
|
1006
1023
|
? { color: outlinedInk }
|
|
@@ -1039,7 +1056,7 @@ export function Button({
|
|
|
1039
1056
|
plateInk ??
|
|
1040
1057
|
(textColor
|
|
1041
1058
|
? outlinedOnHost
|
|
1042
|
-
?
|
|
1059
|
+
? hostWash({ color: textColor }).color
|
|
1043
1060
|
: textColor
|
|
1044
1061
|
: outlinedInk) ??
|
|
1045
1062
|
"$color";
|
|
@@ -1447,9 +1464,26 @@ export function Button({
|
|
|
1447
1464
|
) : (
|
|
1448
1465
|
buttonElement
|
|
1449
1466
|
);
|
|
1467
|
+
const hostWashScope = Object.fromEntries(
|
|
1468
|
+
[
|
|
1469
|
+
disabledState.surfaceKnobProps,
|
|
1470
|
+
disabledState.textKnobProps,
|
|
1471
|
+
{ color: hostAccentInk },
|
|
1472
|
+
{ color: textColor },
|
|
1473
|
+
]
|
|
1474
|
+
.flatMap((fragment) => Object.values(fragment))
|
|
1475
|
+
.filter((value): value is string => typeof value === "string" && value.startsWith("$"))
|
|
1476
|
+
.map((value) => [hostWashVar(value.slice(1)), `var(--${value.slice(1)})`]),
|
|
1477
|
+
);
|
|
1478
|
+
const hostedButton =
|
|
1479
|
+
isWeb && activeThemeName && solidPaletteThemes.has(activeThemeName) ? (
|
|
1480
|
+
<span style={{ display: "contents", ...hostWashScope } as CSSProperties}>{intentButton}</span>
|
|
1481
|
+
) : (
|
|
1482
|
+
intentButton
|
|
1483
|
+
);
|
|
1450
1484
|
// The media plate reads the same over any picture in either scheme: a dark
|
|
1451
1485
|
// material with a light glyph.
|
|
1452
|
-
const themedButton = mediaPlate ? <Theme name="dark">{
|
|
1486
|
+
const themedButton = mediaPlate ? <Theme name="dark">{hostedButton}</Theme> : hostedButton;
|
|
1453
1487
|
|
|
1454
1488
|
// DG-ST-03 explain affordance: visible reason adjacent to the control —
|
|
1455
1489
|
// discoverable by pointer, touch, keyboard, and SR (aria-describedby)
|
|
@@ -274,6 +274,29 @@ export const InsideScrollView: Story = {
|
|
|
274
274
|
),
|
|
275
275
|
};
|
|
276
276
|
|
|
277
|
+
function EndEdgeCustomFirstRowDemo() {
|
|
278
|
+
const [open, setOpen] = useState(true);
|
|
279
|
+
return (
|
|
280
|
+
<XStack width="100%" padding="$4" justifyContent="flex-end">
|
|
281
|
+
<FloatingPanel
|
|
282
|
+
open={open}
|
|
283
|
+
onOpenChange={setOpen}
|
|
284
|
+
anchorMode="cover-trigger"
|
|
285
|
+
triggerEcho={false}
|
|
286
|
+
coverAlign="start"
|
|
287
|
+
widthMode="fit-content"
|
|
288
|
+
triggerSizing="content"
|
|
289
|
+
trigger={<Button aria-label="Appearance">◐</Button>}
|
|
290
|
+
>
|
|
291
|
+
<YStack padding="$3" gap="$2" width={240}>
|
|
292
|
+
<Text>Appearance</Text>
|
|
293
|
+
<Paragraph color={formCommonColors.muted}>System, light or dark.</Paragraph>
|
|
294
|
+
</YStack>
|
|
295
|
+
</FloatingPanel>
|
|
296
|
+
</XStack>
|
|
297
|
+
);
|
|
298
|
+
}
|
|
299
|
+
|
|
277
300
|
/**
|
|
278
301
|
* LC-139 (FZ-9053, FZ-9258): a panel whose first row is its own, not an echo,
|
|
279
302
|
* opened from a button at the page's end edge on a desktop-width page. It
|
|
@@ -281,26 +304,5 @@ export const InsideScrollView: Story = {
|
|
|
281
304
|
*/
|
|
282
305
|
export const EndEdgeCustomFirstRow: Story = {
|
|
283
306
|
name: "End edge, custom first row",
|
|
284
|
-
render: () =>
|
|
285
|
-
const [open, setOpen] = useState(true);
|
|
286
|
-
return (
|
|
287
|
-
<XStack width="100%" padding="$4" justifyContent="flex-end">
|
|
288
|
-
<FloatingPanel
|
|
289
|
-
open={open}
|
|
290
|
-
onOpenChange={setOpen}
|
|
291
|
-
anchorMode="cover-trigger"
|
|
292
|
-
triggerEcho={false}
|
|
293
|
-
coverAlign="start"
|
|
294
|
-
widthMode="fit-content"
|
|
295
|
-
triggerSizing="content"
|
|
296
|
-
trigger={<Button aria-label="Appearance">◐</Button>}
|
|
297
|
-
>
|
|
298
|
-
<YStack padding="$3" gap="$2" width={240}>
|
|
299
|
-
<Text>Appearance</Text>
|
|
300
|
-
<Paragraph color={formCommonColors.muted}>System, light or dark.</Paragraph>
|
|
301
|
-
</YStack>
|
|
302
|
-
</FloatingPanel>
|
|
303
|
-
</XStack>
|
|
304
|
-
);
|
|
305
|
-
},
|
|
307
|
+
render: () => <EndEdgeCustomFirstRowDemo />,
|
|
306
308
|
};
|
|
@@ -142,6 +142,48 @@ export interface TriggerPlacement {
|
|
|
142
142
|
up: boolean;
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
+
function placeAcross(
|
|
146
|
+
trigger: TriggerRect,
|
|
147
|
+
width: number,
|
|
148
|
+
bounds: PanelBounds,
|
|
149
|
+
{ rtl, align, echo }: Readonly<{ rtl: boolean; align: "start" | "auto"; echo: boolean }>,
|
|
150
|
+
): { width: number; left: number; wantLeft: number; end: boolean } {
|
|
151
|
+
const room = Math.max(0, bounds.right - bounds.left);
|
|
152
|
+
const w = Math.min(Math.max(width, trigger.width), room);
|
|
153
|
+
const startLeft = rtl ? trigger.x + trigger.width - w : trigger.x;
|
|
154
|
+
const endLeft = rtl ? trigger.x : trigger.x + trigger.width - w;
|
|
155
|
+
// Only the free edge has to clear the padded bounds: the aligned edge is
|
|
156
|
+
// the trigger's own, so a bar button inside the margin keeps its corner.
|
|
157
|
+
const startFree = rtl ? startLeft >= bounds.left : startLeft + w <= bounds.right;
|
|
158
|
+
const endFree = rtl ? endLeft + w <= bounds.right : endLeft >= bounds.left;
|
|
159
|
+
const auto = align === "auto";
|
|
160
|
+
const end = auto && !startFree && endFree;
|
|
161
|
+
const wantLeft = end ? endLeft : startLeft;
|
|
162
|
+
if (auto && (end || startFree)) return { width: w, left: wantLeft, wantLeft, end };
|
|
163
|
+
// FZ-8414: an echoed menu that cannot open from its start corner lines its
|
|
164
|
+
// end edge up with the trigger's, the UIMenu pull-down, so it never runs
|
|
165
|
+
// past the content margin the trigger sits inside.
|
|
166
|
+
if (echo && !startFree && endFree) return { width: w, left: endLeft, wantLeft, end };
|
|
167
|
+
const left = Math.max(bounds.left, Math.min(wantLeft, bounds.right - w));
|
|
168
|
+
return { width: w, left, wantLeft, end };
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
function placePinned(
|
|
172
|
+
trigger: TriggerRect,
|
|
173
|
+
height: number,
|
|
174
|
+
bounds: PanelBounds,
|
|
175
|
+
): { top: number; maxHeight: number; up: boolean } {
|
|
176
|
+
const triggerBottom = trigger.y + trigger.height;
|
|
177
|
+
const below = Math.max(0, bounds.bottom - trigger.y);
|
|
178
|
+
const above = Math.max(0, triggerBottom - bounds.top);
|
|
179
|
+
const up = height > below && above > below;
|
|
180
|
+
return {
|
|
181
|
+
top: up ? Math.max(bounds.top, triggerBottom - height) : trigger.y,
|
|
182
|
+
maxHeight: up ? above : below,
|
|
183
|
+
up,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
145
187
|
/**
|
|
146
188
|
* A menu opened over its trigger (LC-112) where no bottom sheet may take it:
|
|
147
189
|
* on native, and inside another overlay (FZ-7830). Its top start corner sits
|
|
@@ -184,41 +226,19 @@ export function placeOverTrigger({
|
|
|
184
226
|
*/
|
|
185
227
|
echo?: boolean;
|
|
186
228
|
}): TriggerPlacement {
|
|
187
|
-
const
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
const wantLeft = end ? endLeft : startLeft;
|
|
198
|
-
const keep = auto && (end || startFree);
|
|
199
|
-
// FZ-8414: an echoed menu that cannot open from its start corner lines its
|
|
200
|
-
// end edge up with the trigger's, the UIMenu pull-down, so it never runs
|
|
201
|
-
// past the content margin the trigger sits inside.
|
|
202
|
-
const left = keep
|
|
203
|
-
? wantLeft
|
|
204
|
-
: echo && !startFree && endFree
|
|
205
|
-
? endLeft
|
|
206
|
-
: Math.max(bounds.left, Math.min(wantLeft, bounds.right - w));
|
|
229
|
+
const {
|
|
230
|
+
width: w,
|
|
231
|
+
left,
|
|
232
|
+
wantLeft,
|
|
233
|
+
end,
|
|
234
|
+
} = placeAcross(trigger, width, bounds, {
|
|
235
|
+
rtl,
|
|
236
|
+
align,
|
|
237
|
+
echo,
|
|
238
|
+
});
|
|
207
239
|
if (pinned) {
|
|
208
|
-
const
|
|
209
|
-
|
|
210
|
-
const above = Math.max(0, triggerBottom - bounds.top);
|
|
211
|
-
const up = height > below && above > below;
|
|
212
|
-
const top = up ? Math.max(bounds.top, triggerBottom - height) : trigger.y;
|
|
213
|
-
return {
|
|
214
|
-
left,
|
|
215
|
-
top,
|
|
216
|
-
width: w,
|
|
217
|
-
maxHeight: up ? above : below,
|
|
218
|
-
shifted: left !== wantLeft,
|
|
219
|
-
end,
|
|
220
|
-
up,
|
|
221
|
-
};
|
|
240
|
+
const { top, maxHeight, up } = placePinned(trigger, height, bounds);
|
|
241
|
+
return { left, top, width: w, maxHeight, shifted: left !== wantLeft, end, up };
|
|
222
242
|
}
|
|
223
243
|
const h = Math.min(height, Math.max(0, bounds.bottom - bounds.top));
|
|
224
244
|
const top = Math.max(bounds.top, Math.min(trigger.y, bounds.bottom - h));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Button/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EASL,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Button/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointAnchor.d.ts","sourceRoot":"","sources":["../../src/FloatingPanel/pointAnchor.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,WAAW,EACnB,GAAG,UAAQ,GACV;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAOrC;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,EACnB,GAAG,GAAE,MAA2B,GAC/B,OAAO,CAMT;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,GAAwB,EACxB,GAAW,GACZ,EAAE;IACD,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GAAG,cAAc,CASjB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,oBAAoB,EAC3B,SAAS,EAAE,cAAc,GAAG,IAAI,EAChC,GAAG,UAAQ,GACV,UAAU,GAAG,IAAI,CAOnB;AAED,MAAM,WAAW,cAAc;IAC7B,qBAAqB,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1E;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,UAAQ,GAAG,UAAU,CAGvF;AAED,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,GAAG,EAAE,OAAO,CAAC;IACb,qEAAqE;IACrE,EAAE,EAAE,OAAO,CAAC;CACb;
|
|
1
|
+
{"version":3,"file":"pointAnchor.d.ts","sourceRoot":"","sources":["../../src/FloatingPanel/pointAnchor.ts"],"names":[],"mappings":"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"}
|