@multiplatform.one/forms 7.73.0 → 7.75.0
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/Button/IconButtonGroup.cjs +32 -0
- package/dist/cjs/Button/IconButtonGroup.native.js +32 -0
- package/dist/cjs/Button/IconButtonGroup.native.js.map +1 -1
- package/dist/cjs/Button/glass.cjs +4 -1
- package/dist/cjs/Button/index.cjs +71 -18
- package/dist/cjs/Button/index.native.js +81 -20
- package/dist/cjs/Button/index.native.js.map +1 -1
- package/dist/cjs/Button/webGlass.cjs +62 -0
- package/dist/cjs/Button/webGlass.native.js +68 -0
- package/dist/cjs/Button/webGlass.native.js.map +1 -0
- package/dist/cjs/fields/FileUpload/index.cjs +8 -3
- package/dist/cjs/fields/FileUpload/index.native.js +8 -3
- package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
- package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
- package/dist/esm/Button/IconButtonGroup.mjs +32 -0
- package/dist/esm/Button/IconButtonGroup.mjs.map +1 -1
- package/dist/esm/Button/IconButtonGroup.native.js +32 -0
- package/dist/esm/Button/IconButtonGroup.native.js.map +1 -1
- package/dist/esm/Button/circleGlyph.native.js.map +1 -1
- package/dist/esm/Button/glass.mjs +4 -2
- package/dist/esm/Button/glass.mjs.map +1 -1
- package/dist/esm/Button/iconButtonGroupContext.mjs.map +1 -1
- package/dist/esm/Button/iconButtonGroupContext.native.js.map +1 -1
- package/dist/esm/Button/index.mjs +72 -20
- package/dist/esm/Button/index.mjs.map +1 -1
- package/dist/esm/Button/index.native.js +82 -22
- package/dist/esm/Button/index.native.js.map +1 -1
- package/dist/esm/Button/mediaPlate.native.js.map +1 -1
- package/dist/esm/Button/webGlass.mjs +36 -0
- package/dist/esm/Button/webGlass.mjs.map +1 -0
- package/dist/esm/Button/webGlass.native.js +39 -0
- package/dist/esm/Button/webGlass.native.js.map +1 -0
- package/dist/esm/Chip/index.native.js.map +1 -1
- package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
- package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
- package/dist/esm/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
- package/dist/esm/ContextualSaveBar/index.native.js.map +1 -1
- package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
- package/dist/esm/ControlGroup/index.native.js.map +1 -1
- package/dist/esm/DescriptionList/index.native.js.map +1 -1
- package/dist/esm/ErrorSummary.native.js.map +1 -1
- package/dist/esm/FieldDisplay/editMode.native.js.map +1 -1
- package/dist/esm/FieldDisplay/formatters.native.js.map +1 -1
- package/dist/esm/FieldDisplay/index.native.js.map +1 -1
- package/dist/esm/FieldGroup.native.js.map +1 -1
- package/dist/esm/FloatingPanel/PanelHeader.native.js.map +1 -1
- package/dist/esm/FloatingPanel/RegularPanel.native.js.map +1 -1
- package/dist/esm/FloatingPanel/compactFace.native.js.map +1 -1
- package/dist/esm/FloatingPanel/containingBlock.native.js.map +1 -1
- package/dist/esm/FloatingPanel/echoContext.native.js.map +1 -1
- package/dist/esm/FloatingPanel/iconEcho.native.js.map +1 -1
- package/dist/esm/FloatingPanel/nestedAction.native.js.map +1 -1
- package/dist/esm/FloatingPanel/paintedBox.native.js.map +1 -1
- package/dist/esm/FloatingPanel/panelWidth.native.js.map +1 -1
- package/dist/esm/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/dist/esm/FloatingPanel/regularPlacement.native.js.map +1 -1
- package/dist/esm/FloatingPanel/trailingAction.native.js.map +1 -1
- package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/esm/Form/index.native.js.map +1 -1
- package/dist/esm/Form/submissionController.native.js.map +1 -1
- package/dist/esm/Form/validateOn.native.js.map +1 -1
- package/dist/esm/FormGrid.native.js.map +1 -1
- package/dist/esm/FormSection.native.js.map +1 -1
- package/dist/esm/InputParts/PasswordReveal.native.js.map +1 -1
- package/dist/esm/InputParts/index.native.js.map +1 -1
- package/dist/esm/Label/index.native.js.map +1 -1
- package/dist/esm/MediaPicker/base64.native.js.map +1 -1
- package/dist/esm/MediaPicker/payload.native.js.map +1 -1
- package/dist/esm/MediaPicker/types.native.js.map +1 -1
- package/dist/esm/MediaPicker/useMediaPicker.native.js.map +1 -1
- package/dist/esm/Skeleton/index.native.js.map +1 -1
- package/dist/esm/Spinner/SpinnerGlyph.native.js.map +1 -1
- package/dist/esm/Spinner/spinnerSize.native.js.map +1 -1
- package/dist/esm/Table/index.native.js.map +1 -1
- package/dist/esm/Wheel/haptic.native.js.map +1 -1
- package/dist/esm/Wheel/index.native.js.map +1 -1
- package/dist/esm/Wheel/wheelShared.native.js.map +1 -1
- package/dist/esm/actionLabel.native.js.map +1 -1
- package/dist/esm/fieldDefaults.native.js.map +1 -1
- package/dist/esm/fieldLayout.native.js.map +1 -1
- package/dist/esm/fields/Barcode/BarcodePreview.native.js.map +1 -1
- package/dist/esm/fields/Barcode/code128.native.js.map +1 -1
- package/dist/esm/fields/Barcode/index.native.js.map +1 -1
- package/dist/esm/fields/Barcode/qr.native.js.map +1 -1
- package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/SystemColorField.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
- package/dist/esm/fields/Combobox/authorOptions.native.js.map +1 -1
- package/dist/esm/fields/Combobox/index.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/fieldValueSync.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/utils.native.js.map +1 -1
- package/dist/esm/fields/Duration/durationMath.native.js.map +1 -1
- package/dist/esm/fields/Duration/index.native.js.map +1 -1
- package/dist/esm/fields/FileUpload/filePickerTypes.native.js.map +1 -1
- package/dist/esm/fields/FileUpload/index.mjs +8 -3
- package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
- package/dist/esm/fields/FileUpload/index.native.js +8 -3
- package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
- package/dist/esm/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/geoValue.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/geocoder.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/geocoderContext.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/mapMath.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/mapTypes.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/photonGeocoder.native.js.map +1 -1
- package/dist/esm/fields/Icon/drawnSet.native.js.map +1 -1
- package/dist/esm/fields/Icon/index.native.js.map +1 -1
- package/dist/esm/fields/ImageField/index.native.js.map +1 -1
- package/dist/esm/fields/Input/index.native.js.map +1 -1
- package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
- package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
- package/dist/esm/fields/OTPInput/otpCellCss.native.js.map +1 -1
- package/dist/esm/fields/PhoneInput/dialCodes.native.js.map +1 -1
- package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/esm/fields/PhoneInput/phone.native.js.map +1 -1
- package/dist/esm/fields/PhoneInput/regionNames.native.js.map +1 -1
- package/dist/esm/fields/Progress/index.native.js.map +1 -1
- package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/esm/fields/Rating/index.native.js.map +1 -1
- package/dist/esm/fields/Rating/ratingMath.native.js.map +1 -1
- package/dist/esm/fields/Rating/types.native.js.map +1 -1
- package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
- package/dist/esm/fields/Select/InlineChoices.native.js.map +1 -1
- package/dist/esm/fields/Select/SheetPickerRow.native.js.map +1 -1
- package/dist/esm/fields/Select/index.native.js.map +1 -1
- package/dist/esm/fields/Select/shouldInlineChoices.native.js.map +1 -1
- package/dist/esm/fields/Signature/index.native.js.map +1 -1
- package/dist/esm/fields/Slider/index.native.js.map +1 -1
- package/dist/esm/fields/Slider/jumpMotion.native.js.map +1 -1
- package/dist/esm/fields/Stepper/index.native.js.map +1 -1
- package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
- package/dist/esm/fields/Switch/footprint.native.js.map +1 -1
- package/dist/esm/fields/Switch/index.native.js.map +1 -1
- package/dist/esm/fields/TextArea/index.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/catalog.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/esm/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
- package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -1
- package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
- package/dist/esm/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
- package/dist/esm/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
- package/dist/esm/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
- package/dist/esm/fields/nativeSelect.native.js.map +1 -1
- package/dist/esm/fields/selectedOrder.native.js.map +1 -1
- package/dist/esm/formSpacing.native.js.map +1 -1
- package/dist/esm/hooks/useFocusManagement.native.js.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/keyboard/chain.native.js.map +1 -1
- package/dist/esm/keyboard/index.native.js.map +1 -1
- package/dist/esm/keyboard/types.native.js.map +1 -1
- package/dist/esm/requiredMarking.native.js.map +1 -1
- package/dist/esm/shared/TimeColumn.native.js.map +1 -1
- package/dist/esm/shared/capabilityPreflight.native.js.map +1 -1
- package/dist/esm/shared/choiceRowPress.native.js.map +1 -1
- package/dist/esm/shared/colorRamps.native.js.map +1 -1
- package/dist/esm/shared/devWarn.native.js.map +1 -1
- package/dist/esm/shared/floatingList.native.js.map +1 -1
- package/dist/esm/shared/focusManagement.native.js.map +1 -1
- package/dist/esm/shared/groupContext.native.js.map +1 -1
- package/dist/esm/shared/i18n.native.js.map +1 -1
- package/dist/esm/shared/instantMotion.native.js.map +1 -1
- package/dist/esm/shared/nativeA11y.native.js.map +1 -1
- package/dist/esm/shared/nativeAutoFocus.native.js.map +1 -1
- package/dist/esm/shared/overlaySizeClass.native.js.map +1 -1
- package/dist/esm/shared/overlayStack.native.js.map +1 -1
- package/dist/esm/shared/panelPortal.native.js.map +1 -1
- package/dist/esm/shared/pickerTriggerContract.native.js.map +1 -1
- package/dist/esm/shared/pressSlopProps.native.js.map +1 -1
- package/dist/esm/shared/restoreRetries.native.js.map +1 -1
- package/dist/esm/shared/sheetNavigation.native.js.map +1 -1
- package/dist/esm/shared/systemControlModules.gnome.native.js.map +1 -1
- package/dist/esm/shared/systemControls.native.js.map +1 -1
- package/dist/esm/shared/t.native.js.map +1 -1
- package/dist/esm/shared/tableCellContext.native.js.map +1 -1
- package/dist/esm/shared/useDragScroll.native.js.map +1 -1
- package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
- package/dist/esm/shared/useSheetEscapeDismiss.native.js.map +1 -1
- package/dist/esm/shared/useWheelIncrement.native.js.map +1 -1
- package/dist/esm/shared/utils.native.js.map +1 -1
- package/dist/esm/shared/zIndex.native.js.map +1 -1
- package/dist/esm/standardActions.native.js.map +1 -1
- package/dist/esm/themedPrimitives.native.js.map +1 -1
- package/dist/esm/types.native.js.map +1 -1
- package/dist/esm/utils/LinkCell.native.js.map +1 -1
- package/dist/jsx/Button/IconButtonGroup.mjs +32 -0
- package/dist/jsx/Button/IconButtonGroup.mjs.map +1 -1
- package/dist/jsx/Button/IconButtonGroup.native.js +32 -0
- package/dist/jsx/Button/IconButtonGroup.native.js.map +1 -1
- package/dist/jsx/Button/glass.mjs +4 -2
- package/dist/jsx/Button/glass.mjs.map +1 -1
- package/dist/jsx/Button/iconButtonGroupContext.mjs.map +1 -1
- package/dist/jsx/Button/iconButtonGroupContext.native.js.map +1 -1
- package/dist/jsx/Button/index.mjs +72 -20
- package/dist/jsx/Button/index.mjs.map +1 -1
- package/dist/jsx/Button/index.native.js +81 -20
- package/dist/jsx/Button/index.native.js.map +1 -1
- package/dist/jsx/Button/webGlass.mjs +36 -0
- package/dist/jsx/Button/webGlass.mjs.map +1 -0
- package/dist/jsx/Button/webGlass.native.js +68 -0
- package/dist/jsx/Button/webGlass.native.js.map +1 -0
- package/dist/jsx/fields/FileUpload/index.mjs +8 -3
- package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
- package/dist/jsx/fields/FileUpload/index.native.js +8 -3
- package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
- package/package.json +8 -8
- package/src/Button/Button.accentInk.spec.tsx +39 -8
- package/src/Button/Button.confirmFill.spec.tsx +141 -0
- package/src/Button/Button.iconButton.spec.tsx +143 -3
- package/src/Button/Button.stories.tsx +55 -38
- package/src/Button/IconButtonGroup.spec.tsx +40 -0
- package/src/Button/IconButtonGroup.tsx +39 -0
- package/src/Button/glass.spec.ts +73 -0
- package/src/Button/glass.ts +8 -3
- package/src/Button/iconButtonGroupContext.ts +2 -1
- package/src/Button/index.tsx +111 -16
- package/src/Button/webGlass.ts +42 -0
- package/src/fields/FileUpload/FileUpload.spec.tsx +8 -0
- package/src/fields/FileUpload/index.tsx +12 -4
- package/types/Button/IconButtonGroup.d.ts.map +1 -1
- package/types/Button/glass.d.ts +5 -2
- package/types/Button/glass.d.ts.map +1 -1
- package/types/Button/iconButtonGroupContext.d.ts +2 -1
- package/types/Button/iconButtonGroupContext.d.ts.map +1 -1
- package/types/Button/index.d.ts +7 -0
- package/types/Button/index.d.ts.map +1 -1
- package/types/Button/webGlass.d.ts +32 -0
- package/types/Button/webGlass.d.ts.map +1 -0
- package/types/fields/FileUpload/index.d.ts.map +1 -1
|
@@ -31,6 +31,7 @@ var import_react = require("react");
|
|
|
31
31
|
var import_tamagui = require("tamagui");
|
|
32
32
|
var import_glass = require("./glass.cjs");
|
|
33
33
|
var import_mediaPlate = require("./mediaPlate.cjs");
|
|
34
|
+
var import_webGlass = require("./webGlass.cjs");
|
|
34
35
|
var import_iconButtonGroupContext = require("./iconButtonGroupContext.cjs");
|
|
35
36
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
37
|
const ICON_BUTTON_GLASS_MERGE_PX = 22;
|
|
@@ -68,6 +69,37 @@ function IconButtonGroup({
|
|
|
68
69
|
})
|
|
69
70
|
});
|
|
70
71
|
}
|
|
72
|
+
if (bar && import_tamagui.isWeb && (0, import_webGlass.isAppleTouchWeb)()) {
|
|
73
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupRegistry.Provider, {
|
|
74
|
+
value: register,
|
|
75
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupContext.Provider, {
|
|
76
|
+
value: "glass",
|
|
77
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
78
|
+
alignItems: "center",
|
|
79
|
+
"data-mp-icon-button-group": members > 0 ? "glass" : "bar",
|
|
80
|
+
...rest,
|
|
81
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
|
|
82
|
+
alignItems: "center",
|
|
83
|
+
position: "relative",
|
|
84
|
+
zIndex: 0,
|
|
85
|
+
paddingHorizontal: "$2",
|
|
86
|
+
gap: "$1",
|
|
87
|
+
"data-mp-glass-capsule": "",
|
|
88
|
+
children: [members > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_webGlass.WebGlassFace, {
|
|
89
|
+
style: {
|
|
90
|
+
position: "absolute",
|
|
91
|
+
top: 0,
|
|
92
|
+
right: 0,
|
|
93
|
+
bottom: 0,
|
|
94
|
+
left: 0,
|
|
95
|
+
borderRadius: 1e5
|
|
96
|
+
}
|
|
97
|
+
}) : null, children]
|
|
98
|
+
})
|
|
99
|
+
})
|
|
100
|
+
})
|
|
101
|
+
});
|
|
102
|
+
}
|
|
71
103
|
const GlassView = bar ? (0, import_glass.loadGlassView)() : null;
|
|
72
104
|
const row = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
73
105
|
alignItems: "center",
|
|
@@ -34,6 +34,7 @@ var import_react = require("react");
|
|
|
34
34
|
var import_tamagui = require("tamagui");
|
|
35
35
|
var import_glass = require("./glass.native.js");
|
|
36
36
|
var import_mediaPlate = require("./mediaPlate.native.js");
|
|
37
|
+
var import_webGlass = require("./webGlass.native.js");
|
|
37
38
|
var import_iconButtonGroupContext = require("./iconButtonGroupContext.native.js");
|
|
38
39
|
var ICON_BUTTON_GLASS_MERGE_PX = 22;
|
|
39
40
|
function IconButtonGroup(param) {
|
|
@@ -77,6 +78,37 @@ function IconButtonGroup(param) {
|
|
|
77
78
|
})
|
|
78
79
|
});
|
|
79
80
|
}
|
|
81
|
+
if (bar && import_tamagui.isWeb && (0, import_webGlass.isAppleTouchWeb)()) {
|
|
82
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupRegistry.Provider, {
|
|
83
|
+
value: register,
|
|
84
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupContext.Provider, {
|
|
85
|
+
value: "glass",
|
|
86
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
87
|
+
alignItems: "center",
|
|
88
|
+
"data-mp-icon-button-group": members > 0 ? "glass" : "bar",
|
|
89
|
+
...rest,
|
|
90
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
|
|
91
|
+
alignItems: "center",
|
|
92
|
+
position: "relative",
|
|
93
|
+
zIndex: 0,
|
|
94
|
+
paddingHorizontal: "$2",
|
|
95
|
+
gap: "$1",
|
|
96
|
+
"data-mp-glass-capsule": "",
|
|
97
|
+
children: [members > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_webGlass.WebGlassFace, {
|
|
98
|
+
style: {
|
|
99
|
+
position: "absolute",
|
|
100
|
+
top: 0,
|
|
101
|
+
right: 0,
|
|
102
|
+
bottom: 0,
|
|
103
|
+
left: 0,
|
|
104
|
+
borderRadius: 1e5
|
|
105
|
+
}
|
|
106
|
+
}) : null, children]
|
|
107
|
+
})
|
|
108
|
+
})
|
|
109
|
+
})
|
|
110
|
+
});
|
|
111
|
+
}
|
|
80
112
|
var GlassView = bar ? (0, import_glass.loadGlassView)() : null;
|
|
81
113
|
var row = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
82
114
|
alignItems: "center",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","IconButtonGroup_exports","ICON_BUTTON_GLASS_MERGE_PX","IconButtonGroup","module","exports","import_jsx_runtime","require","import_theme","import_react","import_tamagui","import_glass","import_mediaPlate","import_iconButtonGroupContext","param","plate","children","rest","bar","useBarSurface","capsuleHeight","setCapsuleHeight","useState","members","setMembers","register","useCallback","count","jsx","IconButtonGroupContext","Provider","Theme","XStack","alignItems","alignSelf","borderRadius","backgroundColor","overflow","radiusClassProps","isWeb","style","MEDIA_PLATE_WEB_STYLE","GlassView","loadGlassView","row","IconButtonGroupRegistry","jsxs","View","position","flexShrink","minWidth","onLayout","event","nativeEvent","layout","height","glassEffectStyle","pointerEvents","top","right","bottom","left"],"sources":["IconButtonGroup.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar IconButtonGroup_exports = {};\n__export(IconButtonGroup_exports, {\n ICON_BUTTON_GLASS_MERGE_PX: () => ICON_BUTTON_GLASS_MERGE_PX,\n IconButtonGroup: () => IconButtonGroup\n});\nmodule.exports = __toCommonJS(IconButtonGroup_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_react = require(\"react\");\nvar import_tamagui = require(\"tamagui\");\nvar import_glass = require(\"./glass\");\nvar import_mediaPlate = require(\"./mediaPlate\");\nvar import_iconButtonGroupContext = require(\"./iconButtonGroupContext\");\nvar ICON_BUTTON_GLASS_MERGE_PX = 22;\nfunction IconButtonGroup(param) {\n var { plate, children, ...rest } = param;\n var bar = (0, import_theme.useBarSurface)();\n var [capsuleHeight, setCapsuleHeight] = (0, import_react.useState)(0);\n var [members, setMembers] = (0, import_react.useState)(0);\n var register = (0, import_react.useCallback)(function() {\n setMembers(function(count) {\n return count + 1;\n });\n return function() {\n return setMembers(function(count) {\n return count - 1;\n });\n };\n }, []);\n if (plate === \"media\") {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupContext.Provider, {\n value: \"media\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Theme, {\n name: \"dark\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XStack, {\n alignItems: \"center\",\n alignSelf: \"flex-start\",\n borderRadius: 1e5,\n backgroundColor: \"$shadow4\",\n overflow: \"hidden\",\n \"data-mp-icon-button-group\": \"media\",\n ...(0, import_theme.radiusClassProps)(\"R-IDENTITY\", \"icon button plate\"),\n ...import_tamagui.isWeb ? {\n style: import_mediaPlate.MEDIA_PLATE_WEB_STYLE\n } : void 0,\n ...rest,\n children\n })\n })\n });\n }\n var GlassView = bar ? (0, import_glass.loadGlassView)() : null;\n var row = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XStack, {\n alignItems: \"center\",\n \"data-mp-icon-button-group\": GlassView && members > 0 ? \"glass\" : bar ? \"bar\" : \"row\",\n ...rest,\n children\n });\n if (!GlassView) return row;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupRegistry.Provider, {\n value: register,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupContext.Provider, {\n value: \"glass\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.View, {\n position: \"relative\",\n flexShrink: 1,\n minWidth: 0,\n onLayout: function onLayout(event) {\n return setCapsuleHeight(event.nativeEvent.layout.height);\n },\n children: [\n members > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(GlassView, {\n glassEffectStyle: \"regular\",\n pointerEvents: \"none\",\n style: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: capsuleHeight / 2\n }\n }) : null,\n row\n ]\n })\n })\n });\n}\n//# sourceMappingURL=IconButtonGroup.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","IconButtonGroup_exports","ICON_BUTTON_GLASS_MERGE_PX","IconButtonGroup","module","exports","import_jsx_runtime","require","import_theme","import_react","import_tamagui","import_glass","import_mediaPlate","import_webGlass","import_iconButtonGroupContext","param","plate","children","rest","bar","useBarSurface","capsuleHeight","setCapsuleHeight","useState","members","setMembers","register","useCallback","count","jsx","IconButtonGroupContext","Provider","Theme","XStack","alignItems","alignSelf","borderRadius","backgroundColor","overflow","radiusClassProps","isWeb","style","MEDIA_PLATE_WEB_STYLE","isAppleTouchWeb","IconButtonGroupRegistry","jsxs","position","zIndex","paddingHorizontal","gap","WebGlassFace","top","right","bottom","left","GlassView","loadGlassView","row","View","flexShrink","minWidth","onLayout","event","nativeEvent","layout","height","glassEffectStyle","pointerEvents"],"sources":["IconButtonGroup.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar IconButtonGroup_exports = {};\n__export(IconButtonGroup_exports, {\n ICON_BUTTON_GLASS_MERGE_PX: () => ICON_BUTTON_GLASS_MERGE_PX,\n IconButtonGroup: () => IconButtonGroup\n});\nmodule.exports = __toCommonJS(IconButtonGroup_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_react = require(\"react\");\nvar import_tamagui = require(\"tamagui\");\nvar import_glass = require(\"./glass\");\nvar import_mediaPlate = require(\"./mediaPlate\");\nvar import_webGlass = require(\"./webGlass\");\nvar import_iconButtonGroupContext = require(\"./iconButtonGroupContext\");\nvar ICON_BUTTON_GLASS_MERGE_PX = 22;\nfunction IconButtonGroup(param) {\n var { plate, children, ...rest } = param;\n var bar = (0, import_theme.useBarSurface)();\n var [capsuleHeight, setCapsuleHeight] = (0, import_react.useState)(0);\n var [members, setMembers] = (0, import_react.useState)(0);\n var register = (0, import_react.useCallback)(function() {\n setMembers(function(count) {\n return count + 1;\n });\n return function() {\n return setMembers(function(count) {\n return count - 1;\n });\n };\n }, []);\n if (plate === \"media\") {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupContext.Provider, {\n value: \"media\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Theme, {\n name: \"dark\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XStack, {\n alignItems: \"center\",\n alignSelf: \"flex-start\",\n borderRadius: 1e5,\n backgroundColor: \"$shadow4\",\n overflow: \"hidden\",\n \"data-mp-icon-button-group\": \"media\",\n ...(0, import_theme.radiusClassProps)(\"R-IDENTITY\", \"icon button plate\"),\n ...import_tamagui.isWeb ? {\n style: import_mediaPlate.MEDIA_PLATE_WEB_STYLE\n } : void 0,\n ...rest,\n children\n })\n })\n });\n }\n if (bar && import_tamagui.isWeb && (0, import_webGlass.isAppleTouchWeb)()) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupRegistry.Provider, {\n value: register,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupContext.Provider, {\n value: \"glass\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XStack, {\n alignItems: \"center\",\n \"data-mp-icon-button-group\": members > 0 ? \"glass\" : \"bar\",\n ...rest,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n alignItems: \"center\",\n position: \"relative\",\n zIndex: 0,\n paddingHorizontal: \"$2\",\n gap: \"$1\",\n \"data-mp-glass-capsule\": \"\",\n children: [\n members > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_webGlass.WebGlassFace, {\n style: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 1e5\n }\n }) : null,\n children\n ]\n })\n })\n })\n });\n }\n var GlassView = bar ? (0, import_glass.loadGlassView)() : null;\n var row = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XStack, {\n alignItems: \"center\",\n \"data-mp-icon-button-group\": GlassView && members > 0 ? \"glass\" : bar ? \"bar\" : \"row\",\n ...rest,\n children\n });\n if (!GlassView) return row;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupRegistry.Provider, {\n value: register,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupContext.Provider, {\n value: \"glass\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.View, {\n position: \"relative\",\n flexShrink: 1,\n minWidth: 0,\n onLayout: function onLayout(event) {\n return setCapsuleHeight(event.nativeEvent.layout.height);\n },\n children: [\n members > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(GlassView, {\n glassEffectStyle: \"regular\",\n pointerEvents: \"none\",\n style: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: capsuleHeight / 2\n }\n }) : null,\n row\n ]\n })\n })\n });\n}\n//# sourceMappingURL=IconButtonGroup.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,12 +22,15 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
22
22
|
}), mod);
|
|
23
23
|
var glass_exports = {};
|
|
24
24
|
__export(glass_exports, {
|
|
25
|
+
isAppleTouchWeb: () => import_webGlass2.isAppleTouchWeb,
|
|
25
26
|
loadGlassContainer: () => loadGlassContainer,
|
|
26
27
|
loadGlassView: () => loadGlassView
|
|
27
28
|
});
|
|
28
29
|
module.exports = __toCommonJS(glass_exports);
|
|
30
|
+
var import_webGlass = require("./webGlass.cjs");
|
|
31
|
+
var import_webGlass2 = require("./webGlass.cjs");
|
|
29
32
|
function loadGlassView() {
|
|
30
|
-
return null;
|
|
33
|
+
return (0, import_webGlass.isAppleTouchWeb)() ? import_webGlass.WebGlassFace : null;
|
|
31
34
|
}
|
|
32
35
|
function loadGlassContainer() {
|
|
33
36
|
return null;
|
|
@@ -24,6 +24,7 @@ var Button_exports = {};
|
|
|
24
24
|
__export(Button_exports, {
|
|
25
25
|
Button: () => Button,
|
|
26
26
|
ButtonFrame: () => ButtonFrame,
|
|
27
|
+
GLYPH_BOLD_STROKE_UNITS: () => GLYPH_BOLD_STROKE_UNITS,
|
|
27
28
|
ICON_BUTTON_CIRCLE_GLYPH_RATIO: () => import_circleGlyph.ICON_BUTTON_CIRCLE_GLYPH_RATIO,
|
|
28
29
|
ICON_BUTTON_GLASS_MERGE_PX: () => import_IconButtonGroup.ICON_BUTTON_GLASS_MERGE_PX,
|
|
29
30
|
ICON_BUTTON_GLYPH_PX: () => ICON_BUTTON_GLYPH_PX,
|
|
@@ -104,6 +105,23 @@ function normalizeButtonIcon(icon, iconSize, color) {
|
|
|
104
105
|
}
|
|
105
106
|
return icon;
|
|
106
107
|
}
|
|
108
|
+
function accentSolidFill(themeName) {
|
|
109
|
+
if (!themeName) return null;
|
|
110
|
+
const themes = (0, import_tamagui.getConfig)().themes;
|
|
111
|
+
const parts = themeName.split("_");
|
|
112
|
+
for (let end = parts.length; end > 0; end--) {
|
|
113
|
+
const theme = themes[`${parts.slice(0, end).join("_")}_accent`];
|
|
114
|
+
if (!theme) continue;
|
|
115
|
+
let value = theme.background?.val;
|
|
116
|
+
for (let hop = 0; hop < 4 && typeof value === "string"; hop++) {
|
|
117
|
+
const ref = /^var\(--([^)]+)\)$/.exec(value)?.[1];
|
|
118
|
+
if (!ref) break;
|
|
119
|
+
value = theme[ref]?.val;
|
|
120
|
+
}
|
|
121
|
+
return typeof value === "string" ? (0, import_theme3.normalizeToHex)(value) : null;
|
|
122
|
+
}
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
107
125
|
function NativeButtonIcon({
|
|
108
126
|
icon,
|
|
109
127
|
size,
|
|
@@ -233,22 +251,34 @@ function iconButtonGlyphPx(rowLinePx) {
|
|
|
233
251
|
return Math.max(ICON_BUTTON_GLYPH_PX, Math.round(rowLinePx / PHOSPHOR_INK_RATIO));
|
|
234
252
|
}
|
|
235
253
|
const INLINE_GLYPH_RATIO = 1.2;
|
|
236
|
-
|
|
254
|
+
const GLYPH_BOLD_STROKE_UNITS = 8;
|
|
255
|
+
function boldStroke(weight, color = "currentColor") {
|
|
256
|
+
return weight === "bold" ? {
|
|
257
|
+
stroke: color,
|
|
258
|
+
strokeWidth: GLYPH_BOLD_STROKE_UNITS,
|
|
259
|
+
strokeLinejoin: "round"
|
|
260
|
+
} : void 0;
|
|
261
|
+
}
|
|
262
|
+
function withGlyphWeight(icon, size, weight, floor = false) {
|
|
237
263
|
if (icon == null || icon === false) return icon;
|
|
238
264
|
if ((0, import_react.isValidElement)(icon)) {
|
|
265
|
+
const resolved = icon.props.weight ?? weight;
|
|
266
|
+
const own = icon.props.size;
|
|
239
267
|
return (0, import_react.cloneElement)(icon, {
|
|
240
|
-
...(
|
|
268
|
+
...(own == null || floor && typeof own === "number" && own < size ? {
|
|
241
269
|
size
|
|
242
270
|
} : void 0),
|
|
243
271
|
...(icon.props.weight == null ? {
|
|
244
272
|
weight
|
|
245
|
-
} : void 0)
|
|
273
|
+
} : void 0),
|
|
274
|
+
...boldStroke(resolved, icon.props.color)
|
|
246
275
|
});
|
|
247
276
|
}
|
|
248
277
|
if (typeof icon === "function" || typeof icon === "object" && "$$typeof" in icon) {
|
|
249
278
|
return (0, import_react.createElement)(icon, {
|
|
250
279
|
size,
|
|
251
|
-
weight
|
|
280
|
+
weight,
|
|
281
|
+
...boldStroke(weight)
|
|
252
282
|
});
|
|
253
283
|
}
|
|
254
284
|
return icon;
|
|
@@ -354,7 +384,7 @@ function Button({
|
|
|
354
384
|
const parentScopeTheme = (0, import_tamagui.useTheme)();
|
|
355
385
|
const pageOutlineColor = parentScopeTheme.outlineColor?.val;
|
|
356
386
|
const hostAccentInk = (0, import_theme3.useAccentOnSurface)();
|
|
357
|
-
const
|
|
387
|
+
const glyphTint = (0, import_theme3.useGlyphTintOnSurface)();
|
|
358
388
|
const grouped = (0, import_groupContext.useControlGrouped)();
|
|
359
389
|
const labelled = verb != null || children != null && children !== false && children !== "";
|
|
360
390
|
const iconOnly = !labelled && Boolean(icon || iconAfter);
|
|
@@ -373,7 +403,8 @@ function Button({
|
|
|
373
403
|
}
|
|
374
404
|
const resolvedGlyphWeight = glyphWeight ?? (iconOnly ? "bold" : "regular");
|
|
375
405
|
const elevatedGround = (0, import_theme3.useElevatedSurface)();
|
|
376
|
-
const
|
|
406
|
+
const hostThemeName = (0, import_tamagui.useThemeName)();
|
|
407
|
+
const darkScheme = (0, import_theme3.isDarkThemeName)(hostThemeName);
|
|
377
408
|
const resolvedSize = typeof sizeProp === "number" ? sizeProp : knobProps.sizeToken;
|
|
378
409
|
const touch = (0, import_theme3.useTouchSurface)();
|
|
379
410
|
const recipe = resolveButtonSizeRecipe(resolvedSize, recipeFamily, touch);
|
|
@@ -420,7 +451,7 @@ function Button({
|
|
|
420
451
|
e.currentTarget?.click?.();
|
|
421
452
|
};
|
|
422
453
|
const activeThemeName = theme ?? intent;
|
|
423
|
-
const tier = activeThemeName || chromeless || grouped ? void 0 : barSurface ? "plain" : knobProps.outlined ? void 0 : "tinted";
|
|
454
|
+
const tier = activeThemeName || chromeless || grouped || mediaPlate ? void 0 : barSurface ? "plain" : knobProps.outlined ? void 0 : "tinted";
|
|
424
455
|
const tierPaint = tier ? (0, import_theme3.controlTierPaint)(tier, darkScheme, elevatedGround) : void 0;
|
|
425
456
|
const tierDisabled = tier && disabledState.style !== "dimWhole" ? (0, import_theme3.controlTierDisabled)(tier) : void 0;
|
|
426
457
|
const hostScoped = fragment => Object.fromEntries(Object.entries(fragment).map(([key, value]) => [key, typeof value === "string" && value.startsWith("$") ? parentScopeTheme[value.slice(1)]?.val ?? value : value]));
|
|
@@ -472,7 +503,7 @@ function Button({
|
|
|
472
503
|
const ariaPressedProp = props["aria-pressed"];
|
|
473
504
|
const isSelected = selected ?? (ariaPressedProp === true || ariaPressedProp === "true" ? true : void 0);
|
|
474
505
|
const selectedFill = Boolean(isSelected) && !unavailable && !mediaPlate;
|
|
475
|
-
const barInk = accentInk && chromeless && !selectedFill && !unavailable ?
|
|
506
|
+
const barInk = accentInk && chromeless && !selectedFill && !unavailable && !confirmPlate ? labelled ? glyphTint.label : glyphTint.glyph : null;
|
|
476
507
|
const inlineGlyph = iconButton && inline === true && !nested;
|
|
477
508
|
const barGlyph = (iconButton || mediaPlate || confirmPlate) && !nested || labelled && chromeless && accentInk === true && edge === "start";
|
|
478
509
|
const labelLine = labelLinePx(knobProps.body.fontFamily);
|
|
@@ -480,12 +511,23 @@ function Button({
|
|
|
480
511
|
const glassGroup = groupGround === "glass";
|
|
481
512
|
const GlassView = iconButton && !inlineGlyph && !nested && accentInk && barSurface && !selectedFill && !glassGroup ? (0, import_glass.loadGlassView)() : null;
|
|
482
513
|
const framedCircle = iconOnly && Boolean(circular) && !nested && !mediaPlate && !confirmPlate;
|
|
514
|
+
const accentFillHex = confirmPlate ? accentSolidFill(hostThemeName) : null;
|
|
515
|
+
const confirmInk = accentFillHex && (0, import_theme3.contrastRatio)((0, import_theme3.relativeLuminance)("#ffffff"), (0, import_theme3.relativeLuminance)(accentFillHex)) >= import_theme3.GLYPH_CONTRAST_FLOOR ? "#ffffff" : "$color";
|
|
516
|
+
const plateInk = unavailable || barInk || outlinedInk ? void 0 : mediaPlate || iconButton && groupGround === "media" ? "$color12" : confirmPlate ? confirmInk : framedCircle && !activeThemeName ? hostScoped({
|
|
517
|
+
color: "$color12"
|
|
518
|
+
}).color : void 0;
|
|
483
519
|
const framedCirclePx = touch && typeof sizeProp !== "number" ? Math.max(sizeTokenPx(resolvedSize), import_theme3.MIN_PRESS_TARGET) : sizeTokenPx(resolvedSize);
|
|
484
|
-
const iconSize = nested ? Math.min(recipe.iconSize, Math.max(12, Math.round(knobProps.nestedControl.px * 0.45))) : framedCircle ? Math.round(framedCirclePx * import_circleGlyph.ICON_BUTTON_CIRCLE_GLYPH_RATIO) : inlineGlyph ? Math.round(recipe.fontSize * INLINE_GLYPH_RATIO) : barGlyph ? touch ? Math.max(glyphFloor, resolveButtonSizeRecipe("$6", recipeFamily, touch).iconSize) :
|
|
485
|
-
// A
|
|
486
|
-
// up to the
|
|
520
|
+
const iconSize = nested ? Math.min(recipe.iconSize, Math.max(12, Math.round(knobProps.nestedControl.px * 0.45))) : framedCircle ? Math.round(framedCirclePx * import_circleGlyph.ICON_BUTTON_CIRCLE_GLYPH_RATIO) : inlineGlyph ? Math.round(recipe.fontSize * INLINE_GLYPH_RATIO) : barGlyph ? touch ? Math.max(glyphFloor, resolveButtonSizeRecipe("$6", recipeFamily, touch).iconSize) : iconButton ?
|
|
521
|
+
// A bare glyph has no plate to inset from, so it takes its box
|
|
522
|
+
// less a 2pt optical margin, up to the row's glyph: the SHC
|
|
523
|
+
// "+" at $3 reaches the bar's glyph, a $2 copy beside mono
|
|
524
|
+
// text stays in proportion.
|
|
525
|
+
Math.max(recipe.iconSize, Math.min(glyphFloor, recipe.height - 4)) :
|
|
526
|
+
// A pointer toolbar keeps its token box (LC-54); the glyph fills
|
|
527
|
+
// it up to the same floor.
|
|
487
528
|
Math.max(recipe.iconSize, Math.min(glyphFloor, recipe.height - 8)) : recipe.iconSize;
|
|
488
|
-
const
|
|
529
|
+
const barGlyphFloor = barGlyph && !framedCircle && !inlineGlyph && !nested;
|
|
530
|
+
const glyph = barGlyph || inlineGlyph || framedCircle ? withGlyphWeight(icon, iconSize, resolvedGlyphWeight, barGlyphFloor) : icon;
|
|
489
531
|
const labelBoxPx = nested ? knobProps.nestedControl.px : recipe.height;
|
|
490
532
|
const labelMaxFontScale = Math.min((0, import_theme3.maxFontScaleToFit)(labelBoxPx, nested ? (0, import_tamagui.getFontSize)(knobProps.label.fontSize) : recipe.fontSize, import_theme3.dynamicTypeFit.controlLabelFill), labelLine === void 0 ? Number.POSITIVE_INFINITY : (0, import_theme3.maxFontScaleToFit)(labelBoxPx, labelLine, 1));
|
|
491
533
|
const renderLabelText = (label, key) => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.SizableText, {
|
|
@@ -518,7 +560,7 @@ function Button({
|
|
|
518
560
|
const flattenedChildren = Array.isArray(resolvedChildren) ? import_react.Children.toArray(resolvedChildren) : null;
|
|
519
561
|
const labelContent = isBareTextChild(resolvedChildren) ? renderLabelText(resolvedChildren) : flattenedChildren?.some(isBareTextChild) ? wrapBareTextChildren(flattenedChildren, renderLabelText) : resolvedChildren;
|
|
520
562
|
const hasIcon = icon || iconAfter || loading;
|
|
521
|
-
const nativeIconColor = props.color ?? (unavailable ? disabledText.color : void 0) ?? barInk ?? (textColor ? outlinedOnHost ? hostScoped({
|
|
563
|
+
const nativeIconColor = props.color ?? (unavailable ? disabledText.color : void 0) ?? barInk ?? plateInk ?? (textColor ? outlinedOnHost ? hostScoped({
|
|
522
564
|
color: textColor
|
|
523
565
|
}).color : textColor : outlinedInk) ?? "$color";
|
|
524
566
|
const iconElement = loading ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
|
|
@@ -538,7 +580,7 @@ function Button({
|
|
|
538
580
|
color: nativeIconColor
|
|
539
581
|
})
|
|
540
582
|
}) : null;
|
|
541
|
-
const glyphAfter = iconAfter && (barGlyph || inlineGlyph || framedCircle) ? withGlyphWeight(iconAfter, iconSize, resolvedGlyphWeight) : iconAfter;
|
|
583
|
+
const glyphAfter = iconAfter && (barGlyph || inlineGlyph || framedCircle) ? withGlyphWeight(iconAfter, iconSize, resolvedGlyphWeight, barGlyphFloor) : iconAfter;
|
|
542
584
|
const iconAfterElement = glyphAfter ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
|
|
543
585
|
flexShrink: 0,
|
|
544
586
|
children: import_tamagui.isWeb ? normalizeButtonIcon(glyphAfter, iconSize) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(NativeButtonIcon, {
|
|
@@ -600,6 +642,7 @@ function Button({
|
|
|
600
642
|
} : mediaPlate ? {
|
|
601
643
|
backgroundColor: "$shadow5"
|
|
602
644
|
} : void 0;
|
|
645
|
+
const glassInset = typeof resolvedBorderWidth === "number" ? -resolvedBorderWidth : 0;
|
|
603
646
|
const glyphEdgePull = GlassView || glassGroup ? 0 : iconButton ? -Math.max(0, (visualPx - iconSize) / 2) : edgePull;
|
|
604
647
|
const buttonElement = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(ButtonFrame, {
|
|
605
648
|
disabled: explainedDisable ? false : isDisabled || false,
|
|
@@ -639,6 +682,10 @@ function Button({
|
|
|
639
682
|
...(GlassView ? {
|
|
640
683
|
borderRadius: 1e5
|
|
641
684
|
} : void 0),
|
|
685
|
+
...(GlassView && import_tamagui.isWeb ? {
|
|
686
|
+
position: "relative",
|
|
687
|
+
zIndex: 0
|
|
688
|
+
} : void 0),
|
|
642
689
|
...(confirmPlate ? {
|
|
643
690
|
borderRadius: 1e5
|
|
644
691
|
} : void 0),
|
|
@@ -657,12 +704,18 @@ function Button({
|
|
|
657
704
|
...(restFill ? {
|
|
658
705
|
backgroundColor: restFill
|
|
659
706
|
} : void 0),
|
|
707
|
+
...(accentFillHex && !unavailable ? {
|
|
708
|
+
backgroundColor: accentFillHex
|
|
709
|
+
} : void 0),
|
|
660
710
|
...(outlinedInk ? {
|
|
661
711
|
color: outlinedInk
|
|
662
712
|
} : void 0),
|
|
663
713
|
...(barInk ? {
|
|
664
714
|
color: barInk
|
|
665
715
|
} : void 0),
|
|
716
|
+
...(plateInk ? {
|
|
717
|
+
color: plateInk
|
|
718
|
+
} : void 0),
|
|
666
719
|
...(unavailable ? {
|
|
667
720
|
...disabledSurface,
|
|
668
721
|
...disabledText,
|
|
@@ -801,10 +854,10 @@ function Button({
|
|
|
801
854
|
pointerEvents: "none",
|
|
802
855
|
style: {
|
|
803
856
|
position: "absolute",
|
|
804
|
-
top:
|
|
805
|
-
right:
|
|
806
|
-
bottom:
|
|
807
|
-
left:
|
|
857
|
+
top: glassInset,
|
|
858
|
+
right: glassInset,
|
|
859
|
+
bottom: glassInset,
|
|
860
|
+
left: glassInset,
|
|
808
861
|
borderRadius: visualPx / 2
|
|
809
862
|
}
|
|
810
863
|
}) : null, iconElement, labelContent, iconAfterElement]
|
|
@@ -26,6 +26,7 @@ var Button_exports = {};
|
|
|
26
26
|
__export(Button_exports, {
|
|
27
27
|
Button: () => Button,
|
|
28
28
|
ButtonFrame: () => ButtonFrame,
|
|
29
|
+
GLYPH_BOLD_STROKE_UNITS: () => GLYPH_BOLD_STROKE_UNITS,
|
|
29
30
|
ICON_BUTTON_CIRCLE_GLYPH_RATIO: () => import_circleGlyph.ICON_BUTTON_CIRCLE_GLYPH_RATIO,
|
|
30
31
|
ICON_BUTTON_GLASS_MERGE_PX: () => import_IconButtonGroup.ICON_BUTTON_GLASS_MERGE_PX,
|
|
31
32
|
ICON_BUTTON_GLYPH_PX: () => ICON_BUTTON_GLYPH_PX,
|
|
@@ -116,6 +117,25 @@ function normalizeButtonIcon(icon, iconSize, color) {
|
|
|
116
117
|
}
|
|
117
118
|
return icon;
|
|
118
119
|
}
|
|
120
|
+
function accentSolidFill(themeName) {
|
|
121
|
+
if (!themeName) return null;
|
|
122
|
+
var themes = (0, import_tamagui.getConfig)().themes;
|
|
123
|
+
var parts = themeName.split("_");
|
|
124
|
+
for (var end = parts.length; end > 0; end--) {
|
|
125
|
+
var _theme_background;
|
|
126
|
+
var theme = themes[`${parts.slice(0, end).join("_")}_accent`];
|
|
127
|
+
if (!theme) continue;
|
|
128
|
+
var value = (_theme_background = theme.background) === null || _theme_background === void 0 ? void 0 : _theme_background.val;
|
|
129
|
+
for (var hop = 0; hop < 4 && typeof value === "string"; hop++) {
|
|
130
|
+
var _exec, _theme_ref;
|
|
131
|
+
var ref = (_exec = /^var\(--([^)]+)\)$/.exec(value)) === null || _exec === void 0 ? void 0 : _exec[1];
|
|
132
|
+
if (!ref) break;
|
|
133
|
+
value = (_theme_ref = theme[ref]) === null || _theme_ref === void 0 ? void 0 : _theme_ref.val;
|
|
134
|
+
}
|
|
135
|
+
return typeof value === "string" ? (0, import_theme3.normalizeToHex)(value) : null;
|
|
136
|
+
}
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
119
139
|
function NativeButtonIcon(param) {
|
|
120
140
|
var {
|
|
121
141
|
icon,
|
|
@@ -268,22 +288,37 @@ function iconButtonGlyphPx(rowLinePx) {
|
|
|
268
288
|
return Math.max(ICON_BUTTON_GLYPH_PX, Math.round(rowLinePx / PHOSPHOR_INK_RATIO));
|
|
269
289
|
}
|
|
270
290
|
var INLINE_GLYPH_RATIO = 1.2;
|
|
291
|
+
var GLYPH_BOLD_STROKE_UNITS = 8;
|
|
292
|
+
function boldStroke(weight) {
|
|
293
|
+
var color = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "currentColor";
|
|
294
|
+
return weight === "bold" ? {
|
|
295
|
+
stroke: color,
|
|
296
|
+
strokeWidth: GLYPH_BOLD_STROKE_UNITS,
|
|
297
|
+
strokeLinejoin: "round"
|
|
298
|
+
} : void 0;
|
|
299
|
+
}
|
|
271
300
|
function withGlyphWeight(icon, size, weight) {
|
|
301
|
+
var floor = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
|
|
272
302
|
if (icon == null || icon === false) return icon;
|
|
273
303
|
if (/* @__PURE__ */(0, import_react.isValidElement)(icon)) {
|
|
304
|
+
var _icon_props_weight;
|
|
305
|
+
var resolved = (_icon_props_weight = icon.props.weight) !== null && _icon_props_weight !== void 0 ? _icon_props_weight : weight;
|
|
306
|
+
var own = icon.props.size;
|
|
274
307
|
return /* @__PURE__ */(0, import_react.cloneElement)(icon, {
|
|
275
|
-
...(
|
|
308
|
+
...(own == null || floor && typeof own === "number" && own < size ? {
|
|
276
309
|
size
|
|
277
310
|
} : void 0),
|
|
278
311
|
...(icon.props.weight == null ? {
|
|
279
312
|
weight
|
|
280
|
-
} : void 0)
|
|
313
|
+
} : void 0),
|
|
314
|
+
...boldStroke(resolved, icon.props.color)
|
|
281
315
|
});
|
|
282
316
|
}
|
|
283
317
|
if (typeof icon === "function" || (typeof icon === "undefined" ? "undefined" : _type_of(icon)) === "object" && "$$typeof" in icon) {
|
|
284
318
|
return /* @__PURE__ */(0, import_react.createElement)(icon, {
|
|
285
319
|
size,
|
|
286
|
-
weight
|
|
320
|
+
weight,
|
|
321
|
+
...boldStroke(weight)
|
|
287
322
|
});
|
|
288
323
|
}
|
|
289
324
|
return icon;
|
|
@@ -327,7 +362,7 @@ function Button(param) {
|
|
|
327
362
|
paddingHorizontal: paddingHorizontalProp,
|
|
328
363
|
...props
|
|
329
364
|
} = param;
|
|
330
|
-
var _ref, _ref1, _ref2, _ref3, _props_color, _props_id;
|
|
365
|
+
var _ref, _ref1, _ref2, _ref3, _ref4, _props_color, _props_id;
|
|
331
366
|
var _parentScopeTheme_outlineColor;
|
|
332
367
|
var {
|
|
333
368
|
resolvedForm: formFromHook
|
|
@@ -395,7 +430,7 @@ function Button(param) {
|
|
|
395
430
|
var parentScopeTheme = (0, import_tamagui.useTheme)();
|
|
396
431
|
var pageOutlineColor = (_parentScopeTheme_outlineColor = parentScopeTheme.outlineColor) === null || _parentScopeTheme_outlineColor === void 0 ? void 0 : _parentScopeTheme_outlineColor.val;
|
|
397
432
|
var hostAccentInk = (0, import_theme3.useAccentOnSurface)();
|
|
398
|
-
var
|
|
433
|
+
var glyphTint = (0, import_theme3.useGlyphTintOnSurface)();
|
|
399
434
|
var grouped = (0, import_groupContext.useControlGrouped)();
|
|
400
435
|
var labelled = verb != null || children != null && children !== false && children !== "";
|
|
401
436
|
var iconOnly = !labelled && Boolean(icon || iconAfter);
|
|
@@ -414,7 +449,8 @@ function Button(param) {
|
|
|
414
449
|
}
|
|
415
450
|
var resolvedGlyphWeight = glyphWeight !== null && glyphWeight !== void 0 ? glyphWeight : iconOnly ? "bold" : "regular";
|
|
416
451
|
var elevatedGround = (0, import_theme3.useElevatedSurface)();
|
|
417
|
-
var
|
|
452
|
+
var hostThemeName = (0, import_tamagui.useThemeName)();
|
|
453
|
+
var darkScheme = (0, import_theme3.isDarkThemeName)(hostThemeName);
|
|
418
454
|
var resolvedSize = typeof sizeProp === "number" ? sizeProp : knobProps.sizeToken;
|
|
419
455
|
var touch = (0, import_theme3.useTouchSurface)();
|
|
420
456
|
var recipe = resolveButtonSizeRecipe(resolvedSize, recipeFamily, touch);
|
|
@@ -462,15 +498,15 @@ function Button(param) {
|
|
|
462
498
|
(_e_currentTarget = e.currentTarget) === null || _e_currentTarget === void 0 ? void 0 : (_e_currentTarget_click = _e_currentTarget.click) === null || _e_currentTarget_click === void 0 ? void 0 : _e_currentTarget_click.call(_e_currentTarget);
|
|
463
499
|
};
|
|
464
500
|
var activeThemeName = theme !== null && theme !== void 0 ? theme : intent;
|
|
465
|
-
var tier = activeThemeName || chromeless || grouped ? void 0 : barSurface ? "plain" : knobProps.outlined ? void 0 : "tinted";
|
|
501
|
+
var tier = activeThemeName || chromeless || grouped || mediaPlate ? void 0 : barSurface ? "plain" : knobProps.outlined ? void 0 : "tinted";
|
|
466
502
|
var tierPaint = tier ? (0, import_theme3.controlTierPaint)(tier, darkScheme, elevatedGround) : void 0;
|
|
467
503
|
var tierDisabled = tier && disabledState.style !== "dimWhole" ? (0, import_theme3.controlTierDisabled)(tier) : void 0;
|
|
468
504
|
var hostScoped = function hostScoped2(fragment) {
|
|
469
505
|
return Object.fromEntries(Object.entries(fragment).map(function (param2) {
|
|
470
506
|
var [key, value] = param2;
|
|
471
|
-
var
|
|
507
|
+
var _ref5;
|
|
472
508
|
var _parentScopeTheme_value_slice;
|
|
473
|
-
return [key, typeof value === "string" && value.startsWith("$") ? (
|
|
509
|
+
return [key, typeof value === "string" && value.startsWith("$") ? (_ref5 = (_parentScopeTheme_value_slice = parentScopeTheme[value.slice(1)]) === null || _parentScopeTheme_value_slice === void 0 ? void 0 : _parentScopeTheme_value_slice.val) !== null && _ref5 !== void 0 ? _ref5 : value : value];
|
|
474
510
|
}));
|
|
475
511
|
};
|
|
476
512
|
var washOnHost = Boolean(unavailable && activeThemeName && import_theme3.solidPaletteThemes.has(activeThemeName));
|
|
@@ -525,7 +561,7 @@ function Button(param) {
|
|
|
525
561
|
var ariaPressedProp = props["aria-pressed"];
|
|
526
562
|
var isSelected = selected !== null && selected !== void 0 ? selected : ariaPressedProp === true || ariaPressedProp === "true" ? true : void 0;
|
|
527
563
|
var selectedFill = Boolean(isSelected) && !unavailable && !mediaPlate;
|
|
528
|
-
var barInk = accentInk && chromeless && !selectedFill && !unavailable ?
|
|
564
|
+
var barInk = accentInk && chromeless && !selectedFill && !unavailable && !confirmPlate ? labelled ? glyphTint.label : glyphTint.glyph : null;
|
|
529
565
|
var inlineGlyph = iconButton && inline === true && !nested;
|
|
530
566
|
var barGlyph = (iconButton || mediaPlate || confirmPlate) && !nested || labelled && chromeless && accentInk === true && edge === "start";
|
|
531
567
|
var labelLine = labelLinePx(knobProps.body.fontFamily);
|
|
@@ -533,12 +569,23 @@ function Button(param) {
|
|
|
533
569
|
var glassGroup = groupGround === "glass";
|
|
534
570
|
var GlassView = iconButton && !inlineGlyph && !nested && accentInk && barSurface && !selectedFill && !glassGroup ? (0, import_glass.loadGlassView)() : null;
|
|
535
571
|
var framedCircle = iconOnly && Boolean(circular) && !nested && !mediaPlate && !confirmPlate;
|
|
572
|
+
var accentFillHex = confirmPlate ? accentSolidFill(hostThemeName) : null;
|
|
573
|
+
var confirmInk = accentFillHex && (0, import_theme3.contrastRatio)((0, import_theme3.relativeLuminance)("#ffffff"), (0, import_theme3.relativeLuminance)(accentFillHex)) >= import_theme3.GLYPH_CONTRAST_FLOOR ? "#ffffff" : "$color";
|
|
574
|
+
var plateInk = unavailable || barInk || outlinedInk ? void 0 : mediaPlate || iconButton && groupGround === "media" ? "$color12" : confirmPlate ? confirmInk : framedCircle && !activeThemeName ? hostScoped({
|
|
575
|
+
color: "$color12"
|
|
576
|
+
}).color : void 0;
|
|
536
577
|
var framedCirclePx = touch && typeof sizeProp !== "number" ? Math.max(sizeTokenPx(resolvedSize), import_theme3.MIN_PRESS_TARGET) : sizeTokenPx(resolvedSize);
|
|
537
|
-
var iconSize = nested ? Math.min(recipe.iconSize, Math.max(12, Math.round(knobProps.nestedControl.px * 0.45))) : framedCircle ? Math.round(framedCirclePx * import_circleGlyph.ICON_BUTTON_CIRCLE_GLYPH_RATIO) : inlineGlyph ? Math.round(recipe.fontSize * INLINE_GLYPH_RATIO) : barGlyph ? touch ? Math.max(glyphFloor, resolveButtonSizeRecipe("$6", recipeFamily, touch).iconSize) :
|
|
538
|
-
// A
|
|
539
|
-
// up to the
|
|
578
|
+
var iconSize = nested ? Math.min(recipe.iconSize, Math.max(12, Math.round(knobProps.nestedControl.px * 0.45))) : framedCircle ? Math.round(framedCirclePx * import_circleGlyph.ICON_BUTTON_CIRCLE_GLYPH_RATIO) : inlineGlyph ? Math.round(recipe.fontSize * INLINE_GLYPH_RATIO) : barGlyph ? touch ? Math.max(glyphFloor, resolveButtonSizeRecipe("$6", recipeFamily, touch).iconSize) : iconButton ?
|
|
579
|
+
// A bare glyph has no plate to inset from, so it takes its box
|
|
580
|
+
// less a 2pt optical margin, up to the row's glyph: the SHC
|
|
581
|
+
// "+" at $3 reaches the bar's glyph, a $2 copy beside mono
|
|
582
|
+
// text stays in proportion.
|
|
583
|
+
Math.max(recipe.iconSize, Math.min(glyphFloor, recipe.height - 4)) :
|
|
584
|
+
// A pointer toolbar keeps its token box (LC-54); the glyph fills
|
|
585
|
+
// it up to the same floor.
|
|
540
586
|
Math.max(recipe.iconSize, Math.min(glyphFloor, recipe.height - 8)) : recipe.iconSize;
|
|
541
|
-
var
|
|
587
|
+
var barGlyphFloor = barGlyph && !framedCircle && !inlineGlyph && !nested;
|
|
588
|
+
var glyph = barGlyph || inlineGlyph || framedCircle ? withGlyphWeight(icon, iconSize, resolvedGlyphWeight, barGlyphFloor) : icon;
|
|
542
589
|
var labelBoxPx = nested ? knobProps.nestedControl.px : recipe.height;
|
|
543
590
|
var labelMaxFontScale = Math.min((0, import_theme3.maxFontScaleToFit)(labelBoxPx, nested ? (0, import_tamagui.getFontSize)(knobProps.label.fontSize) : recipe.fontSize, import_theme3.dynamicTypeFit.controlLabelFill), labelLine === void 0 ? Number.POSITIVE_INFINITY : (0, import_theme3.maxFontScaleToFit)(labelBoxPx, labelLine, 1));
|
|
544
591
|
var renderLabelText = function renderLabelText2(label, key) {
|
|
@@ -579,7 +626,7 @@ function Button(param) {
|
|
|
579
626
|
var flattenedChildren = Array.isArray(resolvedChildren) ? import_react.Children.toArray(resolvedChildren) : null;
|
|
580
627
|
var labelContent = isBareTextChild(resolvedChildren) ? renderLabelText(resolvedChildren) : (flattenedChildren === null || flattenedChildren === void 0 ? void 0 : flattenedChildren.some(isBareTextChild)) ? wrapBareTextChildren(flattenedChildren, renderLabelText) : resolvedChildren;
|
|
581
628
|
var hasIcon = icon || iconAfter || loading;
|
|
582
|
-
var nativeIconColor = (_ref1 = (_ref2 = (_ref3 = (_props_color = props.color) !== null && _props_color !== void 0 ? _props_color : unavailable ? disabledText.color : void 0) !== null && _ref3 !== void 0 ? _ref3 :
|
|
629
|
+
var nativeIconColor = (_ref1 = (_ref2 = (_ref3 = (_ref4 = (_props_color = props.color) !== null && _props_color !== void 0 ? _props_color : unavailable ? disabledText.color : void 0) !== null && _ref4 !== void 0 ? _ref4 : barInk) !== null && _ref3 !== void 0 ? _ref3 : plateInk) !== null && _ref2 !== void 0 ? _ref2 : textColor ? outlinedOnHost ? hostScoped({
|
|
583
630
|
color: textColor
|
|
584
631
|
}).color : textColor : outlinedInk) !== null && _ref1 !== void 0 ? _ref1 : "$color";
|
|
585
632
|
var iconElement = loading ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
|
|
@@ -599,7 +646,7 @@ function Button(param) {
|
|
|
599
646
|
color: nativeIconColor
|
|
600
647
|
})
|
|
601
648
|
}) : null;
|
|
602
|
-
var glyphAfter = iconAfter && (barGlyph || inlineGlyph || framedCircle) ? withGlyphWeight(iconAfter, iconSize, resolvedGlyphWeight) : iconAfter;
|
|
649
|
+
var glyphAfter = iconAfter && (barGlyph || inlineGlyph || framedCircle) ? withGlyphWeight(iconAfter, iconSize, resolvedGlyphWeight, barGlyphFloor) : iconAfter;
|
|
603
650
|
var iconAfterElement = glyphAfter ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
|
|
604
651
|
flexShrink: 0,
|
|
605
652
|
children: import_tamagui.isWeb ? normalizeButtonIcon(glyphAfter, iconSize) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(NativeButtonIcon, {
|
|
@@ -661,6 +708,7 @@ function Button(param) {
|
|
|
661
708
|
} : mediaPlate ? {
|
|
662
709
|
backgroundColor: "$shadow5"
|
|
663
710
|
} : void 0;
|
|
711
|
+
var glassInset = typeof resolvedBorderWidth === "number" ? -resolvedBorderWidth : 0;
|
|
664
712
|
var glyphEdgePull = GlassView || glassGroup ? 0 : iconButton ? -Math.max(0, (visualPx - iconSize) / 2) : edgePull;
|
|
665
713
|
var buttonElement = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(ButtonFrame, {
|
|
666
714
|
// DG-ST-03: an explained disable is aria-disabled (focusable, press
|
|
@@ -712,6 +760,13 @@ function Button(param) {
|
|
|
712
760
|
...(GlassView ? {
|
|
713
761
|
borderRadius: 1e5
|
|
714
762
|
} : void 0),
|
|
763
|
+
// On the web the absolute glass circle needs its button as the
|
|
764
|
+
// containing block and stacking context, or it fills the page and
|
|
765
|
+
// paints over the glyph.
|
|
766
|
+
...(GlassView && import_tamagui.isWeb ? {
|
|
767
|
+
position: "relative",
|
|
768
|
+
zIndex: 0
|
|
769
|
+
} : void 0),
|
|
715
770
|
...(confirmPlate ? {
|
|
716
771
|
borderRadius: 1e5
|
|
717
772
|
} : void 0),
|
|
@@ -730,6 +785,9 @@ function Button(param) {
|
|
|
730
785
|
...(restFill ? {
|
|
731
786
|
backgroundColor: restFill
|
|
732
787
|
} : void 0),
|
|
788
|
+
...(accentFillHex && !unavailable ? {
|
|
789
|
+
backgroundColor: accentFillHex
|
|
790
|
+
} : void 0),
|
|
733
791
|
// Solid-intent sub-themes carry the on-fill foreground as `$color`
|
|
734
792
|
// (LC-05); outlined frames sit on the page, so re-anchor inherited
|
|
735
793
|
// text/icon color (currentColor) to the hue's readable text tier.
|
|
@@ -739,6 +797,9 @@ function Button(param) {
|
|
|
739
797
|
...(barInk ? {
|
|
740
798
|
color: barInk
|
|
741
799
|
} : void 0),
|
|
800
|
+
...(plateInk ? {
|
|
801
|
+
color: plateInk
|
|
802
|
+
} : void 0),
|
|
742
803
|
// LC-40 DISABLED-VISIBLE: keepLabel washes the chrome (muted fill/
|
|
743
804
|
// border) while label/glyphs re-anchor to the lowest AA text tier
|
|
744
805
|
// (`color` inherits into currentColor icons); dimWhole dims the
|
|
@@ -903,10 +964,10 @@ function Button(param) {
|
|
|
903
964
|
pointerEvents: "none",
|
|
904
965
|
style: {
|
|
905
966
|
position: "absolute",
|
|
906
|
-
top:
|
|
907
|
-
right:
|
|
908
|
-
bottom:
|
|
909
|
-
left:
|
|
967
|
+
top: glassInset,
|
|
968
|
+
right: glassInset,
|
|
969
|
+
bottom: glassInset,
|
|
970
|
+
left: glassInset,
|
|
910
971
|
borderRadius: visualPx / 2
|
|
911
972
|
}
|
|
912
973
|
}) : null, iconElement, labelContent, iconAfterElement]
|