react-native-platform-components 1.3.0 → 1.4.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.
Files changed (181) hide show
  1. package/README.md +24 -30
  2. package/android/src/main/java/com/platformcomponents/PCButtonGroupView.kt +498 -0
  3. package/android/src/main/java/com/platformcomponents/PCButtonGroupViewManager.kt +191 -0
  4. package/android/src/main/java/com/platformcomponents/PCButtonSupport.kt +127 -0
  5. package/android/src/main/java/com/platformcomponents/PCButtonView.kt +345 -0
  6. package/android/src/main/java/com/platformcomponents/PCButtonViewManager.kt +126 -0
  7. package/android/src/main/java/com/platformcomponents/PCExpressive.kt +107 -0
  8. package/android/src/main/java/com/platformcomponents/PCFloatingToolbarView.kt +115 -0
  9. package/android/src/main/java/com/platformcomponents/PCFloatingToolbarViewManager.kt +65 -0
  10. package/android/src/main/java/com/platformcomponents/PCSegmentedControlView.kt +11 -3
  11. package/android/src/main/java/com/platformcomponents/PCSegmentedControlViewManager.kt +6 -1
  12. package/android/src/main/java/com/platformcomponents/PCTextFieldView.kt +1018 -0
  13. package/android/src/main/java/com/platformcomponents/PCTextFieldViewManager.kt +248 -0
  14. package/android/src/main/java/com/platformcomponents/PlatformComponentsPackage.kt +4 -0
  15. package/android/src/main/res/values/attrs.xml +13 -0
  16. package/android/src/main/res/values/styles.xml +183 -0
  17. package/ios/PCButton.h +10 -0
  18. package/ios/PCButton.mm +196 -0
  19. package/ios/PCButtonGroup.h +10 -0
  20. package/ios/PCButtonGroup.mm +256 -0
  21. package/ios/PCButtonGroupView.swift +254 -0
  22. package/ios/PCButtonSupport.swift +141 -0
  23. package/ios/PCButtonView.swift +155 -0
  24. package/ios/PCFloatingToolbar.h +10 -0
  25. package/ios/PCFloatingToolbar.mm +76 -0
  26. package/ios/PCFloatingToolbarView.swift +95 -0
  27. package/ios/PCTextField.h +10 -0
  28. package/ios/PCTextField.mm +391 -0
  29. package/ios/PCTextFieldView.swift +1012 -0
  30. package/lib/commonjs/Button.js +77 -0
  31. package/lib/commonjs/Button.js.map +1 -0
  32. package/lib/commonjs/ButtonGroup.js +99 -0
  33. package/lib/commonjs/ButtonGroup.js.map +1 -0
  34. package/lib/commonjs/ButtonGroupNativeComponent.ts +121 -0
  35. package/lib/commonjs/ButtonNativeComponent.ts +76 -0
  36. package/lib/commonjs/FloatingToolbar.js +69 -0
  37. package/lib/commonjs/FloatingToolbar.js.map +1 -0
  38. package/lib/commonjs/FloatingToolbarNativeComponent.ts +31 -0
  39. package/lib/commonjs/SegmentedControl.js +11 -85
  40. package/lib/commonjs/SegmentedControl.js.map +1 -1
  41. package/lib/commonjs/SegmentedControlNativeComponent.ts +3 -0
  42. package/lib/commonjs/TextField.js +195 -0
  43. package/lib/commonjs/TextField.js.map +1 -0
  44. package/lib/commonjs/TextFieldNativeComponent.ts +218 -0
  45. package/lib/commonjs/focusRegistry.js +78 -0
  46. package/lib/commonjs/focusRegistry.js.map +1 -0
  47. package/lib/commonjs/icons.js +92 -0
  48. package/lib/commonjs/icons.js.map +1 -0
  49. package/lib/commonjs/index.js +66 -0
  50. package/lib/commonjs/index.js.map +1 -1
  51. package/lib/commonjs/index.web.js +32 -2
  52. package/lib/commonjs/index.web.js.map +1 -1
  53. package/lib/commonjs/labelStyle.js +27 -0
  54. package/lib/commonjs/labelStyle.js.map +1 -0
  55. package/lib/commonjs/reactNativeInternals.d.js +2 -0
  56. package/lib/commonjs/reactNativeInternals.d.js.map +1 -0
  57. package/lib/module/Button.js +70 -0
  58. package/lib/module/Button.js.map +1 -0
  59. package/lib/module/ButtonGroup.js +92 -0
  60. package/lib/module/ButtonGroup.js.map +1 -0
  61. package/lib/module/ButtonGroupNativeComponent.ts +121 -0
  62. package/lib/module/ButtonNativeComponent.ts +76 -0
  63. package/lib/module/FloatingToolbar.js +62 -0
  64. package/lib/module/FloatingToolbar.js.map +1 -0
  65. package/lib/module/FloatingToolbarNativeComponent.ts +31 -0
  66. package/lib/module/SegmentedControl.js +12 -87
  67. package/lib/module/SegmentedControl.js.map +1 -1
  68. package/lib/module/SegmentedControlNativeComponent.ts +3 -0
  69. package/lib/module/TextField.js +189 -0
  70. package/lib/module/TextField.js.map +1 -0
  71. package/lib/module/TextFieldNativeComponent.ts +218 -0
  72. package/lib/module/focusRegistry.js +74 -0
  73. package/lib/module/focusRegistry.js.map +1 -0
  74. package/lib/module/icons.js +87 -0
  75. package/lib/module/icons.js.map +1 -0
  76. package/lib/module/index.js +6 -0
  77. package/lib/module/index.js.map +1 -1
  78. package/lib/module/index.web.js +28 -0
  79. package/lib/module/index.web.js.map +1 -1
  80. package/lib/module/labelStyle.js +23 -0
  81. package/lib/module/labelStyle.js.map +1 -0
  82. package/lib/module/reactNativeInternals.d.js +2 -0
  83. package/lib/module/reactNativeInternals.d.js.map +1 -0
  84. package/lib/typescript/commonjs/docs/sidebars.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/src/Button.d.ts +76 -0
  86. package/lib/typescript/commonjs/src/Button.d.ts.map +1 -0
  87. package/lib/typescript/commonjs/src/ButtonGroup.d.ts +102 -0
  88. package/lib/typescript/commonjs/src/ButtonGroup.d.ts.map +1 -0
  89. package/lib/typescript/commonjs/src/ButtonGroupNativeComponent.d.ts +93 -0
  90. package/lib/typescript/commonjs/src/ButtonGroupNativeComponent.d.ts.map +1 -0
  91. package/lib/typescript/commonjs/src/ButtonNativeComponent.d.ts +57 -0
  92. package/lib/typescript/commonjs/src/ButtonNativeComponent.d.ts.map +1 -0
  93. package/lib/typescript/commonjs/src/FloatingToolbar.d.ts +45 -0
  94. package/lib/typescript/commonjs/src/FloatingToolbar.d.ts.map +1 -0
  95. package/lib/typescript/commonjs/src/FloatingToolbarNativeComponent.d.ts +24 -0
  96. package/lib/typescript/commonjs/src/FloatingToolbarNativeComponent.d.ts.map +1 -0
  97. package/lib/typescript/commonjs/src/SegmentedControl.d.ts +17 -46
  98. package/lib/typescript/commonjs/src/SegmentedControl.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/src/SegmentedControlNativeComponent.d.ts +2 -0
  100. package/lib/typescript/commonjs/src/SegmentedControlNativeComponent.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/src/TextField.d.ts +174 -0
  102. package/lib/typescript/commonjs/src/TextField.d.ts.map +1 -0
  103. package/lib/typescript/commonjs/src/TextFieldNativeComponent.d.ts +162 -0
  104. package/lib/typescript/commonjs/src/TextFieldNativeComponent.d.ts.map +1 -0
  105. package/lib/typescript/commonjs/src/focusRegistry.d.ts +13 -0
  106. package/lib/typescript/commonjs/src/focusRegistry.d.ts.map +1 -0
  107. package/lib/typescript/commonjs/src/icons.d.ts +52 -0
  108. package/lib/typescript/commonjs/src/icons.d.ts.map +1 -0
  109. package/lib/typescript/commonjs/src/index.d.ts +6 -0
  110. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/src/index.web.d.ts +121 -0
  112. package/lib/typescript/commonjs/src/index.web.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/src/labelStyle.d.ts +20 -0
  114. package/lib/typescript/commonjs/src/labelStyle.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/src/sharedTypes.d.ts +6 -1
  116. package/lib/typescript/commonjs/src/sharedTypes.d.ts.map +1 -1
  117. package/lib/typescript/module/docs/sidebars.d.ts.map +1 -1
  118. package/lib/typescript/module/src/Button.d.ts +76 -0
  119. package/lib/typescript/module/src/Button.d.ts.map +1 -0
  120. package/lib/typescript/module/src/ButtonGroup.d.ts +102 -0
  121. package/lib/typescript/module/src/ButtonGroup.d.ts.map +1 -0
  122. package/lib/typescript/module/src/ButtonGroupNativeComponent.d.ts +93 -0
  123. package/lib/typescript/module/src/ButtonGroupNativeComponent.d.ts.map +1 -0
  124. package/lib/typescript/module/src/ButtonNativeComponent.d.ts +57 -0
  125. package/lib/typescript/module/src/ButtonNativeComponent.d.ts.map +1 -0
  126. package/lib/typescript/module/src/FloatingToolbar.d.ts +45 -0
  127. package/lib/typescript/module/src/FloatingToolbar.d.ts.map +1 -0
  128. package/lib/typescript/module/src/FloatingToolbarNativeComponent.d.ts +24 -0
  129. package/lib/typescript/module/src/FloatingToolbarNativeComponent.d.ts.map +1 -0
  130. package/lib/typescript/module/src/SegmentedControl.d.ts +17 -46
  131. package/lib/typescript/module/src/SegmentedControl.d.ts.map +1 -1
  132. package/lib/typescript/module/src/SegmentedControlNativeComponent.d.ts +2 -0
  133. package/lib/typescript/module/src/SegmentedControlNativeComponent.d.ts.map +1 -1
  134. package/lib/typescript/module/src/TextField.d.ts +174 -0
  135. package/lib/typescript/module/src/TextField.d.ts.map +1 -0
  136. package/lib/typescript/module/src/TextFieldNativeComponent.d.ts +162 -0
  137. package/lib/typescript/module/src/TextFieldNativeComponent.d.ts.map +1 -0
  138. package/lib/typescript/module/src/focusRegistry.d.ts +13 -0
  139. package/lib/typescript/module/src/focusRegistry.d.ts.map +1 -0
  140. package/lib/typescript/module/src/icons.d.ts +52 -0
  141. package/lib/typescript/module/src/icons.d.ts.map +1 -0
  142. package/lib/typescript/module/src/index.d.ts +6 -0
  143. package/lib/typescript/module/src/index.d.ts.map +1 -1
  144. package/lib/typescript/module/src/index.web.d.ts +121 -0
  145. package/lib/typescript/module/src/index.web.d.ts.map +1 -1
  146. package/lib/typescript/module/src/labelStyle.d.ts +20 -0
  147. package/lib/typescript/module/src/labelStyle.d.ts.map +1 -0
  148. package/lib/typescript/module/src/sharedTypes.d.ts +6 -1
  149. package/lib/typescript/module/src/sharedTypes.d.ts.map +1 -1
  150. package/package.json +25 -4
  151. package/react-native.config.js +3 -0
  152. package/shared/PCButtonComponentDescriptors-custom.h +22 -0
  153. package/shared/PCButtonGroupComponentDescriptors-custom.h +22 -0
  154. package/shared/PCButtonGroupShadowNode-custom.cpp +48 -0
  155. package/shared/PCButtonGroupShadowNode-custom.h +55 -0
  156. package/shared/PCButtonGroupState-custom.h +61 -0
  157. package/shared/PCButtonShadowNode-custom.cpp +48 -0
  158. package/shared/PCButtonShadowNode-custom.h +55 -0
  159. package/shared/PCButtonState-custom.h +61 -0
  160. package/shared/PCTextFieldComponentDescriptors-custom.h +22 -0
  161. package/shared/PCTextFieldShadowNode-custom.cpp +47 -0
  162. package/shared/PCTextFieldShadowNode-custom.h +55 -0
  163. package/shared/PCTextFieldState-custom.h +61 -0
  164. package/shared/react/renderer/components/PlatformComponentsViewSpec/ComponentDescriptors.h +3 -0
  165. package/src/Button.tsx +144 -0
  166. package/src/ButtonGroup.tsx +233 -0
  167. package/src/ButtonGroupNativeComponent.ts +121 -0
  168. package/src/ButtonNativeComponent.ts +76 -0
  169. package/src/FloatingToolbar.tsx +113 -0
  170. package/src/FloatingToolbarNativeComponent.ts +31 -0
  171. package/src/SegmentedControl.tsx +26 -118
  172. package/src/SegmentedControlNativeComponent.ts +3 -0
  173. package/src/TextField.tsx +494 -0
  174. package/src/TextFieldNativeComponent.ts +218 -0
  175. package/src/focusRegistry.ts +89 -0
  176. package/src/icons.ts +116 -0
  177. package/src/index.tsx +6 -0
  178. package/src/index.web.tsx +194 -0
  179. package/src/labelStyle.ts +36 -0
  180. package/src/reactNativeInternals.d.ts +22 -0
  181. package/src/sharedTypes.ts +7 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","NO_ICON","exports","iconType","iconName","iconUri","iconScale","iconTinted","pickIconSource","icon","undefined","Platform","OS","ios","android","resolveIcon","source","length","type","name","resolved","Image","resolveAssetSource","uri","scale","tinted"],"sourceRoot":"../../src","sources":["icons.ts"],"mappings":";;;;;;;AAIA,IAAAA,YAAA,GAAAC,OAAA;AAJA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA;AACA;AACA;AACA;;AAQA;;AAcO,MAAMC,OAAyB,GAAAC,OAAA,CAAAD,OAAA,GAAG;EACvCE,QAAQ,EAAE,EAAE;EACZC,QAAQ,EAAE,EAAE;EACZC,OAAO,EAAE,EAAE;EACXC,SAAS,EAAE,CAAC;EACZC,UAAU,EAAE;AACd,CAAC;AAED,SAASC,cAAcA,CACrBC,IAA8B,EACE;EAChC,IAAIA,IAAI,KAAKC,SAAS,IAAI,OAAOD,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAIA,IAAI,EAAE;IACpE,OAAOA,IAAI;EACb;EACA,OAAOE,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAGH,IAAI,CAACI,GAAG,GAAGJ,IAAI,CAACK,OAAO;AACxD;;AAEA;AACA;AACA;AACA;AACO,SAASC,WAAWA,CAACN,IAA8B,EAAoB;EAC5E,MAAMO,MAAM,GAAGR,cAAc,CAACC,IAAI,CAAC;EACnC,IAAIO,MAAM,KAAKN,SAAS,EAAE,OAAOT,OAAO;EAExC,IAAI,OAAOe,MAAM,KAAK,QAAQ,EAAE;IAC9B,IAAIA,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE,OAAOhB,OAAO;IACvC,OAAO;MACL,GAAGA,OAAO;MACVE,QAAQ,EAAEQ,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,UAAU,GAAG,UAAU;MACzDR,QAAQ,EAAEY;IACZ,CAAC;EACH;EAEA,QAAQA,MAAM,CAACE,IAAI;IACjB,KAAK,UAAU;MACb,OAAOP,qBAAQ,CAACC,EAAE,KAAK,KAAK,GACxB;QAAE,GAAGX,OAAO;QAAEE,QAAQ,EAAE,UAAU;QAAEC,QAAQ,EAAEY,MAAM,CAACG;MAAK,CAAC,GAC3DlB,OAAO;IACb,KAAK,UAAU;MACb,OAAOU,qBAAQ,CAACC,EAAE,KAAK,SAAS,GAC5B;QAAE,GAAGX,OAAO;QAAEE,QAAQ,EAAE,UAAU;QAAEC,QAAQ,EAAEY,MAAM,CAACG;MAAK,CAAC,GAC3DlB,OAAO;IACb,KAAK,OAAO;MAAE;QACZ,MAAMmB,QAAQ,GAAGC,kBAAK,CAACC,kBAAkB,CAACN,MAAM,CAACA,MAAM,CAAC;QACxD,IAAI,CAACI,QAAQ,EAAEG,GAAG,EAAE,OAAOtB,OAAO;QAClC,OAAO;UACLE,QAAQ,EAAE,OAAO;UACjBC,QAAQ,EAAE,EAAE;UACZC,OAAO,EAAEe,QAAQ,CAACG,GAAG;UACrBjB,SAAS,EAAEc,QAAQ,CAACI,KAAK,GAAG,CAAC,GAAGJ,QAAQ,CAACI,KAAK,GAAG,CAAC;UAClDjB,UAAU,EAAES,MAAM,CAACS,MAAM,KAAK,KAAK,GAAG,OAAO,GAAG;QAClD,CAAC;MACH;IACA;MACE,OAAOxB,OAAO;EAClB;AACF","ignoreList":[]}
@@ -47,6 +47,39 @@ Object.keys(_SegmentedControl).forEach(function (key) {
47
47
  }
48
48
  });
49
49
  });
50
+ var _Button = require("./Button");
51
+ Object.keys(_Button).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _Button[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _Button[key];
58
+ }
59
+ });
60
+ });
61
+ var _ButtonGroup = require("./ButtonGroup");
62
+ Object.keys(_ButtonGroup).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _ButtonGroup[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _ButtonGroup[key];
69
+ }
70
+ });
71
+ });
72
+ var _FloatingToolbar = require("./FloatingToolbar");
73
+ Object.keys(_FloatingToolbar).forEach(function (key) {
74
+ if (key === "default" || key === "__esModule") return;
75
+ if (key in exports && exports[key] === _FloatingToolbar[key]) return;
76
+ Object.defineProperty(exports, key, {
77
+ enumerable: true,
78
+ get: function () {
79
+ return _FloatingToolbar[key];
80
+ }
81
+ });
82
+ });
50
83
  var _LiquidGlass = require("./LiquidGlass");
51
84
  Object.keys(_LiquidGlass).forEach(function (key) {
52
85
  if (key === "default" || key === "__esModule") return;
@@ -58,6 +91,39 @@ Object.keys(_LiquidGlass).forEach(function (key) {
58
91
  }
59
92
  });
60
93
  });
94
+ var _TextField = require("./TextField");
95
+ Object.keys(_TextField).forEach(function (key) {
96
+ if (key === "default" || key === "__esModule") return;
97
+ if (key in exports && exports[key] === _TextField[key]) return;
98
+ Object.defineProperty(exports, key, {
99
+ enumerable: true,
100
+ get: function () {
101
+ return _TextField[key];
102
+ }
103
+ });
104
+ });
105
+ var _icons = require("./icons");
106
+ Object.keys(_icons).forEach(function (key) {
107
+ if (key === "default" || key === "__esModule") return;
108
+ if (key in exports && exports[key] === _icons[key]) return;
109
+ Object.defineProperty(exports, key, {
110
+ enumerable: true,
111
+ get: function () {
112
+ return _icons[key];
113
+ }
114
+ });
115
+ });
116
+ var _labelStyle = require("./labelStyle");
117
+ Object.keys(_labelStyle).forEach(function (key) {
118
+ if (key === "default" || key === "__esModule") return;
119
+ if (key in exports && exports[key] === _labelStyle[key]) return;
120
+ Object.defineProperty(exports, key, {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _labelStyle[key];
124
+ }
125
+ });
126
+ });
61
127
  var _sharedTypes = require("./sharedTypes");
62
128
  Object.keys(_sharedTypes).forEach(function (key) {
63
129
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"names":["_DatePicker","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_SelectionMenu","_ContextMenu","_SegmentedControl","_LiquidGlass","_sharedTypes","_NativeTheme"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_DatePicker","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_SelectionMenu","_ContextMenu","_SegmentedControl","_Button","_ButtonGroup","_FloatingToolbar","_LiquidGlass","_TextField","_icons","_labelStyle","_sharedTypes","_NativeTheme"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useNativeTheme = exports.setNativeTheme = exports.isLiquidGlassSupported = exports.SelectionMenu = exports.SegmentedControl = exports.LiquidGlass = exports.DatePicker = exports.ContextMenu = void 0;
6
+ exports.useNativeTheme = exports.setNativeTheme = exports.isLiquidGlassSupported = exports.TextField = exports.SelectionMenu = exports.SegmentedControl = exports.LiquidGlass = exports.FloatingToolbar = exports.DatePicker = exports.ContextMenu = exports.ButtonGroup = exports.Button = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _jsxRuntime = require("react/jsx-runtime");
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -47,9 +47,25 @@ exports.ContextMenu = ContextMenu;
47
47
  const SegmentedControl = _props => null;
48
48
 
49
49
  // ============================================================================
50
- // LiquidGlass
50
+ // Button, ButtonGroup, FloatingToolbar
51
51
  // ============================================================================
52
52
  exports.SegmentedControl = SegmentedControl;
53
+ const Button = _props => null;
54
+ exports.Button = Button;
55
+ const ButtonGroup = _props => null;
56
+ exports.ButtonGroup = ButtonGroup;
57
+ const FloatingToolbar = ({
58
+ children
59
+ }) => {
60
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
61
+ children: children
62
+ });
63
+ };
64
+
65
+ // ============================================================================
66
+ // LiquidGlass
67
+ // ============================================================================
68
+ exports.FloatingToolbar = FloatingToolbar;
53
69
  const LiquidGlass = ({
54
70
  children
55
71
  }) => {
@@ -60,6 +76,20 @@ const LiquidGlass = ({
60
76
  exports.LiquidGlass = LiquidGlass;
61
77
  const isLiquidGlassSupported = exports.isLiquidGlassSupported = false;
62
78
 
79
+ // ============================================================================
80
+ // TextField
81
+ // ============================================================================
82
+
83
+ const TextField = exports.TextField = /*#__PURE__*/_react.default.forwardRef(function TextFieldComponent(_props, ref) {
84
+ _react.default.useImperativeHandle(ref, () => ({
85
+ focus: () => {},
86
+ blur: () => {},
87
+ clear: () => {},
88
+ isFocused: () => false
89
+ }));
90
+ return null;
91
+ });
92
+
63
93
  // ============================================================================
64
94
  // Native theme
65
95
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_jsxRuntime","e","__esModule","default","DatePicker","_props","exports","SelectionMenu","ContextMenu","children","jsx","Fragment","SegmentedControl","LiquidGlass","isLiquidGlassSupported","setNativeTheme","_theme","useNativeTheme"],"sourceRoot":"../../src","sources":["index.web.tsx"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAL1B;AACA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAoBO,MAAMG,UAAU,GACrBC,MAAuB,IACO,IAAI;;AAEpC;AACA;AACA;AAAAC,OAAA,CAAAF,UAAA,GAAAA,UAAA;AAoBO,MAAMG,aAAa,GACxBF,MAA0B,IACI,IAAI;;AAEpC;AACA;AACA;AAAAC,OAAA,CAAAC,aAAA,GAAAA,aAAA;AAgCO,MAAMC,WAAW,GAAGA,CAAC;EAC1BC;AACgB,CAAC,KAAgC;EACjD,oBAAO,IAAAT,WAAA,CAAAU,GAAA,EAAAV,WAAA,CAAAW,QAAA;IAAAF,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB,CAAC;;AAED;AACA;AACA;AAAAH,OAAA,CAAAE,WAAA,GAAAA,WAAA;AAmDO,MAAMI,gBAAgB,GAC3BP,MAA6B,IACC,IAAI;;AAEpC;AACA;AACA;AAAAC,OAAA,CAAAM,gBAAA,GAAAA,gBAAA;AASO,MAAMC,WAAW,GAAGA,CAAC;EAC1BJ;AACgB,CAAC,KAAgC;EACjD,oBAAO,IAAAT,WAAA,CAAAU,GAAA,EAAAV,WAAA,CAAAW,QAAA;IAAAF,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB,CAAC;AAACH,OAAA,CAAAO,WAAA,GAAAA,WAAA;AAEK,MAAMC,sBAAsB,GAAAR,OAAA,CAAAQ,sBAAA,GAAG,KAAK;;AAE3C;AACA;AACA;;AAQO,MAAMC,cAAc,GAAIC,MAA0B,IAAW,CAAC,CAAC;AAACV,OAAA,CAAAS,cAAA,GAAAA,cAAA;AAEhE,MAAME,cAAc,GACzBD,MAAsC,IAC7B,CAAC,CAAC;AAACV,OAAA,CAAAW,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_jsxRuntime","e","__esModule","default","DatePicker","_props","exports","SelectionMenu","ContextMenu","children","jsx","Fragment","SegmentedControl","Button","ButtonGroup","FloatingToolbar","LiquidGlass","isLiquidGlassSupported","TextField","React","forwardRef","TextFieldComponent","ref","useImperativeHandle","focus","blur","clear","isFocused","setNativeTheme","_theme","useNativeTheme"],"sourceRoot":"../../src","sources":["index.web.tsx"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAL1B;AACA;AACA;AACA;;AAQA;AACA;AACA;;AAMA;AACA;AACA;;AAoBO,MAAMG,UAAU,GACrBC,MAAuB,IACO,IAAI;;AAEpC;AACA;AACA;AAAAC,OAAA,CAAAF,UAAA,GAAAA,UAAA;AAoBO,MAAMG,aAAa,GACxBF,MAA0B,IACI,IAAI;;AAEpC;AACA;AACA;AAAAC,OAAA,CAAAC,aAAA,GAAAA,aAAA;AAgCO,MAAMC,WAAW,GAAGA,CAAC;EAC1BC;AACgB,CAAC,KAAgC;EACjD,oBAAO,IAAAT,WAAA,CAAAU,GAAA,EAAAV,WAAA,CAAAW,QAAA;IAAAF,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB,CAAC;;AAED;AACA;AACA;AAAAH,OAAA,CAAAE,WAAA,GAAAA,WAAA;AAmDO,MAAMI,gBAAgB,GAC3BP,MAA6B,IACC,IAAI;;AAEpC;AACA;AACA;AAAAC,OAAA,CAAAM,gBAAA,GAAAA,gBAAA;AA6BO,MAAMC,MAAM,GAAIR,MAAmB,IAAgC,IAAI;AAACC,OAAA,CAAAO,MAAA,GAAAA,MAAA;AAgCxE,MAAMC,WAAW,GACtBT,MAAwB,IACM,IAAI;AAACC,OAAA,CAAAQ,WAAA,GAAAA,WAAA;AAa9B,MAAMC,eAAe,GAAGA,CAAC;EAC9BN;AACoB,CAAC,KAAgC;EACrD,oBAAO,IAAAT,WAAA,CAAAU,GAAA,EAAAV,WAAA,CAAAW,QAAA;IAAAF,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB,CAAC;;AAED;AACA;AACA;AAAAH,OAAA,CAAAS,eAAA,GAAAA,eAAA;AASO,MAAMC,WAAW,GAAGA,CAAC;EAC1BP;AACgB,CAAC,KAAgC;EACjD,oBAAO,IAAAT,WAAA,CAAAU,GAAA,EAAAV,WAAA,CAAAW,QAAA;IAAAF,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB,CAAC;AAACH,OAAA,CAAAU,WAAA,GAAAA,WAAA;AAEK,MAAMC,sBAAsB,GAAAX,OAAA,CAAAW,sBAAA,GAAG,KAAK;;AAE3C;AACA;AACA;;AA8FO,MAAMC,SAAS,GAAAZ,OAAA,CAAAY,SAAA,gBAAGC,cAAK,CAACC,UAAU,CACvC,SAASC,kBAAkBA,CAAChB,MAAM,EAAEiB,GAAG,EAA6B;EAClEH,cAAK,CAACI,mBAAmB,CAACD,GAAG,EAAE,OAAO;IACpCE,KAAK,EAAEA,CAAA,KAAM,CAAC,CAAC;IACfC,IAAI,EAAEA,CAAA,KAAM,CAAC,CAAC;IACdC,KAAK,EAAEA,CAAA,KAAM,CAAC,CAAC;IACfC,SAAS,EAAEA,CAAA,KAAM;EACnB,CAAC,CAAC,CAAC;EACH,OAAO,IAAI;AACb,CACF,CAAC;;AAED;AACA;AACA;;AAQO,MAAMC,cAAc,GAAIC,MAA0B,IAAW,CAAC,CAAC;AAACvB,OAAA,CAAAsB,cAAA,GAAAA,cAAA;AAEhE,MAAME,cAAc,GACzBD,MAAsC,IAC7B,CAAC,CAAC;AAACvB,OAAA,CAAAwB,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.normalizeLabelStyle = normalizeLabelStyle;
7
+ // labelStyle.ts
8
+ //
9
+ // Label font props shared by SegmentedControl, Button and ButtonGroup.
10
+
11
+ /**
12
+ * Font for a control's labels. Each field falls back to the platform default.
13
+ */
14
+
15
+ /** The flat font fields the native specs expect; empty / 0 = default. */
16
+
17
+ /** Normalizes a label font for native; `undefined` keeps the platform font. */
18
+ function normalizeLabelStyle(labelStyle) {
19
+ if (!labelStyle) return undefined;
20
+ return {
21
+ fontFamily: labelStyle.fontFamily ?? '',
22
+ fontSize: labelStyle.fontSize ?? 0,
23
+ fontWeight: labelStyle.fontWeight === undefined ? '' : String(labelStyle.fontWeight),
24
+ fontStyle: labelStyle.fontStyle ?? ''
25
+ };
26
+ }
27
+ //# sourceMappingURL=labelStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["normalizeLabelStyle","labelStyle","undefined","fontFamily","fontSize","fontWeight","String","fontStyle"],"sourceRoot":"../../src","sources":["labelStyle.ts"],"mappings":";;;;;;AAAA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;;AAQA;AACO,SAASA,mBAAmBA,CACjCC,UAAkC,EACJ;EAC9B,IAAI,CAACA,UAAU,EAAE,OAAOC,SAAS;EACjC,OAAO;IACLC,UAAU,EAAEF,UAAU,CAACE,UAAU,IAAI,EAAE;IACvCC,QAAQ,EAAEH,UAAU,CAACG,QAAQ,IAAI,CAAC;IAClCC,UAAU,EACRJ,UAAU,CAACI,UAAU,KAAKH,SAAS,GAAG,EAAE,GAAGI,MAAM,CAACL,UAAU,CAACI,UAAU,CAAC;IAC1EE,SAAS,EAAEN,UAAU,CAACM,SAAS,IAAI;EACrC,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=reactNativeInternals.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["reactNativeInternals.d.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ // Button.tsx
4
+ import React, { useCallback, useMemo } from 'react';
5
+ import NativeButton from './ButtonNativeComponent';
6
+ import { resolveIcon } from "./icons.js";
7
+ import { normalizeLabelStyle } from "./labelStyle.js";
8
+
9
+ /**
10
+ * Emphasis of the button, from highest to lowest.
11
+ *
12
+ * | Variant | Android (Material 3 Expressive) | iOS (`UIButton.Configuration`) |
13
+ * | ---------- | ------------------------------- | ------------------------------ |
14
+ * | `filled` | Filled button | `.filled()` |
15
+ * | `tonal` | Filled tonal button | `.tinted()` |
16
+ * | `outlined` | Outlined button | `.bordered()` |
17
+ * | `text` | Text button | `.plain()` |
18
+ * | `elevated` | Elevated button | `.gray()` |
19
+ */
20
+
21
+ /**
22
+ * Button size. Material 3 Expressive defines five sizes; iOS maps them onto
23
+ * `UIButton.Configuration.Size` (`xsmall` → mini, `xlarge` → large).
24
+ */
25
+
26
+ /**
27
+ * Corner shape. `round` is a pill; `square` keeps rounded corners. Unset
28
+ * means the platform default (round on Android, dynamic on iOS).
29
+ */
30
+ import { jsx as _jsx } from "react/jsx-runtime";
31
+ export function Button(props) {
32
+ const {
33
+ label,
34
+ icon,
35
+ variant,
36
+ size,
37
+ shape,
38
+ disabled,
39
+ color,
40
+ tintColor,
41
+ labelStyle,
42
+ accessibilityLabel,
43
+ onPress,
44
+ android,
45
+ ...viewProps
46
+ } = props;
47
+ const nativeIcon = useMemo(() => resolveIcon(icon), [icon]);
48
+ const nativeLabelStyle = useMemo(() => normalizeLabelStyle(labelStyle), [labelStyle]);
49
+ const handlePress = useCallback(() => {
50
+ onPress?.();
51
+ }, [onPress]);
52
+ return /*#__PURE__*/_jsx(NativeButton, {
53
+ label: label ?? '',
54
+ icon: nativeIcon,
55
+ variant: variant ?? 'filled',
56
+ size: size ?? 'small',
57
+ shape: shape ?? '',
58
+ interactivity: disabled ? 'disabled' : 'enabled',
59
+ color: color,
60
+ foregroundColor: tintColor,
61
+ androidRippleColor: android?.rippleColor,
62
+ androidStrokeColor: android?.strokeColor,
63
+ androidMaterial: android?.material ?? 'expressive',
64
+ labelStyle: nativeLabelStyle,
65
+ spokenLabel: accessibilityLabel ?? '',
66
+ onButtonPress: onPress ? handlePress : undefined,
67
+ ...viewProps
68
+ });
69
+ }
70
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useMemo","NativeButton","resolveIcon","normalizeLabelStyle","jsx","_jsx","Button","props","label","icon","variant","size","shape","disabled","color","tintColor","labelStyle","accessibilityLabel","onPress","android","viewProps","nativeIcon","nativeLabelStyle","handlePress","interactivity","foregroundColor","androidRippleColor","rippleColor","androidStrokeColor","strokeColor","androidMaterial","material","spokenLabel","onButtonPress","undefined"],"sourceRoot":"../../src","sources":["Button.tsx"],"mappings":";;AAAA;AACA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAGnD,OAAOC,YAAY,MAAM,yBAAyB;AAClD,SAASC,WAAW,QAA2B,YAAS;AACxD,SAASC,mBAAmB,QAAyB,iBAAc;;AAGnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AAHA,SAAAC,GAAA,IAAAC,IAAA;AAoEA,OAAO,SAASC,MAAMA,CAACC,KAAkB,EAAsB;EAC7D,MAAM;IACJC,KAAK;IACLC,IAAI;IACJC,OAAO;IACPC,IAAI;IACJC,KAAK;IACLC,QAAQ;IACRC,KAAK;IACLC,SAAS;IACTC,UAAU;IACVC,kBAAkB;IAClBC,OAAO;IACPC,OAAO;IACP,GAAGC;EACL,CAAC,GAAGb,KAAK;EAET,MAAMc,UAAU,GAAGrB,OAAO,CAAC,MAAME,WAAW,CAACO,IAAI,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAC3D,MAAMa,gBAAgB,GAAGtB,OAAO,CAC9B,MAAMG,mBAAmB,CAACa,UAAU,CAAC,EACrC,CAACA,UAAU,CACb,CAAC;EAED,MAAMO,WAAW,GAAGxB,WAAW,CAAC,MAAM;IACpCmB,OAAO,GAAG,CAAC;EACb,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,oBACEb,IAAA,CAACJ,YAAY;IACXO,KAAK,EAAEA,KAAK,IAAI,EAAG;IACnBC,IAAI,EAAEY,UAAW;IACjBX,OAAO,EAAEA,OAAO,IAAI,QAAS;IAC7BC,IAAI,EAAEA,IAAI,IAAI,OAAQ;IACtBC,KAAK,EAAEA,KAAK,IAAI,EAAG;IACnBY,aAAa,EAAEX,QAAQ,GAAG,UAAU,GAAG,SAAU;IACjDC,KAAK,EAAEA,KAAM;IACbW,eAAe,EAAEV,SAAU;IAC3BW,kBAAkB,EAAEP,OAAO,EAAEQ,WAAY;IACzCC,kBAAkB,EAAET,OAAO,EAAEU,WAAY;IACzCC,eAAe,EAAEX,OAAO,EAAEY,QAAQ,IAAI,YAAa;IACnDf,UAAU,EAAEM,gBAAiB;IAC7BU,WAAW,EAAEf,kBAAkB,IAAI,EAAG;IACtCgB,aAAa,EAAEf,OAAO,GAAGK,WAAW,GAAGW,SAAU;IAAA,GAC7Cd;EAAS,CACd,CAAC;AAEN","ignoreList":[]}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ // ButtonGroup.tsx
4
+ import React, { useCallback, useMemo } from 'react';
5
+ import NativeButtonGroup from './ButtonGroupNativeComponent';
6
+ import { resolveIcon } from "./icons.js";
7
+ import { normalizeLabelStyle } from "./labelStyle.js";
8
+
9
+ /**
10
+ * Selection behavior of the group.
11
+ *
12
+ * - `none` (default): the buttons are plain actions.
13
+ * - `single`: at most one button is selected at a time.
14
+ * - `multiple`: any number of buttons can be selected.
15
+ */
16
+
17
+ /** What happens to buttons that don't fit the group's width (Android). */
18
+ import { jsx as _jsx } from "react/jsx-runtime";
19
+ export function ButtonGroup(props) {
20
+ const {
21
+ buttons,
22
+ variant,
23
+ size,
24
+ shape,
25
+ connected,
26
+ spacing,
27
+ selection,
28
+ selectedValues,
29
+ selectionRequired,
30
+ disabled,
31
+ color,
32
+ tintColor,
33
+ labelStyle,
34
+ onPress,
35
+ onSelectionChange,
36
+ android,
37
+ ...viewProps
38
+ } = props;
39
+ const selectionMode = selection ?? 'none';
40
+ const nativeButtons = useMemo(() => {
41
+ return buttons.map(button => ({
42
+ label: button.label ?? '',
43
+ value: button.value,
44
+ disabled: button.disabled ? 'disabled' : 'enabled',
45
+ accessibilityLabel: button.accessibilityLabel ?? '',
46
+ ...resolveIcon(button.icon)
47
+ }));
48
+ }, [buttons]);
49
+ const nativeSelectedValues = useMemo(() => {
50
+ if (selectionMode === 'none' || !selectedValues) return [];
51
+ return selectionMode === 'single' ? selectedValues.slice(0, 1) : [...selectedValues];
52
+ }, [selectionMode, selectedValues]);
53
+ const nativeLabelStyle = useMemo(() => normalizeLabelStyle(labelStyle), [labelStyle]);
54
+ const handlePress = useCallback(e => {
55
+ const {
56
+ index,
57
+ value
58
+ } = e.nativeEvent;
59
+ onPress?.(value, index);
60
+ }, [onPress]);
61
+ const handleSelectionChange = useCallback(e => {
62
+ onSelectionChange?.([...e.nativeEvent.values]);
63
+ }, [onSelectionChange]);
64
+ const nativeAndroid = useMemo(() => ({
65
+ overflow: android?.overflow ?? 'none',
66
+ material: android?.material ?? 'expressive'
67
+ }), [android]);
68
+ const isConnected = connected ?? selectionMode !== 'none';
69
+ const isSelectionRequired = selectionRequired ?? (selectionMode === 'single' ? true : false);
70
+ return /*#__PURE__*/_jsx(NativeButtonGroup, {
71
+ buttons: nativeButtons,
72
+ variant: variant ?? 'outlined',
73
+ size: size ?? 'small',
74
+ shape: shape ?? '',
75
+ connected: isConnected ? 'true' : 'false',
76
+ spacing: spacing ?? -1,
77
+ selection: selectionMode,
78
+ selectedValues: nativeSelectedValues,
79
+ selectionRequired: isSelectionRequired ? 'true' : 'false',
80
+ interactivity: disabled ? 'disabled' : 'enabled',
81
+ color: color,
82
+ foregroundColor: tintColor,
83
+ androidRippleColor: android?.rippleColor,
84
+ androidStrokeColor: android?.strokeColor,
85
+ labelStyle: nativeLabelStyle,
86
+ onButtonPress: onPress ? handlePress : undefined,
87
+ onGroupSelectionChange: onSelectionChange ? handleSelectionChange : undefined,
88
+ android: nativeAndroid,
89
+ ...viewProps
90
+ });
91
+ }
92
+ //# sourceMappingURL=ButtonGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useMemo","NativeButtonGroup","resolveIcon","normalizeLabelStyle","jsx","_jsx","ButtonGroup","props","buttons","variant","size","shape","connected","spacing","selection","selectedValues","selectionRequired","disabled","color","tintColor","labelStyle","onPress","onSelectionChange","android","viewProps","selectionMode","nativeButtons","map","button","label","value","accessibilityLabel","icon","nativeSelectedValues","slice","nativeLabelStyle","handlePress","e","index","nativeEvent","handleSelectionChange","values","nativeAndroid","overflow","material","isConnected","isSelectionRequired","interactivity","foregroundColor","androidRippleColor","rippleColor","androidStrokeColor","strokeColor","onButtonPress","undefined","onGroupSelectionChange"],"sourceRoot":"../../src","sources":["ButtonGroup.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,121 @@
1
+ // ButtonGroupNativeComponent.ts
2
+ import type { ColorValue, HostComponent, ViewProps } from 'react-native';
3
+ import { codegenNativeComponent } from 'react-native';
4
+ import type { BubblingEventHandler, Double, Int32 } from './codegenTypes';
5
+
6
+ /**
7
+ * A single button in the group. Icons are pre-resolved on the JS side (see
8
+ * icons.ts) so native only deals with flat strings.
9
+ */
10
+ export type ButtonGroupButton = Readonly<{
11
+ label: string; // Empty for an icon-only button
12
+ value: string;
13
+ disabled: string; // 'enabled' | 'disabled'
14
+ iconType: string; // '' | 'sfSymbol' | 'drawable' | 'image'
15
+ iconName: string; // SF Symbol (iOS) or drawable resource name (Android)
16
+ iconUri: string; // Resolved image URI when iconType === 'image'
17
+ iconScale: Double; // Resolved image scale when iconType === 'image'
18
+ iconTinted: string; // 'true' | 'false' — draw the image as a tinted template
19
+ accessibilityLabel: string; // Screen-reader label, empty = use label
20
+ }>;
21
+
22
+ /**
23
+ * Event emitted when a button is pressed.
24
+ */
25
+ export type ButtonGroupPressEvent = Readonly<{
26
+ index: Int32;
27
+ value: string;
28
+ }>;
29
+
30
+ /**
31
+ * Event emitted when the selection changes (single / multiple selection).
32
+ */
33
+ export type ButtonGroupSelectionEvent = Readonly<{
34
+ /** Values of the selected buttons, in button order. */
35
+ // Codegen only understands the `T[]` array form in event payloads.
36
+ values: string[];
37
+ }>;
38
+
39
+ /**
40
+ * Label font. Empty strings / 0 mean "platform default".
41
+ */
42
+ export type ButtonGroupLabelStyleProps = Readonly<{
43
+ fontFamily?: string;
44
+ fontSize?: Double;
45
+ fontWeight?: string; // 'normal' | 'bold' | '100'..'900'
46
+ fontStyle?: string; // 'normal' | 'italic'
47
+ }>;
48
+
49
+ /**
50
+ * Android-specific configuration.
51
+ */
52
+ export type ButtonGroupAndroidProps = Readonly<{
53
+ /** What happens to buttons that don't fit: 'none' | 'menu' | 'wrap' */
54
+ overflow?: string;
55
+
56
+ /** Material style: 'm3' | 'expressive' */
57
+ material?: string;
58
+ }>;
59
+
60
+ export interface ButtonGroupNativeProps extends ViewProps {
61
+ /** Buttons to display. */
62
+ buttons: ReadonlyArray<ButtonGroupButton>;
63
+
64
+ /** 'filled' | 'tonal' | 'outlined' | 'text' | 'elevated' */
65
+ variant?: string;
66
+
67
+ /** 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' */
68
+ size?: string;
69
+
70
+ /** '' (platform default) | 'round' | 'square' */
71
+ shape?: string;
72
+
73
+ /** 'true' | 'false': connected group (shared outline, small inner corners) */
74
+ connected?: string;
75
+
76
+ /** Gap between buttons in points; negative means the platform default. */
77
+ spacing?: Double;
78
+
79
+ /** 'none' | 'single' | 'multiple' */
80
+ selection?: string;
81
+
82
+ /** Values of the selected buttons (single / multiple selection). */
83
+ selectedValues?: ReadonlyArray<string>;
84
+
85
+ /** 'true' | 'false': whether at least one button must stay selected */
86
+ selectionRequired?: string;
87
+
88
+ /** 'enabled' | 'disabled' */
89
+ interactivity?: string;
90
+
91
+ /** Container (background) color of the buttons. */
92
+ color?: ColorValue;
93
+
94
+ /** Label and icon color of the buttons. */
95
+ foregroundColor?: ColorValue;
96
+
97
+ /** Android: ripple color shown while pressing a button. */
98
+ androidRippleColor?: ColorValue;
99
+
100
+ /** Android: outline color (outlined variant). */
101
+ androidStrokeColor?: ColorValue;
102
+
103
+ /** Label font. */
104
+ labelStyle?: ButtonGroupLabelStyleProps;
105
+
106
+ /** Fired when a button is pressed. */
107
+ onButtonPress?: BubblingEventHandler<ButtonGroupPressEvent>;
108
+
109
+ /**
110
+ * Fired when the selection changes. Not `onSelectionChange`: React Native's
111
+ * TextInput registers `topSelectionChange` as a direct event, and an event
112
+ * name can't be both direct and bubbling.
113
+ */
114
+ onGroupSelectionChange?: BubblingEventHandler<ButtonGroupSelectionEvent>;
115
+
116
+ android?: ButtonGroupAndroidProps;
117
+ }
118
+
119
+ export default codegenNativeComponent<ButtonGroupNativeProps>(
120
+ 'PCButtonGroup'
121
+ ) as HostComponent<ButtonGroupNativeProps>;
@@ -0,0 +1,76 @@
1
+ // ButtonNativeComponent.ts
2
+ import type { ColorValue, HostComponent, ViewProps } from 'react-native';
3
+ import { codegenNativeComponent } from 'react-native';
4
+ import type { BubblingEventHandler, Double } from './codegenTypes';
5
+
6
+ /**
7
+ * Icon fields, pre-resolved on the JS side (see icons.ts).
8
+ */
9
+ export type ButtonIconProps = Readonly<{
10
+ iconType: string; // '' | 'sfSymbol' | 'drawable' | 'image'
11
+ iconName: string; // SF Symbol (iOS) or drawable resource name (Android)
12
+ iconUri: string; // Resolved image URI when iconType === 'image'
13
+ iconScale: Double; // Resolved image scale when iconType === 'image'
14
+ iconTinted: string; // 'true' | 'false' — draw the image as a tinted template
15
+ }>;
16
+
17
+ /**
18
+ * Label font. Empty strings / 0 mean "platform default".
19
+ */
20
+ export type ButtonLabelStyleProps = Readonly<{
21
+ fontFamily?: string;
22
+ fontSize?: Double;
23
+ fontWeight?: string; // 'normal' | 'bold' | '100'..'900'
24
+ fontStyle?: string; // 'normal' | 'italic'
25
+ }>;
26
+
27
+ export interface ButtonNativeProps extends ViewProps {
28
+ /** Button text. Empty for an icon-only button. */
29
+ label?: string;
30
+
31
+ /** Icon shown before the label, or alone when there is no label. */
32
+ icon?: ButtonIconProps;
33
+
34
+ /** 'filled' | 'tonal' | 'outlined' | 'text' | 'elevated' */
35
+ variant?: string;
36
+
37
+ /** 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' */
38
+ size?: string;
39
+
40
+ /** '' (platform default) | 'round' | 'square' */
41
+ shape?: string;
42
+
43
+ /** 'enabled' | 'disabled' */
44
+ interactivity?: string;
45
+
46
+ /** Container (background) color. */
47
+ color?: ColorValue;
48
+
49
+ /** Label and icon color. */
50
+ foregroundColor?: ColorValue;
51
+
52
+ /** Android: ripple color shown while pressing. */
53
+ androidRippleColor?: ColorValue;
54
+
55
+ /** Android: outline color (outlined variant). */
56
+ androidStrokeColor?: ColorValue;
57
+
58
+ /** Android: Material style, 'm3' | 'expressive' */
59
+ androidMaterial?: string;
60
+
61
+ /** Label font. */
62
+ labelStyle?: ButtonLabelStyleProps;
63
+
64
+ /**
65
+ * Screen-reader label, applied to the native button rather than the host
66
+ * view. Empty means "use the label".
67
+ */
68
+ spokenLabel?: string;
69
+
70
+ /** Fired when the button is pressed. */
71
+ onButtonPress?: BubblingEventHandler<Readonly<{}>>;
72
+ }
73
+
74
+ export default codegenNativeComponent<ButtonNativeProps>(
75
+ 'PCButton'
76
+ ) as HostComponent<ButtonNativeProps>;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ // FloatingToolbar.tsx
4
+ import React, { useMemo } from 'react';
5
+ import { Platform, StyleSheet } from 'react-native';
6
+ import NativeFloatingToolbar from './FloatingToolbarNativeComponent';
7
+
8
+ /** Glass effect style of the toolbar on iOS 26. */
9
+
10
+ /** Material 3 color variant of the toolbar on Android. */
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ export function FloatingToolbar(props) {
13
+ const {
14
+ style,
15
+ orientation,
16
+ color,
17
+ ios,
18
+ android,
19
+ children,
20
+ ...viewProps
21
+ } = props;
22
+ const nativeIos = useMemo(() => {
23
+ if (Platform.OS !== 'ios' || !ios) return undefined;
24
+ return {
25
+ effect: ios.effect ?? 'regular'
26
+ };
27
+ }, [ios]);
28
+ const nativeAndroid = useMemo(() => {
29
+ if (Platform.OS !== 'android' || !android) return undefined;
30
+ return {
31
+ variant: android.variant ?? 'standard'
32
+ };
33
+ }, [android]);
34
+ const mergedStyle = useMemo(() => [styles.toolbar, orientation === 'vertical' ? styles.vertical : styles.horizontal, style], [orientation, style]);
35
+ return /*#__PURE__*/_jsx(NativeFloatingToolbar, {
36
+ style: mergedStyle,
37
+ color: color,
38
+ ios: nativeIos,
39
+ android: nativeAndroid,
40
+ ...viewProps,
41
+ children: children
42
+ });
43
+ }
44
+
45
+ // Material 3 floating toolbar: 8dp container padding, 4dp between actions.
46
+ // The capsule shape comes from native.
47
+ const styles = StyleSheet.create({
48
+ toolbar: {
49
+ alignSelf: 'center',
50
+ alignItems: 'center',
51
+ justifyContent: 'center',
52
+ padding: 8,
53
+ gap: 4
54
+ },
55
+ horizontal: {
56
+ flexDirection: 'row'
57
+ },
58
+ vertical: {
59
+ flexDirection: 'column'
60
+ }
61
+ });
62
+ //# sourceMappingURL=FloatingToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","Platform","StyleSheet","NativeFloatingToolbar","jsx","_jsx","FloatingToolbar","props","style","orientation","color","ios","android","children","viewProps","nativeIos","OS","undefined","effect","nativeAndroid","variant","mergedStyle","styles","toolbar","vertical","horizontal","create","alignSelf","alignItems","justifyContent","padding","gap","flexDirection"],"sourceRoot":"../../src","sources":["FloatingToolbar.tsx"],"mappings":";;AAAA;AACA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SACEC,QAAQ,EACRC,UAAU,QAKL,cAAc;AAErB,OAAOC,qBAAqB,MAAM,kCAAkC;;AAEpE;;AAGA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AA8CA,OAAO,SAASC,eAAeA,CAC7BC,KAA2B,EACP;EACpB,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,KAAK;IAAEC,GAAG;IAAEC,OAAO;IAAEC,QAAQ;IAAE,GAAGC;EAAU,CAAC,GACvEP,KAAK;EAEP,MAAMQ,SAAS,GAAGf,OAAO,CAAC,MAAM;IAC9B,IAAIC,QAAQ,CAACe,EAAE,KAAK,KAAK,IAAI,CAACL,GAAG,EAAE,OAAOM,SAAS;IACnD,OAAO;MAAEC,MAAM,EAAEP,GAAG,CAACO,MAAM,IAAI;IAAU,CAAC;EAC5C,CAAC,EAAE,CAACP,GAAG,CAAC,CAAC;EAET,MAAMQ,aAAa,GAAGnB,OAAO,CAAC,MAAM;IAClC,IAAIC,QAAQ,CAACe,EAAE,KAAK,SAAS,IAAI,CAACJ,OAAO,EAAE,OAAOK,SAAS;IAC3D,OAAO;MAAEG,OAAO,EAAER,OAAO,CAACQ,OAAO,IAAI;IAAW,CAAC;EACnD,CAAC,EAAE,CAACR,OAAO,CAAC,CAAC;EAEb,MAAMS,WAAW,GAAGrB,OAAO,CACzB,MAA4B,CAC1BsB,MAAM,CAACC,OAAO,EACdd,WAAW,KAAK,UAAU,GAAGa,MAAM,CAACE,QAAQ,GAAGF,MAAM,CAACG,UAAU,EAChEjB,KAAK,CACN,EACD,CAACC,WAAW,EAAED,KAAK,CACrB,CAAC;EAED,oBACEH,IAAA,CAACF,qBAAqB;IACpBK,KAAK,EAAEa,WAAY;IACnBX,KAAK,EAAEA,KAAM;IACbC,GAAG,EAAEI,SAAU;IACfH,OAAO,EAAEO,aAAc;IAAA,GACnBL,SAAS;IAAAD,QAAA,EAEZA;EAAQ,CACY,CAAC;AAE5B;;AAEA;AACA;AACA,MAAMS,MAAM,GAAGpB,UAAU,CAACwB,MAAM,CAAC;EAC/BH,OAAO,EAAE;IACPI,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,OAAO,EAAE,CAAC;IACVC,GAAG,EAAE;EACP,CAAC;EACDN,UAAU,EAAE;IAAEO,aAAa,EAAE;EAAM,CAAC;EACpCR,QAAQ,EAAE;IAAEQ,aAAa,EAAE;EAAS;AACtC,CAAC,CAAC","ignoreList":[]}