@oxy.so/bloom 3.0.0 → 3.1.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 (271) hide show
  1. package/docs/adoption-matrix.mdx +266 -0
  2. package/docs/checkbox.mdx +16 -0
  3. package/docs/composition.mdx +88 -16
  4. package/docs/date-picker.mdx +11 -0
  5. package/docs/field.mdx +35 -4
  6. package/docs/file-upload.mdx +13 -0
  7. package/docs/glass.mdx +15 -0
  8. package/docs/input-group.mdx +22 -0
  9. package/docs/input-otp.mdx +14 -0
  10. package/docs/layout.mdx +34 -0
  11. package/docs/migrating-to-3.0.mdx +43 -4
  12. package/docs/page-header.mdx +46 -1
  13. package/docs/phone-input.mdx +17 -0
  14. package/docs/radio.mdx +16 -0
  15. package/docs/rating.mdx +14 -0
  16. package/docs/segmented-control.mdx +16 -4
  17. package/docs/select.mdx +22 -0
  18. package/docs/slider.mdx +14 -0
  19. package/docs/stepper.mdx +3 -1
  20. package/docs/switch.mdx +14 -0
  21. package/docs/text-field.mdx +14 -0
  22. package/docs/textarea.mdx +20 -0
  23. package/lib/commonjs/bottom-sheet/BottomSheetBase.js +11 -4
  24. package/lib/commonjs/bottom-sheet/BottomSheetBase.js.map +1 -1
  25. package/lib/commonjs/checkbox/Checkbox.js +24 -8
  26. package/lib/commonjs/checkbox/Checkbox.js.map +1 -1
  27. package/lib/commonjs/date-picker/TimeField.js +18 -6
  28. package/lib/commonjs/date-picker/TimeField.js.map +1 -1
  29. package/lib/commonjs/dialog/DialogContent.js +36 -29
  30. package/lib/commonjs/dialog/DialogContent.js.map +1 -1
  31. package/lib/commonjs/field/index.js +7 -0
  32. package/lib/commonjs/field/index.js.map +1 -1
  33. package/lib/commonjs/field/membership.js +105 -0
  34. package/lib/commonjs/field/membership.js.map +1 -0
  35. package/lib/commonjs/file-upload/FileUpload.js +17 -3
  36. package/lib/commonjs/file-upload/FileUpload.js.map +1 -1
  37. package/lib/commonjs/index.js +21 -0
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/index.web.js +21 -0
  40. package/lib/commonjs/index.web.js.map +1 -1
  41. package/lib/commonjs/input-group/InputGroup.js +18 -5
  42. package/lib/commonjs/input-group/InputGroup.js.map +1 -1
  43. package/lib/commonjs/input-otp/InputOtp.js +20 -8
  44. package/lib/commonjs/input-otp/InputOtp.js.map +1 -1
  45. package/lib/commonjs/layout/index.js +7 -0
  46. package/lib/commonjs/layout/index.js.map +1 -1
  47. package/lib/commonjs/layout/screen-scope.js +61 -0
  48. package/lib/commonjs/layout/screen-scope.js.map +1 -0
  49. package/lib/commonjs/phone-input/PhoneInput.js +20 -8
  50. package/lib/commonjs/phone-input/PhoneInput.js.map +1 -1
  51. package/lib/commonjs/radio/Radio.js +35 -9
  52. package/lib/commonjs/radio/Radio.js.map +1 -1
  53. package/lib/commonjs/rating/RatingInput.js +14 -6
  54. package/lib/commonjs/rating/RatingInput.js.map +1 -1
  55. package/lib/commonjs/segmented-control/SegmentedControl.js +38 -8
  56. package/lib/commonjs/segmented-control/SegmentedControl.js.map +1 -1
  57. package/lib/commonjs/select/Select.js +15 -3
  58. package/lib/commonjs/select/Select.js.map +1 -1
  59. package/lib/commonjs/select/Select.web.js +13 -5
  60. package/lib/commonjs/select/Select.web.js.map +1 -1
  61. package/lib/commonjs/slider/Slider.js +17 -3
  62. package/lib/commonjs/slider/Slider.js.map +1 -1
  63. package/lib/commonjs/stepper/Stepper.js +16 -7
  64. package/lib/commonjs/stepper/Stepper.js.map +1 -1
  65. package/lib/commonjs/styles/styled-primitives.js.map +1 -1
  66. package/lib/commonjs/switch/Switch.js +23 -8
  67. package/lib/commonjs/switch/Switch.js.map +1 -1
  68. package/lib/commonjs/text-field/TextField.js +19 -4
  69. package/lib/commonjs/text-field/TextField.js.map +1 -1
  70. package/lib/commonjs/textarea/Textarea.js +39 -15
  71. package/lib/commonjs/textarea/Textarea.js.map +1 -1
  72. package/lib/module/bottom-sheet/BottomSheetBase.js +8 -1
  73. package/lib/module/bottom-sheet/BottomSheetBase.js.map +1 -1
  74. package/lib/module/checkbox/Checkbox.js +24 -8
  75. package/lib/module/checkbox/Checkbox.js.map +1 -1
  76. package/lib/module/date-picker/TimeField.js +19 -5
  77. package/lib/module/date-picker/TimeField.js.map +1 -1
  78. package/lib/module/dialog/DialogContent.js +37 -30
  79. package/lib/module/dialog/DialogContent.js.map +1 -1
  80. package/lib/module/field/index.js +1 -0
  81. package/lib/module/field/index.js.map +1 -1
  82. package/lib/module/field/membership.js +101 -0
  83. package/lib/module/field/membership.js.map +1 -0
  84. package/lib/module/file-upload/FileUpload.js +17 -3
  85. package/lib/module/file-upload/FileUpload.js.map +1 -1
  86. package/lib/module/index.js +2 -2
  87. package/lib/module/index.js.map +1 -1
  88. package/lib/module/index.web.js +2 -2
  89. package/lib/module/index.web.js.map +1 -1
  90. package/lib/module/input-group/InputGroup.js +19 -4
  91. package/lib/module/input-group/InputGroup.js.map +1 -1
  92. package/lib/module/input-otp/InputOtp.js +21 -7
  93. package/lib/module/input-otp/InputOtp.js.map +1 -1
  94. package/lib/module/layout/index.js +4 -1
  95. package/lib/module/layout/index.js.map +1 -1
  96. package/lib/module/layout/screen-scope.js +57 -0
  97. package/lib/module/layout/screen-scope.js.map +1 -0
  98. package/lib/module/phone-input/PhoneInput.js +22 -9
  99. package/lib/module/phone-input/PhoneInput.js.map +1 -1
  100. package/lib/module/radio/Radio.js +35 -9
  101. package/lib/module/radio/Radio.js.map +1 -1
  102. package/lib/module/rating/RatingInput.js +15 -5
  103. package/lib/module/rating/RatingInput.js.map +1 -1
  104. package/lib/module/segmented-control/SegmentedControl.js +38 -8
  105. package/lib/module/segmented-control/SegmentedControl.js.map +1 -1
  106. package/lib/module/select/Select.js +15 -3
  107. package/lib/module/select/Select.js.map +1 -1
  108. package/lib/module/select/Select.web.js +14 -4
  109. package/lib/module/select/Select.web.js.map +1 -1
  110. package/lib/module/slider/Slider.js +17 -3
  111. package/lib/module/slider/Slider.js.map +1 -1
  112. package/lib/module/stepper/Stepper.js +17 -6
  113. package/lib/module/stepper/Stepper.js.map +1 -1
  114. package/lib/module/styles/styled-primitives.js.map +1 -1
  115. package/lib/module/switch/Switch.js +23 -8
  116. package/lib/module/switch/Switch.js.map +1 -1
  117. package/lib/module/text-field/TextField.js +19 -4
  118. package/lib/module/text-field/TextField.js.map +1 -1
  119. package/lib/module/textarea/Textarea.js +39 -15
  120. package/lib/module/textarea/Textarea.js.map +1 -1
  121. package/lib/typescript/commonjs/bottom-sheet/BottomSheetBase.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/checkbox/Checkbox.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/checkbox/types.d.ts +5 -0
  124. package/lib/typescript/commonjs/checkbox/types.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/date-picker/TimeField.d.ts +1 -1
  126. package/lib/typescript/commonjs/date-picker/TimeField.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/date-picker/types.d.ts +6 -3
  128. package/lib/typescript/commonjs/date-picker/types.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/dialog/DialogContent.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/field/index.d.ts +2 -0
  131. package/lib/typescript/commonjs/field/index.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/field/membership.d.ts +60 -0
  133. package/lib/typescript/commonjs/field/membership.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/file-upload/FileUpload.d.ts +1 -1
  135. package/lib/typescript/commonjs/file-upload/FileUpload.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/floating/types.d.ts +13 -0
  137. package/lib/typescript/commonjs/floating/types.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/index.d.ts +3 -3
  139. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/index.web.d.ts +3 -3
  141. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/input-group/InputGroup.d.ts +1 -1
  143. package/lib/typescript/commonjs/input-group/InputGroup.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/input-otp/InputOtp.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/input-otp/types.d.ts +7 -1
  146. package/lib/typescript/commonjs/input-otp/types.d.ts.map +1 -1
  147. package/lib/typescript/commonjs/layout/index.d.ts +4 -1
  148. package/lib/typescript/commonjs/layout/index.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/layout/screen-scope.d.ts +40 -0
  150. package/lib/typescript/commonjs/layout/screen-scope.d.ts.map +1 -0
  151. package/lib/typescript/commonjs/phone-input/PhoneInput.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/radio/Radio.d.ts +1 -1
  153. package/lib/typescript/commonjs/radio/Radio.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/radio/types.d.ts +11 -3
  155. package/lib/typescript/commonjs/radio/types.d.ts.map +1 -1
  156. package/lib/typescript/commonjs/rating/RatingInput.d.ts +1 -1
  157. package/lib/typescript/commonjs/rating/RatingInput.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/rating/types.d.ts +6 -3
  159. package/lib/typescript/commonjs/rating/types.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/segmented-control/SegmentedControl.d.ts +18 -2
  161. package/lib/typescript/commonjs/segmented-control/SegmentedControl.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/select/Select.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/select/Select.web.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/select/types.d.ts +8 -1
  165. package/lib/typescript/commonjs/select/types.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/slider/Slider.d.ts.map +1 -1
  167. package/lib/typescript/commonjs/stepper/Stepper.d.ts +1 -1
  168. package/lib/typescript/commonjs/stepper/Stepper.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/stepper/types.d.ts +8 -1
  170. package/lib/typescript/commonjs/stepper/types.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/styles/styled-primitives.d.ts +16 -0
  172. package/lib/typescript/commonjs/styles/styled-primitives.d.ts.map +1 -1
  173. package/lib/typescript/commonjs/switch/Switch.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/switch/types.d.ts +7 -0
  175. package/lib/typescript/commonjs/switch/types.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/text-field/TextField.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/textarea/Textarea.d.ts +1 -1
  178. package/lib/typescript/commonjs/textarea/Textarea.d.ts.map +1 -1
  179. package/lib/typescript/module/bottom-sheet/BottomSheetBase.d.ts.map +1 -1
  180. package/lib/typescript/module/checkbox/Checkbox.d.ts.map +1 -1
  181. package/lib/typescript/module/checkbox/types.d.ts +5 -0
  182. package/lib/typescript/module/checkbox/types.d.ts.map +1 -1
  183. package/lib/typescript/module/date-picker/TimeField.d.ts +1 -1
  184. package/lib/typescript/module/date-picker/TimeField.d.ts.map +1 -1
  185. package/lib/typescript/module/date-picker/types.d.ts +6 -3
  186. package/lib/typescript/module/date-picker/types.d.ts.map +1 -1
  187. package/lib/typescript/module/dialog/DialogContent.d.ts.map +1 -1
  188. package/lib/typescript/module/field/index.d.ts +2 -0
  189. package/lib/typescript/module/field/index.d.ts.map +1 -1
  190. package/lib/typescript/module/field/membership.d.ts +60 -0
  191. package/lib/typescript/module/field/membership.d.ts.map +1 -0
  192. package/lib/typescript/module/file-upload/FileUpload.d.ts +1 -1
  193. package/lib/typescript/module/file-upload/FileUpload.d.ts.map +1 -1
  194. package/lib/typescript/module/floating/types.d.ts +13 -0
  195. package/lib/typescript/module/floating/types.d.ts.map +1 -1
  196. package/lib/typescript/module/index.d.ts +3 -3
  197. package/lib/typescript/module/index.d.ts.map +1 -1
  198. package/lib/typescript/module/index.web.d.ts +3 -3
  199. package/lib/typescript/module/index.web.d.ts.map +1 -1
  200. package/lib/typescript/module/input-group/InputGroup.d.ts +1 -1
  201. package/lib/typescript/module/input-group/InputGroup.d.ts.map +1 -1
  202. package/lib/typescript/module/input-otp/InputOtp.d.ts.map +1 -1
  203. package/lib/typescript/module/input-otp/types.d.ts +7 -1
  204. package/lib/typescript/module/input-otp/types.d.ts.map +1 -1
  205. package/lib/typescript/module/layout/index.d.ts +4 -1
  206. package/lib/typescript/module/layout/index.d.ts.map +1 -1
  207. package/lib/typescript/module/layout/screen-scope.d.ts +40 -0
  208. package/lib/typescript/module/layout/screen-scope.d.ts.map +1 -0
  209. package/lib/typescript/module/phone-input/PhoneInput.d.ts.map +1 -1
  210. package/lib/typescript/module/radio/Radio.d.ts +1 -1
  211. package/lib/typescript/module/radio/Radio.d.ts.map +1 -1
  212. package/lib/typescript/module/radio/types.d.ts +11 -3
  213. package/lib/typescript/module/radio/types.d.ts.map +1 -1
  214. package/lib/typescript/module/rating/RatingInput.d.ts +1 -1
  215. package/lib/typescript/module/rating/RatingInput.d.ts.map +1 -1
  216. package/lib/typescript/module/rating/types.d.ts +6 -3
  217. package/lib/typescript/module/rating/types.d.ts.map +1 -1
  218. package/lib/typescript/module/segmented-control/SegmentedControl.d.ts +18 -2
  219. package/lib/typescript/module/segmented-control/SegmentedControl.d.ts.map +1 -1
  220. package/lib/typescript/module/select/Select.d.ts.map +1 -1
  221. package/lib/typescript/module/select/Select.web.d.ts.map +1 -1
  222. package/lib/typescript/module/select/types.d.ts +8 -1
  223. package/lib/typescript/module/select/types.d.ts.map +1 -1
  224. package/lib/typescript/module/slider/Slider.d.ts.map +1 -1
  225. package/lib/typescript/module/stepper/Stepper.d.ts +1 -1
  226. package/lib/typescript/module/stepper/Stepper.d.ts.map +1 -1
  227. package/lib/typescript/module/stepper/types.d.ts +8 -1
  228. package/lib/typescript/module/stepper/types.d.ts.map +1 -1
  229. package/lib/typescript/module/styles/styled-primitives.d.ts +16 -0
  230. package/lib/typescript/module/styles/styled-primitives.d.ts.map +1 -1
  231. package/lib/typescript/module/switch/Switch.d.ts.map +1 -1
  232. package/lib/typescript/module/switch/types.d.ts +7 -0
  233. package/lib/typescript/module/switch/types.d.ts.map +1 -1
  234. package/lib/typescript/module/text-field/TextField.d.ts.map +1 -1
  235. package/lib/typescript/module/textarea/Textarea.d.ts +1 -1
  236. package/lib/typescript/module/textarea/Textarea.d.ts.map +1 -1
  237. package/package.json +2 -1
  238. package/src/bottom-sheet/BottomSheetBase.tsx +6 -1
  239. package/src/checkbox/Checkbox.tsx +24 -8
  240. package/src/checkbox/types.ts +5 -0
  241. package/src/date-picker/TimeField.tsx +14 -3
  242. package/src/date-picker/types.ts +6 -3
  243. package/src/dialog/DialogContent.tsx +6 -2
  244. package/src/field/index.ts +2 -0
  245. package/src/field/membership.ts +164 -0
  246. package/src/file-upload/FileUpload.tsx +14 -3
  247. package/src/floating/types.ts +13 -0
  248. package/src/index.ts +9 -2
  249. package/src/index.web.ts +9 -2
  250. package/src/input-group/InputGroup.tsx +13 -2
  251. package/src/input-otp/InputOtp.tsx +19 -5
  252. package/src/input-otp/types.ts +7 -1
  253. package/src/layout/index.ts +4 -1
  254. package/src/layout/screen-scope.tsx +54 -0
  255. package/src/phone-input/PhoneInput.tsx +20 -8
  256. package/src/radio/Radio.tsx +32 -9
  257. package/src/radio/types.ts +11 -3
  258. package/src/rating/RatingInput.tsx +10 -3
  259. package/src/rating/types.ts +6 -3
  260. package/src/segmented-control/SegmentedControl.tsx +51 -8
  261. package/src/select/Select.tsx +14 -2
  262. package/src/select/Select.web.tsx +11 -2
  263. package/src/select/types.ts +8 -1
  264. package/src/slider/Slider.tsx +13 -3
  265. package/src/stepper/Stepper.tsx +12 -4
  266. package/src/stepper/types.ts +8 -1
  267. package/src/styles/styled-primitives.ts +16 -0
  268. package/src/switch/Switch.tsx +22 -9
  269. package/src/switch/types.ts +7 -0
  270. package/src/text-field/TextField.tsx +16 -4
  271. package/src/textarea/Textarea.tsx +38 -15
@@ -19,7 +19,13 @@ export interface InputOtpProps extends ViewStyleProp {
19
19
  groupEvery?: number;
20
20
  /** Focus the first box on mount. */
21
21
  autoFocus?: boolean;
22
- /** The group's accessible name, default `"One-time code"`. */
22
+ /**
23
+ * The group's accessible name.
24
+ *
25
+ * Inside a `Field` the field's label supplies it. `"One-time code"` is the
26
+ * last resort when neither is given — a default here would outrank the
27
+ * field's label, which is the one thing on screen the user can read.
28
+ */
23
29
  accessibilityLabel?: string;
24
30
  testID?: string;
25
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/input-otp/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,+BAA+B;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/input-otp/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,+BAA+B;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -5,10 +5,13 @@
5
5
  * `edge` answers "how far from the edge"; `bottom-edge` and `top-edge` answer
6
6
  * "what is already parked there"; `scroll-offset` answers "which scroller am I
7
7
  * following". A surface that floats at an edge needs the first two; chrome that
8
- * reacts to scrolling needs the third.
8
+ * reacts to scrolling needs the third. `screen-scope` answers "am I my own
9
+ * screen" — a modal or a sheet, whose chrome must claim and read its own edges
10
+ * rather than the screen's underneath.
9
11
  */
10
12
  export { EDGE_GAP, windowEdgeGap } from './edge';
11
13
  export { BottomEdgeProvider, useBottomEdgeInset, useClaimBottomEdge } from './bottom-edge';
12
14
  export { TopEdgeProvider, useClaimTopEdge, useTopEdgeInset } from './top-edge';
13
15
  export { ScrollOffsetProvider, useScrollOffset } from './scroll-offset';
16
+ export { ScreenScope } from './screen-scope';
14
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * A surface that is its OWN screen, for the two contracts that are screen-scoped.
3
+ *
4
+ * ## What goes wrong without it
5
+ *
6
+ * `top-edge.tsx` and `scroll-offset.ts` are per-SCREEN by design: one registry
7
+ * of what is parked at the top, one scroller that the chrome follows. A modal,
8
+ * a bottom sheet or a detail panel is a second screen drawn over the first, and
9
+ * both contracts reach into it from outside:
10
+ *
11
+ * - A header inside a full-screen dialog CLAIMS the top edge of the screen
12
+ * underneath it. The claim combines with `max`, so the page behind the modal
13
+ * is padded for a header it cannot see — and when the modal closes the claim
14
+ * unregisters, so the padding appears and disappears with the modal.
15
+ * - Chrome inside the sheet READS the page's scroll offset and follows a
16
+ * scroller the user is not touching. The sheet's own list scrolls and the
17
+ * sheet's header does not react; the page behind scrolls and it does.
18
+ *
19
+ * Neither throws, neither warns, and both look like layout decisions.
20
+ *
21
+ * ## What it does
22
+ *
23
+ * Nests a fresh `TopEdgeProvider` (an empty registry the surface's own chrome
24
+ * claims against) and publishes a `null` scroll offset, which is the honest
25
+ * value: nothing inside has said which scroller it owns yet. A scroll owner
26
+ * INSIDE the surface publishes its own offset in the ordinary way and wins,
27
+ * because it is nearer.
28
+ *
29
+ * The BOTTOM edge is scoped too, and for the same reason read from the other
30
+ * side: the bottom edge is the tab bar and the FAB, and a sheet covers both. A
31
+ * form inside a sheet that padded itself for a tab bar it is drawn over ends in
32
+ * a band of empty space.
33
+ *
34
+ * Bloom's own overlay surfaces mount it (`DialogBody`, `BottomSheetBase`), so a
35
+ * consumer gets this by using them. It is exported for a surface Bloom does not
36
+ * own — an app's own full-screen route presented over another.
37
+ */
38
+ import type { PropsWithChildren } from 'react';
39
+ export declare function ScreenScope({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
40
+ //# sourceMappingURL=screen-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen-scope.d.ts","sourceRoot":"","sources":["../../../../src/layout/screen-scope.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAM/C,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAU1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneInput.d.ts","sourceRoot":"","sources":["../../../../src/phone-input/PhoneInput.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,kBAAkB,EAClB,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,IAAe,EACf,SAAS,EACT,QAAQ,EACR,KAAK,EACL,YAAiB,EACjB,YAAY,EACZ,OAAO,EACP,cAAqB,EACrB,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,GACN,EAAE,eAAe,2CA6CjB"}
1
+ {"version":3,"file":"PhoneInput.d.ts","sourceRoot":"","sources":["../../../../src/phone-input/PhoneInput.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,kBAAkB,EAClB,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,KAAK,EACL,YAAiB,EACjB,YAAY,EACZ,OAAO,EACP,cAAqB,EACrB,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,GACN,EAAE,eAAe,2CAwDjB"}
@@ -1,5 +1,5 @@
1
1
  import type { RadioGroupProps, RadioProps } from './types';
2
- declare const RadioComponent: <Value extends string = string>({ value, selected, onSelect, label, description, size, disabled, color, style, labelStyle, accessibilityLabel, testID, }: RadioProps<Value>) => import("react/jsx-runtime").JSX.Element;
2
+ declare const RadioComponent: <Value extends string = string>({ value, selected, onSelect, label, description, size, disabled, color, style, labelStyle, accessibilityLabel, nativeID, testID, }: RadioProps<Value>) => import("react/jsx-runtime").JSX.Element;
3
3
  export declare const Radio: typeof RadioComponent;
4
4
  /**
5
5
  * A set of radios that own one value between them.
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../../src/radio/Radio.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAuE3D,QAAA,MAAM,cAAc,GAAkB,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,0HAalE,UAAU,CAAC,KAAK,CAAC,4CA0EnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAA2B,OAAO,cAAc,CAAC;AAEnE;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,GAAuB,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,sGAY5E,eAAe,CAAC,KAAK,CAAC,4CAwCxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAgC,OAAO,mBAAmB,CAAC"}
1
+ {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../../src/radio/Radio.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAuE3D,QAAA,MAAM,cAAc,GAAkB,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,oIAclE,UAAU,CAAC,KAAK,CAAC,4CAsFnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAA2B,OAAO,cAAc,CAAC;AAEnE;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,GAAuB,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,sGAY5E,eAAe,CAAC,KAAK,CAAC,4CAiDxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAgC,OAAO,mBAAmB,CAAC"}
@@ -28,6 +28,11 @@ export interface RadioProps<Value extends string = string> {
28
28
  style?: StyleProp<ViewStyle>;
29
29
  labelStyle?: StyleProp<TextStyle>;
30
30
  accessibilityLabel?: string;
31
+ /**
32
+ * The control's id. Inside a `Field` the field supplies one, so the label's
33
+ * `htmlFor` points at this control on web.
34
+ */
35
+ nativeID?: string;
31
36
  testID?: string;
32
37
  }
33
38
  /** One option, as data, for {@link RadioGroupProps}. */
@@ -40,10 +45,13 @@ export interface RadioOption<Value extends string = string> {
40
45
  }
41
46
  export interface RadioGroupProps<Value extends string = string> {
42
47
  /**
43
- * The group's accessible name. Required: a `radiogroup` with no name announces
44
- * a list of options and nothing about what is being chosen.
48
+ * The group's accessible name.
49
+ *
50
+ * A `radiogroup` with no name announces a list of options and nothing about
51
+ * what is being chosen, so this or an enclosing `Field`'s label has to supply
52
+ * one.
45
53
  */
46
- label: string;
54
+ label?: string;
47
55
  /** The selected value, or `undefined` for a group with nothing chosen yet. */
48
56
  value: Value | undefined;
49
57
  /** Called with the newly chosen value. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/radio/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACvD,wCAAwC;IACxC,KAAK,EAAE,KAAK,CAAC;IACb,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB;8EAC0E;IAC1E,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wDAAwD;AACxD,MAAM,WAAW,WAAW,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACxD,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAC5D;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,0CAA0C;IAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACtC,6BAA6B;IAC7B,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,4CAA4C;IAC5C,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAC3D,sCAAsC;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/radio/types.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import type { RatingInputProps } from './types';
3
3
  /** `1 star`, `4 stars`. English — `formatStarLabel` replaces it. */
4
4
  export declare function defaultStarLabel(value: number): string;
5
- declare function RatingInputComponent({ value, onChange, max, size, disabled, accessibilityLabel, formatStarLabel, style, testID, }: RatingInputProps): import("react/jsx-runtime").JSX.Element;
5
+ declare function RatingInputComponent({ value, onChange, max, size, disabled: disabledProp, accessibilityLabel, formatStarLabel, style, testID, }: RatingInputProps): import("react/jsx-runtime").JSX.Element;
6
6
  export declare const RatingInput: React.MemoExoticComponent<typeof RatingInputComponent>;
7
7
  export {};
8
8
  //# sourceMappingURL=RatingInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RatingInput.d.ts","sourceRoot":"","sources":["../../../../src/rating/RatingInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAYpE,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,SAAS,CAAC;AA+DjE,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,GAAO,EACP,IAAe,EACf,QAAgB,EAChB,kBAAkB,EAClB,eAAkC,EAClC,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,2CAwHlB;AAED,eAAO,MAAM,WAAW,wDAA6B,CAAC"}
1
+ {"version":3,"file":"RatingInput.d.ts","sourceRoot":"","sources":["../../../../src/rating/RatingInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAYpE,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,SAAS,CAAC;AAgEjE,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,GAAO,EACP,IAAe,EACf,QAAQ,EAAE,YAAoB,EAC9B,kBAAkB,EAClB,eAAkC,EAClC,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,2CA8HlB;AAED,eAAO,MAAM,WAAW,wDAA6B,CAAC"}
@@ -46,10 +46,13 @@ export interface RatingInputProps {
46
46
  disabled?: boolean;
47
47
  /**
48
48
  * The NAME of what is being rated ("Overall rating", "Cleanliness").
49
- * Required: the group draws nothing but stars, so nothing else can tell a
50
- * screen reader which of several ratings this one is.
49
+ *
50
+ * The group draws nothing but stars, so this or an enclosing `Field`'s label
51
+ * is the only thing that can tell a screen reader which of several ratings
52
+ * this one is. With neither it warns once in development
53
+ * (`hooks/use-accessible-name-warning.ts`).
51
54
  */
52
- accessibilityLabel: string;
55
+ accessibilityLabel?: string;
53
56
  /**
54
57
  * Each star's own name, which is English by default (`"1 star"`,
55
58
  * `"4 stars"`). Pass a translated formatter.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/rating/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,8FAA8F;AAC9F,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5C,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,uGAAuG;IACvG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iEAAiE;AACjE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iFAAiF;IACjF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACzD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/rating/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,8FAA8F;AAC9F,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5C,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,uGAAuG;IACvG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iEAAiE;AACjE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iFAAiF;IACjF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACzD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -40,8 +40,13 @@ type SegmentedControlVariant = 'solid' | 'plain';
40
40
  * </SegmentedControl>
41
41
  * ```
42
42
  */
43
- export declare function SegmentedControl<T extends string>({ label, type, size, variant, value, onChange, children, style, accessibilityHint, }: {
44
- label: string;
43
+ export declare function SegmentedControl<T extends string>({ label, type, size, variant, value, onChange, children, style, disabled, accessibilityHint, nativeID, testID, }: {
44
+ /**
45
+ * The control's accessible name — it is a `radiogroup`/`tablist`, and the
46
+ * segment texts name the OPTIONS rather than the choice. Inside a `Field` the
47
+ * field's label supplies it.
48
+ */
49
+ label?: string;
45
50
  type: 'tabs' | 'radio';
46
51
  /** `medium` (default); `small` and `large` step around it. */
47
52
  size?: SegmentedControlSize;
@@ -51,7 +56,18 @@ export declare function SegmentedControl<T extends string>({ label, type, size,
51
56
  onChange: (value: T) => void;
52
57
  children: React.ReactNode;
53
58
  style?: StyleProp<ViewStyle>;
59
+ /**
60
+ * Disables every segment.
61
+ *
62
+ * A CONSTRAINT the group owns: an item combines it with `||`, so a segment
63
+ * cannot re-enable itself, and a `Field disabled` around the control reaches
64
+ * the segments through it.
65
+ */
66
+ disabled?: boolean;
54
67
  accessibilityHint?: string;
68
+ /** The group's id. Supplied by an enclosing `Field` when there is one. */
69
+ nativeID?: string;
70
+ testID?: string;
55
71
  }): import("react/jsx-runtime").JSX.Element;
56
72
  export declare function SegmentedControlItem({ value, style, children, onPress: onPressProp, accessibilityLabel, accessibilityHint, testID, disabled, }: {
57
73
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../../src/segmented-control/SegmentedControl.tsx"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AASrC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,KAAK,oBAAoB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACzD,KAAK,uBAAuB,GAAG,OAAO,GAAG,OAAO,CAAC;AA4FjD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,EACjD,KAAK,EACL,IAAc,EACd,IAAe,EACf,OAAiB,EACjB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,iBAAiB,GAClB,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,kFAAkF;IAClF,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,2CA8EA;AAOD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EAAE,WAAW,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,EACN,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CACvC,2CA4GA;AAED,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAAE,GAAG,IAAI,CACnE,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EACjC,OAAO,GAAG,UAAU,GAAG,SAAS,CACjC,2CAgCA"}
1
+ {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../../src/segmented-control/SegmentedControl.tsx"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAUrC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,KAAK,oBAAoB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACzD,KAAK,uBAAuB,GAAG,OAAO,GAAG,OAAO,CAAC;AA8FjD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,EACjD,KAAK,EACL,IAAc,EACd,IAAe,EACf,OAAiB,EACjB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,MAAM,GACP,EAAE;IACD;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,kFAAkF;IAClF,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,2CA6FA;AAOD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EAAE,WAAW,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,EACN,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CACvC,2CAkHA;AAED,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAAE,GAAG,IAAI,CACnE,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EACjC,OAAO,GAAG,UAAU,GAAG,SAAS,CACjC,2CAgCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/select/Select.tsx"],"names":[],"mappings":"AAwCA,OAAO,EAML,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,WAAW,EAEX,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AA+BjB,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAW,EAAE,EAAE,WAAW,2CAgB5F;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EACV,MAAM,GACP,EAAE,kBAAkB,2CAiDpB;AAMD,wBAAgB,WAAW,CAAC,EAC1B,WAAW,EACX,QAAQ,EAAE,YAAkC,EAC5C,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE,gBAAgB,2CAmClB;AAgBD,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,eAAe,2CAYpD;AAMD,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,KAAK,EACL,cAA0C,EAC1C,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,CAAC,CAAC,2CAyBvB;AAmED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAgB,EAChB,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE,eAAe,2CAiDjB;AAMD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CAwBjF;AAMD,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,aAAyB,EAAE,EAAE,wBAAwB,kDAmBhG;AAMD,wBAAgB,eAAe,4CAO9B;AAuBD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/select/Select.tsx"],"names":[],"mappings":"AAwCA,OAAO,EAML,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,WAAW,EAEX,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAgCjB,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAW,EAAE,EAAE,WAAW,2CAgB5F;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EACV,MAAM,GACP,EAAE,kBAAkB,2CA4DpB;AAMD,wBAAgB,WAAW,CAAC,EAC1B,WAAW,EACX,QAAQ,EAAE,YAAkC,EAC5C,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE,gBAAgB,2CAmClB;AAgBD,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,eAAe,2CAYpD;AAMD,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,KAAK,EACL,cAA0C,EAC1C,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,CAAC,CAAC,2CAyBvB;AAmED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAgB,EAChB,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE,eAAe,2CAiDjB;AAMD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CAwBjF;AAMD,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,aAAyB,EAAE,EAAE,wBAAwB,kDAmBhG;AAMD,wBAAgB,eAAe,4CAO9B;AAuBD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.web.d.ts","sourceRoot":"","sources":["../../../../src/select/Select.web.tsx"],"names":[],"mappings":"AA0CA,OAAO,EAML,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,WAAW,EAEX,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAoGjB,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAW,EAAE,EAAE,WAAW,2CAwB5F;AAMD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EAAE,kBAAkB,EAC9B,MAAM,GACP,EAAE,kBAAkB,2CAiEpB;AAMD,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EAAE,YAAkC,EAC5C,OAAO,EACP,WAAW,EACX,SAAS,EACT,KAAK,GACN,EAAE,gBAAgB,2CAwClB;AAgBD,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,eAAe,2CAgBpD;AAMD,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,KAAK,EACL,UAAU,EACV,KAA0B,EAC1B,cAA0C,EAC1C,SAA6B,EAC7B,KAAK,EACL,SAAS,GACV,EAAE,kBAAkB,CAAC,CAAC,CAAC,2CA+EvB;AAMD,wBAAgB,UAAU,CAAC,EACzB,GAAG,EACH,KAAK,EACL,KAAK,EACL,QAAgB,EAChB,OAAO,EACP,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE,eAAe,2CAoEjB;AAMD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CAuBjF;AAMD,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,aAAyB,EAAE,EAAE,wBAAwB,kDAqBhG;AAMD,wBAAgB,eAAe,4CAM9B;AAgBD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"Select.web.d.ts","sourceRoot":"","sources":["../../../../src/select/Select.web.tsx"],"names":[],"mappings":"AA0CA,OAAO,EAML,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,WAAW,EAEX,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAqGjB,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAW,EAAE,EAAE,WAAW,2CAwB5F;AAMD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EAAE,kBAAkB,EAC9B,MAAM,GACP,EAAE,kBAAkB,2CAyEpB;AAMD,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EAAE,YAAkC,EAC5C,OAAO,EACP,WAAW,EACX,SAAS,EACT,KAAK,GACN,EAAE,gBAAgB,2CAwClB;AAgBD,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,eAAe,2CAgBpD;AAMD,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,KAAK,EACL,UAAU,EACV,KAA0B,EAC1B,cAA0C,EAC1C,SAA6B,EAC7B,KAAK,EACL,SAAS,GACV,EAAE,kBAAkB,CAAC,CAAC,CAAC,2CA+EvB;AAMD,wBAAgB,UAAU,CAAC,EACzB,GAAG,EACH,KAAK,EACL,KAAK,EACL,QAAgB,EAChB,OAAO,EACP,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE,eAAe,2CAoEjB;AAMD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CAuBjF;AAMD,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,aAAyB,EAAE,EAAE,wBAAwB,kDAqBhG;AAMD,wBAAgB,eAAe,4CAM9B;AAgBD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -22,7 +22,14 @@ export type SelectTriggerProps = {
22
22
  */
23
23
  asChild?: boolean;
24
24
  disabled?: boolean;
25
- label: string;
25
+ /**
26
+ * The trigger's accessible name.
27
+ *
28
+ * The trigger draws the chosen value, which is not a name — "Medium" says
29
+ * nothing about what is medium. Inside a `Field` the field's label supplies
30
+ * it; with neither the trigger announces nothing.
31
+ */
32
+ label?: string;
26
33
  /**
27
34
  * Utility classes APPENDED to the part's own — never substituted for them, so
28
35
  * a single layout class cannot strip the chrome.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/select/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/select/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,KAAK,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE7D,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IAC/C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IAClC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB,oEAAoE;IACpE,UAAU,EAAE,CACV,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,KAC1B,KAAK,CAAC,YAAY,CAAC;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../../src/slider/Slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAuB5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA6oB7D,eAAO,MAAM,MAAM,+PAhChB,WAAW,6CAgC6B,CAAC;AAsD5C,eAAO,MAAM,WAAW,4QA/BrB,gBAAgB,6CA+BkC,CAAC"}
1
+ {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../../src/slider/Slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAuB5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAupB7D,eAAO,MAAM,MAAM,+PAhChB,WAAW,6CAgC6B,CAAC;AAsD5C,eAAO,MAAM,WAAW,4QA/BrB,gBAAgB,6CA+BkC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { StepperProps } from './types';
3
- declare function StepperComponent({ value, onValueChange, min, max, step, disabled, size, formatValue, accessibilityLabel, decrementLabel, incrementLabel, style, testID, }: StepperProps): import("react/jsx-runtime").JSX.Element;
3
+ declare function StepperComponent({ value, onValueChange, min, max, step, disabled: disabledProp, size, formatValue, accessibilityLabel, decrementLabel, incrementLabel, style, testID, }: StepperProps): import("react/jsx-runtime").JSX.Element;
4
4
  export declare const Stepper: React.MemoExoticComponent<typeof StepperComponent>;
5
5
  export {};
6
6
  //# sourceMappingURL=Stepper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.d.ts","sourceRoot":"","sources":["../../../../src/stepper/Stepper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAe1D,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,SAAS,CAAC;AA0DzD,iBAAS,gBAAgB,CAAC,EACxB,KAAK,EACL,aAAa,EACb,GAAO,EACP,GAAG,EACH,IAAQ,EACR,QAAgB,EAChB,IAAe,EACf,WAAW,EACX,kBAAkB,EAClB,cAA2B,EAC3B,cAA2B,EAC3B,KAAK,EACL,MAAM,GACP,EAAE,YAAY,2CAwId;AAED,eAAO,MAAM,OAAO,oDAAyB,CAAC"}
1
+ {"version":3,"file":"Stepper.d.ts","sourceRoot":"","sources":["../../../../src/stepper/Stepper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAe1D,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,SAAS,CAAC;AA2DzD,iBAAS,gBAAgB,CAAC,EACxB,KAAK,EACL,aAAa,EACb,GAAO,EACP,GAAG,EACH,IAAQ,EACR,QAAQ,EAAE,YAAoB,EAC9B,IAAe,EACf,WAAW,EACX,kBAAkB,EAClB,cAA2B,EAC3B,cAA2B,EAC3B,KAAK,EACL,MAAM,GACP,EAAE,YAAY,2CA+Id;AAED,eAAO,MAAM,OAAO,oDAAyB,CAAC"}
@@ -24,7 +24,14 @@ export interface StepperProps {
24
24
  * number and two glyphs, so nothing else can tell a screen reader which of
25
25
  * several counters this is.
26
26
  */
27
- accessibilityLabel: string;
27
+ /**
28
+ * The control's accessible name.
29
+ *
30
+ * Optional only because an enclosing `Field`'s label can supply it — with
31
+ * neither, the control announces nothing and warns once in development
32
+ * (`hooks/use-accessible-name-warning.ts`).
33
+ */
34
+ accessibilityLabel?: string;
28
35
  /** Name of the `−` button. Default `"Decrease"`. */
29
36
  decrementLabel?: string;
30
37
  /** Name of the `+` button. Default `"Increase"`. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/stepper/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,qGAAqG;AACrG,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wBAAwB;IACxB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,wFAAwF;IACxF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,YAAY,EAAE,oBAAoB,GAAG,OAAO,CAAC;IACzF,0FAA0F;IAC1F,KAAK,EAAE,SAAS,CAAC;IACjB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,2CAA2C;IAC3C,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACrC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/stepper/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,qGAAqG;AACrG,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wBAAwB;IACxB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,wFAAwF;IACxF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC;;;;OAIG;IACH;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,YAAY,EAAE,oBAAoB,GAAG,OAAO,CAAC;IACzF,0FAA0F;IAC1F,KAAK,EAAE,SAAS,CAAC;IACjB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,2CAA2C;IAC3C,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACrC"}
@@ -59,6 +59,22 @@ export interface WebAriaProps {
59
59
  * currently needs; the union is the ARIA one, narrowed to what is spellable.
60
60
  */
61
61
  'aria-haspopup'?: 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
62
+ /**
63
+ * The id list of the elements that DESCRIBE this control — a field's hint or
64
+ * its error message (`field/context.ts`).
65
+ *
66
+ * Here for the same reason as `aria-haspopup`: React Native types no such prop
67
+ * (there is no `accessibilityState` entry for it to fold into) while
68
+ * react-native-web forwards it, so web gets the association and native is
69
+ * unaffected. A control that needs the description READ on native carries it
70
+ * in its accessible name instead.
71
+ */
72
+ 'aria-describedby'?: string;
73
+ /**
74
+ * Whether the control's current value is invalid. Same platform split as
75
+ * `aria-describedby`.
76
+ */
77
+ 'aria-invalid'?: boolean;
62
78
  }
63
79
  /**
64
80
  * `ref` is on the PUBLISHED type and deliberately not on the one handed to
@@ -1 +1 @@
1
- {"version":3,"file":"styled-primitives.d.ts","sourceRoot":"","sources":["../../../../src/styles/styled-primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EACL,KAAK,EAEL,IAAI,EACJ,IAAI,EACJ,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB;;;;;;GAMG;AACH,KAAK,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;IACzD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;CACnE;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GACpD,YAAY,GAAG;IACb,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACjB,CAAC;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,SAAS,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;CAAE,CAEpE,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,SAAS,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;CAAE,CAEpE,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,UAAU,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;CAAE,CAEvE,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,oBAAoB,CAG/D,CAAC"}
1
+ {"version":3,"file":"styled-primitives.d.ts","sourceRoot":"","sources":["../../../../src/styles/styled-primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EACL,KAAK,EAEL,IAAI,EACJ,IAAI,EACJ,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB;;;;;;GAMG;AACH,KAAK,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;IACzD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClE;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GACpD,YAAY,GAAG;IACb,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACjB,CAAC;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,SAAS,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;CAAE,CAEpE,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,SAAS,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;CAAE,CAEpE,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,UAAU,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;CAAE,CAEvE,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,oBAAoB,CAG/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAOzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAkI3C,eAAO,MAAM,MAAM,4FAAwB,CAAC"}
1
+ {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAQzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA8I3C,eAAO,MAAM,MAAM,4FAAwB,CAAC"}
@@ -25,8 +25,15 @@ export interface SwitchProps {
25
25
  * are not the same rule.)
26
26
  *
27
27
  * Omitting it warns once in development; see `use-accessible-name-warning`.
28
+ * Inside a `Field` the field's label supplies the name, so a switch in a
29
+ * labelled field needs nothing here and does not warn.
28
30
  */
29
31
  accessibilityLabel?: string;
32
+ /**
33
+ * The switch's id. Inside a `Field` the field supplies one, so the label's
34
+ * `htmlFor` points at the control on web.
35
+ */
36
+ nativeID?: string;
30
37
  testID?: string;
31
38
  }
32
39
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/switch/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,2BAA2B;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,mBAAmB;IACnB,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/switch/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,2BAA2B;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,mBAAmB;IACnB,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../src/text-field/TextField.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAQxB,MAAM,cAAc,CAAC;AAOtB,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAmBL,KAAK,aAAa,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACf,MAAM,SAAS,CAAC;AAkCjB;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,eAAO,MAAM,qBAAqB,4DAAyD,CAAC;AAiD5F,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,SAAS,EAAE,aAAqB,EAChC,QAAQ,EAAE,YAAoB,EAC9B,IAAI,EAAE,QAAmB,EACzB,MAA0B,EAC1B,YAAY,EACZ,KAAK,GACN,EAAE,cAAc,2CA6EhB;AAsFD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,aAAqB,EACrB,GAAG,IAAI,EACR,EAAE,mBAAmB,2CA8LrB;AAmKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,QAAgB,EAChB,OAAe,EACf,KAAK,GACN,EAAE,mBAAmB,2CA6BrB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAiB,EACjB,QAAQ,EACR,KAAK,GACN,EAAE,kBAAkB,2CAkBpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAoB,EAAE,EAAE,kBAAkB,2CA4BrF;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,iBAAiB,EACjB,KAAK,GACN,EAAE,KAAK,CAAC,iBAAiB,CACxB,aAAa,GAAG;IACd,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;CAC7D,CACF,2CAyBA;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,2CAqCA"}
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../src/text-field/TextField.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAQxB,MAAM,cAAc,CAAC;AAOtB,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAmBL,KAAK,aAAa,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACf,MAAM,SAAS,CAAC;AAoCjB;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,eAAO,MAAM,qBAAqB,4DAAyD,CAAC;AAiD5F,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,SAAS,EAAE,aAAqB,EAChC,QAAQ,EAAE,YAAoB,EAC9B,IAAI,EAAE,QAAQ,EACd,MAA0B,EAC1B,YAAY,EACZ,KAAK,GACN,EAAE,cAAc,2CAuFhB;AAsFD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,aAAqB,EACrB,GAAG,IAAI,EACR,EAAE,mBAAmB,2CA8LrB;AAmKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,QAAgB,EAChB,OAAe,EACf,KAAK,GACN,EAAE,mBAAmB,2CA6BrB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAiB,EACjB,QAAQ,EACR,KAAK,GACN,EAAE,kBAAkB,2CAkBpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAoB,EAAE,EAAE,kBAAkB,2CA4BrF;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,iBAAiB,EACjB,KAAK,GACN,EAAE,KAAK,CAAC,iBAAiB,CACxB,aAAa,GAAG;IACd,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;CAC7D,CACF,2CAyBA;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,2CAqCA"}
@@ -16,5 +16,5 @@ import type { TextareaProps } from './types';
16
16
  * `maxHeight`; on web the same is `field-sizing: content`, which shrinks back
17
17
  * as well as growing (browsers without it keep the `rows` height and scroll).
18
18
  */
19
- export declare function Textarea({ label, hint, placeholder, value, defaultValue, onChangeText, onFocus, onBlur, size, rows, autoResize, maxRows, resize, maxLength, showCount, isInvalid, disabled, required, tooltip, style, inputStyle, inputRef, accessibilityLabel, testID, ...rest }: TextareaProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function Textarea({ label, hint, placeholder, value, defaultValue, onChangeText, onFocus, onBlur, size: sizeProp, rows, autoResize, maxRows, resize, maxLength, showCount, isInvalid, disabled, required, tooltip, style, inputStyle, inputRef, accessibilityLabel, nativeID, testID, ...rest }: TextareaProps): import("react/jsx-runtime").JSX.Element;
20
20
  //# sourceMappingURL=Textarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/textarea/Textarea.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,EACJ,WAAW,EACX,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,MAAM,EACN,IAAe,EACf,IAAQ,EACR,UAAkB,EAClB,OAAO,EACP,MAAmB,EACnB,SAAS,EACT,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,KAAK,EACL,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,MAAM,EACN,GAAG,IAAI,EACR,EAAE,aAAa,2CA8If"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/textarea/Textarea.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,EACJ,WAAW,EACX,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,MAAM,EACN,IAAI,EAAE,QAAQ,EACd,IAAQ,EACR,UAAkB,EAClB,OAAO,EACP,MAAmB,EACnB,SAAS,EACT,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,KAAK,EACL,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,QAAQ,EACR,MAAM,EACN,GAAG,IAAI,EACR,EAAE,aAAa,2CAkKf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxy.so/bloom",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "packageManager": "bun@1.3.14",
5
5
  "description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
6
6
  "main": "lib/commonjs/index.js",
@@ -2623,6 +2623,7 @@
2623
2623
  "generate:theme-css": "bun scripts/generate-theme-css.ts",
2624
2624
  "generate:theme-golden": "bun scripts/generate-theme-golden.ts",
2625
2625
  "generate:tokens-json": "bun scripts/generate-design-tokens-json.ts",
2626
+ "generate:adoption-matrix": "bun scripts/generate-adoption-matrix.ts",
2626
2627
  "prebuild": "node scripts/generate-platform-exports.mjs && bun scripts/generate-theme-css.ts && bun scripts/generate-design-tokens-json.ts",
2627
2628
  "build": "bob build",
2628
2629
  "postbuild": "node scripts/verify-package.mjs && node scripts/verify-build-freshness.mjs --worktree",
@@ -14,6 +14,7 @@ import { Gesture, GestureDetector, type GestureType } from 'react-native-gesture
14
14
  import { adoptStyleSheet, dropStyleSheet } from '../styles/adopt-style-sheet';
15
15
  import type { WebCssStyle } from '../styles/web-view-style';
16
16
  import { SurfaceLevelProvider, surfaceFillVars } from '../styles/surface-levels';
17
+ import { ScreenScope } from '../layout';
17
18
  import { Z_INDEX } from '../styles/z-index';
18
19
  import Animated, {
19
20
  type AnimatedStyle,
@@ -650,9 +651,13 @@ export const BottomSheetBase = forwardRef((props: BottomSheetBaseProps, ref: Rea
650
651
  // — web keeps React context across a portal — would tell its content it is
651
652
  // sitting on the panel's card, and in-sheet chrome would paint the column's
652
653
  // colour on top of the sheet's.
654
+ // ...and it is its own SCREEN for the same reason: a header inside the sheet
655
+ // must claim the sheet's top edge rather than the page's, and chrome inside
656
+ // it must follow the sheet's scroller rather than `window.scrollY`
657
+ // (`layout/screen-scope.tsx`).
653
658
  const surfaceChildren = (
654
659
  <SurfaceLevelProvider level={0} fill={colors.background}>
655
- {children}
660
+ <ScreenScope>{children}</ScreenScope>
656
661
  </SurfaceLevelProvider>
657
662
  );
658
663
 
@@ -14,6 +14,7 @@ import {
14
14
  checkboxLabelLineHeight,
15
15
  resolveCheckboxPaint,
16
16
  } from './shared';
17
+ import { useFieldMembership } from '../field/membership';
17
18
  import type { CheckboxProps } from './types';
18
19
 
19
20
  /**
@@ -89,9 +90,21 @@ const CheckboxComponent: React.FC<CheckboxProps> = ({
89
90
  style,
90
91
  labelStyle,
91
92
  accessibilityLabel,
93
+ nativeID,
92
94
  testID,
93
95
  }) => {
94
96
  const theme = useTheme();
97
+ // The label is ADJACENT — the words beside the box ARE the control, so they
98
+ // name it and a `Field` around it only supplies what is missing. `disabled`
99
+ // is the other direction: the field's constrains, so it is OR-ed in.
100
+ const field = useFieldMembership({
101
+ accessibilityLabel,
102
+ label,
103
+ labelPlacement: 'adjacent',
104
+ disabled,
105
+ nativeID,
106
+ });
107
+ const isDisabled = field.disabled;
95
108
  useInteractiveWebCss(STYLE_ID, BLOOM_CHECKBOX_CSS);
96
109
  useInteractiveWebCss(CHECKBOX_GLYPH_STYLE_ID, CHECKBOX_GLYPH_CSS);
97
110
  const { state: hovered, onIn: onHoverIn, onOut: onHoverOut } = useInteractionState();
@@ -100,13 +113,13 @@ const CheckboxComponent: React.FC<CheckboxProps> = ({
100
113
  const { state: pressed, onIn: onPressIn, onOut: onPressOut } = useInteractionState();
101
114
  const sizeConfig = CHECKBOX_SIZE_CONFIG[size];
102
115
  const paint = useMemo(() => resolveCheckboxPaint(theme, color), [theme, color]);
103
- const highlighted = !disabled && (hovered || pressed);
116
+ const highlighted = !isDisabled && (hovered || pressed);
104
117
 
105
118
  const handlePress = useCallback(() => {
106
- if (!disabled) {
119
+ if (!isDisabled) {
107
120
  onCheckedChange(!checked);
108
121
  }
109
- }, [checked, disabled, onCheckedChange]);
122
+ }, [checked, isDisabled, onCheckedChange]);
110
123
 
111
124
  const hasText = Boolean(label || description);
112
125
 
@@ -135,11 +148,14 @@ const CheckboxComponent: React.FC<CheckboxProps> = ({
135
148
  : {})}
136
149
  style={[rowStyle, style]}
137
150
  onPress={handlePress}
138
- onPressIn={disabled ? undefined : onPressIn}
139
- onPressOut={disabled ? undefined : onPressOut}
151
+ onPressIn={isDisabled ? undefined : onPressIn}
152
+ onPressOut={isDisabled ? undefined : onPressOut}
140
153
  onHoverIn={onHoverIn}
141
154
  onHoverOut={onHoverOut}
142
- disabled={disabled}
155
+ disabled={isDisabled}
156
+ nativeID={field.nativeID}
157
+ aria-describedby={field.describedBy}
158
+ aria-invalid={field.invalid || undefined}
143
159
  accessibilityRole="checkbox"
144
160
  // `aria-checked`, not `accessibilityState`: react-native-web's
145
161
  // `createDOMProps` never reads `accessibilityState`, so a checkbox that
@@ -149,7 +165,7 @@ const CheckboxComponent: React.FC<CheckboxProps> = ({
149
165
  // this one prop is the spelling both platforms honour. `disabled`
150
166
  // travels on the `disabled` prop above, which both platforms map.
151
167
  aria-checked={indeterminate ? 'mixed' : checked}
152
- accessibilityLabel={accessibilityLabel ?? label}
168
+ accessibilityLabel={field.accessibilityLabel}
153
169
  hitSlop={{ top: slop, bottom: slop, left: slop, right: slop }}
154
170
  testID={testID}
155
171
  >
@@ -157,7 +173,7 @@ const CheckboxComponent: React.FC<CheckboxProps> = ({
157
173
  size={size}
158
174
  checked={checked}
159
175
  indeterminate={indeterminate}
160
- disabled={disabled}
176
+ disabled={isDisabled}
161
177
  highlighted={highlighted}
162
178
  paint={paint}
163
179
  // Centre the box on the label's first line box.
@@ -22,6 +22,11 @@ export interface CheckboxProps {
22
22
  style?: StyleProp<ViewStyle>;
23
23
  labelStyle?: StyleProp<TextStyle>;
24
24
  accessibilityLabel?: string;
25
+ /**
26
+ * The control's id. Inside a `Field` the field supplies one, so the label's
27
+ * `htmlFor` points at this control on web.
28
+ */
29
+ nativeID?: string;
25
30
  testID?: string;
26
31
  }
27
32