@multiplatform.one/forms 7.81.2 → 7.82.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/cjs/Button/IconButtonGroup.cjs +13 -9
  2. package/dist/cjs/Button/IconButtonGroup.native.js +13 -9
  3. package/dist/cjs/Button/IconButtonGroup.native.js.map +1 -1
  4. package/dist/cjs/Button/iconButtonGroupContext.cjs +6 -0
  5. package/dist/cjs/Button/iconButtonGroupContext.native.js +6 -0
  6. package/dist/cjs/Button/iconButtonGroupContext.native.js.map +1 -1
  7. package/dist/cjs/Button/index.cjs +38 -26
  8. package/dist/cjs/Button/index.native.js +38 -26
  9. package/dist/cjs/Button/index.native.js.map +1 -1
  10. package/dist/cjs/FloatingPanel/RegularPanel.cjs +2 -2
  11. package/dist/cjs/FloatingPanel/RegularPanel.native.js +2 -2
  12. package/dist/cjs/FloatingPanel/RegularPanel.native.js.map +1 -1
  13. package/dist/cjs/FloatingPanel/index.native.js +11 -10
  14. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  15. package/dist/cjs/InputParts/index.cjs +12 -6
  16. package/dist/cjs/InputParts/index.native.js +12 -6
  17. package/dist/cjs/InputParts/index.native.js.map +1 -1
  18. package/dist/cjs/index.cjs +1 -0
  19. package/dist/cjs/index.native.js +1 -0
  20. package/dist/cjs/index.native.js.map +1 -1
  21. package/dist/esm/Button/IconButtonGroup.mjs +14 -10
  22. package/dist/esm/Button/IconButtonGroup.mjs.map +1 -1
  23. package/dist/esm/Button/IconButtonGroup.native.js +14 -10
  24. package/dist/esm/Button/IconButtonGroup.native.js.map +1 -1
  25. package/dist/esm/Button/iconButtonGroupContext.mjs +5 -1
  26. package/dist/esm/Button/iconButtonGroupContext.mjs.map +1 -1
  27. package/dist/esm/Button/iconButtonGroupContext.native.js +5 -1
  28. package/dist/esm/Button/iconButtonGroupContext.native.js.map +1 -1
  29. package/dist/esm/Button/index.mjs +39 -28
  30. package/dist/esm/Button/index.mjs.map +1 -1
  31. package/dist/esm/Button/index.native.js +39 -28
  32. package/dist/esm/Button/index.native.js.map +1 -1
  33. package/dist/esm/FloatingPanel/RegularPanel.mjs +2 -2
  34. package/dist/esm/FloatingPanel/RegularPanel.mjs.map +1 -1
  35. package/dist/esm/FloatingPanel/RegularPanel.native.js +2 -2
  36. package/dist/esm/FloatingPanel/RegularPanel.native.js.map +1 -1
  37. package/dist/esm/FloatingPanel/index.native.js +11 -10
  38. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  39. package/dist/esm/InputParts/index.mjs +13 -7
  40. package/dist/esm/InputParts/index.mjs.map +1 -1
  41. package/dist/esm/InputParts/index.native.js +13 -7
  42. package/dist/esm/InputParts/index.native.js.map +1 -1
  43. package/dist/esm/index.mjs +2 -2
  44. package/dist/esm/index.mjs.map +1 -1
  45. package/dist/esm/index.native.js +2 -2
  46. package/dist/esm/index.native.js.map +1 -1
  47. package/dist/jsx/Button/IconButtonGroup.mjs +14 -10
  48. package/dist/jsx/Button/IconButtonGroup.mjs.map +1 -1
  49. package/dist/jsx/Button/IconButtonGroup.native.js +13 -9
  50. package/dist/jsx/Button/IconButtonGroup.native.js.map +1 -1
  51. package/dist/jsx/Button/iconButtonGroupContext.mjs +5 -1
  52. package/dist/jsx/Button/iconButtonGroupContext.mjs.map +1 -1
  53. package/dist/jsx/Button/iconButtonGroupContext.native.js +6 -0
  54. package/dist/jsx/Button/iconButtonGroupContext.native.js.map +1 -1
  55. package/dist/jsx/Button/index.mjs +39 -28
  56. package/dist/jsx/Button/index.mjs.map +1 -1
  57. package/dist/jsx/Button/index.native.js +38 -26
  58. package/dist/jsx/Button/index.native.js.map +1 -1
  59. package/dist/jsx/FloatingPanel/RegularPanel.mjs +2 -2
  60. package/dist/jsx/FloatingPanel/RegularPanel.mjs.map +1 -1
  61. package/dist/jsx/FloatingPanel/RegularPanel.native.js +2 -2
  62. package/dist/jsx/FloatingPanel/RegularPanel.native.js.map +1 -1
  63. package/dist/jsx/FloatingPanel/index.native.js +11 -10
  64. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  65. package/dist/jsx/InputParts/index.mjs +13 -7
  66. package/dist/jsx/InputParts/index.mjs.map +1 -1
  67. package/dist/jsx/InputParts/index.native.js +12 -6
  68. package/dist/jsx/InputParts/index.native.js.map +1 -1
  69. package/dist/jsx/index.js +2 -2
  70. package/dist/jsx/index.js.map +1 -1
  71. package/dist/jsx/index.mjs +2 -2
  72. package/dist/jsx/index.mjs.map +1 -1
  73. package/dist/jsx/index.native.js +1 -0
  74. package/dist/jsx/index.native.js.map +1 -1
  75. package/package.json +8 -8
  76. package/src/Button/Button.fieldGlyph.spec.tsx +186 -0
  77. package/src/Button/Button.stories.tsx +97 -82
  78. package/src/Button/IconButtonGroup.spec.tsx +48 -1
  79. package/src/Button/IconButtonGroup.tsx +26 -12
  80. package/src/Button/iconButtonGroupContext.ts +12 -0
  81. package/src/Button/index.tsx +73 -35
  82. package/src/FloatingPanel/FloatingPanel.menuFace.native.spec.tsx +2 -2
  83. package/src/FloatingPanel/FloatingPanel.openOnMount.native.spec.tsx +198 -0
  84. package/src/FloatingPanel/RegularPanel.tsx +8 -6
  85. package/src/FloatingPanel/index.native.tsx +29 -18
  86. package/src/InputParts/index.tsx +40 -27
  87. package/src/index.ts +1 -0
  88. package/types/Button/IconButtonGroup.d.ts.map +1 -1
  89. package/types/Button/iconButtonGroupContext.d.ts +8 -0
  90. package/types/Button/iconButtonGroupContext.d.ts.map +1 -1
  91. package/types/Button/index.d.ts +1 -0
  92. package/types/Button/index.d.ts.map +1 -1
  93. package/types/FloatingPanel/RegularPanel.d.ts.map +1 -1
  94. package/types/FloatingPanel/index.native.d.ts +5 -0
  95. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  96. package/types/InputParts/index.d.ts.map +1 -1
  97. package/types/index.d.ts +1 -1
  98. package/types/index.d.ts.map +1 -1
@@ -38,7 +38,8 @@ function IconButtonGroup({
38
38
  children,
39
39
  ...rest
40
40
  }) {
41
- const bar = (0, import_theme.useBarSurface)();
41
+ const field = (0, import_theme.useFieldSurface)();
42
+ const bar = (0, import_theme.useBarSurface)() && !field;
42
43
  const dark = (0, import_theme.isDarkThemeName)((0, import_tamagui.useThemeName)());
43
44
  const [capsuleHeight, setCapsuleHeight] = (0, import_react.useState)(0);
44
45
  const [members, setMembers] = (0, import_react.useState)(0);
@@ -63,7 +64,7 @@ function IconButtonGroup({
63
64
  } : null));
64
65
  }
65
66
  }), []);
66
- if (plate === "media") {
67
+ if (plate === "media" && !field) {
67
68
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupContext.Provider, {
68
69
  value: "media",
69
70
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Theme, {
@@ -83,23 +84,27 @@ function IconButtonGroup({
83
84
  });
84
85
  }
85
86
  const GlassView = bar ? (0, import_glass.loadGlassView)() : null;
87
+ const lone = members === 1 && import_react.Children.toArray(children).length === 1;
86
88
  if (GlassView && import_tamagui.isWeb && (0, import_webGlass.isAppleTouchWeb)()) {
89
+ const capsuled = members > 0 && !lone;
87
90
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupRegistry.Provider, {
88
91
  value: register,
89
92
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupContext.Provider, {
90
- value: "glass",
93
+ value: lone ? null : "glass",
91
94
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
92
95
  alignItems: "center",
93
- "data-mp-icon-button-group": members > 0 ? "glass" : "bar",
96
+ "data-mp-icon-button-group": capsuled ? "glass" : "bar",
94
97
  ...rest,
95
98
  children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
96
99
  alignItems: "center",
97
100
  position: "relative",
98
101
  zIndex: 0,
99
- paddingHorizontal: "$2",
100
- gap: "$1",
101
- "data-mp-glass-capsule": "",
102
- children: [members > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(GlassView, {
102
+ ...(lone ? null : {
103
+ paddingHorizontal: "$2",
104
+ gap: "$1",
105
+ "data-mp-glass-capsule": ""
106
+ }),
107
+ children: [capsuled ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(GlassView, {
103
108
  style: {
104
109
  position: "absolute",
105
110
  top: 0,
@@ -115,7 +120,6 @@ function IconButtonGroup({
115
120
  });
116
121
  }
117
122
  const capsule = GlassView != null && members > 0;
118
- const lone = members === 1 && import_react.Children.toArray(children).length === 1;
119
123
  const row = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
120
124
  alignItems: "center",
121
125
  "data-mp-icon-button-group": capsule ? "glass" : bar ? "bar" : "row",
@@ -41,7 +41,8 @@ function IconButtonGroup(param) {
41
41
  children,
42
42
  ...rest
43
43
  } = param;
44
- var bar = (0, import_theme.useBarSurface)();
44
+ var field = (0, import_theme.useFieldSurface)();
45
+ var bar = (0, import_theme.useBarSurface)() && !field;
45
46
  var dark = (0, import_theme.isDarkThemeName)((0, import_tamagui.useThemeName)());
46
47
  var [capsuleHeight, setCapsuleHeight] = (0, import_react.useState)(0);
47
48
  var [members, setMembers] = (0, import_react.useState)(0);
@@ -76,7 +77,7 @@ function IconButtonGroup(param) {
76
77
  }
77
78
  };
78
79
  }, []);
79
- if (plate === "media") {
80
+ if (plate === "media" && !field) {
80
81
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupContext.Provider, {
81
82
  value: "media",
82
83
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Theme, {
@@ -96,23 +97,27 @@ function IconButtonGroup(param) {
96
97
  });
97
98
  }
98
99
  var GlassView = bar ? (0, import_glass.loadGlassView)() : null;
100
+ var lone = members === 1 && import_react.Children.toArray(children).length === 1;
99
101
  if (GlassView && import_tamagui.isWeb && (0, import_webGlass.isAppleTouchWeb)()) {
102
+ var capsuled = members > 0 && !lone;
100
103
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupRegistry.Provider, {
101
104
  value: register,
102
105
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_iconButtonGroupContext.IconButtonGroupContext.Provider, {
103
- value: "glass",
106
+ value: lone ? null : "glass",
104
107
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
105
108
  alignItems: "center",
106
- "data-mp-icon-button-group": members > 0 ? "glass" : "bar",
109
+ "data-mp-icon-button-group": capsuled ? "glass" : "bar",
107
110
  ...rest,
108
111
  children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
109
112
  alignItems: "center",
110
113
  position: "relative",
111
114
  zIndex: 0,
112
- paddingHorizontal: "$2",
113
- gap: "$1",
114
- "data-mp-glass-capsule": "",
115
- children: [members > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(GlassView, {
115
+ ...(lone ? null : {
116
+ paddingHorizontal: "$2",
117
+ gap: "$1",
118
+ "data-mp-glass-capsule": ""
119
+ }),
120
+ children: [capsuled ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(GlassView, {
116
121
  style: {
117
122
  position: "absolute",
118
123
  top: 0,
@@ -128,7 +133,6 @@ function IconButtonGroup(param) {
128
133
  });
129
134
  }
130
135
  var capsule = GlassView != null && members > 0;
131
- var lone = members === 1 && import_react.Children.toArray(children).length === 1;
132
136
  var row = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
133
137
  alignItems: "center",
134
138
  "data-mp-icon-button-group": capsule ? "glass" : bar ? "bar" : "row",
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","IconButtonGroup_exports","__export","IconButtonGroup","module","exports","import_jsx_runtime","require","import_theme","import_react","import_tamagui","import_glass","import_webGlass","import_iconButtonGroupContext","SYSTEM_GLASS_SPACING","param","plate","children","rest","bar","useBarSurface","dark","isDarkThemeName","useThemeName","capsuleHeight","setCapsuleHeight","useState","members","setMembers","register","useCallback","count","capsuleRef","useRef","surface","useMemo","measure","callback","node","current","measureInWindow","x","y","width","height","radius","jsx","IconButtonGroupContext","Provider","Theme","name","XStack","alignItems","alignSelf","borderRadius","backgroundColor","overflow","radiusClassProps","GlassView","loadGlassView","isWeb","isAppleTouchWeb","IconButtonGroupRegistry","jsxs","position","zIndex","paddingHorizontal","gap","style","top","right","bottom","left","capsule","lone","Children","toArray","length","row","glass","glassEffectStyle","isInteractive","colorScheme","flexShrink","minWidth"],"sources":["../../../src/Button/IconButtonGroup.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","IconButtonGroup_exports","__export","IconButtonGroup","module","exports","import_jsx_runtime","require","import_theme","import_react","import_tamagui","import_glass","import_webGlass","import_iconButtonGroupContext","SYSTEM_GLASS_SPACING","param","plate","children","rest","field","useFieldSurface","bar","useBarSurface","dark","isDarkThemeName","useThemeName","capsuleHeight","setCapsuleHeight","useState","members","setMembers","register","useCallback","count","capsuleRef","useRef","surface","useMemo","measure","callback","node","current","measureInWindow","x","y","width","height","radius","jsx","IconButtonGroupContext","Provider","Theme","name","XStack","alignItems","alignSelf","borderRadius","backgroundColor","overflow","radiusClassProps","GlassView","loadGlassView","lone","Children","toArray","length","isWeb","isAppleTouchWeb","capsuled","IconButtonGroupRegistry","jsxs","position","zIndex","paddingHorizontal","gap","style","top","right","bottom","left","capsule","row","glass","glassEffectStyle","isInteractive","colorScheme","flexShrink","minWidth"],"sources":["../../../src/Button/IconButtonGroup.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -22,9 +22,11 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
22
  }), mod);
23
23
  var iconButtonGroupContext_exports = {};
24
24
  __export(iconButtonGroupContext_exports, {
25
+ GlyphPlateContext: () => GlyphPlateContext,
25
26
  IconButtonGroupContext: () => IconButtonGroupContext,
26
27
  IconButtonGroupRegistry: () => IconButtonGroupRegistry,
27
28
  IconButtonGroupSurfaceContext: () => IconButtonGroupSurfaceContext,
29
+ useGlyphOnPlate: () => useGlyphOnPlate,
28
30
  useIconButtonGroupGround: () => useIconButtonGroupGround,
29
31
  useIconButtonGroupMember: () => useIconButtonGroupMember,
30
32
  useIconButtonGroupSurface: () => useIconButtonGroupSurface
@@ -36,6 +38,10 @@ const IconButtonGroupContext = (0, import_react.createContext)(null);
36
38
  function useIconButtonGroupGround() {
37
39
  return (0, import_react.useContext)(IconButtonGroupContext);
38
40
  }
41
+ const GlyphPlateContext = (0, import_react.createContext)(false);
42
+ function useGlyphOnPlate() {
43
+ return (0, import_react.useContext)(GlyphPlateContext);
44
+ }
39
45
  const IconButtonGroupRegistry = (0, import_react.createContext)(null);
40
46
  function useIconButtonGroupMember(iconOnly) {
41
47
  const register = (0, import_react.useContext)(IconButtonGroupRegistry);
@@ -24,9 +24,11 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
24
  }), mod);
25
25
  var iconButtonGroupContext_exports = {};
26
26
  __export(iconButtonGroupContext_exports, {
27
+ GlyphPlateContext: () => GlyphPlateContext,
27
28
  IconButtonGroupContext: () => IconButtonGroupContext,
28
29
  IconButtonGroupRegistry: () => IconButtonGroupRegistry,
29
30
  IconButtonGroupSurfaceContext: () => IconButtonGroupSurfaceContext,
31
+ useGlyphOnPlate: () => useGlyphOnPlate,
30
32
  useIconButtonGroupGround: () => useIconButtonGroupGround,
31
33
  useIconButtonGroupMember: () => useIconButtonGroupMember,
32
34
  useIconButtonGroupSurface: () => useIconButtonGroupSurface
@@ -38,6 +40,10 @@ var IconButtonGroupContext = (0, import_react.createContext)(null);
38
40
  function useIconButtonGroupGround() {
39
41
  return (0, import_react.useContext)(IconButtonGroupContext);
40
42
  }
43
+ var GlyphPlateContext = (0, import_react.createContext)(false);
44
+ function useGlyphOnPlate() {
45
+ return (0, import_react.useContext)(GlyphPlateContext);
46
+ }
41
47
  var IconButtonGroupRegistry = (0, import_react.createContext)(null);
42
48
  function useIconButtonGroupMember(iconOnly) {
43
49
  var register = (0, import_react.useContext)(IconButtonGroupRegistry);
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","iconButtonGroupContext_exports","__export","IconButtonGroupContext","IconButtonGroupRegistry","IconButtonGroupSurfaceContext","useIconButtonGroupGround","useIconButtonGroupMember","useIconButtonGroupSurface","module","exports","import_react","require","useIsomorphicLayoutEffect","window","useEffect","useLayoutEffect","createContext","useContext","iconOnly","register"],"sources":["../../../src/Button/iconButtonGroupContext.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,8BAAA;AAAAC,QAAA,CAAAD,8BAAA;EAAAE,sBAAA,EAAAA,CAAA,KAAAA,sBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,6BAAA,EAAAA,CAAA,KAAAA,6BAAA;EAAAC,wBAAA,EAAAA,CAAA,KAAAA,wBAAA;EAAAC,wBAAA,EAAAA,CAAA,KAAAA,wBAAA;EAAAC,yBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAd,YAAsE,CAAAK,8BAAA;AAEtE,IAAAU,YAAM,GAAAC,OAAA,QAA4B;AAS3B,IAAAC,yBAAM,UAAyBC,MAAA,mBAAqCH,YAAI,CAAAI,SAAA,GAAAJ,YAAA,CAAAK,eAAA;AAExE,IAAAb,sBAAS,OAAAQ,YAAkD,CAAAM,aAAA;AAChE,SAAAX,wBAAOA,CAAA;EACT,WAAAK,YAAA,CAAAO,UAAA,EAAAf,sBAAA;AAOO;AAEA,IAAAC,uBAAS,OAAyBO,YAAyB,CAAAM,aAAA;AAChE,SAAMV,wBAAWA,CAAAY,QAAA;EACjB,IAAAC,QAAA,OAAAT,YAAA,CAAAO,UAAA,EAAAd,uBAAA;EAAAS,yBACqB,aAAW;IAC9B,OAACM,QAAU,IAAQC,QAAA,GAAAA,QAAA;EACrB,IACFD,QAAA,EAqBOC,QAAM,CAEN;AACL;AACF,IAAAf,6BAAA,OAAAM,YAAA,CAAAM,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","iconButtonGroupContext_exports","__export","GlyphPlateContext","IconButtonGroupContext","IconButtonGroupRegistry","IconButtonGroupSurfaceContext","useGlyphOnPlate","useIconButtonGroupGround","useIconButtonGroupMember","useIconButtonGroupSurface","module","exports","import_react","require","useIsomorphicLayoutEffect","window","useEffect","useLayoutEffect","createContext","useContext","iconOnly","register"],"sources":["../../../src/Button/iconButtonGroupContext.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,8BAAA;AAAAC,QAAA,CAAAD,8BAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAAA,sBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,6BAAA,EAAAA,CAAA,KAAAA,6BAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAAAC,wBAAA,EAAAA,CAAA,KAAAA,wBAAA;EAAAC,wBAAA,EAAAA,CAAA,KAAAA,wBAAA;EAAAC,yBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAhB,YAAsE,CAAAK,8BAAA;AAEtE,IAAAY,YAAM,GAAAC,OAAA,QAA4B;AAS3B,IAAAC,yBAAM,UAAyBC,MAAA,mBAAqCH,YAAI,CAAAI,SAAA,GAAAJ,YAAA,CAAAK,eAAA;AAExE,IAAAd,sBAAS,OAAAS,YAAkD,CAAAM,aAAA;AAChE,SAAAX,wBAAOA,CAAA;EACT,WAAAK,YAAA,CAAAO,UAAA,EAAAhB,sBAAA;AAQO;AAEA,IAAAD,iBAAS,OAA2BU,YAAA,CAAAM,aAAA;AACzC,SAAAZ,eAAOA,CAAA;EACT,WAAAM,YAAA,CAAAO,UAAA,EAAAjB,iBAAA;AAOO;AAEA,IAAAE,uBAAS,OAAyBQ,YAAyB,CAAAM,aAAA;AAChE,SAAMV,wBAAWA,CAAAY,QAAA;EACjB,IAAAC,QAAA,OAAAT,YAAA,CAAAO,UAAA,EAAAf,uBAAA;EAAAU,yBACqB,aAAW;IAC9B,OAACM,QAAU,IAAQC,QAAA,GAAAA,QAAA;EACrB,IACFD,QAAA,EAqBOC,QAAM,CAEN;AACL;AACF,IAAAhB,6BAAA,OAAAO,YAAA,CAAAM,aAAA","ignoreList":[]}
@@ -34,7 +34,8 @@ __export(Button_exports, {
34
34
  buttonSizeRecipes: () => buttonSizeRecipes,
35
35
  iconButtonGlyphPx: () => iconButtonGlyphPx,
36
36
  labelLinePx: () => labelLinePx,
37
- resolveButtonSizeRecipe: () => resolveButtonSizeRecipe
37
+ resolveButtonSizeRecipe: () => resolveButtonSizeRecipe,
38
+ useGlyphOnPlate: () => import_iconButtonGroupContext2.useGlyphOnPlate
38
39
  });
39
40
  module.exports = __toCommonJS(Button_exports);
40
41
  var import_theme = require("@multiplatform.one/theme");
@@ -59,6 +60,7 @@ var import_glass = require("./glass.cjs");
59
60
  var import_circleGlyph = require("./circleGlyph.cjs");
60
61
  var import_iconButtonGroupContext = require("./iconButtonGroupContext.cjs");
61
62
  var import_IconButtonGroup = require("./IconButtonGroup.cjs");
63
+ var import_iconButtonGroupContext2 = require("./iconButtonGroupContext.cjs");
62
64
  var import_jsx_runtime = require("react/jsx-runtime");
63
65
  const buttonSizeRecipes = import_theme3.recipeFamilies.control.recipes;
64
66
  function resolveButtonSizeRecipe(size, family = "control", touch = false) {
@@ -385,18 +387,24 @@ function Button({
385
387
  const grouped = (0, import_groupContext.useControlGrouped)();
386
388
  const labelled = verb != null || children != null && children !== false && children !== "";
387
389
  const iconOnly = !labelled && Boolean(icon || iconAfter);
388
- const circular = circularProp && !(iconOnly && chromeless === true && plate == null);
390
+ const fieldSurface = (0, import_theme3.useFieldSurface)();
391
+ const fieldGlyph = iconOnly && fieldSurface;
392
+ if (fieldGlyph) {
393
+ outlined = false;
394
+ if (chromeless === false) chromeless = void 0;
395
+ }
396
+ const circular = circularProp && !fieldGlyph && !(iconOnly && chromeless === true && plate == null);
389
397
  const groupGround = (0, import_iconButtonGroupContext.useIconButtonGroupGround)();
390
398
  (0, import_iconButtonGroupContext.useIconButtonGroupMember)(iconOnly);
391
- const mediaPlate = iconOnly && plate === "media" && groupGround !== "media";
392
- const confirmPlate = iconOnly && primaryPlate;
399
+ const mediaPlate = iconOnly && plate === "media" && groupGround !== "media" && !fieldGlyph;
400
+ const confirmPlate = iconOnly && primaryPlate && !fieldGlyph;
393
401
  const iconButton = iconOnly && !mediaPlate && !confirmPlate && !grouped && chromeless !== false && outlined !== true && !circular;
394
402
  if (import_tamagui.isWeb) (0, import_theme3.ensureKeyboardModalityTracking)();
395
403
  const barSurface = (0, import_theme3.useBarSurface)();
396
- const neutralGlyph = iconButton && !(theme ?? intent) && !barSurface && accentInk == null && inline !== true;
404
+ const neutralGlyph = iconButton && !(theme ?? intent) && !barSurface && !fieldGlyph && accentInk == null && inline !== true;
397
405
  if (iconButton) {
398
406
  chromeless = true;
399
- accentInk = accentInk ?? (!(theme ?? intent) && (barSurface || inline === true));
407
+ accentInk = accentInk ?? (!(theme ?? intent) && (barSurface || fieldGlyph || inline === true));
400
408
  }
401
409
  const resolvedGlyphWeight = glyphWeight ?? (iconOnly ? "bold" : "regular");
402
410
  const elevatedGround = (0, import_theme3.useElevatedSurface)();
@@ -499,14 +507,14 @@ function Button({
499
507
  const resolvedChildren = children ?? labelFromParts;
500
508
  const ariaPressedProp = props["aria-pressed"];
501
509
  const isSelected = selected ?? (ariaPressedProp === true || ariaPressedProp === "true" ? true : void 0);
502
- const selectedFill = Boolean(isSelected) && !unavailable && !mediaPlate;
510
+ const selectedFill = Boolean(isSelected) && !unavailable && !mediaPlate && !fieldGlyph;
503
511
  const barInk = accentInk && chromeless && !selectedFill && !unavailable && !confirmPlate ? labelled ? glyphTint.label : glyphTint.glyph : null;
504
512
  const inlineGlyph = iconButton && inline === true && !nested;
505
513
  const barGlyph = (iconButton || mediaPlate || confirmPlate) && !nested || labelled && chromeless && accentInk === true && edge === "start";
506
514
  const labelLine = labelLinePx(knobProps.body.fontFamily);
507
515
  const glyphFloor = iconButtonGlyphPx(labelLine);
508
516
  const glassGroup = groupGround === "glass";
509
- const GlassView = iconButton && !inlineGlyph && !nested && accentInk && barSurface && !selectedFill && !glassGroup ? (0, import_glass.loadGlassView)() : null;
517
+ const GlassView = iconButton && !inlineGlyph && !nested && accentInk && barSurface && !fieldGlyph && !selectedFill && !glassGroup ? (0, import_glass.loadGlassView)() : null;
510
518
  const framedCircle = iconOnly && Boolean(circular) && !nested && !mediaPlate && !confirmPlate;
511
519
  const accentFillHex = confirmPlate ? accentSolidFill(hostThemeName) : null;
512
520
  const confirmInk = accentFillHex && (0, import_theme3.contrastRatio)((0, import_theme3.relativeLuminance)("#ffffff"), (0, import_theme3.relativeLuminance)(accentFillHex)) >= import_theme3.GLYPH_CONTRAST_FLOOR ? "#ffffff" : "$color";
@@ -641,9 +649,10 @@ function Button({
641
649
  } : mediaPlate ? {
642
650
  backgroundColor: "$shadow5"
643
651
  } : void 0;
652
+ const glyphPlated = Boolean(GlassView || groupGround || mediaPlate || confirmPlate || framedCircle);
644
653
  const glassInset = typeof resolvedBorderWidth === "number" ? -resolvedBorderWidth : 0;
645
- const glyphEdgePull = GlassView || glassGroup ? 0 : iconButton ? -Math.max(0, (visualPx - iconSize) / 2) : edgePull;
646
- const buttonElement = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(ButtonFrame, {
654
+ const glyphEdgePull = glyphPlated ? 0 : iconButton ? -Math.max(0, (visualPx - iconSize) / 2) : edgePull;
655
+ const buttonElement = /* @__PURE__ */(0, import_jsx_runtime.jsx)(ButtonFrame, {
647
656
  disabled: explainedDisable ? false : isDisabled || false,
648
657
  "aria-busy": loading || void 0,
649
658
  opacity: 1,
@@ -844,22 +853,25 @@ function Button({
844
853
  "aria-pressed": true,
845
854
  "data-mp-selected": "true"
846
855
  } : void 0),
847
- children: [GlassView ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(GlassView, {
848
- glassEffectStyle: "regular",
849
- isInteractive: !unavailable,
850
- colorScheme: darkScheme ? "dark" : "light",
851
- style: {
852
- position: "absolute",
853
- top: glassInset,
854
- right: glassInset,
855
- bottom: glassInset,
856
- left: glassInset,
857
- borderRadius: visualPx / 2,
858
- alignItems: "center",
859
- justifyContent: "center"
860
- },
861
- children: iconElement
862
- }) : iconElement, labelContent, iconAfterElement]
856
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_iconButtonGroupContext.GlyphPlateContext.Provider, {
857
+ value: glyphPlated,
858
+ children: [GlassView ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(GlassView, {
859
+ glassEffectStyle: "regular",
860
+ isInteractive: !unavailable,
861
+ colorScheme: darkScheme ? "dark" : "light",
862
+ style: {
863
+ position: "absolute",
864
+ top: glassInset,
865
+ right: glassInset,
866
+ bottom: glassInset,
867
+ left: glassInset,
868
+ borderRadius: visualPx / 2,
869
+ alignItems: "center",
870
+ justifyContent: "center"
871
+ },
872
+ children: iconElement
873
+ }) : iconElement, labelContent, iconAfterElement]
874
+ })
863
875
  });
864
876
  const intentButton = activeThemeName ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Theme, {
865
877
  name: activeThemeName,
@@ -36,7 +36,8 @@ __export(Button_exports, {
36
36
  buttonSizeRecipes: () => buttonSizeRecipes,
37
37
  iconButtonGlyphPx: () => iconButtonGlyphPx,
38
38
  labelLinePx: () => labelLinePx,
39
- resolveButtonSizeRecipe: () => resolveButtonSizeRecipe
39
+ resolveButtonSizeRecipe: () => resolveButtonSizeRecipe,
40
+ useGlyphOnPlate: () => import_iconButtonGroupContext2.useGlyphOnPlate
40
41
  });
41
42
  module.exports = __toCommonJS(Button_exports);
42
43
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -62,6 +63,7 @@ var import_glass = require("./glass.native.js");
62
63
  var import_circleGlyph = require("./circleGlyph.native.js");
63
64
  var import_iconButtonGroupContext = require("./iconButtonGroupContext.native.js");
64
65
  var import_IconButtonGroup = require("./IconButtonGroup.native.js");
66
+ var import_iconButtonGroupContext2 = require("./iconButtonGroupContext.native.js");
65
67
  function _type_of(obj) {
66
68
  "@swc/helpers - typeof";
67
69
 
@@ -431,18 +433,24 @@ function Button(param) {
431
433
  var grouped = (0, import_groupContext.useControlGrouped)();
432
434
  var labelled = verb != null || children != null && children !== false && children !== "";
433
435
  var iconOnly = !labelled && Boolean(icon || iconAfter);
434
- var circular = circularProp && !(iconOnly && chromeless === true && plate == null);
436
+ var fieldSurface = (0, import_theme3.useFieldSurface)();
437
+ var fieldGlyph = iconOnly && fieldSurface;
438
+ if (fieldGlyph) {
439
+ outlined = false;
440
+ if (chromeless === false) chromeless = void 0;
441
+ }
442
+ var circular = circularProp && !fieldGlyph && !(iconOnly && chromeless === true && plate == null);
435
443
  var groupGround = (0, import_iconButtonGroupContext.useIconButtonGroupGround)();
436
444
  (0, import_iconButtonGroupContext.useIconButtonGroupMember)(iconOnly);
437
- var mediaPlate = iconOnly && plate === "media" && groupGround !== "media";
438
- var confirmPlate = iconOnly && primaryPlate;
445
+ var mediaPlate = iconOnly && plate === "media" && groupGround !== "media" && !fieldGlyph;
446
+ var confirmPlate = iconOnly && primaryPlate && !fieldGlyph;
439
447
  var iconButton = iconOnly && !mediaPlate && !confirmPlate && !grouped && chromeless !== false && outlined !== true && !circular;
440
448
  if (import_tamagui.isWeb) (0, import_theme3.ensureKeyboardModalityTracking)();
441
449
  var barSurface = (0, import_theme3.useBarSurface)();
442
- var neutralGlyph = iconButton && !(theme !== null && theme !== void 0 ? theme : intent) && !barSurface && accentInk == null && inline !== true;
450
+ var neutralGlyph = iconButton && !(theme !== null && theme !== void 0 ? theme : intent) && !barSurface && !fieldGlyph && accentInk == null && inline !== true;
443
451
  if (iconButton) {
444
452
  chromeless = true;
445
- accentInk = accentInk !== null && accentInk !== void 0 ? accentInk : !(theme !== null && theme !== void 0 ? theme : intent) && (barSurface || inline === true);
453
+ accentInk = accentInk !== null && accentInk !== void 0 ? accentInk : !(theme !== null && theme !== void 0 ? theme : intent) && (barSurface || fieldGlyph || inline === true);
446
454
  }
447
455
  var resolvedGlyphWeight = glyphWeight !== null && glyphWeight !== void 0 ? glyphWeight : iconOnly ? "bold" : "regular";
448
456
  var elevatedGround = (0, import_theme3.useElevatedSurface)();
@@ -557,14 +565,14 @@ function Button(param) {
557
565
  var resolvedChildren = children !== null && children !== void 0 ? children : labelFromParts;
558
566
  var ariaPressedProp = props["aria-pressed"];
559
567
  var isSelected = selected !== null && selected !== void 0 ? selected : ariaPressedProp === true || ariaPressedProp === "true" ? true : void 0;
560
- var selectedFill = Boolean(isSelected) && !unavailable && !mediaPlate;
568
+ var selectedFill = Boolean(isSelected) && !unavailable && !mediaPlate && !fieldGlyph;
561
569
  var barInk = accentInk && chromeless && !selectedFill && !unavailable && !confirmPlate ? labelled ? glyphTint.label : glyphTint.glyph : null;
562
570
  var inlineGlyph = iconButton && inline === true && !nested;
563
571
  var barGlyph = (iconButton || mediaPlate || confirmPlate) && !nested || labelled && chromeless && accentInk === true && edge === "start";
564
572
  var labelLine = labelLinePx(knobProps.body.fontFamily);
565
573
  var glyphFloor = iconButtonGlyphPx(labelLine);
566
574
  var glassGroup = groupGround === "glass";
567
- var GlassView = iconButton && !inlineGlyph && !nested && accentInk && barSurface && !selectedFill && !glassGroup ? (0, import_glass.loadGlassView)() : null;
575
+ var GlassView = iconButton && !inlineGlyph && !nested && accentInk && barSurface && !fieldGlyph && !selectedFill && !glassGroup ? (0, import_glass.loadGlassView)() : null;
568
576
  var framedCircle = iconOnly && Boolean(circular) && !nested && !mediaPlate && !confirmPlate;
569
577
  var accentFillHex = confirmPlate ? accentSolidFill(hostThemeName) : null;
570
578
  var confirmInk = accentFillHex && (0, import_theme3.contrastRatio)((0, import_theme3.relativeLuminance)("#ffffff"), (0, import_theme3.relativeLuminance)(accentFillHex)) >= import_theme3.GLYPH_CONTRAST_FLOOR ? "#ffffff" : "$color";
@@ -707,9 +715,10 @@ function Button(param) {
707
715
  } : mediaPlate ? {
708
716
  backgroundColor: "$shadow5"
709
717
  } : void 0;
718
+ var glyphPlated = Boolean(GlassView || groupGround || mediaPlate || confirmPlate || framedCircle);
710
719
  var glassInset = typeof resolvedBorderWidth === "number" ? -resolvedBorderWidth : 0;
711
- var glyphEdgePull = GlassView || glassGroup ? 0 : iconButton ? -Math.max(0, (visualPx - iconSize) / 2) : edgePull;
712
- var buttonElement = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(ButtonFrame, {
720
+ var glyphEdgePull = glyphPlated ? 0 : iconButton ? -Math.max(0, (visualPx - iconSize) / 2) : edgePull;
721
+ var buttonElement = /* @__PURE__ */(0, import_jsx_runtime.jsx)(ButtonFrame, {
713
722
  // DG-ST-03: an explained disable is aria-disabled (focusable, press
714
723
  // swallowed in handlePress) instead of a natively disabled dead end.
715
724
  disabled: explainedDisable ? false : isDisabled || false,
@@ -954,22 +963,25 @@ function Button(param) {
954
963
  "aria-pressed": true,
955
964
  "data-mp-selected": "true"
956
965
  } : void 0),
957
- children: [GlassView ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(GlassView, {
958
- glassEffectStyle: "regular",
959
- isInteractive: !unavailable,
960
- colorScheme: darkScheme ? "dark" : "light",
961
- style: {
962
- position: "absolute",
963
- top: glassInset,
964
- right: glassInset,
965
- bottom: glassInset,
966
- left: glassInset,
967
- borderRadius: visualPx / 2,
968
- alignItems: "center",
969
- justifyContent: "center"
970
- },
971
- children: iconElement
972
- }) : iconElement, labelContent, iconAfterElement]
966
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_iconButtonGroupContext.GlyphPlateContext.Provider, {
967
+ value: glyphPlated,
968
+ children: [GlassView ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(GlassView, {
969
+ glassEffectStyle: "regular",
970
+ isInteractive: !unavailable,
971
+ colorScheme: darkScheme ? "dark" : "light",
972
+ style: {
973
+ position: "absolute",
974
+ top: glassInset,
975
+ right: glassInset,
976
+ bottom: glassInset,
977
+ left: glassInset,
978
+ borderRadius: visualPx / 2,
979
+ alignItems: "center",
980
+ justifyContent: "center"
981
+ },
982
+ children: iconElement
983
+ }) : iconElement, labelContent, iconAfterElement]
984
+ })
973
985
  });
974
986
  var intentButton = activeThemeName ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Theme, {
975
987
  name: activeThemeName,