@sanity/ui 4.2.0 → 5.0.0-alpha.10

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 (339) hide show
  1. package/README.md +194 -28
  2. package/bin/sanity-ui.js +14 -0
  3. package/dist/_chunks-es/LazyRefractor.js +20 -0
  4. package/dist/_chunks-es/LazyRefractor.js.map +1 -0
  5. package/dist/cli/checks.js +148 -0
  6. package/dist/cli/config.js +23 -0
  7. package/dist/cli/detect.js +181 -0
  8. package/dist/cli/doctor.js +49 -0
  9. package/dist/cli/index.js +69 -0
  10. package/dist/cli/init.js +189 -0
  11. package/dist/cli/install.js +79 -0
  12. package/dist/cli/log.js +66 -0
  13. package/dist/cli/selfPackage.js +11 -0
  14. package/dist/cli/styles.js +185 -0
  15. package/dist/cli/test-utils.js +8 -0
  16. package/dist/cli/tsconfig.js +236 -0
  17. package/dist/cli/types.js +1 -0
  18. package/dist/cli/versions.js +45 -0
  19. package/dist/index.d.ts +1203 -1469
  20. package/dist/index.js +2123 -1989
  21. package/dist/index.js.map +1 -1
  22. package/dist/polyfills.d.ts +1 -0
  23. package/dist/polyfills.js +5 -0
  24. package/dist/polyfills.js.map +1 -0
  25. package/dist/styles.css +1 -547
  26. package/package.json +57 -58
  27. package/src/cli/checks.test.ts +38 -0
  28. package/src/cli/checks.ts +200 -0
  29. package/src/cli/config.ts +44 -0
  30. package/src/cli/detect.test.ts +191 -0
  31. package/src/cli/detect.ts +205 -0
  32. package/src/cli/doctor.test.ts +52 -0
  33. package/src/cli/doctor.ts +65 -0
  34. package/src/cli/index.ts +77 -0
  35. package/src/cli/init.ts +225 -0
  36. package/src/cli/install.test.ts +52 -0
  37. package/src/cli/install.ts +108 -0
  38. package/src/cli/log.ts +79 -0
  39. package/src/cli/selfPackage.ts +14 -0
  40. package/src/cli/styles.test.ts +130 -0
  41. package/src/cli/styles.ts +205 -0
  42. package/src/cli/test-utils.ts +10 -0
  43. package/src/cli/tsconfig.test.ts +174 -0
  44. package/src/cli/tsconfig.ts +282 -0
  45. package/src/cli/types.ts +77 -0
  46. package/src/cli/versions.test.ts +35 -0
  47. package/src/cli/versions.ts +41 -0
  48. package/src/components/badge/Badge.tsx +53 -0
  49. package/src/components/badge/badge.css +6 -0
  50. package/src/components/badge/badge.props.ts +31 -0
  51. package/src/components/box/Box.tsx +30 -0
  52. package/src/components/box/box.css +4 -0
  53. package/src/components/box/box.props.ts +29 -0
  54. package/src/components/button/Button.tsx +78 -0
  55. package/src/components/button/button.css +72 -0
  56. package/src/components/button/button.props.ts +122 -0
  57. package/src/components/card/Card.tsx +31 -0
  58. package/src/components/card/card.css +4 -0
  59. package/src/components/card/card.props.ts +58 -0
  60. package/src/components/checkbox/Checkbox.tsx +64 -0
  61. package/src/components/checkbox/checkbox.css +100 -0
  62. package/src/components/checkbox/checkbox.props.ts +33 -0
  63. package/src/components/code/Code.tsx +38 -0
  64. package/src/components/code/LazyRefractor.tsx +9 -0
  65. package/src/components/code/code.css +40 -0
  66. package/src/components/code/code.props.ts +44 -0
  67. package/src/components/container/Container.tsx +30 -0
  68. package/src/components/container/container.css +4 -0
  69. package/src/components/container/container.props.ts +28 -0
  70. package/src/components/dialog/Dialog.tsx +139 -0
  71. package/src/components/dialog/dialog.css +49 -0
  72. package/src/components/dialog/dialog.props.ts +45 -0
  73. package/src/components/divider/Divider.tsx +23 -0
  74. package/src/components/divider/divider.props.ts +9 -0
  75. package/src/components/eyebrow/Eyebrow.tsx +54 -0
  76. package/src/components/eyebrow/eyebrow.css +11 -0
  77. package/src/components/eyebrow/eyebrow.props.ts +28 -0
  78. package/src/components/flex/Flex.tsx +30 -0
  79. package/src/components/flex/flex.css +4 -0
  80. package/src/components/flex/flex.props.ts +33 -0
  81. package/src/components/grid/Grid.tsx +30 -0
  82. package/src/components/grid/grid.css +4 -0
  83. package/src/components/grid/grid.props.ts +33 -0
  84. package/src/components/h-stack/HStack.tsx +34 -0
  85. package/src/components/h-stack/hStack.props.ts +17 -0
  86. package/src/components/heading/Heading.tsx +54 -0
  87. package/src/components/heading/heading.css +9 -0
  88. package/src/components/heading/heading.props.ts +31 -0
  89. package/src/components/icon/Icon.tsx +24 -0
  90. package/src/components/icon/icon.css +17 -0
  91. package/src/components/icon/icon.props.ts +35 -0
  92. package/src/components/icon-button/IconButton.tsx +32 -0
  93. package/src/components/icon-button/iconButton.props.ts +31 -0
  94. package/src/components/index.css +28 -0
  95. package/src/components/indicator/Indicator.tsx +42 -0
  96. package/src/components/indicator/indicator.css +4 -0
  97. package/src/components/indicator/indicator.props.ts +24 -0
  98. package/src/components/indicator-stack/IndicatorStack.tsx +31 -0
  99. package/src/components/indicator-stack/indicator-stack.css +7 -0
  100. package/src/components/indicator-stack/indicatorStack.props.ts +15 -0
  101. package/src/components/inline/Inline.tsx +38 -0
  102. package/src/components/inline/inline.css +4 -0
  103. package/src/components/inline/inline.props.ts +100 -0
  104. package/src/components/label/Label.tsx +34 -0
  105. package/src/components/label/label.css +3 -0
  106. package/src/components/label/label.props.ts +25 -0
  107. package/src/components/link/Link.tsx +29 -0
  108. package/src/components/link/link.css +12 -0
  109. package/src/components/link/link.props.ts +23 -0
  110. package/src/components/list/List.tsx +167 -0
  111. package/src/components/list/list.css +25 -0
  112. package/src/components/list/list.props.ts +130 -0
  113. package/src/components/popover/Popover.tsx +85 -0
  114. package/src/components/popover/popover.css +21 -0
  115. package/src/components/popover/popover.props.ts +38 -0
  116. package/src/components/press-area/PressArea.tsx +29 -0
  117. package/src/components/press-area/press-area.css +22 -0
  118. package/src/components/press-area/pressArea.props.ts +16 -0
  119. package/src/components/radio/Radio.tsx +48 -0
  120. package/src/components/radio/radio.css +97 -0
  121. package/src/components/radio/radio.props.ts +25 -0
  122. package/src/components/skip-to-content/SkipToContent.tsx +35 -0
  123. package/src/components/skip-to-content/skip-to-content.css +9 -0
  124. package/src/components/skip-to-content/skipToContent.props.ts +25 -0
  125. package/src/components/spinner/Spinner.tsx +28 -0
  126. package/src/components/spinner/spinner.css +10 -0
  127. package/src/components/spinner/spinner.props.ts +19 -0
  128. package/src/components/switch/Switch.tsx +48 -0
  129. package/src/components/switch/switch.css +119 -0
  130. package/src/components/switch/switch.props.ts +25 -0
  131. package/src/components/text/Text.tsx +53 -0
  132. package/src/components/text/text.css +9 -0
  133. package/src/components/text/text.props.ts +28 -0
  134. package/src/components/tooltip/Tooltip.tsx +97 -0
  135. package/src/components/tooltip/tooltip.css +31 -0
  136. package/src/components/tooltip/tooltip.props.ts +36 -0
  137. package/src/components/tooltip-group/TooltipGroup.tsx +64 -0
  138. package/src/components/tooltip-group/tooltipGroup.props.ts +15 -0
  139. package/src/components/v-stack/VStack.tsx +32 -0
  140. package/src/components/v-stack/vStack.props.ts +17 -0
  141. package/src/components/visually-hidden/VisuallyHidden.tsx +29 -0
  142. package/src/components/visually-hidden/visually-hidden.css +9 -0
  143. package/src/components/visually-hidden/visuallyHidden.props.ts +23 -0
  144. package/src/css/classes/dynamic/flex-child.css +5 -0
  145. package/src/css/classes/dynamic/grid-child.css +8 -0
  146. package/src/css/classes/dynamic/grid-parent.css +6 -0
  147. package/src/css/classes/dynamic/height.css +5 -0
  148. package/src/css/classes/dynamic/index.css +7 -0
  149. package/src/css/classes/dynamic/line-clamp.css +5 -0
  150. package/src/css/classes/dynamic/readme.md +3 -0
  151. package/src/css/classes/dynamic/width.css +7 -0
  152. package/src/css/classes/dynamic/z-index.css +3 -0
  153. package/src/css/classes/generic/display.css +10 -0
  154. package/src/css/classes/generic/flex.css +24 -0
  155. package/src/css/classes/generic/grid.css +7 -0
  156. package/src/css/classes/generic/index.css +7 -0
  157. package/src/css/classes/generic/overflow.css +19 -0
  158. package/src/css/classes/generic/placement.css +202 -0
  159. package/src/css/classes/generic/position.css +7 -0
  160. package/src/css/classes/generic/readme.md +3 -0
  161. package/src/css/classes/generic/text-align.css +5 -0
  162. package/src/css/classes/index.css +4 -0
  163. package/src/css/classes/local/animation.css +4 -0
  164. package/src/css/classes/local/border.css +20 -0
  165. package/src/css/classes/local/index.css +6 -0
  166. package/src/css/classes/local/readme.md +3 -0
  167. package/src/css/classes/local/text-overflow.css +5 -0
  168. package/src/css/classes/local/text-trim.css +45 -0
  169. package/src/css/classes/local/tone.css +75 -0
  170. package/src/css/classes/local/top-anchor.css +4 -0
  171. package/src/css/classes/system/color.css +223 -0
  172. package/src/css/classes/system/container.css +8 -0
  173. package/src/css/classes/system/font-family.css +2 -0
  174. package/src/css/classes/system/font-weight.css +4 -0
  175. package/src/css/classes/system/gap.css +37 -0
  176. package/src/css/classes/system/index.css +10 -0
  177. package/src/css/classes/system/inset.css +56 -0
  178. package/src/css/classes/system/margin.css +148 -0
  179. package/src/css/classes/system/padding.css +78 -0
  180. package/src/css/classes/system/radius.css +10 -0
  181. package/src/css/classes/system/readme.md +3 -0
  182. package/src/css/classes/system/shadow.css +6 -0
  183. package/src/css/classes/system/typography.css +31 -0
  184. package/src/css/global/font-face.css +20 -0
  185. package/src/css/global/index.css +2 -0
  186. package/src/css/global/reset.css +76 -0
  187. package/src/css/tokens/index.css +3 -0
  188. package/src/css/tokens/opacity.css +6 -0
  189. package/src/css/tokens/semantic.css +25 -0
  190. package/src/css/tokens/surface.css +27 -0
  191. package/src/hooks/useIsClient.ts +10 -0
  192. package/src/index.css +18 -0
  193. package/src/index.ts +65 -0
  194. package/src/polyfills.ts +15 -0
  195. package/src/props/border.ts +51 -0
  196. package/src/props/flexChild.ts +29 -0
  197. package/src/props/flexParent.ts +47 -0
  198. package/src/props/gap.ts +31 -0
  199. package/src/props/gridChild.ts +50 -0
  200. package/src/props/gridParent.ts +45 -0
  201. package/src/props/height.ts +29 -0
  202. package/src/props/layout.ts +44 -0
  203. package/src/props/margin.ts +59 -0
  204. package/src/props/overflow.ts +30 -0
  205. package/src/props/padding.ts +59 -0
  206. package/src/props/placement.ts +16 -0
  207. package/src/props/position.ts +52 -0
  208. package/src/props/shadow.ts +15 -0
  209. package/src/props/tone.ts +15 -0
  210. package/src/props/typography.ts +62 -0
  211. package/src/props/width.ts +29 -0
  212. package/src/props/zIndex.ts +15 -0
  213. package/src/styles.css.d.ts +1 -0
  214. package/src/styles.css.node.js +2 -0
  215. package/src/styles.css.test.ts +24 -0
  216. package/src/types/Button.ts +8 -0
  217. package/src/types/Code.ts +6 -0
  218. package/src/types/Container.ts +3 -0
  219. package/src/types/Density.ts +3 -0
  220. package/src/types/Display.ts +11 -0
  221. package/src/types/Eyebrow.ts +3 -0
  222. package/src/types/Flex.ts +22 -0
  223. package/src/types/FontWeight.ts +3 -0
  224. package/src/types/Grid.ts +3 -0
  225. package/src/types/Heading.ts +6 -0
  226. package/src/types/Icon.ts +3 -0
  227. package/src/types/Interactive.ts +8 -0
  228. package/src/types/List.ts +2 -0
  229. package/src/types/Overflow.ts +3 -0
  230. package/src/types/Placement.ts +16 -0
  231. package/src/types/Position.ts +3 -0
  232. package/src/types/PropDef.ts +73 -0
  233. package/src/types/Radius.ts +3 -0
  234. package/src/types/Responsive.ts +10 -0
  235. package/src/types/Shadow.ts +3 -0
  236. package/src/types/Space.ts +15 -0
  237. package/src/types/Text.ts +3 -0
  238. package/src/types/TextAlign.ts +3 -0
  239. package/src/types/Tone.ts +3 -0
  240. package/src/utils/getProps.test.ts +156 -0
  241. package/src/utils/getProps.ts +156 -0
  242. package/src/utils/mergeTriggerProps.ts +66 -0
  243. package/src/utils/renderPortal.tsx +14 -0
  244. package/src/utils/suffixClassName.ts +5 -0
  245. package/src/version.ts +3 -0
  246. package/LICENSE +0 -21
  247. package/dist/_system-CTe2lb5l.d.ts +0 -40
  248. package/dist/_system-CTe2lb5l.d.ts.map +0 -1
  249. package/dist/arrow-BmX6qbAS.js +0 -170
  250. package/dist/arrow-BmX6qbAS.js.map +0 -1
  251. package/dist/autocomplete.d.ts +0 -140
  252. package/dist/autocomplete.d.ts.map +0 -1
  253. package/dist/autocomplete.js +0 -470
  254. package/dist/autocomplete.js.map +0 -1
  255. package/dist/breadcrumbs.d.ts +0 -18
  256. package/dist/breadcrumbs.d.ts.map +0 -1
  257. package/dist/breadcrumbs.js +0 -119
  258. package/dist/breadcrumbs.js.map +0 -1
  259. package/dist/button-BNyKSDyA.js +0 -180
  260. package/dist/button-BNyKSDyA.js.map +0 -1
  261. package/dist/button-dnqMFkWg.d.ts +0 -76
  262. package/dist/button-dnqMFkWg.d.ts.map +0 -1
  263. package/dist/card-C0a0wQTc.d.ts +0 -7
  264. package/dist/card-C0a0wQTc.d.ts.map +0 -1
  265. package/dist/code.d.ts +0 -20
  266. package/dist/code.d.ts.map +0 -1
  267. package/dist/code.js +0 -90
  268. package/dist/code.js.map +0 -1
  269. package/dist/codeFontStyle-84SMhFtI.js +0 -11
  270. package/dist/codeFontStyle-84SMhFtI.js.map +0 -1
  271. package/dist/component-DVlwaWB-.d.ts +0 -25
  272. package/dist/component-DVlwaWB-.d.ts.map +0 -1
  273. package/dist/element-BYgCE_iK.js +0 -51
  274. package/dist/element-BYgCE_iK.js.map +0 -1
  275. package/dist/factory-BzXTX8_Q.js +0 -3056
  276. package/dist/factory-BzXTX8_Q.js.map +0 -1
  277. package/dist/flex-DmbDG2ks.js +0 -76
  278. package/dist/flex-DmbDG2ks.js.map +0 -1
  279. package/dist/font-EtfxKPUz.d.ts +0 -49
  280. package/dist/font-EtfxKPUz.d.ts.map +0 -1
  281. package/dist/getElementRef-Jw7gY0eV.js +0 -102
  282. package/dist/getElementRef-Jw7gY0eV.js.map +0 -1
  283. package/dist/getScopedTheme-C-sZsyAz.js +0 -267
  284. package/dist/getScopedTheme-C-sZsyAz.js.map +0 -1
  285. package/dist/getTheme_v2-y09KqtEb.js +0 -487
  286. package/dist/getTheme_v2-y09KqtEb.js.map +0 -1
  287. package/dist/grid-6JSgMj1O.js +0 -115
  288. package/dist/grid-6JSgMj1O.js.map +0 -1
  289. package/dist/helpers-C8xxXAQC.js +0 -63
  290. package/dist/helpers-C8xxXAQC.js.map +0 -1
  291. package/dist/hotkeys-CaHsQlsO.js +0 -168
  292. package/dist/hotkeys-CaHsQlsO.js.map +0 -1
  293. package/dist/index.d.ts.map +0 -1
  294. package/dist/layer-Bl5R3uNR.js +0 -61
  295. package/dist/layer-Bl5R3uNR.js.map +0 -1
  296. package/dist/layer-ChlP9Ik6.d.ts +0 -242
  297. package/dist/layer-ChlP9Ik6.d.ts.map +0 -1
  298. package/dist/menu.d.ts +0 -146
  299. package/dist/menu.d.ts.map +0 -1
  300. package/dist/menu.js +0 -626
  301. package/dist/menu.js.map +0 -1
  302. package/dist/popover-B7-28L8y.js +0 -408
  303. package/dist/popover-B7-28L8y.js.map +0 -1
  304. package/dist/popover-CMlQeKn0.d.ts +0 -96
  305. package/dist/popover-CMlQeKn0.d.ts.map +0 -1
  306. package/dist/popover.d.ts +0 -2
  307. package/dist/popover.js +0 -3
  308. package/dist/refractor-CC48DwHi.js +0 -20
  309. package/dist/refractor-CC48DwHi.js.map +0 -1
  310. package/dist/responsiveFont-CilwaORG.js +0 -55
  311. package/dist/responsiveFont-CilwaORG.js.map +0 -1
  312. package/dist/rgba-BSYaEUW6.d.ts +0 -846
  313. package/dist/rgba-BSYaEUW6.d.ts.map +0 -1
  314. package/dist/selectable-B0GUIL74.d.ts +0 -7
  315. package/dist/selectable-B0GUIL74.d.ts.map +0 -1
  316. package/dist/stack-rsNFPq2-.js +0 -112
  317. package/dist/stack-rsNFPq2-.js.map +0 -1
  318. package/dist/styles-css.d.ts +0 -2
  319. package/dist/styles-css.js +0 -4
  320. package/dist/textInput-pSfQjkmx.js +0 -313
  321. package/dist/textInput-pSfQjkmx.js.map +0 -1
  322. package/dist/theme.d.ts +0 -280
  323. package/dist/theme.d.ts.map +0 -1
  324. package/dist/theme.js +0 -55
  325. package/dist/theme.js.map +0 -1
  326. package/dist/toast.d.ts +0 -73
  327. package/dist/toast.d.ts.map +0 -1
  328. package/dist/toast.js +0 -302
  329. package/dist/toast.js.map +0 -1
  330. package/dist/tooltip.d.ts +0 -88
  331. package/dist/tooltip.d.ts.map +0 -1
  332. package/dist/tooltip.js +0 -435
  333. package/dist/tooltip.js.map +0 -1
  334. package/dist/useClickOutsideEvent-wGLGWBZN.js +0 -36
  335. package/dist/useClickOutsideEvent-wGLGWBZN.js.map +0 -1
  336. package/dist/useElementSize-BJvbGHq8.js +0 -51
  337. package/dist/useElementSize-BJvbGHq8.js.map +0 -1
  338. package/dist/useLayer-D1usxIE0.js +0 -712
  339. package/dist/useLayer-D1usxIE0.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-B7-28L8y.js","names":["getTransformOrigin(originX, originY)","{\n left: x,\n position: strategy,\n top: y,\n transformOrigin: getTransformOrigin(originX, originY),\n width,\n zIndex,\n willChange: animate ? 'transform' : undefined,\n ...style,\n }","animate ? 'transform' : undefined","useMemo(\n () => ({\n left: x,\n position: strategy,\n top: y,\n transformOrigin: getTransformOrigin(originX, originY),\n width,\n zIndex,\n willChange: animate ? 'transform' : undefined,\n ...style,\n }),\n [animate, originX, originY, strategy, style, width, x, y, zIndex],\n )","{\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }","arrowX !== null ? arrowX : undefined","arrowY !== null ? arrowY : undefined","useMemo(\n () => ({\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }),\n [arrowX, arrowY],\n )","<Flex direction=\"column\" flex={1} padding={padding}>\n {children}\n </Flex>","<Flex data-ui=\"Popover__wrapper\" direction=\"column\" flex={1} overflow={overflow}>\n <Flex direction=\"column\" flex={1} padding={padding}>\n {children}\n </Flex>\n </Flex>","arrow && (\n <Arrow\n ref={arrowRef}\n style={arrowStyle}\n width={DEFAULT_POPOVER_ARROW_WIDTH}\n height={DEFAULT_POPOVER_ARROW_HEIGHT}\n radius={DEFAULT_POPOVER_ARROW_RADIUS}\n />\n )","<MotionCard\n data-ui=\"Popover\"\n {...restProps}\n data-placement={placement}\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n sizing=\"border\"\n style={rootStyle}\n tone={tone}\n {...(animate ? POPOVER_MOTION_PROPS : undefined)}\n >\n <Flex data-ui=\"Popover__wrapper\" direction=\"column\" flex={1} overflow={overflow}>\n <Flex direction=\"column\" flex={1} padding={padding}>\n {children}\n </Flex>\n </Flex>\n\n {arrow && (\n <Arrow\n ref={arrowRef}\n style={arrowStyle}\n width={DEFAULT_POPOVER_ARROW_WIDTH}\n height={DEFAULT_POPOVER_ARROW_HEIGHT}\n radius={DEFAULT_POPOVER_ARROW_RADIUS}\n />\n )}\n </MotionCard>","animate ? POPOVER_MOTION_PROPS : undefined","<div\n data-ui=\"PopoverOverlay\"\n style={{height: '100vh', inset: 0, position: 'fixed', width: '100vw', zIndex}}\n />","margins = DEFAULT_POPOVER_MARGINS","_animate = false","tone = 'inherit'","widthProp = 'auto'","arrowProp = false","constrainSize = false","overflow = 'hidden'","placementProp = 'bottom'","placementStrategy = 'flip'","preventOverflow = true","radiusProp = 3","shadowProp = 3","childProp","_fallbackPlacements","_floatingBoundary","paddingProp","forwardedRef","_referenceBoundary","_zOffsetProp","...restProps","_getArrayProp(paddingProp)","_getArrayProp(radiusProp)","_getArrayProp(shadowProp)","_getArrayProp(zOffsetProp)","() => ref.current","() => {\n widthRef.current = width\n }","[width]","calcMaxWidth({boundaryWidth, currentWidth: width})","() => {\n maxWidthRef.current = maxWidth\n }","[maxWidth]","() => {\n const floatingElement = ref.current\n\n if (!open || !floatingElement) return\n\n const referenceWidth = referenceWidthRef.current\n\n if (matchReferenceWidth) {\n if (referenceWidth !== undefined) {\n floatingElement.style.width = `${referenceWidth}px`\n }\n } else if (width !== undefined) {\n floatingElement.style.width = `${width}px`\n }\n\n if (typeof maxWidth === 'number') {\n floatingElement.style.maxWidth = `${maxWidth}px`\n }\n }","[width, matchReferenceWidth, maxWidth, open]","referenceWidth","{\n animate,\n arrowProp,\n arrowRef,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n placementProp,\n placementStrategy,\n preventOverflow,\n referenceBoundary,\n referenceWidthRef,\n rootBoundary,\n setReferenceWidth,\n widthRef,\n }","referenceElement\n ? {\n reference: referenceElement,\n }\n : undefined","{\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n elements: referenceElement\n ? {\n reference: referenceElement,\n }\n : undefined,\n }","(arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }","useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])","(node: HTMLDivElement | null) => {\n ref.current = node\n refs.setFloating(node)\n }","useCallback(\n (node: HTMLDivElement | null) => {\n ref.current = node\n refs.setFloating(node)\n },\n [refs],\n )","childProp ? getElementRef(childProp) : null","() => refs.reference.current","current","useMemo(() => {\n // If a reference element is defined, we don't need to clone the child\n if (referenceElement) return childProp\n\n if (!childProp) return null\n\n return cloneElement(childProp, {ref: refs.setReference})\n }, [childProp, referenceElement, refs.setReference])","cloneElement(childProp, {ref: refs.setReference})","setReference","() => update","[update]","childProp || <></>","modal && <ViewportOverlay />","<PopoverCard\n {...restProps}\n __unstable_margins={margins}\n animate={animate}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n hidden={referenceHidden}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n originX={originX}\n originY={originY}\n strategy={strategy}\n tone={tone}\n width={matchReferenceWidth ? referenceWidth : width}\n x={x}\n y={y}\n >\n {content}\n </PopoverCard>","matchReferenceWidth ? referenceWidth : width","<LayerProvider zOffset={zOffset}>\n {/* Optional transparent blocking overlay at the top-most z-index layer. Must be positioned before the below popover card. */}\n {modal && <ViewportOverlay />}\n\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n animate={animate}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n hidden={referenceHidden}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n originX={originX}\n originY={originY}\n strategy={strategy}\n tone={tone}\n width={matchReferenceWidth ? referenceWidth : width}\n x={x}\n y={y}\n >\n {content}\n </PopoverCard>\n </LayerProvider>","portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>{popover}</Portal>\n ) : (\n popover\n )","animate ? (\n <AnimateActivity layoutMode=\"default\" mode={open ? 'visible' : 'hidden'}>\n {popoverNode}\n </AnimateActivity>\n ) : (\n <Activity mode={open ? 'visible' : 'hidden'}>{popoverNode}</Activity>\n )","<>\n {/* the popover */}\n {animate ? (\n <AnimateActivity layoutMode=\"default\" mode={open ? 'visible' : 'hidden'}>\n {popoverNode}\n </AnimateActivity>\n ) : (\n <Activity mode={open ? 'visible' : 'hidden'}>{popoverNode}</Activity>\n )}\n\n {/* the referred element */}\n {child}\n </>","{\n animate,\n arrowProp,\n arrowRef,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n placementProp,\n placementStrategy,\n preventOverflow,\n referenceBoundary,\n referenceWidthRef,\n rootBoundary,\n setReferenceWidth,\n widthRef,\n}: {\n animate: boolean\n arrowProp: boolean\n arrowRef: React.RefObject<HTMLDivElement | null>\n constrainSize: boolean\n fallbackPlacements: Placement[]\n floatingBoundary: HTMLElement | null\n margins: PopoverMargins\n matchReferenceWidth: boolean | undefined\n maxWidthRef: React.RefObject<number | undefined>\n placementProp: Placement\n placementStrategy: 'flip' | 'autoPlacement'\n preventOverflow: boolean\n referenceBoundary: HTMLElement | null\n referenceWidthRef: React.RefObject<number | undefined>\n rootBoundary: RootBoundary\n setReferenceWidth: (referenceWidth: number) => void\n widthRef: React.RefObject<number | undefined>\n}","autoPlacement({\n allowedPlacements: [placementProp].concat(fallbackPlacements),\n })","flip({\n boundary: floatingBoundary || undefined,\n fallbackPlacements,\n padding: DEFAULT_POPOVER_PADDING,\n rootBoundary,\n })","floatingBoundary || undefined","offset({mainAxis: DEFAULT_POPOVER_DISTANCE})","size({\n boundaryElement: floatingBoundary || undefined,\n constrainSize,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n padding: DEFAULT_POPOVER_PADDING,\n referenceWidthRef,\n setReferenceWidth,\n widthRef,\n })","shift({\n boundary: floatingBoundary || undefined,\n rootBoundary,\n padding: DEFAULT_POPOVER_PADDING,\n })","arrow({\n element: arrowRef,\n padding: DEFAULT_POPOVER_PADDING,\n })","hide({\n boundary: referenceBoundary || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n })","referenceBoundary || undefined","useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n if (constrainSize || preventOverflow) {\n if (placementStrategy === 'autoPlacement') {\n ret.push(\n autoPlacement({\n allowedPlacements: [placementProp].concat(fallbackPlacements),\n }),\n )\n } else {\n ret.push(\n flip({\n boundary: floatingBoundary || undefined,\n fallbackPlacements,\n padding: DEFAULT_POPOVER_PADDING,\n rootBoundary,\n }),\n )\n }\n }\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: DEFAULT_POPOVER_DISTANCE}))\n\n // Track sizes\n if (constrainSize || matchReferenceWidth) {\n ret.push(\n size({\n boundaryElement: floatingBoundary || undefined,\n constrainSize,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n padding: DEFAULT_POPOVER_PADDING,\n referenceWidthRef,\n setReferenceWidth,\n widthRef,\n }),\n )\n }\n\n // Shift the popover so its sits within the boundary element\n if (preventOverflow) {\n ret.push(\n shift({\n boundary: floatingBoundary || undefined,\n rootBoundary,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Place arrow\n if (arrowProp) {\n ret.push(\n arrow({\n element: arrowRef,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Determine the origin to scale from.\n // Must be placed after `@sanity/ui/size` and `shift` middleware.\n if (animate) {\n ret.push(origin)\n }\n\n ret.push(\n hide({\n boundary: referenceBoundary || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n }),\n )\n\n return ret\n }, [\n animate,\n arrowProp,\n arrowRef,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n placementProp,\n placementStrategy,\n preventOverflow,\n referenceBoundary,\n referenceWidthRef,\n rootBoundary,\n setReferenceWidth,\n widthRef,\n ])"],"sources":["../src/core/primitives/popover/constants.ts","../src/core/primitives/popover/floating-ui/size.ts","../src/core/primitives/popover/helpers.ts","../src/core/primitives/popover/popoverCard.tsx","../src/core/primitives/popover/popover.tsx"],"sourcesContent":["import {Placement} from '../../types/placement'\nimport {PopoverMargins} from '../../types/popover'\n\nexport const DEFAULT_POPOVER_DISTANCE = 4\nexport const DEFAULT_POPOVER_PADDING = 4\nexport const DEFAULT_POPOVER_ARROW_WIDTH = 19\nexport const DEFAULT_POPOVER_ARROW_HEIGHT = 8\nexport const DEFAULT_POPOVER_ARROW_RADIUS = 2\nexport const DEFAULT_POPOVER_MARGINS: PopoverMargins = [0, 0, 0, 0]\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n 'top': ['bottom', 'left', 'right'],\n 'top-start': ['bottom-start', 'left-start', 'right-start'],\n 'top-end': ['bottom-end', 'left-end', 'right-end'],\n 'bottom': ['top', 'left', 'right'],\n 'bottom-start': ['top-start', 'left-start', 'right-start'],\n 'bottom-end': ['top-end', 'left-end', 'right-end'],\n 'left': ['right', 'top', 'bottom'],\n 'left-start': ['right-start', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'top-end', 'bottom-end'],\n 'right': ['left', 'top', 'bottom'],\n 'right-start': ['left-start', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'top-end', 'bottom-end'],\n}\n","import {detectOverflow, Middleware} from '@floating-ui/react-dom'\n\nimport {PopoverMargins} from '../../../types/popover'\n\nexport function size(options: {\n boundaryElement?: HTMLElement | null\n constrainSize: boolean\n margins: PopoverMargins\n matchReferenceWidth?: boolean\n maxWidthRef: React.RefObject<number | undefined>\n padding?: number\n referenceWidthRef: React.RefObject<number | undefined>\n setReferenceWidth: (referenceWidth: number) => void\n widthRef: React.RefObject<number | undefined>\n}): Middleware {\n const {\n constrainSize,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n padding = 0,\n referenceWidthRef,\n setReferenceWidth,\n widthRef,\n } = options\n\n return {\n name: '@sanity/ui/size',\n async fn(args) {\n const {elements, placement, platform, rects} = args\n const {floating, reference} = rects\n\n const overflow = await detectOverflow(args, {\n altBoundary: true,\n boundary: options.boundaryElement || undefined,\n elementContext: 'floating',\n padding,\n rootBoundary: 'viewport',\n })\n\n let maxWidth = Infinity\n let maxHeight = Infinity\n\n const floatingW = floating.width\n const floatingH = floating.height\n\n if (placement.includes('top')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.top\n }\n\n if (placement.includes('right')) {\n maxWidth = floatingW - overflow.right\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n if (placement.includes('bottom')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.bottom\n }\n\n if (placement.includes('left')) {\n maxWidth = floatingW - overflow.left\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n // IMPORTANT – APPLY ELEMENT STYLES HERE\n // Elements need to be resized BEFORE the `platform.getDimensions` call below\n const availableWidth = maxWidth - margins[1] - margins[3]\n const availableHeight = maxHeight - margins[0] - margins[2]\n const referenceWidth = reference.width - margins[1] - margins[3]\n referenceWidthRef.current = referenceWidth\n setReferenceWidth(referenceWidth)\n\n if (matchReferenceWidth) {\n elements.floating.style.width = `${referenceWidth}px`\n } else if (widthRef.current !== undefined) {\n elements.floating.style.width = `${widthRef.current}px`\n }\n\n if (constrainSize) {\n elements.floating.style.maxWidth = `${Math.min(availableWidth, maxWidthRef.current ?? Infinity)}px`\n\n elements.floating.style.maxHeight = `${availableHeight}px`\n }\n\n const nextDimensions = await platform.getDimensions(elements.floating)\n\n const targetH = nextDimensions.height\n const targetW = nextDimensions.width\n\n if (floatingW !== targetW || floatingH !== targetH) {\n return {reset: {rects: true}}\n }\n\n return {}\n },\n }\n}\n","import {DEFAULT_POPOVER_PADDING} from './constants'\nimport {PopoverWidth} from './types'\n\nexport function calcCurrentWidth(params: {\n mediaIndex: number\n container: number[]\n width: PopoverWidth[]\n}): number | undefined {\n const {container, mediaIndex, width} = params\n\n const w = width[mediaIndex]\n const currentWidth: PopoverWidth | undefined = w === undefined ? width[width.length - 1] : w\n\n return typeof currentWidth === 'number' ? container[currentWidth] : undefined\n}\n\nexport function calcMaxWidth(params: {\n boundaryWidth: number | undefined\n currentWidth: number | undefined\n}): number | undefined {\n const {boundaryWidth, currentWidth} = params\n\n if (currentWidth === undefined && boundaryWidth === undefined) {\n return undefined\n }\n\n return Math.min(\n currentWidth ?? Infinity,\n (boundaryWidth || Infinity) - DEFAULT_POPOVER_PADDING * 2,\n )\n}\n","import {Strategy} from '@floating-ui/react-dom'\nimport {motion} from 'motion/react'\nimport React, {CSSProperties, useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {ThemeColorSchemeKey} from '../../../theme/system/color/_system'\nimport {POPOVER_MOTION_PROPS} from '../../constants'\nimport {getTransformOrigin} from '../../middleware/origin'\nimport {BoxOverflow} from '../../types/box'\nimport {CardTone} from '../../types/card'\nimport {Placement} from '../../types/placement'\nimport {PopoverMargins} from '../../types/popover'\nimport {Radius} from '../../types/radius'\nimport {Arrow} from '../../utils/arrow/arrow'\nimport {useLayer} from '../../utils/layer/useLayer'\nimport {Card} from '../card/card'\nimport {Flex} from '../flex/flex'\nimport {\n DEFAULT_POPOVER_ARROW_HEIGHT,\n DEFAULT_POPOVER_ARROW_RADIUS,\n DEFAULT_POPOVER_ARROW_WIDTH,\n DEFAULT_POPOVER_MARGINS,\n} from './constants'\n\nconst MotionCard = styled(motion.create(Card))`\n &:not([hidden]) {\n display: flex;\n }\n flex-direction: column;\n width: max-content;\n min-width: min-content;\n will-change: transform;\n`\n\n/**\n * @internal\n */\nexport function PopoverCard(\n props: {\n /** @beta*/\n __unstable_margins?: PopoverMargins\n animate?: boolean\n arrow: boolean\n arrowRef: React.Ref<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n originX?: number\n originY?: number\n overflow?: BoxOverflow\n padding?: number | number[]\n placement: Placement\n radius?: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n strategy: Strategy\n tone: CardTone\n width: number | undefined\n x: number | null\n y: number | null\n } & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n) {\n const {\n __unstable_margins: marginsProp,\n animate,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n padding,\n placement,\n originX,\n originY,\n overflow,\n radius,\n ref,\n scheme,\n shadow,\n strategy,\n style,\n tone,\n width,\n x: xProp,\n y: yProp,\n ...restProps\n } = props\n\n const {zIndex} = useLayer()\n\n // Get margins: [top, right, bottom, left]\n const margins: PopoverMargins = useMemo(\n () => marginsProp || DEFAULT_POPOVER_MARGINS,\n [marginsProp],\n )\n\n // Translate according to margins\n const x = (xProp ?? 0) + margins[3]\n const y = (yProp ?? 0) + margins[0]\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n left: x,\n position: strategy,\n top: y,\n transformOrigin: getTransformOrigin(originX, originY),\n width,\n zIndex,\n willChange: animate ? 'transform' : undefined,\n ...style,\n }),\n [animate, originX, originY, strategy, style, width, x, y, zIndex],\n )\n\n const arrowStyle: CSSProperties = useMemo(\n () => ({\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }),\n [arrowX, arrowY],\n )\n\n return (\n <MotionCard\n data-ui=\"Popover\"\n {...restProps}\n data-placement={placement}\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n sizing=\"border\"\n style={rootStyle}\n tone={tone}\n {...(animate ? POPOVER_MOTION_PROPS : undefined)}\n >\n <Flex data-ui=\"Popover__wrapper\" direction=\"column\" flex={1} overflow={overflow}>\n <Flex direction=\"column\" flex={1} padding={padding}>\n {children}\n </Flex>\n </Flex>\n\n {arrow && (\n <Arrow\n ref={arrowRef}\n style={arrowStyle}\n width={DEFAULT_POPOVER_ARROW_WIDTH}\n height={DEFAULT_POPOVER_ARROW_HEIGHT}\n radius={DEFAULT_POPOVER_ARROW_RADIUS}\n />\n )}\n </MotionCard>\n )\n}\n","import {\n arrow,\n autoPlacement,\n autoUpdate,\n flip,\n hide,\n Middleware,\n offset,\n RootBoundary,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {\n Activity,\n cloneElement,\n type Ref,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {ThemeColorSchemeKey} from '../../../theme/system/color/_system'\nimport {useElementSize} from '../../hooks/useElementSize'\nimport {useMediaIndex} from '../../hooks/useMediaIndex/useMediaIndex'\nimport {usePrefersReducedMotion} from '../../hooks/usePrefersReducedMotion'\nimport {origin} from '../../middleware/origin'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {BoxOverflow} from '../../types/box'\nimport {CardTone} from '../../types/card'\nimport {Placement} from '../../types/placement'\nimport {PopoverMargins} from '../../types/popover'\nimport {AnimateActivity} from '../../utils/animateActivity'\nimport {useBoundaryElement} from '../../utils/boundaryElement/useBoundaryElement'\nimport {getElementRef} from '../../utils/getElementRef'\nimport {LayerProps} from '../../utils/layer/layer'\nimport {LayerProvider} from '../../utils/layer/layerProvider'\nimport {useLayer} from '../../utils/layer/useLayer'\nimport {Portal} from '../../utils/portal/portal'\nimport {ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_POPOVER_DISTANCE,\n DEFAULT_POPOVER_MARGINS,\n DEFAULT_POPOVER_PADDING,\n} from './constants'\nimport {size} from './floating-ui/size'\nimport {calcCurrentWidth, calcMaxWidth} from './helpers'\nimport {PopoverCard} from './popoverCard'\nimport {PopoverUpdateCallback, PopoverWidth} from './types'\n\n/** @public */\nexport interface PopoverProps\n extends Omit<LayerProps, 'as'>, ResponsiveRadiusProps, ResponsiveShadowProps {\n /** @beta */\n __unstable_margins?: PopoverMargins\n /**\n * Whether the popover should animate in and out.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n arrow?: boolean\n /** @deprecated Use `floatingBoundary` and/or `referenceBoundary` instead */\n boundaryElement?: never\n children?: React.JSX.Element\n /**\n * When `true`, prevent overflow within the current boundary:\n * - by flipping on its side axis\n * - by resizing\n /*\n * Note that:\n * - setting `preventOverflow` to `true` also prevents overflow on its side axis\n * - setting `matchReferenceWidth` to `true` also causes the popover to resize\n *\n * @defaultValue false\n */\n constrainSize?: boolean\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n floatingBoundary?: HTMLElement | null\n /**\n * When `true`, set the maximum width to match the reference element, and also prevent overflow within\n * the current boundary by resizing.\n *\n * Note that setting `constrainSize` to `true` also causes the popover to resize\n *\n * @defaultValue false\n */\n matchReferenceWidth?: boolean\n /**\n * When true, blocks all pointer interaction with elements beneath the popover until closed.\n *\n * @beta\n * @defaultValue false\n */\n modal?: boolean\n open?: boolean\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n /**\n * When 'flip' (default), the placement is determined from the initial placement and the\n * fallback placements in order. Whichever fits in the viewport first.\n *\n * When 'autoPlacement', the initial placement and all fallback placements are evaluated\n * and the placement with the most viewport space available.\n *\n * Option is only relevant if either `constrainSize` or `preventOverflow` is `true`\n */\n placementStrategy?: 'flip' | 'autoPlacement'\n /** Whether or not to render the popover in a portal element. */\n portal?: boolean | string\n preventOverflow?: boolean\n referenceBoundary?: HTMLElement | null\n /**\n * When defined, the popover will be positioned relative to this element.\n * The children of the popover won't be rendered.\n */\n referenceElement?: HTMLElement | null\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n /** @beta */\n updateRef?: Ref<PopoverUpdateCallback | undefined>\n width?: PopoverWidth | PopoverWidth[]\n}\n\nconst ViewportOverlay = () => {\n const {zIndex} = useLayer()\n\n return (\n <div\n data-ui=\"PopoverOverlay\"\n style={{height: '100vh', inset: 0, position: 'fixed', width: '100vw', zIndex}}\n />\n )\n}\n\n/**\n * The `Popover` component is used to display some content on top of another.\n *\n * @public\n */\nexport function Popover(\n props: PopoverProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>,\n): React.JSX.Element {\n const {container, layer} = useTheme_v2()\n const boundaryElementContext = useBoundaryElement()\n\n const {\n __unstable_margins: margins = DEFAULT_POPOVER_MARGINS,\n animate: _animate = false,\n arrow: arrowProp = false,\n children: childProp,\n constrainSize = false,\n content,\n disabled,\n fallbackPlacements: _fallbackPlacements,\n matchReferenceWidth,\n floatingBoundary: _floatingBoundary,\n modal,\n // oxlint-disable-next-line no-unused-vars\n onActivate,\n open,\n overflow = 'hidden',\n padding: paddingProp,\n placement: placementProp = 'bottom',\n placementStrategy = 'flip',\n portal,\n preventOverflow = true,\n radius: radiusProp = 3,\n ref: forwardedRef,\n referenceBoundary: _referenceBoundary,\n referenceElement,\n scheme,\n shadow: shadowProp = 3,\n tone = 'inherit',\n width: widthProp = 'auto',\n zOffset: _zOffsetProp,\n updateRef,\n ...restProps\n } = props\n const fallbackPlacements =\n _fallbackPlacements ?? DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom']\n const floatingBoundary = _floatingBoundary ?? boundaryElementContext.element\n const referenceBoundary = _referenceBoundary ?? boundaryElementContext.element\n // Max-width uses BoundaryElementProvider when present; otherwise the floating\n // boundary (same element the old `boundaryElement` prop used for both).\n const boundaryElement = boundaryElementContext.element ?? floatingBoundary\n const zOffsetProp = _zOffsetProp ?? layer.popover.zOffset\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const boundarySize = useElementSize(boundaryElement)?.border\n const padding = _getArrayProp(paddingProp)\n const radius = _getArrayProp(radiusProp)\n const shadow = _getArrayProp(shadowProp)\n const widthArrayProp = _getArrayProp(widthProp)\n const zOffset = _getArrayProp(zOffsetProp)\n const ref = useRef<HTMLDivElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n const mediaIndex = useMediaIndex()\n const boundaryWidth = constrainSize || preventOverflow ? boundarySize?.width : undefined\n\n // Update width when\n // - media index changes\n // - `width` property changes\n const width = calcCurrentWidth({\n container,\n mediaIndex,\n width: widthArrayProp,\n })\n const widthRef = useRef(width)\n\n useEffect(() => {\n widthRef.current = width\n }, [width])\n\n // Update max width when\n // - boundary width changes\n // - `width` property changes\n const maxWidth = calcMaxWidth({boundaryWidth, currentWidth: width})\n const maxWidthRef = useRef(maxWidth)\n\n useEffect(() => {\n maxWidthRef.current = maxWidth\n }, [maxWidth])\n\n // Keep track of reference element width (see `size` middleware below)\n const referenceWidthRef = useRef<number>(undefined)\n\n // Force apply width & max width to floating element\n useEffect(() => {\n const floatingElement = ref.current\n\n if (!open || !floatingElement) return\n\n const referenceWidth = referenceWidthRef.current\n\n if (matchReferenceWidth) {\n if (referenceWidth !== undefined) {\n floatingElement.style.width = `${referenceWidth}px`\n }\n } else if (width !== undefined) {\n floatingElement.style.width = `${width}px`\n }\n\n if (typeof maxWidth === 'number') {\n floatingElement.style.maxWidth = `${maxWidth}px`\n }\n }, [width, matchReferenceWidth, maxWidth, open])\n\n const [referenceWidth, setReferenceWidth] = useState<number | undefined>(undefined)\n const middleware = useMiddleware({\n animate,\n arrowProp,\n arrowRef,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n placementProp,\n placementStrategy,\n preventOverflow,\n referenceBoundary,\n referenceWidthRef,\n rootBoundary,\n setReferenceWidth,\n widthRef,\n })\n\n const {x, y, middlewareData, placement, refs, strategy, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n elements: referenceElement\n ? {\n reference: referenceElement,\n }\n : undefined,\n })\n\n const referenceHidden = middlewareData.hide?.referenceHidden\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const originX = middlewareData['@sanity/ui/origin']?.originX\n const originY = middlewareData['@sanity/ui/origin']?.originY\n\n const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n ref.current = node\n refs.setFloating(node)\n },\n [refs],\n )\n\n // If there's a child then we need to set the reference element to the cloned child ref\n // and if child changes we make sure to update or remove the reference element.\n useImperativeHandle(childProp ? getElementRef(childProp) : null, () => refs.reference.current)\n\n const child = useMemo(() => {\n // If a reference element is defined, we don't need to clone the child\n if (referenceElement) return childProp\n\n if (!childProp) return null\n\n return cloneElement(childProp, {ref: refs.setReference})\n }, [childProp, referenceElement, refs.setReference])\n\n useImperativeHandle(updateRef, () => update, [update])\n\n if (disabled) {\n return childProp || <></>\n }\n\n const popover = (\n <LayerProvider zOffset={zOffset}>\n {/* Optional transparent blocking overlay at the top-most z-index layer. Must be positioned before the below popover card. */}\n {modal && <ViewportOverlay />}\n\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n animate={animate}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n hidden={referenceHidden}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n originX={originX}\n originY={originY}\n strategy={strategy}\n tone={tone}\n width={matchReferenceWidth ? referenceWidth : width}\n x={x}\n y={y}\n >\n {content}\n </PopoverCard>\n </LayerProvider>\n )\n\n const popoverNode = portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>{popover}</Portal>\n ) : (\n popover\n )\n\n return (\n <>\n {/* the popover */}\n {animate ? (\n <AnimateActivity layoutMode=\"default\" mode={open ? 'visible' : 'hidden'}>\n {popoverNode}\n </AnimateActivity>\n ) : (\n <Activity mode={open ? 'visible' : 'hidden'}>{popoverNode}</Activity>\n )}\n\n {/* the referred element */}\n {child}\n </>\n )\n}\n\nfunction useMiddleware({\n animate,\n arrowProp,\n arrowRef,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n placementProp,\n placementStrategy,\n preventOverflow,\n referenceBoundary,\n referenceWidthRef,\n rootBoundary,\n setReferenceWidth,\n widthRef,\n}: {\n animate: boolean\n arrowProp: boolean\n arrowRef: React.RefObject<HTMLDivElement | null>\n constrainSize: boolean\n fallbackPlacements: Placement[]\n floatingBoundary: HTMLElement | null\n margins: PopoverMargins\n matchReferenceWidth: boolean | undefined\n maxWidthRef: React.RefObject<number | undefined>\n placementProp: Placement\n placementStrategy: 'flip' | 'autoPlacement'\n preventOverflow: boolean\n referenceBoundary: HTMLElement | null\n referenceWidthRef: React.RefObject<number | undefined>\n rootBoundary: RootBoundary\n setReferenceWidth: (referenceWidth: number) => void\n widthRef: React.RefObject<number | undefined>\n}) {\n return useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n if (constrainSize || preventOverflow) {\n if (placementStrategy === 'autoPlacement') {\n ret.push(\n autoPlacement({\n allowedPlacements: [placementProp].concat(fallbackPlacements),\n }),\n )\n } else {\n ret.push(\n flip({\n boundary: floatingBoundary || undefined,\n fallbackPlacements,\n padding: DEFAULT_POPOVER_PADDING,\n rootBoundary,\n }),\n )\n }\n }\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: DEFAULT_POPOVER_DISTANCE}))\n\n // Track sizes\n if (constrainSize || matchReferenceWidth) {\n ret.push(\n size({\n boundaryElement: floatingBoundary || undefined,\n constrainSize,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n padding: DEFAULT_POPOVER_PADDING,\n referenceWidthRef,\n setReferenceWidth,\n widthRef,\n }),\n )\n }\n\n // Shift the popover so its sits within the boundary element\n if (preventOverflow) {\n ret.push(\n shift({\n boundary: floatingBoundary || undefined,\n rootBoundary,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Place arrow\n if (arrowProp) {\n ret.push(\n arrow({\n element: arrowRef,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Determine the origin to scale from.\n // Must be placed after `@sanity/ui/size` and `shift` middleware.\n if (animate) {\n ret.push(origin)\n }\n\n ret.push(\n hide({\n boundary: referenceBoundary || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n }),\n )\n\n return ret\n }, [\n animate,\n arrowProp,\n arrowRef,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n placementProp,\n placementStrategy,\n preventOverflow,\n referenceBoundary,\n referenceWidthRef,\n rootBoundary,\n setReferenceWidth,\n widthRef,\n ])\n}\n"],"mappings":"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"}
@@ -1,96 +0,0 @@
1
- import { N as BoxOverflow, m as ResponsiveShadowProps, n as LayerProps, p as ResponsiveRadiusProps, r as Placement } from "./layer-ChlP9Ik6.js";
2
- import { s as ThemeColorSchemeKey } from "./_system-CTe2lb5l.js";
3
- import { t as CardTone } from "./card-C0a0wQTc.js";
4
- import { Ref } from "react";
5
- /**
6
- * @beta
7
- */
8
- type PopoverMargins = [number, number, number, number];
9
- /** @beta */
10
- type PopoverUpdateCallback = () => void;
11
- /** @public */
12
- type PopoverWidth = number | 'auto';
13
- /** @public */
14
- interface PopoverProps extends Omit<LayerProps, 'as'>, ResponsiveRadiusProps, ResponsiveShadowProps {
15
- /** @beta */
16
- __unstable_margins?: PopoverMargins;
17
- /**
18
- * Whether the popover should animate in and out.
19
- *
20
- * @beta
21
- * @defaultValue false
22
- */
23
- animate?: boolean;
24
- arrow?: boolean;
25
- /** @deprecated Use `floatingBoundary` and/or `referenceBoundary` instead */
26
- boundaryElement?: never;
27
- children?: React.JSX.Element;
28
- /**
29
- * When `true`, prevent overflow within the current boundary:
30
- * - by flipping on its side axis
31
- * - by resizing
32
- /*
33
- * Note that:
34
- * - setting `preventOverflow` to `true` also prevents overflow on its side axis
35
- * - setting `matchReferenceWidth` to `true` also causes the popover to resize
36
- *
37
- * @defaultValue false
38
- */
39
- constrainSize?: boolean;
40
- content?: React.ReactNode;
41
- disabled?: boolean;
42
- fallbackPlacements?: Placement[];
43
- floatingBoundary?: HTMLElement | null;
44
- /**
45
- * When `true`, set the maximum width to match the reference element, and also prevent overflow within
46
- * the current boundary by resizing.
47
- *
48
- * Note that setting `constrainSize` to `true` also causes the popover to resize
49
- *
50
- * @defaultValue false
51
- */
52
- matchReferenceWidth?: boolean;
53
- /**
54
- * When true, blocks all pointer interaction with elements beneath the popover until closed.
55
- *
56
- * @beta
57
- * @defaultValue false
58
- */
59
- modal?: boolean;
60
- open?: boolean;
61
- overflow?: BoxOverflow;
62
- padding?: number | number[];
63
- placement?: Placement;
64
- /**
65
- * When 'flip' (default), the placement is determined from the initial placement and the
66
- * fallback placements in order. Whichever fits in the viewport first.
67
- *
68
- * When 'autoPlacement', the initial placement and all fallback placements are evaluated
69
- * and the placement with the most viewport space available.
70
- *
71
- * Option is only relevant if either `constrainSize` or `preventOverflow` is `true`
72
- */
73
- placementStrategy?: 'flip' | 'autoPlacement';
74
- /** Whether or not to render the popover in a portal element. */
75
- portal?: boolean | string;
76
- preventOverflow?: boolean;
77
- referenceBoundary?: HTMLElement | null;
78
- /**
79
- * When defined, the popover will be positioned relative to this element.
80
- * The children of the popover won't be rendered.
81
- */
82
- referenceElement?: HTMLElement | null;
83
- scheme?: ThemeColorSchemeKey;
84
- tone?: CardTone;
85
- /** @beta */
86
- updateRef?: Ref<PopoverUpdateCallback | undefined>;
87
- width?: PopoverWidth | PopoverWidth[];
88
- }
89
- /**
90
- * The `Popover` component is used to display some content on top of another.
91
- *
92
- * @public
93
- */
94
- declare function Popover(props: PopoverProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>): React.JSX.Element;
95
- export { PopoverMargins as a, PopoverWidth as i, PopoverProps as n, PopoverUpdateCallback as r, Popover as t };
96
- //# sourceMappingURL=popover-CMlQeKn0.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-CMlQeKn0.d.ts","names":[],"sources":["../src/core/types/popover.ts","../src/core/primitives/popover/types.ts","../src/core/primitives/popover/popover.tsx"],"mappings":";;;;;;;KAGY;;KCFA;;KAIA;;UCkDK,qBACP,KAAK,mBAAmB,uBAAuB;;EAEvD,qBAAqB;;;;;;;EAOrB;EACA;;EAEA;EACA,WAAW,MAAM,IAAI;;;;;;;;;;;;EAYrB;EACA,UAAU,MAAM;EAChB;EACA,qBAAqB;EACrB,mBAAmB;;;;;;;;;EASnB;;;;;;;EAOA;EACA;EACA,WAAW;EACX;EACA,YAAY;;;;;;;;;;EAUZ;;EAEA;EACA;EACA,oBAAoB;;;;;EAKpB,mBAAmB;EACnB,SAAS;EACT,OAAO;;EAEP,YAAY,IAAI;EAChB,QAAQ,eAAe;;;;;;;iBAmBT,QACd,OAAO,eACL,KAAK,MAAM,UAAU,4DACtB,MAAM,IAAI"}
package/dist/popover.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { a as PopoverMargins, i as PopoverWidth, n as PopoverProps, r as PopoverUpdateCallback, t as Popover } from "./popover-CMlQeKn0.js";
2
- export { Popover, type PopoverMargins, type PopoverProps, type PopoverUpdateCallback, type PopoverWidth };
package/dist/popover.js DELETED
@@ -1,3 +0,0 @@
1
- "use client";
2
- import { t as Popover } from "./popover-B7-28L8y.js";
3
- export { Popover };
@@ -1,20 +0,0 @@
1
- import { c } from "react/compiler-runtime";
2
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
- import { Refractor, hasLanguage } from "react-refractor";
4
- function LazyRefractor(props) {
5
- let $ = c(13), { language: languageProp, value } = props, language = typeof languageProp == "string" ? languageProp : void 0, t0;
6
- $[0] === language ? t0 = $[1] : (t0 = language ? hasLanguage(language) : !1, $[0] = language, $[1] = t0);
7
- let registered = t0, t1;
8
- $[2] !== language || $[3] !== registered || $[4] !== value ? (t1 = !(language && registered) && /* @__PURE__ */ jsx("code", { children: value }), $[2] = language, $[3] = registered, $[4] = value, $[5] = t1) : t1 = $[5];
9
- let t2;
10
- $[6] !== language || $[7] !== registered || $[8] !== value ? (t2 = language && registered && /* @__PURE__ */ jsx(Refractor, {
11
- inline: !0,
12
- language,
13
- value: String(value)
14
- }), $[6] = language, $[7] = registered, $[8] = value, $[9] = t2) : t2 = $[9];
15
- let t3;
16
- return $[10] !== t1 || $[11] !== t2 ? (t3 = /* @__PURE__ */ jsxs(Fragment, { children: [t1, t2] }), $[10] = t1, $[11] = t2, $[12] = t3) : t3 = $[12], t3;
17
- }
18
- export { LazyRefractor as default };
19
-
20
- //# sourceMappingURL=refractor-CC48DwHi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"refractor-CC48DwHi.js","names":["language ? hasLanguage(language as any) : false","!(language && registered) && <code>{value}</code>","language && registered && <Refractor inline language={language} value={String(value)} />","<>\n {!(language && registered) && <code>{value}</code>}\n {/* oxlint-disable-next-line no-base-to-string */}\n {language && registered && <Refractor inline language={language} value={String(value)} />}\n </>"],"sources":["../src/core/primitives/code/refractor.tsx"],"sourcesContent":["import {hasLanguage, Refractor} from 'react-refractor'\n\nexport default function LazyRefractor(\n props: Partial<Pick<React.ComponentProps<typeof Refractor>, 'language'>> & {\n value: React.ReactNode\n },\n) {\n const {language: languageProp, value} = props\n const language = typeof languageProp === 'string' ? languageProp : undefined\n // oxlint-disable-next-line no-unnecessary-type-assertion, no-unsafe-type-assertion\n const registered = language ? hasLanguage(language as any) : false\n\n return (\n <>\n {!(language && registered) && <code>{value}</code>}\n {/* oxlint-disable-next-line no-base-to-string */}\n {language && registered && <Refractor inline language={language} value={String(value)} />}\n </>\n )\n}\n"],"mappings":";;;AAEA,SAAwB,cACtB,OAGA;gBACM,EAAC,UAAU,cAAc,UAAS,OAClC,WAAW,OAAO,gBAAiB,WAAW,eAAe,KAAA,GAEhDA;kCAAW,KAAA,WAAA,YAAY,QAAe,IAAI,IAA1C,EAAA,KAAA;CAAnB,IAAM,aAAaA,IAIdC;CAAE,AAAA,EAAA,OAAA,YAAA,EAAA,OAAY,cAAA,EAAA,OAAsB,SAApC,KAAA,EAAE,YAAY,eAAe,oBAAC,QAAD,EAAA,UAAO,MAAY,CAAA,GAA9C,EAAA,KAAA,UAAY,EAAA,KAAA,YAAsB,EAAA,KAAA;CAEpCC,IAAAA;CAAY,AAAA,EAAA,OAAA,YAAA,EAAA,OAAA,cAAA,EAAA,OAAkE,SAA9E,KAAA,YAAY,cAAc,oBAAC,WAAD;EAAW,QAAA;EAAiB;EAAU,OAAO,OAAO,KAAK;CAAI,CAAA,GAAvF,EAAA,KAAA,UAAY,EAAA,KAAA,YAAkE,EAAA,KAAA;CAHjFC,IAAAA;CADF,OAEKF,EAAAA,QAAAA,MAAAA,EAAAA,QAEAC,MAHH,KAAA,qBAAA,UAAA,EAAA,UAAA,CACGD,IAEAC,EACD,EAAA,CAAA,GAHCD,EAAAA,MAAAA,IAEAC,EAAAA,MAAAA,8BAHHC;AAMJ"}
@@ -1,55 +0,0 @@
1
- import { a as rem, i as _responsive } from "./helpers-C8xxXAQC.js";
2
- import { t as getTheme_v2 } from "./getTheme_v2-y09KqtEb.js";
3
- /**
4
- * A utility function getting responsive font styles.
5
- * @internal
6
- */
7
- function responsiveFont(fontKey, props) {
8
- let { $size, $weight } = props, { font, media } = getTheme_v2(props.theme), { family, sizes, weights } = font[fontKey], fontWeight = $weight && weights[$weight] || weights.regular, defaultSize = sizes[2], base = {
9
- position: "relative",
10
- fontFamily: family,
11
- fontWeight: `${fontWeight}`,
12
- padding: "1px 0",
13
- margin: 0,
14
- "&:before": {
15
- content: "\"\"",
16
- display: "block",
17
- height: 0
18
- },
19
- "&:after": {
20
- content: "\"\"",
21
- display: "block",
22
- height: 0
23
- },
24
- "& > code, & > span": { display: "block" },
25
- "&:not([hidden])": { display: "block" }
26
- };
27
- return $size ? [base, ..._responsive(media, $size, (sizeIndex) => fontSize(sizes[sizeIndex] || defaultSize))] : (responsiveFont.warned ||= (console.warn("No size specified for responsive font", {
28
- fontKey,
29
- $size,
30
- props,
31
- base
32
- }), !0), [base]);
33
- }
34
- function fontSize(size) {
35
- let { ascenderHeight, descenderHeight, fontSize, iconSize, letterSpacing, lineHeight } = size, negHeight = ascenderHeight + descenderHeight, capHeight = lineHeight - negHeight, iconOffset = (capHeight - iconSize) / 2, customIconSize = Math.floor(fontSize * 1.125 / 2) * 2 + 1, customIconOffset = (capHeight - customIconSize) / 2;
36
- return {
37
- fontSize: rem(fontSize),
38
- lineHeight: `calc(${lineHeight} / ${fontSize})`,
39
- letterSpacing: rem(letterSpacing),
40
- transform: `translateY(${rem(descenderHeight)})`,
41
- "&:before": { marginTop: `calc(${rem(0 - negHeight)} - 1px)` },
42
- "&:after": { marginBottom: "-1px" },
43
- "& svg:not([data-sanity-icon])": {
44
- fontSize: `calc(${customIconSize} / 16 * 1rem)`,
45
- margin: rem(customIconOffset)
46
- },
47
- "& [data-sanity-icon]": {
48
- fontSize: `calc(${iconSize} / 16 * 1rem)`,
49
- margin: rem(iconOffset)
50
- }
51
- };
52
- }
53
- export { responsiveFont as t };
54
-
55
- //# sourceMappingURL=responsiveFont-CilwaORG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"responsiveFont-CilwaORG.js","names":[],"sources":["../src/core/styles/font/responsiveFont.ts"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {ThemeFontKey, ThemeFontSize} from '../../../theme/system/font'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {FontWeightStyleProps, ResponsiveFontSizeStyleProps} from './types'\n\n/**\n * A utility function getting responsive font styles.\n * @internal\n */\nexport function responsiveFont(\n fontKey: ThemeFontKey,\n props: FontWeightStyleProps & ResponsiveFontSizeStyleProps & ThemeProps,\n): CSSObject[] {\n const {$size, $weight} = props\n const {font, media} = getTheme_v2(props.theme)\n const {family, sizes, weights} = font[fontKey]\n const fontWeight = ($weight && weights[$weight]) || weights.regular\n\n // @todo: make this configurable\n const defaultSize = sizes[2]\n\n const base: CSSObject = {\n 'position': 'relative',\n 'fontFamily': family,\n 'fontWeight': `${fontWeight}`,\n 'padding': '1px 0',\n 'margin': 0,\n\n '&:before': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '&:after': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '& > code, & > span': {\n display: 'block',\n },\n\n '&:not([hidden])': {\n display: 'block',\n },\n }\n\n // @TODO fix the real condition that is causing $size to be undefined sometimes\n if (!$size) {\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n if (!responsiveFont.warned) {\n console.warn('No size specified for responsive font', {fontKey, $size, props, base})\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n responsiveFont.warned = true\n }\n\n return [base]\n }\n\n const resp = _responsive(media, $size, (sizeIndex) => fontSize(sizes[sizeIndex] || defaultSize))\n\n return [base, ...resp]\n}\n\nfunction fontSize(size: ThemeFontSize): CSSObject {\n const {ascenderHeight, descenderHeight, fontSize, iconSize, letterSpacing, lineHeight} = size\n const negHeight = ascenderHeight + descenderHeight\n const capHeight = lineHeight - negHeight\n const iconOffset = (capHeight - iconSize) / 2\n const customIconSize = Math.floor((fontSize * 1.125) / 2) * 2 + 1\n const customIconOffset = (capHeight - customIconSize) / 2\n\n return {\n 'fontSize': rem(fontSize),\n 'lineHeight': `calc(${lineHeight} / ${fontSize})`,\n 'letterSpacing': rem(letterSpacing),\n 'transform': `translateY(${rem(descenderHeight)})`,\n\n '&:before': {\n marginTop: `calc(${rem(0 - negHeight)} - 1px)`,\n },\n\n '&:after': {\n marginBottom: '-1px',\n },\n\n '& svg:not([data-sanity-icon])': {\n fontSize: `calc(${customIconSize} / 16 * 1rem)`,\n margin: rem(customIconOffset),\n },\n\n '& [data-sanity-icon]': {\n fontSize: `calc(${iconSize} / 16 * 1rem)`,\n margin: rem(iconOffset),\n },\n }\n}\n"],"mappings":";;;;;;AAWA,SAAgB,eACd,SACA,OACa;CACb,IAAM,EAAC,OAAO,YAAW,OACnB,EAAC,MAAM,UAAS,YAAY,MAAM,KAAK,GACvC,EAAC,QAAQ,OAAO,YAAW,KAAK,UAChC,aAAc,WAAW,QAAQ,YAAa,QAAQ,SAGtD,cAAc,MAAM,IAEpB,OAAkB;EACtB,UAAY;EACZ,YAAc;EACd,YAAc,GAAG;EACjB,SAAW;EACX,QAAU;EAEV,YAAY;GACV,SAAS;GACT,SAAS;GACT,QAAQ;EACV;EAEA,WAAW;GACT,SAAS;GACT,SAAS;GACT,QAAQ;EACV;EAEA,sBAAsB,EACpB,SAAS,QACX;EAEA,mBAAmB,EACjB,SAAS,QACX;CACF;CAgBA,OAbK,QAaE,CAAC,MAAM,GAFD,YAAY,OAAO,QAAQ,cAAc,SAAS,MAAM,cAAc,WAAW,CAE7E,CAAI,KAXnB,AAGE,eAAe,YAFf,QAAQ,KAAK,yCAAyC;EAAC;EAAS;EAAO;EAAO;CAAI,CAAC,GAE3D,KAGnB,CAAC,IAAI;AAMhB;AAEA,SAAS,SAAS,MAAgC;CAChD,IAAM,EAAC,gBAAgB,iBAAiB,UAAU,UAAU,eAAe,eAAc,MACnF,YAAY,iBAAiB,iBAC7B,YAAY,aAAa,WACzB,cAAc,YAAY,YAAY,GACtC,iBAAiB,KAAK,MAAO,WAAW,QAAS,CAAC,IAAI,IAAI,GAC1D,oBAAoB,YAAY,kBAAkB;CAExD,OAAO;EACL,UAAY,IAAI,QAAQ;EACxB,YAAc,QAAQ,WAAW,KAAK,SAAS;EAC/C,eAAiB,IAAI,aAAa;EAClC,WAAa,cAAc,IAAI,eAAe,EAAE;EAEhD,YAAY,EACV,WAAW,QAAQ,IAAI,IAAI,SAAS,EAAE,SACxC;EAEA,WAAW,EACT,cAAc,OAChB;EAEA,iCAAiC;GAC/B,UAAU,QAAQ,eAAe;GACjC,QAAQ,IAAI,gBAAgB;EAC9B;EAEA,wBAAwB;GACtB,UAAU,QAAQ,SAAS;GAC3B,QAAQ,IAAI,UAAU;EACxB;CACF;AACF"}