@oxy.so/bloom 3.0.1 → 3.2.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/README.md +2 -0
  2. package/docs/adoption-matrix.mdx +266 -0
  3. package/docs/checkbox.mdx +16 -0
  4. package/docs/composition.mdx +88 -16
  5. package/docs/date-picker.mdx +11 -0
  6. package/docs/field.mdx +35 -4
  7. package/docs/file-upload.mdx +13 -0
  8. package/docs/icons.mdx +58 -3
  9. package/docs/input-group.mdx +22 -0
  10. package/docs/input-otp.mdx +14 -0
  11. package/docs/layout.mdx +34 -0
  12. package/docs/migrating-to-3.0.mdx +43 -4
  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 +521 -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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxy.so/bloom",
3
- "version": "3.0.1",
3
+ "version": "3.2.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",
@@ -1012,6 +1012,20 @@
1012
1012
  "default": "./lib/commonjs/icons/index.js"
1013
1013
  }
1014
1014
  },
1015
+ "./icons/Ri*": {
1016
+ "react-native": {
1017
+ "types": "./lib/typescript/module/icons/remix/Ri*.d.ts",
1018
+ "default": "./src/icons/remix/Ri*.tsx"
1019
+ },
1020
+ "import": {
1021
+ "types": "./lib/typescript/module/icons/remix/Ri*.d.ts",
1022
+ "default": "./lib/module/icons/remix/Ri*.js"
1023
+ },
1024
+ "require": {
1025
+ "types": "./lib/typescript/commonjs/icons/remix/Ri*.d.ts",
1026
+ "default": "./lib/commonjs/icons/remix/Ri*.js"
1027
+ }
1028
+ },
1015
1029
  "./typography": {
1016
1030
  "react-native": {
1017
1031
  "types": "./lib/typescript/module/typography/index.d.ts",
@@ -2623,6 +2637,7 @@
2623
2637
  "generate:theme-css": "bun scripts/generate-theme-css.ts",
2624
2638
  "generate:theme-golden": "bun scripts/generate-theme-golden.ts",
2625
2639
  "generate:tokens-json": "bun scripts/generate-design-tokens-json.ts",
2640
+ "generate:adoption-matrix": "bun scripts/generate-adoption-matrix.ts",
2626
2641
  "prebuild": "node scripts/generate-platform-exports.mjs && bun scripts/generate-theme-css.ts && bun scripts/generate-design-tokens-json.ts",
2627
2642
  "build": "bob build",
2628
2643
  "postbuild": "node scripts/verify-package.mjs && node scripts/verify-build-freshness.mjs --worktree",
@@ -2782,5 +2797,510 @@
2782
2797
  "defu": "6.1.7",
2783
2798
  "handlebars": "4.7.9",
2784
2799
  "lodash": "4.18.1"
2800
+ },
2801
+ "typesVersions": {
2802
+ "*": {
2803
+ "provider": [
2804
+ "./lib/typescript/module/provider/index.d.ts"
2805
+ ],
2806
+ "surfaces": [
2807
+ "./lib/typescript/module/surfaces/index.d.ts"
2808
+ ],
2809
+ "image-resolver": [
2810
+ "./lib/typescript/module/image-resolver/index.d.ts"
2811
+ ],
2812
+ "image-aspect-ratio-cache": [
2813
+ "./lib/typescript/module/image-aspect-ratio-cache/index.d.ts"
2814
+ ],
2815
+ "theme": [
2816
+ "./lib/typescript/module/theme/index.d.ts"
2817
+ ],
2818
+ "color-presets": [
2819
+ "./lib/typescript/module/theme/color-presets.d.ts"
2820
+ ],
2821
+ "preset-vars": [
2822
+ "./lib/typescript/module/theme/preset-vars.d.ts"
2823
+ ],
2824
+ "design-tokens": [
2825
+ "./lib/typescript/module/design-tokens/index.d.ts"
2826
+ ],
2827
+ "tailwind-preset": [
2828
+ "./lib/typescript/module/design-tokens/tailwind-preset.d.ts"
2829
+ ],
2830
+ "portal": [
2831
+ "./lib/typescript/module/portal/index.d.ts"
2832
+ ],
2833
+ "connection-status": [
2834
+ "./lib/typescript/module/connection-status/index.d.ts"
2835
+ ],
2836
+ "overlay": [
2837
+ "./lib/typescript/module/overlay/index.d.ts"
2838
+ ],
2839
+ "dialog": [
2840
+ "./lib/typescript/module/dialog/index.d.ts"
2841
+ ],
2842
+ "button": [
2843
+ "./lib/typescript/module/button/index.d.ts"
2844
+ ],
2845
+ "button-group": [
2846
+ "./lib/typescript/module/button-group/index.d.ts"
2847
+ ],
2848
+ "control-surface": [
2849
+ "./lib/typescript/module/control-surface/index.d.ts"
2850
+ ],
2851
+ "layout": [
2852
+ "./lib/typescript/module/layout/index.d.ts"
2853
+ ],
2854
+ "fab": [
2855
+ "./lib/typescript/module/fab/index.d.ts"
2856
+ ],
2857
+ "frosted-icon-button": [
2858
+ "./lib/typescript/module/frosted-icon-button/index.d.ts"
2859
+ ],
2860
+ "divider": [
2861
+ "./lib/typescript/module/divider/index.d.ts"
2862
+ ],
2863
+ "breadcrumb": [
2864
+ "./lib/typescript/module/breadcrumb/index.d.ts"
2865
+ ],
2866
+ "pagination": [
2867
+ "./lib/typescript/module/pagination/index.d.ts"
2868
+ ],
2869
+ "agent-limits-card": [
2870
+ "./lib/typescript/module/agent-limits-card/index.d.ts"
2871
+ ],
2872
+ "carousel": [
2873
+ "./lib/typescript/module/carousel/index.d.ts"
2874
+ ],
2875
+ "file-upload": [
2876
+ "./lib/typescript/module/file-upload/index.d.ts"
2877
+ ],
2878
+ "social-button": [
2879
+ "./lib/typescript/module/social-button/index.d.ts"
2880
+ ],
2881
+ "notification": [
2882
+ "./lib/typescript/module/notification/index.d.ts"
2883
+ ],
2884
+ "announcement": [
2885
+ "./lib/typescript/module/announcement/index.d.ts"
2886
+ ],
2887
+ "data-table": [
2888
+ "./lib/typescript/module/data-table/index.d.ts"
2889
+ ],
2890
+ "chart-cards": [
2891
+ "./lib/typescript/module/chart-cards/index.d.ts"
2892
+ ],
2893
+ "calendar": [
2894
+ "./lib/typescript/module/calendar/index.d.ts"
2895
+ ],
2896
+ "stat-cards": [
2897
+ "./lib/typescript/module/stat-cards/index.d.ts"
2898
+ ],
2899
+ "recent-hires-card": [
2900
+ "./lib/typescript/module/recent-hires-card/index.d.ts"
2901
+ ],
2902
+ "ai-profile-card": [
2903
+ "./lib/typescript/module/ai-profile-card/index.d.ts"
2904
+ ],
2905
+ "important-alerts-card": [
2906
+ "./lib/typescript/module/important-alerts-card/index.d.ts"
2907
+ ],
2908
+ "patient-info-card": [
2909
+ "./lib/typescript/module/patient-info-card/index.d.ts"
2910
+ ],
2911
+ "sidebar": [
2912
+ "./lib/typescript/module/sidebar/index.d.ts"
2913
+ ],
2914
+ "app-shell": [
2915
+ "./lib/typescript/module/app-shell/index.d.ts"
2916
+ ],
2917
+ "page-header": [
2918
+ "./lib/typescript/module/page-header/index.d.ts"
2919
+ ],
2920
+ "notification-center": [
2921
+ "./lib/typescript/module/notification-center/index.d.ts"
2922
+ ],
2923
+ "theme-toggle": [
2924
+ "./lib/typescript/module/theme-toggle/index.d.ts"
2925
+ ],
2926
+ "settings-modal": [
2927
+ "./lib/typescript/module/settings-modal/index.d.ts"
2928
+ ],
2929
+ "auth-card": [
2930
+ "./lib/typescript/module/auth-card/index.d.ts"
2931
+ ],
2932
+ "agent-thinking": [
2933
+ "./lib/typescript/module/agent-thinking/index.d.ts"
2934
+ ],
2935
+ "agent-log": [
2936
+ "./lib/typescript/module/agent-log/index.d.ts"
2937
+ ],
2938
+ "agent-progress": [
2939
+ "./lib/typescript/module/agent-progress/index.d.ts"
2940
+ ],
2941
+ "composer-loader": [
2942
+ "./lib/typescript/module/composer-loader/index.d.ts"
2943
+ ],
2944
+ "composer-panel": [
2945
+ "./lib/typescript/module/composer-panel/index.d.ts"
2946
+ ],
2947
+ "questionnaire": [
2948
+ "./lib/typescript/module/questionnaire/index.d.ts"
2949
+ ],
2950
+ "web-search": [
2951
+ "./lib/typescript/module/web-search/index.d.ts"
2952
+ ],
2953
+ "task-list": [
2954
+ "./lib/typescript/module/task-list/index.d.ts"
2955
+ ],
2956
+ "agent-chat": [
2957
+ "./lib/typescript/module/agent-chat/index.d.ts"
2958
+ ],
2959
+ "ai-chat": [
2960
+ "./lib/typescript/module/ai-chat/index.d.ts"
2961
+ ],
2962
+ "radio-indicator": [
2963
+ "./lib/typescript/module/radio-indicator/index.d.ts"
2964
+ ],
2965
+ "radio": [
2966
+ "./lib/typescript/module/radio/index.d.ts"
2967
+ ],
2968
+ "error-boundary": [
2969
+ "./lib/typescript/module/error-boundary/index.d.ts"
2970
+ ],
2971
+ "avatar": [
2972
+ "./lib/typescript/module/avatar/index.d.ts"
2973
+ ],
2974
+ "avatar-group": [
2975
+ "./lib/typescript/module/avatar-group/index.d.ts"
2976
+ ],
2977
+ "user-hover-card": [
2978
+ "./lib/typescript/module/user-hover-card/index.d.ts"
2979
+ ],
2980
+ "loading": [
2981
+ "./lib/typescript/module/loading/index.d.ts"
2982
+ ],
2983
+ "switch": [
2984
+ "./lib/typescript/module/switch/index.d.ts"
2985
+ ],
2986
+ "toast": [
2987
+ "./lib/typescript/module/toast/index.d.ts"
2988
+ ],
2989
+ "styles": [
2990
+ "./lib/typescript/module/styles/index.d.ts"
2991
+ ],
2992
+ "hooks": [
2993
+ "./lib/typescript/module/hooks/index.d.ts"
2994
+ ],
2995
+ "icons": [
2996
+ "./lib/typescript/module/icons/index.d.ts"
2997
+ ],
2998
+ "icons/Ri*": [
2999
+ "./lib/typescript/module/icons/remix/Ri*.d.ts"
3000
+ ],
3001
+ "typography": [
3002
+ "./lib/typescript/module/typography/index.d.ts"
3003
+ ],
3004
+ "skeleton": [
3005
+ "./lib/typescript/module/skeleton/index.d.ts"
3006
+ ],
3007
+ "grid": [
3008
+ "./lib/typescript/module/grid/index.d.ts"
3009
+ ],
3010
+ "fill": [
3011
+ "./lib/typescript/module/fill/index.d.ts"
3012
+ ],
3013
+ "media-inset-border": [
3014
+ "./lib/typescript/module/media-inset-border/index.d.ts"
3015
+ ],
3016
+ "zoomable-media-gallery": [
3017
+ "./lib/typescript/module/zoomable-media-gallery/index.d.ts"
3018
+ ],
3019
+ "zoomable-image-gallery": [
3020
+ "./lib/typescript/module/zoomable-media-gallery/index.d.ts"
3021
+ ],
3022
+ "media-flight": [
3023
+ "./lib/typescript/module/media-flight/index.d.ts"
3024
+ ],
3025
+ "teleport": [
3026
+ "./lib/typescript/module/teleport/index.d.ts"
3027
+ ],
3028
+ "pressable-scale": [
3029
+ "./lib/typescript/module/pressable-scale/index.d.ts"
3030
+ ],
3031
+ "subtle-hover": [
3032
+ "./lib/typescript/module/subtle-hover/index.d.ts"
3033
+ ],
3034
+ "motion": [
3035
+ "./lib/typescript/module/motion/index.d.ts"
3036
+ ],
3037
+ "animated-check": [
3038
+ "./lib/typescript/module/animated-check/index.d.ts"
3039
+ ],
3040
+ "icon-circle": [
3041
+ "./lib/typescript/module/icon-circle/index.d.ts"
3042
+ ],
3043
+ "connection-dots": [
3044
+ "./lib/typescript/module/connection-dots/index.d.ts"
3045
+ ],
3046
+ "composition-bar": [
3047
+ "./lib/typescript/module/composition-bar/index.d.ts"
3048
+ ],
3049
+ "dot-grid-meter": [
3050
+ "./lib/typescript/module/dot-grid-meter/index.d.ts"
3051
+ ],
3052
+ "stat-bar": [
3053
+ "./lib/typescript/module/stat-bar/index.d.ts"
3054
+ ],
3055
+ "activity-heatmap": [
3056
+ "./lib/typescript/module/activity-heatmap/index.d.ts"
3057
+ ],
3058
+ "text-field": [
3059
+ "./lib/typescript/module/text-field/index.d.ts"
3060
+ ],
3061
+ "segmented-control": [
3062
+ "./lib/typescript/module/segmented-control/index.d.ts"
3063
+ ],
3064
+ "textarea": [
3065
+ "./lib/typescript/module/textarea/index.d.ts"
3066
+ ],
3067
+ "input-otp": [
3068
+ "./lib/typescript/module/input-otp/index.d.ts"
3069
+ ],
3070
+ "phone-input": [
3071
+ "./lib/typescript/module/phone-input/index.d.ts"
3072
+ ],
3073
+ "table": [
3074
+ "./lib/typescript/module/table/index.d.ts"
3075
+ ],
3076
+ "date-picker": [
3077
+ "./lib/typescript/module/date-picker/index.d.ts"
3078
+ ],
3079
+ "search": [
3080
+ "./lib/typescript/module/search/index.d.ts"
3081
+ ],
3082
+ "admonition": [
3083
+ "./lib/typescript/module/admonition/index.d.ts"
3084
+ ],
3085
+ "dropdown-menu": [
3086
+ "./lib/typescript/module/dropdown-menu/index.d.ts"
3087
+ ],
3088
+ "tooltip": [
3089
+ "./lib/typescript/module/tooltip/index.d.ts"
3090
+ ],
3091
+ "select": [
3092
+ "./lib/typescript/module/select/index.d.ts"
3093
+ ],
3094
+ "bottom-sheet": [
3095
+ "./lib/typescript/module/bottom-sheet/index.d.ts"
3096
+ ],
3097
+ "context-menu": [
3098
+ "./lib/typescript/module/context-menu/index.d.ts"
3099
+ ],
3100
+ "menubar": [
3101
+ "./lib/typescript/module/menubar/index.d.ts"
3102
+ ],
3103
+ "popover": [
3104
+ "./lib/typescript/module/popover/index.d.ts"
3105
+ ],
3106
+ "hover-card": [
3107
+ "./lib/typescript/module/hover-card/index.d.ts"
3108
+ ],
3109
+ "aspect-ratio": [
3110
+ "./lib/typescript/module/aspect-ratio/index.d.ts"
3111
+ ],
3112
+ "alert-dialog": [
3113
+ "./lib/typescript/module/alert-dialog/index.d.ts"
3114
+ ],
3115
+ "command": [
3116
+ "./lib/typescript/module/command/index.d.ts"
3117
+ ],
3118
+ "label": [
3119
+ "./lib/typescript/module/label/index.d.ts"
3120
+ ],
3121
+ "kbd": [
3122
+ "./lib/typescript/module/kbd/index.d.ts"
3123
+ ],
3124
+ "item": [
3125
+ "./lib/typescript/module/item/index.d.ts"
3126
+ ],
3127
+ "field": [
3128
+ "./lib/typescript/module/field/index.d.ts"
3129
+ ],
3130
+ "input-group": [
3131
+ "./lib/typescript/module/input-group/index.d.ts"
3132
+ ],
3133
+ "slider": [
3134
+ "./lib/typescript/module/slider/index.d.ts"
3135
+ ],
3136
+ "stepper": [
3137
+ "./lib/typescript/module/stepper/index.d.ts"
3138
+ ],
3139
+ "rating": [
3140
+ "./lib/typescript/module/rating/index.d.ts"
3141
+ ],
3142
+ "media-controls": [
3143
+ "./lib/typescript/module/media-controls/index.d.ts"
3144
+ ],
3145
+ "chat-indicators": [
3146
+ "./lib/typescript/module/chat-indicators/index.d.ts"
3147
+ ],
3148
+ "call-ui": [
3149
+ "./lib/typescript/module/call-ui/index.d.ts"
3150
+ ],
3151
+ "chat-people": [
3152
+ "./lib/typescript/module/chat-people/index.d.ts"
3153
+ ],
3154
+ "chat-screen": [
3155
+ "./lib/typescript/module/chat-screen/index.d.ts"
3156
+ ],
3157
+ "chat-composer": [
3158
+ "./lib/typescript/module/chat-composer/index.d.ts"
3159
+ ],
3160
+ "message-media": [
3161
+ "./lib/typescript/module/message-media/index.d.ts"
3162
+ ],
3163
+ "message-bubble": [
3164
+ "./lib/typescript/module/message-bubble/index.d.ts"
3165
+ ],
3166
+ "chat-list": [
3167
+ "./lib/typescript/module/chat-list/index.d.ts"
3168
+ ],
3169
+ "creator-studio": [
3170
+ "./lib/typescript/module/creator-studio/index.d.ts"
3171
+ ],
3172
+ "media-card": [
3173
+ "./lib/typescript/module/media-card/index.d.ts"
3174
+ ],
3175
+ "media-shelf": [
3176
+ "./lib/typescript/module/media-shelf/index.d.ts"
3177
+ ],
3178
+ "queue-panel": [
3179
+ "./lib/typescript/module/queue-panel/index.d.ts"
3180
+ ],
3181
+ "lyrics": [
3182
+ "./lib/typescript/module/lyrics/index.d.ts"
3183
+ ],
3184
+ "music-library": [
3185
+ "./lib/typescript/module/music-library/index.d.ts"
3186
+ ],
3187
+ "media-player": [
3188
+ "./lib/typescript/module/media-player/index.d.ts"
3189
+ ],
3190
+ "media-header": [
3191
+ "./lib/typescript/module/media-header/index.d.ts"
3192
+ ],
3193
+ "track-list": [
3194
+ "./lib/typescript/module/track-list/index.d.ts"
3195
+ ],
3196
+ "stay-filters": [
3197
+ "./lib/typescript/module/stay-filters/index.d.ts"
3198
+ ],
3199
+ "stay-search": [
3200
+ "./lib/typescript/module/stay-search/index.d.ts"
3201
+ ],
3202
+ "home-search": [
3203
+ "./lib/typescript/module/home-search/index.d.ts"
3204
+ ],
3205
+ "listing-details": [
3206
+ "./lib/typescript/module/listing-details/index.d.ts"
3207
+ ],
3208
+ "property-insights": [
3209
+ "./lib/typescript/module/property-insights/index.d.ts"
3210
+ ],
3211
+ "booking": [
3212
+ "./lib/typescript/module/booking/index.d.ts"
3213
+ ],
3214
+ "listing-actions": [
3215
+ "./lib/typescript/module/listing-actions/index.d.ts"
3216
+ ],
3217
+ "listing-card": [
3218
+ "./lib/typescript/module/listing-card/index.d.ts"
3219
+ ],
3220
+ "offering-badge": [
3221
+ "./lib/typescript/module/offering-badge/index.d.ts"
3222
+ ],
3223
+ "category-bar": [
3224
+ "./lib/typescript/module/category-bar/index.d.ts"
3225
+ ],
3226
+ "map-marker": [
3227
+ "./lib/typescript/module/map-marker/index.d.ts"
3228
+ ],
3229
+ "tenancy": [
3230
+ "./lib/typescript/module/tenancy/index.d.ts"
3231
+ ],
3232
+ "eviction": [
3233
+ "./lib/typescript/module/eviction/index.d.ts"
3234
+ ],
3235
+ "place-reviews": [
3236
+ "./lib/typescript/module/place-reviews/index.d.ts"
3237
+ ],
3238
+ "wizard": [
3239
+ "./lib/typescript/module/wizard/index.d.ts"
3240
+ ],
3241
+ "sortable-media": [
3242
+ "./lib/typescript/module/sortable-media/index.d.ts"
3243
+ ],
3244
+ "listing-editor": [
3245
+ "./lib/typescript/module/listing-editor/index.d.ts"
3246
+ ],
3247
+ "card": [
3248
+ "./lib/typescript/module/card/index.d.ts"
3249
+ ],
3250
+ "badge": [
3251
+ "./lib/typescript/module/badge/index.d.ts"
3252
+ ],
3253
+ "chip": [
3254
+ "./lib/typescript/module/chip/index.d.ts"
3255
+ ],
3256
+ "tabs": [
3257
+ "./lib/typescript/module/tabs/index.d.ts"
3258
+ ],
3259
+ "tabs/expo-router": [
3260
+ "./lib/typescript/module/tabs/expo-router/index.d.ts"
3261
+ ],
3262
+ "checkbox": [
3263
+ "./lib/typescript/module/checkbox/index.d.ts"
3264
+ ],
3265
+ "accordion": [
3266
+ "./lib/typescript/module/accordion/index.d.ts"
3267
+ ],
3268
+ "settings-list": [
3269
+ "./lib/typescript/module/settings-list/index.d.ts"
3270
+ ],
3271
+ "link-preview": [
3272
+ "./lib/typescript/module/link-preview/index.d.ts"
3273
+ ],
3274
+ "code": [
3275
+ "./lib/typescript/module/code/index.d.ts"
3276
+ ],
3277
+ "fonts": [
3278
+ "./lib/typescript/module/fonts/index.d.ts"
3279
+ ],
3280
+ "scroll": [
3281
+ "./lib/typescript/module/scroll/index.d.ts"
3282
+ ],
3283
+ "scroll/expo-router": [
3284
+ "./lib/typescript/module/scroll/expo-router/index.d.ts"
3285
+ ],
3286
+ "content-panel": [
3287
+ "./lib/typescript/module/content-panel/index.d.ts"
3288
+ ],
3289
+ "list": [
3290
+ "./lib/typescript/module/list/index.d.ts"
3291
+ ],
3292
+ "rail": [
3293
+ "./lib/typescript/module/rail/index.d.ts"
3294
+ ],
3295
+ "tab-bar": [
3296
+ "./lib/typescript/module/tab-bar/index.d.ts"
3297
+ ],
3298
+ "tab-bar/expo-router": [
3299
+ "./lib/typescript/module/tab-bar/expo-router/index.d.ts"
3300
+ ],
3301
+ "progressive-blur": [
3302
+ "./lib/typescript/module/progressive-blur/index.d.ts"
3303
+ ]
3304
+ }
2785
3305
  }
2786
3306
  }
@@ -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