@sanity/ui 4.0.0-beta.8 → 4.0.0-next.2

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 (381) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +21 -7
  3. package/dist/_chunks/getScopedTheme.cjs +4043 -0
  4. package/dist/_chunks/getScopedTheme.cjs.map +1 -0
  5. package/dist/_chunks/getScopedTheme.js +3803 -0
  6. package/dist/_chunks/getScopedTheme.js.map +1 -0
  7. package/dist/_chunks/refractor.cjs +18 -0
  8. package/dist/_chunks/refractor.cjs.map +1 -0
  9. package/dist/_chunks/refractor.js +20 -0
  10. package/dist/_chunks/refractor.js.map +1 -0
  11. package/dist/_chunks/rgba.d.cts +929 -0
  12. package/dist/_chunks/rgba.d.cts.map +1 -0
  13. package/dist/_chunks/rgba.d.ts +929 -0
  14. package/dist/_chunks/rgba.d.ts.map +1 -0
  15. package/dist/index.cjs +6243 -0
  16. package/dist/index.cjs.map +1 -0
  17. package/dist/index.d.cts +2332 -0
  18. package/dist/index.d.cts.map +1 -0
  19. package/dist/index.d.ts +1767 -1190
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +6134 -4725
  22. package/dist/index.js.map +1 -1
  23. package/dist/theme.cjs +54 -0
  24. package/dist/theme.cjs.map +1 -0
  25. package/dist/theme.d.cts +278 -0
  26. package/dist/theme.d.cts.map +1 -0
  27. package/dist/theme.d.ts +278 -0
  28. package/dist/theme.d.ts.map +1 -0
  29. package/dist/theme.js +53 -0
  30. package/dist/theme.js.map +1 -0
  31. package/package.json +55 -86
  32. package/dist/_chunks-es/Syntax.js +0 -23
  33. package/dist/_chunks-es/Syntax.js.map +0 -1
  34. package/dist/index.css +0 -1
  35. package/exports/index.css +0 -1
  36. package/exports/index.ts +0 -125
  37. package/src/components/autocomplete/Autocomplete.tsx +0 -665
  38. package/src/components/autocomplete/AutocompleteOption.tsx +0 -42
  39. package/src/components/autocomplete/__workshop__/Async.tsx +0 -162
  40. package/src/components/autocomplete/__workshop__/ConstrainedHeight.tsx +0 -121
  41. package/src/components/autocomplete/__workshop__/Custom.tsx +0 -91
  42. package/src/components/autocomplete/__workshop__/Example.tsx +0 -70
  43. package/src/components/autocomplete/__workshop__/FocusAndBlur.tsx +0 -39
  44. package/src/components/autocomplete/__workshop__/Fullscreen.tsx +0 -307
  45. package/src/components/autocomplete/__workshop__/index.ts +0 -41
  46. package/src/components/autocomplete/__workshop__/mock/apiStore.ts +0 -49
  47. package/src/components/autocomplete/__workshop__/mock/countries.ts +0 -245
  48. package/src/components/autocomplete/__workshop__/types.ts +0 -4
  49. package/src/components/autocomplete/autocompleteReducer.ts +0 -47
  50. package/src/components/autocomplete/constants.ts +0 -28
  51. package/src/components/autocomplete/types.ts +0 -103
  52. package/src/components/breadcrumbs/Breadcrumbs.tsx +0 -163
  53. package/src/components/breadcrumbs/__workshop__/Example.tsx +0 -48
  54. package/src/components/breadcrumbs/__workshop__/index.ts +0 -16
  55. package/src/components/dialog/Dialog.tsx +0 -230
  56. package/src/components/dialog/DialogCard.tsx +0 -233
  57. package/src/components/dialog/DialogContext.ts +0 -21
  58. package/src/components/dialog/DialogProvider.tsx +0 -34
  59. package/src/components/dialog/__workshop__/Activate.tsx +0 -141
  60. package/src/components/dialog/__workshop__/AutoFocus.tsx +0 -29
  61. package/src/components/dialog/__workshop__/Layering.tsx +0 -41
  62. package/src/components/dialog/__workshop__/Nested.tsx +0 -71
  63. package/src/components/dialog/__workshop__/OnScroll.tsx +0 -51
  64. package/src/components/dialog/__workshop__/Panes.tsx +0 -75
  65. package/src/components/dialog/__workshop__/Position.tsx +0 -30
  66. package/src/components/dialog/__workshop__/Props.tsx +0 -93
  67. package/src/components/dialog/__workshop__/Provider.tsx +0 -11
  68. package/src/components/dialog/__workshop__/Wrapped.tsx +0 -76
  69. package/src/components/dialog/__workshop__/index.ts +0 -21
  70. package/src/components/dialog/isTargetWithinScope.ts +0 -14
  71. package/src/components/dialog/types.ts +0 -2
  72. package/src/components/dialog/useDialog.ts +0 -11
  73. package/src/components/hotkeys/Hotkeys.tsx +0 -70
  74. package/src/components/hotkeys/__workshop__/Plain.tsx +0 -9
  75. package/src/components/hotkeys/__workshop__/index.ts +0 -16
  76. package/src/components/menu/Menu.test.tsx +0 -125
  77. package/src/components/menu/Menu.tsx +0 -174
  78. package/src/components/menu/MenuButton.tsx +0 -231
  79. package/src/components/menu/MenuContext.ts +0 -19
  80. package/src/components/menu/MenuDivider.tsx +0 -32
  81. package/src/components/menu/MenuGroup.tsx +0 -240
  82. package/src/components/menu/MenuItem.tsx +0 -153
  83. package/src/components/menu/__workshop__/AsComponent.tsx +0 -45
  84. package/src/components/menu/__workshop__/AvatarMenu.tsx +0 -36
  85. package/src/components/menu/__workshop__/ClosableMenuButton.tsx +0 -47
  86. package/src/components/menu/__workshop__/ConstrainedInBoundary.tsx +0 -133
  87. package/src/components/menu/__workshop__/CustomMenuItem.tsx +0 -47
  88. package/src/components/menu/__workshop__/CustomSelectedState.tsx +0 -35
  89. package/src/components/menu/__workshop__/DataProps.tsx +0 -27
  90. package/src/components/menu/__workshop__/DisableFocusOnClose.tsx +0 -40
  91. package/src/components/menu/__workshop__/Groups.tsx +0 -164
  92. package/src/components/menu/__workshop__/MenuButton.tsx +0 -79
  93. package/src/components/menu/__workshop__/MenuGroupRight.tsx +0 -73
  94. package/src/components/menu/__workshop__/NestedMenu.tsx +0 -22
  95. package/src/components/menu/__workshop__/OnCloseMenuButton.tsx +0 -50
  96. package/src/components/menu/__workshop__/SelectedItem.tsx +0 -69
  97. package/src/components/menu/__workshop__/ShouldFocus.tsx +0 -42
  98. package/src/components/menu/__workshop__/Tones.tsx +0 -19
  99. package/src/components/menu/__workshop__/index.ts +0 -91
  100. package/src/components/menu/helpers.ts +0 -82
  101. package/src/components/menu/useMenu.ts +0 -21
  102. package/src/components/menu/useMenuController.ts +0 -245
  103. package/src/components/tab/Tab.tsx +0 -135
  104. package/src/components/tab/TabList.tsx +0 -157
  105. package/src/components/tab/TabListContext.ts +0 -10
  106. package/src/components/tab/TabPanel.tsx +0 -94
  107. package/src/components/tab/__workshop__/Example.tsx +0 -135
  108. package/src/components/tab/__workshop__/index.ts +0 -16
  109. package/src/components/tab/types.ts +0 -11
  110. package/src/components/toast/Toast.test.tsx +0 -103
  111. package/src/components/toast/Toast.tsx +0 -191
  112. package/src/components/toast/ToastContext.ts +0 -7
  113. package/src/components/toast/ToastLayer.tsx +0 -54
  114. package/src/components/toast/ToastProvider.tsx +0 -127
  115. package/src/components/toast/__workshop__/Hook.tsx +0 -71
  116. package/src/components/toast/__workshop__/Toast.tsx +0 -26
  117. package/src/components/toast/__workshop__/index.ts +0 -21
  118. package/src/components/toast/toastState.ts +0 -6
  119. package/src/components/toast/types.ts +0 -24
  120. package/src/components/toast/useToast.ts +0 -23
  121. package/src/components/tree/Tree.tsx +0 -248
  122. package/src/components/tree/TreeContext.ts +0 -10
  123. package/src/components/tree/TreeGroup.tsx +0 -46
  124. package/src/components/tree/TreeItem.tsx +0 -236
  125. package/src/components/tree/__workshop__/Basic.tsx +0 -108
  126. package/src/components/tree/__workshop__/TabFromElement.tsx +0 -84
  127. package/src/components/tree/__workshop__/basic.perf.ts +0 -19
  128. package/src/components/tree/__workshop__/index.ts +0 -23
  129. package/src/components/tree/helpers.ts +0 -105
  130. package/src/components/tree/types.ts +0 -24
  131. package/src/components/tree/useTree.ts +0 -17
  132. package/src/components/virtualList/VirtualList.tsx +0 -254
  133. package/src/components/virtualList/__workshop__/ChangingProps.tsx +0 -41
  134. package/src/components/virtualList/__workshop__/ElementScroll.tsx +0 -43
  135. package/src/components/virtualList/__workshop__/InfiniteList.tsx +0 -40
  136. package/src/components/virtualList/__workshop__/WindowScrolll.tsx +0 -23
  137. package/src/components/virtualList/__workshop__/index.ts +0 -31
  138. package/src/core/_keys.ts +0 -26
  139. package/src/core/constants.ts +0 -67
  140. package/src/core/getElementRef.ts +0 -29
  141. package/src/core/helpers/animation.ts +0 -26
  142. package/src/core/helpers/element.ts +0 -55
  143. package/src/core/helpers/focus.ts +0 -92
  144. package/src/core/helpers/props.ts +0 -51
  145. package/src/core/helpers/scroll.ts +0 -15
  146. package/src/core/lib/createGlobalScopedContext.ts +0 -39
  147. package/src/core/lib/globalScope.ts +0 -19
  148. package/src/core/lib/isArray.ts +0 -3
  149. package/src/core/lib/isRecord.ts +0 -3
  150. package/src/core/types.ts +0 -57
  151. package/src/hooks/useClickOutsideEvent.test.tsx +0 -114
  152. package/src/hooks/useClickOutsideEvent.ts +0 -66
  153. package/src/hooks/useCustomValidity.ts +0 -13
  154. package/src/hooks/useElementSize.ts +0 -19
  155. package/src/hooks/useGlobalKeyDown.ts +0 -23
  156. package/src/hooks/useMatchMedia.ts +0 -28
  157. package/src/hooks/useMediaIndex/__workshop__/Test.tsx +0 -14
  158. package/src/hooks/useMediaIndex/__workshop__/index.ts +0 -16
  159. package/src/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -21
  160. package/src/hooks/useMediaIndex/useMediaIndex.ts +0 -111
  161. package/src/hooks/useMounted.ts +0 -15
  162. package/src/hooks/usePrefersDark.hydration.test.tsx +0 -56
  163. package/src/hooks/usePrefersDark.test.tsx +0 -20
  164. package/src/hooks/usePrefersDark.ts +0 -16
  165. package/src/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
  166. package/src/hooks/usePrefersReducedMotion.test.tsx +0 -20
  167. package/src/hooks/usePrefersReducedMotion.ts +0 -16
  168. package/src/hooks/useResponsiveProp.ts +0 -14
  169. package/src/hooks/useUnique.ts +0 -54
  170. package/src/middleware/origin.ts +0 -47
  171. package/src/observers/elementSize.ts +0 -114
  172. package/src/primitives/_syntax/LazySyntax.tsx +0 -4
  173. package/src/primitives/_syntax/Syntax.tsx +0 -26
  174. package/src/primitives/avatar/Avatar.tsx +0 -145
  175. package/src/primitives/avatar/AvatarCounter.tsx +0 -69
  176. package/src/primitives/avatar/AvatarStack.tsx +0 -77
  177. package/src/primitives/avatar/__workshop__/AsButton.tsx +0 -12
  178. package/src/primitives/avatar/__workshop__/PropsStory.tsx +0 -24
  179. package/src/primitives/avatar/__workshop__/Stack.tsx +0 -27
  180. package/src/primitives/avatar/__workshop__/WithinButton.tsx +0 -51
  181. package/src/primitives/avatar/__workshop__/WithinMenuItem.tsx +0 -52
  182. package/src/primitives/avatar/__workshop__/index.ts +0 -36
  183. package/src/primitives/avatar/types.ts +0 -2
  184. package/src/primitives/badge/Badge.test.tsx +0 -16
  185. package/src/primitives/badge/Badge.tsx +0 -53
  186. package/src/primitives/badge/__workshop__/Props.tsx +0 -27
  187. package/src/primitives/badge/__workshop__/Tones.tsx +0 -15
  188. package/src/primitives/badge/__workshop__/index.ts +0 -26
  189. package/src/primitives/badge/__workshop__/within-button.tsx +0 -36
  190. package/src/primitives/box/Box.tsx +0 -73
  191. package/src/primitives/box/__workshop__/Props.tsx +0 -26
  192. package/src/primitives/box/__workshop__/Responsive.tsx +0 -19
  193. package/src/primitives/box/__workshop__/index.ts +0 -21
  194. package/src/primitives/button/Button.test.tsx +0 -30
  195. package/src/primitives/button/Button.tsx +0 -148
  196. package/src/primitives/button/__workshop__/Custom.tsx +0 -39
  197. package/src/primitives/button/__workshop__/CustomIcons.tsx +0 -37
  198. package/src/primitives/button/__workshop__/DataProps.tsx +0 -18
  199. package/src/primitives/button/__workshop__/Disabled.tsx +0 -43
  200. package/src/primitives/button/__workshop__/MixedChildren.tsx +0 -12
  201. package/src/primitives/button/__workshop__/Props.tsx +0 -60
  202. package/src/primitives/button/__workshop__/Stacked.tsx +0 -60
  203. package/src/primitives/button/__workshop__/Styled1.css.ts +0 -7
  204. package/src/primitives/button/__workshop__/Styled1.tsx +0 -11
  205. package/src/primitives/button/__workshop__/TextOverflow.tsx +0 -17
  206. package/src/primitives/button/__workshop__/UploadButton.tsx +0 -28
  207. package/src/primitives/button/__workshop__/index.ts +0 -61
  208. package/src/primitives/button/types.ts +0 -2
  209. package/src/primitives/card/Card.tsx +0 -124
  210. package/src/primitives/card/CardContext.ts +0 -10
  211. package/src/primitives/card/CardInternalContext.ts +0 -10
  212. package/src/primitives/card/CardInternalProvider.tsx +0 -15
  213. package/src/primitives/card/CardProvider.tsx +0 -16
  214. package/src/primitives/card/__workshop__/AsButton.tsx +0 -103
  215. package/src/primitives/card/__workshop__/AsComponent.tsx +0 -25
  216. package/src/primitives/card/__workshop__/Checkered.tsx +0 -25
  217. package/src/primitives/card/__workshop__/DataProps.tsx +0 -25
  218. package/src/primitives/card/__workshop__/Interactive.tsx +0 -29
  219. package/src/primitives/card/__workshop__/ListNavigation.tsx +0 -78
  220. package/src/primitives/card/__workshop__/Props.tsx +0 -59
  221. package/src/primitives/card/__workshop__/Selected.tsx +0 -62
  222. package/src/primitives/card/__workshop__/Styled.tsx +0 -11
  223. package/src/primitives/card/__workshop__/Tones.tsx +0 -26
  224. package/src/primitives/card/__workshop__/index.ts +0 -21
  225. package/src/primitives/card/types.ts +0 -21
  226. package/src/primitives/card/useCard.ts +0 -20
  227. package/src/primitives/checkbox/Checkbox.tsx +0 -80
  228. package/src/primitives/checkbox/__workshop__/Example.tsx +0 -25
  229. package/src/primitives/checkbox/__workshop__/Props.tsx +0 -35
  230. package/src/primitives/checkbox/__workshop__/ReadOnly.tsx +0 -16
  231. package/src/primitives/checkbox/__workshop__/Tones.tsx +0 -26
  232. package/src/primitives/checkbox/__workshop__/index.ts +0 -15
  233. package/src/primitives/code/Code.tsx +0 -47
  234. package/src/primitives/code/__workshop__/OpticalAlignment.tsx +0 -25
  235. package/src/primitives/code/__workshop__/Props.tsx +0 -20
  236. package/src/primitives/code/__workshop__/index.ts +0 -21
  237. package/src/primitives/container/Container.tsx +0 -43
  238. package/src/primitives/container/__workshop__/Example.tsx +0 -16
  239. package/src/primitives/container/__workshop__/index.ts +0 -16
  240. package/src/primitives/container/types.ts +0 -6
  241. package/src/primitives/flex/Flex.tsx +0 -38
  242. package/src/primitives/flex/__workshop__/Example.tsx +0 -26
  243. package/src/primitives/flex/__workshop__/Gap.tsx +0 -25
  244. package/src/primitives/flex/__workshop__/index.ts +0 -13
  245. package/src/primitives/flex/__workshop__/styles.css.ts +0 -12
  246. package/src/primitives/grid/Grid.tsx +0 -38
  247. package/src/primitives/grid/__workshop__/Responsive.tsx +0 -54
  248. package/src/primitives/grid/__workshop__/index.ts +0 -12
  249. package/src/primitives/heading/Heading.tsx +0 -68
  250. package/src/primitives/heading/__workshop__/OpticalAlignment.tsx +0 -27
  251. package/src/primitives/heading/__workshop__/Plain.tsx +0 -25
  252. package/src/primitives/heading/__workshop__/index.ts +0 -21
  253. package/src/primitives/inline/Inline.tsx +0 -37
  254. package/src/primitives/inline/__workshop__/Plain.tsx +0 -22
  255. package/src/primitives/inline/__workshop__/index.ts +0 -10
  256. package/src/primitives/kbd/Kbd.tsx +0 -36
  257. package/src/primitives/kbd/__workshop__/Plain.tsx +0 -9
  258. package/src/primitives/kbd/__workshop__/index.ts +0 -10
  259. package/src/primitives/label/Label.tsx +0 -67
  260. package/src/primitives/label/__workshop__/OpticalAlignment.tsx +0 -27
  261. package/src/primitives/label/__workshop__/Plain.tsx +0 -27
  262. package/src/primitives/label/__workshop__/index.ts +0 -21
  263. package/src/primitives/layer/Layer.test.tsx +0 -110
  264. package/src/primitives/layer/Layer.tsx +0 -35
  265. package/src/primitives/layer/LayerCard.tsx +0 -90
  266. package/src/primitives/layer/LayerContext.ts +0 -7
  267. package/src/primitives/layer/LayerProvider.tsx +0 -106
  268. package/src/primitives/layer/__workshop__/MultipleRoots.tsx +0 -49
  269. package/src/primitives/layer/__workshop__/Nested.tsx +0 -107
  270. package/src/primitives/layer/__workshop__/ResponsiveZOffset.tsx +0 -17
  271. package/src/primitives/layer/__workshop__/_debug.tsx +0 -17
  272. package/src/primitives/layer/__workshop__/index.ts +0 -26
  273. package/src/primitives/layer/getLayerContext.test.ts +0 -32
  274. package/src/primitives/layer/getLayerContext.ts +0 -21
  275. package/src/primitives/layer/types.ts +0 -9
  276. package/src/primitives/layer/useLayer.ts +0 -24
  277. package/src/primitives/popover/Popover.tsx +0 -291
  278. package/src/primitives/popover/PopoverLayer.tsx +0 -101
  279. package/src/primitives/popover/__workshop__/AlignedStory.tsx +0 -75
  280. package/src/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  281. package/src/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  282. package/src/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  283. package/src/primitives/popover/__workshop__/PlainStory.tsx +0 -67
  284. package/src/primitives/popover/__workshop__/RecursiveStory.tsx +0 -71
  285. package/src/primitives/popover/__workshop__/SidePanelStory.tsx +0 -95
  286. package/src/primitives/popover/__workshop__/TestStory.tsx +0 -97
  287. package/src/primitives/popover/__workshop__/index.ts +0 -56
  288. package/src/primitives/popover/__workshop__/portal-inheritance.tsx +0 -15
  289. package/src/primitives/popover/constants.ts +0 -20
  290. package/src/primitives/popover/floating-ui/size.ts +0 -75
  291. package/src/primitives/popover/types.ts +0 -12
  292. package/src/primitives/popover/useMiddleware.ts +0 -126
  293. package/src/primitives/radio/Radio.tsx +0 -64
  294. package/src/primitives/radio/__workshop__/Example.tsx +0 -63
  295. package/src/primitives/radio/__workshop__/Plain.tsx +0 -28
  296. package/src/primitives/radio/__workshop__/index.ts +0 -13
  297. package/src/primitives/select/Select.tsx +0 -76
  298. package/src/primitives/select/__workshop__/Plain.tsx +0 -37
  299. package/src/primitives/select/__workshop__/ReadOnly.tsx +0 -23
  300. package/src/primitives/select/__workshop__/index.ts +0 -13
  301. package/src/primitives/selectable/Selectable.tsx +0 -48
  302. package/src/primitives/selectable/__workshop__/DataProps.tsx +0 -24
  303. package/src/primitives/selectable/__workshop__/as-link.tsx +0 -13
  304. package/src/primitives/selectable/__workshop__/index.ts +0 -19
  305. package/src/primitives/skeleton/CodeSkeleton.tsx +0 -49
  306. package/src/primitives/skeleton/HeadingSkeleton.tsx +0 -48
  307. package/src/primitives/skeleton/LabelSkeleton.tsx +0 -47
  308. package/src/primitives/skeleton/Skeleton.tsx +0 -70
  309. package/src/primitives/skeleton/TextSkeleton.tsx +0 -49
  310. package/src/primitives/skeleton/__workshop__/Delay.tsx +0 -69
  311. package/src/primitives/skeleton/__workshop__/Skeleton.tsx +0 -63
  312. package/src/primitives/skeleton/__workshop__/index.ts +0 -13
  313. package/src/primitives/spinner/Spinner.tsx +0 -45
  314. package/src/primitives/spinner/SpinnerAnimatedIcon.tsx +0 -14
  315. package/src/primitives/spinner/__workshop__/Props.tsx +0 -13
  316. package/src/primitives/spinner/__workshop__/index.ts +0 -16
  317. package/src/primitives/srOnly/SrOnly.tsx +0 -33
  318. package/src/primitives/stack/Stack.tsx +0 -38
  319. package/src/primitives/stack/__workshop__/Plain.tsx +0 -30
  320. package/src/primitives/stack/__workshop__/index.ts +0 -16
  321. package/src/primitives/switch/Switch.tsx +0 -76
  322. package/src/primitives/switch/__workshop__/Example.tsx +0 -25
  323. package/src/primitives/switch/__workshop__/Props.tsx +0 -23
  324. package/src/primitives/switch/__workshop__/index.ts +0 -13
  325. package/src/primitives/text/InlineCode.tsx +0 -25
  326. package/src/primitives/text/Text.tsx +0 -68
  327. package/src/primitives/text/__workshop__/Example.tsx +0 -26
  328. package/src/primitives/text/__workshop__/OpticalAlignment.tsx +0 -27
  329. package/src/primitives/text/__workshop__/index.ts +0 -26
  330. package/src/primitives/text/__workshop__/inline-code.tsx +0 -13
  331. package/src/primitives/textArea/TextArea.tsx +0 -97
  332. package/src/primitives/textArea/__workshop__/Plain.tsx +0 -46
  333. package/src/primitives/textArea/__workshop__/index.ts +0 -16
  334. package/src/primitives/textInput/TextInput.tsx +0 -279
  335. package/src/primitives/textInput/__workshop__/ClearButton.tsx +0 -32
  336. package/src/primitives/textInput/__workshop__/CustomValidity.tsx +0 -17
  337. package/src/primitives/textInput/__workshop__/Plain.tsx +0 -102
  338. package/src/primitives/textInput/__workshop__/ReadOnly.tsx +0 -14
  339. package/src/primitives/textInput/__workshop__/States.tsx +0 -53
  340. package/src/primitives/textInput/__workshop__/Tones.tsx +0 -40
  341. package/src/primitives/textInput/__workshop__/Typed.tsx +0 -23
  342. package/src/primitives/textInput/__workshop__/index.ts +0 -46
  343. package/src/primitives/tooltip/Tooltip.test.tsx +0 -496
  344. package/src/primitives/tooltip/Tooltip.tsx +0 -546
  345. package/src/primitives/tooltip/TooltipLayer.tsx +0 -72
  346. package/src/primitives/tooltip/__workshop__/CustomPortal.tsx +0 -102
  347. package/src/primitives/tooltip/__workshop__/OverflowingBoundary.tsx +0 -74
  348. package/src/primitives/tooltip/__workshop__/Props.tsx +0 -107
  349. package/src/primitives/tooltip/__workshop__/ResizableBoundary.tsx +0 -91
  350. package/src/primitives/tooltip/__workshop__/index.ts +0 -31
  351. package/src/primitives/tooltip/constants.ts +0 -24
  352. package/src/primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupContext.tsx +0 -13
  353. package/src/primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupProvider.tsx +0 -96
  354. package/src/primitives/tooltip/tooltipDelayGroup/types.ts +0 -7
  355. package/src/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  356. package/src/root/Root.tsx +0 -93
  357. package/src/root/RootProvider.tsx +0 -37
  358. package/src/root/__workshop__/Boundary.tsx +0 -43
  359. package/src/root/__workshop__/index.ts +0 -24
  360. package/src/root/__workshop__/primitives.tsx +0 -49
  361. package/src/root/__workshop__/tone-inheritance.tsx +0 -65
  362. package/src/utils/ErrorBoundary.tsx +0 -50
  363. package/src/utils/boundaryElement/BoundaryElementContext.ts +0 -7
  364. package/src/utils/boundaryElement/BoundaryElementProvider.tsx +0 -16
  365. package/src/utils/boundaryElement/__workshop__/Plain.tsx +0 -49
  366. package/src/utils/boundaryElement/__workshop__/index.ts +0 -16
  367. package/src/utils/boundaryElement/types.ts +0 -2
  368. package/src/utils/boundaryElement/useBoundaryElement.ts +0 -12
  369. package/src/utils/elementQuery/ElementQuery.tsx +0 -75
  370. package/src/utils/elementQuery/__workshop__/CustomMedia.tsx +0 -19
  371. package/src/utils/elementQuery/__workshop__/index.ts +0 -16
  372. package/src/utils/elementQuery/__workshop__/styles.css.ts +0 -31
  373. package/src/utils/elementQuery/helpers.ts +0 -27
  374. package/src/utils/portal/Portal.test.tsx +0 -105
  375. package/src/utils/portal/Portal.tsx +0 -42
  376. package/src/utils/portal/PortalContext.ts +0 -37
  377. package/src/utils/portal/PortalProvider.tsx +0 -38
  378. package/src/utils/portal/__workshop__/Named.tsx +0 -69
  379. package/src/utils/portal/__workshop__/index.ts +0 -16
  380. package/src/utils/portal/types.ts +0 -7
  381. package/src/utils/portal/usePortal.ts +0 -30
@@ -1,45 +0,0 @@
1
- import {type ResponsiveProp, spinner} from '@sanity/ui-css'
2
- import type {FontTextSize} from '@sanity/ui-tokens'
3
-
4
- import type {ComponentType, Props} from '../../core/types'
5
- import {Text} from '../text/Text'
6
- import {SpinnerAnimatedIcon} from './SpinnerAnimatedIcon'
7
-
8
- /** @public */
9
- export const DEFAULT_SPINNER_ELEMENT = 'div'
10
-
11
- /** @public */
12
- export type SpinnerOwnProps = {
13
- muted?: boolean
14
- size?: ResponsiveProp<FontTextSize>
15
- }
16
-
17
- /** @public */
18
- export type SpinnerElementType = 'div' | 'span' | ComponentType
19
-
20
- /** @public */
21
- export type SpinnerProps<E extends SpinnerElementType = SpinnerElementType> = Props<
22
- SpinnerOwnProps,
23
- E
24
- >
25
-
26
- /**
27
- * Indicate that something is loading for an indeterminate amount of time.
28
- *
29
- * @public
30
- */
31
- export function Spinner<E extends SpinnerElementType = typeof DEFAULT_SPINNER_ELEMENT>(
32
- props: SpinnerProps<E>,
33
- ): React.JSX.Element {
34
- const {
35
- as = DEFAULT_SPINNER_ELEMENT,
36
- className,
37
- ...rest
38
- } = props as SpinnerProps<typeof DEFAULT_SPINNER_ELEMENT>
39
-
40
- return (
41
- <Text as={as} data-ui="Spinner" {...rest} className={spinner({className})}>
42
- <SpinnerAnimatedIcon />
43
- </Text>
44
- )
45
- }
@@ -1,14 +0,0 @@
1
- import {SpinnerIcon} from '@sanity/icons'
2
- import {spinner_animatedIcon} from '@sanity/ui-css'
3
- import type {SVGProps} from 'react'
4
-
5
- /** @internal */
6
- export function SpinnerAnimatedIcon(
7
- props: Omit<SVGProps<SVGSVGElement>, 'className'>,
8
- ): React.JSX.Element {
9
- const {...rest} = props
10
-
11
- return (
12
- <SpinnerIcon data-sanity-icon="spinner-animated" {...rest} className={spinner_animatedIcon()} />
13
- )
14
- }
@@ -1,13 +0,0 @@
1
- import {Flex, FONT_TEXT_SIZE, Spinner} from '@sanity/ui'
2
- import {useBoolean, useSelect} from '@sanity/ui-workshop'
3
-
4
- export default function Props(): React.JSX.Element {
5
- const muted = useBoolean('Muted', false)
6
- const size = useSelect('Size', FONT_TEXT_SIZE, 2)
7
-
8
- return (
9
- <Flex align="center" height="fill" justify="center">
10
- <Spinner muted={muted} size={size} />
11
- </Flex>
12
- )
13
- }
@@ -1,16 +0,0 @@
1
- import type {WorkshopScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- const scope: WorkshopScope = {
5
- name: 'primitives/spinner',
6
- title: 'Spinner',
7
- stories: [
8
- {
9
- name: 'props',
10
- title: 'Props',
11
- component: lazy(() => import('./Props')),
12
- },
13
- ],
14
- }
15
-
16
- export default scope
@@ -1,33 +0,0 @@
1
- import {srOnly} from '@sanity/ui-css'
2
-
3
- import type {ComponentType, Props} from '../../core/types'
4
-
5
- /** @public */
6
- export const DEFAULT_SR_ONLY_ELEMENT = 'span'
7
-
8
- /** @public */
9
- export type SrOnlyOwnProps = {} // eslint-disable-line @typescript-eslint/no-empty-object-type
10
-
11
- /** @public */
12
- export type SrOnlyElementType = 'span' | ComponentType
13
-
14
- /** @public */
15
- export type SrOnlyProps<E extends SrOnlyElementType = SrOnlyElementType> = Props<SrOnlyOwnProps, E>
16
-
17
- /** @public */
18
- export function SrOnly<E extends SrOnlyElementType = typeof DEFAULT_SR_ONLY_ELEMENT>(
19
- props: SrOnlyProps<E>,
20
- ): React.JSX.Element {
21
- const {
22
- as: Element = DEFAULT_SR_ONLY_ELEMENT,
23
- children,
24
- className,
25
- ...rest
26
- } = props as SrOnlyProps<typeof DEFAULT_SR_ONLY_ELEMENT>
27
-
28
- return (
29
- <Element data-ui="SrOnly" {...rest} aria-hidden className={srOnly({className})}>
30
- {children}
31
- </Element>
32
- )
33
- }
@@ -1,38 +0,0 @@
1
- import {stack, STACK_STYLE_PROP_KEYS, type StackStyleProps} from '@sanity/ui-css'
2
-
3
- import {_splitKeys} from '../../core/_keys'
4
- import type {Props} from '../../core/types'
5
- import type {BoxElementType} from '../box/Box'
6
-
7
- /** @public */
8
- export const DEFAULT_STACK_ELEMENT = 'div'
9
-
10
- /** @public */
11
- export type StackOwnProps = StackStyleProps
12
-
13
- /** @public */
14
- export type StackElementType = BoxElementType
15
-
16
- /** @public */
17
- export type StackProps<E extends StackElementType = StackElementType> = Props<StackOwnProps, E>
18
-
19
- /**
20
- * The `Stack` component is used to place elements on top of each other.
21
- *
22
- * @public
23
- */
24
- export function Stack<E extends StackElementType = typeof DEFAULT_STACK_ELEMENT>(
25
- props: StackProps<E>,
26
- ): React.JSX.Element {
27
- const [
28
- // split style props
29
- styleProps,
30
- {
31
- as: Element = DEFAULT_STACK_ELEMENT,
32
- // split DOM props
33
- ...domProps
34
- },
35
- ] = _splitKeys(props as StackProps<typeof DEFAULT_STACK_ELEMENT>, STACK_STYLE_PROP_KEYS)
36
-
37
- return <Element data-ui="Stack" {...domProps} className={stack(styleProps)} />
38
- }
@@ -1,30 +0,0 @@
1
- import {Card, Container, Flex, SPACE, Stack, Text} from '@sanity/ui'
2
- import {useSelect} from '@sanity/ui-workshop'
3
-
4
- export default function PlainStory(): React.JSX.Element {
5
- return (
6
- <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
7
- <Container width={0}>
8
- <Stack gap={useSelect('Gap', SPACE, 0)}>
9
- <Card padding={[2, 3, 4]} shadow={1}>
10
- <Text align="center" muted>
11
- Stack item
12
- </Text>
13
- </Card>
14
-
15
- <Card padding={[2, 3, 4]} shadow={1}>
16
- <Text align="center" muted>
17
- Stack item
18
- </Text>
19
- </Card>
20
-
21
- <Card padding={[2, 3, 4]} shadow={1}>
22
- <Text align="center" muted>
23
- Stack item
24
- </Text>
25
- </Card>
26
- </Stack>
27
- </Container>
28
- </Flex>
29
- )
30
- }
@@ -1,16 +0,0 @@
1
- import type {WorkshopScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- const scope: WorkshopScope = {
5
- name: 'primitives/stack',
6
- title: 'Stack',
7
- stories: [
8
- {
9
- name: 'plain',
10
- title: 'Plain',
11
- component: lazy(() => import('./Plain')),
12
- },
13
- ],
14
- }
15
-
16
- export default scope
@@ -1,76 +0,0 @@
1
- import {
2
- _switch,
3
- _switch_element,
4
- _switch_presentation,
5
- _switch_thumb,
6
- _switch_track,
7
- } from '@sanity/ui-css'
8
- import {useEffect, useImperativeHandle, useRef} from 'react'
9
-
10
- import type {ComponentType, Props} from '../../core/types'
11
-
12
- /** @public */
13
- export const DEFAULT_SWITCH_ELEMENT = 'input'
14
-
15
- /** @public */
16
- export type SwitchOwnProps = {
17
- indeterminate?: boolean
18
- }
19
-
20
- /** @public */
21
- export type SwitchElementType = 'input' | ComponentType
22
-
23
- /** @public */
24
- export type SwitchProps<E extends SwitchElementType = SwitchElementType> = Props<SwitchOwnProps, E>
25
-
26
- /**
27
- * The `Switch` component allows the user to toggle a setting on and off.
28
- *
29
- * Extends all properties of an `<input type="checkbox" />` element, except type.
30
- *
31
- * @public
32
- */
33
- export function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEMENT>(
34
- props: SwitchProps<E>,
35
- ): React.JSX.Element {
36
- const {
37
- as: Element = DEFAULT_SWITCH_ELEMENT,
38
- className,
39
- disabled,
40
- indeterminate,
41
- readOnly,
42
- ref: forwardedRef,
43
- ...rest
44
- } = props as SwitchProps<typeof DEFAULT_SWITCH_ELEMENT>
45
-
46
- const ref = useRef<HTMLInputElement | null>(null)
47
-
48
- useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(
49
- forwardedRef,
50
- () => ref.current,
51
- )
52
-
53
- useEffect(() => {
54
- if (ref.current) {
55
- // Set the indeterminate state
56
- ref.current.indeterminate = indeterminate || false
57
- }
58
- }, [indeterminate])
59
-
60
- return (
61
- <span className={_switch({className})} data-ui="Switch">
62
- <Element
63
- {...rest}
64
- ref={ref}
65
- className={_switch_element()}
66
- data-read-only={!disabled && readOnly ? '' : undefined}
67
- disabled={disabled || readOnly}
68
- type="checkbox"
69
- />
70
- <span aria-hidden className={_switch_presentation()}>
71
- <span className={_switch_track()} />
72
- <span className={_switch_thumb()} />
73
- </span>
74
- </span>
75
- )
76
- }
@@ -1,25 +0,0 @@
1
- import {Box, Flex, Switch, Text} from '@sanity/ui'
2
- import {useCallback, useState} from 'react'
3
-
4
- import {CardWrapper} from '$workshop'
5
-
6
- export default function ExampleStory(): React.JSX.Element {
7
- const [checked, setChecked] = useState<boolean | undefined>(undefined)
8
- const indeterminate = checked === undefined
9
- const handleChange = useCallback((event: React.FormEvent<HTMLInputElement>) => {
10
- setChecked(event.currentTarget.checked)
11
- }, [])
12
-
13
- return (
14
- <CardWrapper alignItems="center" display="flex" justifyContent="center">
15
- <Flex align="center" as="label">
16
- <Switch checked={checked || false} indeterminate={indeterminate} onChange={handleChange} />
17
- <Box marginLeft={3}>
18
- <Text size={1} weight="medium">
19
- Label
20
- </Text>
21
- </Box>
22
- </Flex>
23
- </CardWrapper>
24
- )
25
- }
@@ -1,23 +0,0 @@
1
- import {Switch} from '@sanity/ui'
2
- import {useBoolean} from '@sanity/ui-workshop'
3
- import {useCallback} from 'react'
4
-
5
- import {CardWrapper} from '$workshop'
6
-
7
- export default function PropsStory(): React.JSX.Element {
8
- const checked = useBoolean('Checked', false)
9
- const indeterminate = useBoolean('Indeterminate', false)
10
- const readOnly = useBoolean('Read only', false)
11
- const handleChange = useCallback(() => undefined, [])
12
-
13
- return (
14
- <CardWrapper alignItems="center" display="flex" justifyContent="center">
15
- <Switch
16
- checked={checked}
17
- indeterminate={indeterminate}
18
- readOnly={readOnly}
19
- onChange={handleChange}
20
- />
21
- </CardWrapper>
22
- )
23
- }
@@ -1,13 +0,0 @@
1
- import type {WorkshopScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- const scope: WorkshopScope = {
5
- name: 'primitives/switch',
6
- title: 'Switch',
7
- stories: [
8
- {name: 'props', title: 'Props', component: lazy(() => import('./Props'))},
9
- {name: 'example', title: 'Example', component: lazy(() => import('./Example'))},
10
- ],
11
- }
12
-
13
- export default scope
@@ -1,25 +0,0 @@
1
- import {Suspense} from 'react'
2
-
3
- import {LazySyntax} from '../_syntax/LazySyntax'
4
-
5
- /** @public */
6
- export const DEFAULT_INLINE_CODE_ELEMENT = 'code'
7
-
8
- /** @public */
9
- export interface InlineCodeProps {
10
- children: React.ReactNode
11
- /** Language to use for syntax highlighting. */
12
- language?: string
13
- }
14
-
15
- /** @public */
16
- export function InlineCode(props: InlineCodeProps): React.JSX.Element {
17
- const {children, language: languageProp} = props
18
- const language = typeof languageProp === 'string' ? languageProp : undefined
19
-
20
- return (
21
- <Suspense fallback={<code>{children}</code>}>
22
- <LazySyntax language={language} value={children} />
23
- </Suspense>
24
- )
25
- }
@@ -1,68 +0,0 @@
1
- import {
2
- text,
3
- TEXT_STYLE_PROP_KEYS,
4
- textOverflow,
5
- type TextOverflowStyleProps,
6
- type TextStyleProps,
7
- } from '@sanity/ui-css'
8
-
9
- import {_splitKeys} from '../../core/_keys'
10
- import type {ComponentType, Props} from '../../core/types'
11
-
12
- /** @public */
13
- export const DEFAULT_TEXT_ELEMENT = 'div'
14
-
15
- /** @public */
16
- export type TextOwnProps = TextStyleProps & TextOverflowStyleProps
17
-
18
- /** @public */
19
- export type TextElementType =
20
- | 'div'
21
- | 'h1'
22
- | 'h2'
23
- | 'h3'
24
- | 'h4'
25
- | 'h5'
26
- | 'h6'
27
- | 'label'
28
- | 'li'
29
- | 'p'
30
- | 'span'
31
- | 'summary'
32
- | 'time'
33
- | ComponentType
34
-
35
- /** @public */
36
- export type TextProps<E extends TextElementType = TextElementType> = Props<TextOwnProps, E>
37
-
38
- /**
39
- * The `Text` component is an agile, themed typographic element.
40
- *
41
- * @public
42
- */
43
- export function Text<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(
44
- props: TextProps<E>,
45
- ): React.JSX.Element {
46
- const [
47
- styleProps,
48
- {
49
- as: Element = DEFAULT_TEXT_ELEMENT,
50
- children: childrenProp,
51
- textOverflow: textOverflowProp,
52
- // split DOM props
53
- ...domProps
54
- },
55
- ] = _splitKeys(props as TextProps<typeof DEFAULT_TEXT_ELEMENT>, TEXT_STYLE_PROP_KEYS)
56
-
57
- let children = childrenProp
58
-
59
- if (textOverflowProp) {
60
- children = <span className={textOverflow({textOverflow: textOverflowProp})}>{children}</span>
61
- }
62
-
63
- return (
64
- <Element data-ui="Text" {...domProps} className={text(styleProps)}>
65
- {children}
66
- </Element>
67
- )
68
- }
@@ -1,26 +0,0 @@
1
- import {FONT_TEXT_SIZE, Text} from '@sanity/ui'
2
- import {useBoolean, useSelect, useText} from '@sanity/ui-workshop'
3
-
4
- import {
5
- CardWrapper,
6
- WORKSHOP_TEXT_ALIGN_OPTIONS,
7
- WORKSHOP_TEXT_OVERFLOW_OPTIONS,
8
- WORKSHOP_TEXT_WEIGHT_OPTIONS,
9
- } from '$workshop'
10
-
11
- export default function TextStory(): React.JSX.Element {
12
- const align = useSelect('Align', WORKSHOP_TEXT_ALIGN_OPTIONS)
13
- const muted = useBoolean('Muted', false)
14
- const size = useSelect('Size', FONT_TEXT_SIZE, 2)
15
- const text = useText('Text', 'Hello, world')
16
- const textOverflow = useSelect('Text overflow', WORKSHOP_TEXT_OVERFLOW_OPTIONS)
17
- const weight = useSelect('Weight', WORKSHOP_TEXT_WEIGHT_OPTIONS)
18
-
19
- return (
20
- <CardWrapper>
21
- <Text align={align} muted={muted} size={size} textOverflow={textOverflow} weight={weight}>
22
- {text}
23
- </Text>
24
- </CardWrapper>
25
- )
26
- }
@@ -1,27 +0,0 @@
1
- import {CropIcon} from '@sanity/icons'
2
- import {Box, FONT_TEXT_SIZE, Stack, Text} from '@sanity/ui'
3
-
4
- import {CardWrapper} from '$workshop'
5
-
6
- export default function OpticalAlignment(): React.JSX.Element {
7
- return (
8
- <CardWrapper width={0}>
9
- <Stack gap={4}>
10
- {FONT_TEXT_SIZE.map((size) => (
11
- <Box key={size} display="flex" gap={2}>
12
- <Box flex="none" muted shadow={1}>
13
- <Text muted size={size}>
14
- <CropIcon />
15
- </Text>
16
- </Box>
17
- <Box flex={1} muted shadow={1}>
18
- <Text muted size={size} textOverflow="ellipsis">
19
- Hamburgefonstiv M
20
- </Text>
21
- </Box>
22
- </Box>
23
- ))}
24
- </Stack>
25
- </CardWrapper>
26
- )
27
- }
@@ -1,26 +0,0 @@
1
- import type {WorkshopScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- const scope: WorkshopScope = {
5
- name: 'primitives/text',
6
- title: 'Text',
7
- stories: [
8
- {
9
- name: 'props',
10
- title: 'Props',
11
- component: lazy(() => import('./Example')),
12
- },
13
- {
14
- name: 'optical-alignment',
15
- title: 'Optical alignment',
16
- component: lazy(() => import('./OpticalAlignment')),
17
- },
18
- {
19
- name: 'inline-code',
20
- title: 'Inline code',
21
- component: lazy(() => import('./inline-code')),
22
- },
23
- ],
24
- }
25
-
26
- export default scope
@@ -1,13 +0,0 @@
1
- import {InlineCode, Text} from '@sanity/ui'
2
-
3
- import {CardWrapper} from '$workshop'
4
-
5
- export default function InlineCodeStory() {
6
- return (
7
- <CardWrapper pattern="halftone" width={0}>
8
- <Text align="center" size={1}>
9
- Use the <InlineCode language="jsx">{`<Box>`}</InlineCode> component to build layouts.
10
- </Text>
11
- </CardWrapper>
12
- )
13
- }
@@ -1,97 +0,0 @@
1
- import {
2
- textArea,
3
- textArea_element,
4
- textArea_presentation,
5
- type TextAreaStyleProps,
6
- } from '@sanity/ui-css'
7
- import {useImperativeHandle, useRef} from 'react'
8
-
9
- import type {ComponentType, Props} from '../../core/types'
10
- import {useCustomValidity} from '../../hooks/useCustomValidity'
11
-
12
- /** @public */
13
- export const DEFAULT_TEXT_AREA_ELEMENT = 'textarea'
14
-
15
- /** @public */
16
- export type TextAreaOwnProps = TextAreaStyleProps & {
17
- /**
18
- * @beta
19
- */
20
- __unstable_disableFocusRing?: boolean
21
- customValidity?: string
22
- }
23
-
24
- /** @public */
25
- export type TextAreaElementType = 'textarea' | ComponentType
26
-
27
- /** @public */
28
- export type TextAreaProps<E extends TextAreaElementType = TextAreaElementType> = Props<
29
- TextAreaOwnProps,
30
- E
31
- >
32
-
33
- /**
34
- * A multiline text input.
35
- *
36
- * @public
37
- */
38
- export function TextArea<E extends TextAreaElementType = typeof DEFAULT_TEXT_AREA_ELEMENT>(
39
- props: TextAreaProps<E>,
40
- ): React.JSX.Element {
41
- const {
42
- __unstable_disableFocusRing,
43
- as: Element = DEFAULT_TEXT_AREA_ELEMENT,
44
- border = true,
45
- className,
46
- customValidity,
47
- disabled = false,
48
- flex,
49
- fontSize = 2,
50
- fontWeight,
51
- gap = 3,
52
- padding = 3,
53
- radius = 2,
54
- readOnly,
55
- ref: forwardedRef,
56
- width,
57
- ...rest
58
- } = props as TextAreaProps<typeof DEFAULT_TEXT_AREA_ELEMENT>
59
-
60
- const ref = useRef<HTMLTextAreaElement | null>(null)
61
-
62
- useImperativeHandle<HTMLTextAreaElement | null, HTMLTextAreaElement | null>(
63
- forwardedRef,
64
- () => ref.current,
65
- )
66
-
67
- useCustomValidity(ref, customValidity)
68
-
69
- return (
70
- <span
71
- className={textArea({
72
- className,
73
- border,
74
- flex,
75
- fontSize,
76
- fontWeight,
77
- gap,
78
- padding,
79
- radius,
80
- width,
81
- })}
82
- data-ui="TextArea"
83
- >
84
- <Element
85
- {...rest}
86
- ref={ref}
87
- className={textArea_element()}
88
- data-invalid={customValidity ? '' : undefined}
89
- data-no-focus-ring={__unstable_disableFocusRing ? '' : undefined}
90
- data-read-only={!disabled && readOnly ? '' : undefined}
91
- disabled={disabled}
92
- readOnly={readOnly}
93
- />
94
- <span className={textArea_presentation()} />
95
- </span>
96
- )
97
- }