@sanity/ui 1.0.0-next.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -2
  3. package/dist/{types/src/index.d.ts → index.d.ts} +4450 -4398
  4. package/dist/{sanity-ui.esm.js → index.esm.js} +888 -2678
  5. package/dist/index.esm.js.map +1 -0
  6. package/dist/{sanity-ui.js → index.js} +882 -2688
  7. package/dist/index.js.map +1 -0
  8. package/package.json +112 -23
  9. package/src/components/autocomplete/__workshop__/example.tsx +1 -1
  10. package/src/components/autocomplete/__workshop__/index.ts +36 -32
  11. package/src/components/autocomplete/autocomplete.styles.tsx +22 -28
  12. package/src/components/autocomplete/autocomplete.tsx +1 -2
  13. package/src/components/autocomplete/constants.ts +3 -8
  14. package/src/components/breadcrumbs/__workshop__/index.ts +11 -7
  15. package/src/components/breadcrumbs/breadcrumbs.styles.ts +13 -18
  16. package/src/components/dialog/__workshop__/index.ts +13 -9
  17. package/src/components/dialog/dialog.tsx +53 -67
  18. package/src/components/hotkeys/__workshop__/index.ts +11 -3
  19. package/src/components/hotkeys/hotkeys.tsx +12 -16
  20. package/src/components/menu/__workshop__/index.ts +71 -67
  21. package/src/components/menu/menu.tsx +5 -7
  22. package/src/components/menu/menuButton.tsx +16 -14
  23. package/src/components/menu/menuDivider.ts +8 -10
  24. package/src/components/skeleton/__workshop__/index.ts +8 -4
  25. package/src/components/skeleton/skeleton.tsx +4 -6
  26. package/src/components/skeleton/styles.ts +13 -9
  27. package/src/components/skeleton/textSkeleton.tsx +12 -14
  28. package/src/components/tab/__workshop__/index.ts +11 -3
  29. package/src/components/toast/__workshop__/index.ts +16 -4
  30. package/src/components/toast/toast.tsx +6 -11
  31. package/src/components/toast/toastProvider.tsx +18 -22
  32. package/src/components/tree/__workshop__/basic.perf.ts +1 -14
  33. package/src/components/tree/__workshop__/basic.tsx +1 -1
  34. package/src/components/tree/__workshop__/index.ts +12 -8
  35. package/src/components/tree/style.ts +78 -76
  36. package/src/components/tree/treeItem.tsx +7 -12
  37. package/src/hooks/useElementRect/__workshop__/index.ts +11 -3
  38. package/src/hooks/useMediaIndex/__workshop__/index.ts +11 -3
  39. package/src/primitives/_selectable/selectable.tsx +4 -7
  40. package/src/primitives/_selectable/style.ts +85 -82
  41. package/src/primitives/avatar/__workshop__/index.ts +16 -12
  42. package/src/primitives/avatar/avatar.tsx +9 -12
  43. package/src/primitives/avatar/avatarCounter.tsx +22 -24
  44. package/src/primitives/avatar/avatarStack.tsx +16 -14
  45. package/src/primitives/avatar/styles.ts +1 -1
  46. package/src/primitives/badge/__workshop__/index.ts +16 -12
  47. package/src/primitives/badge/__workshop__/tones.tsx +1 -1
  48. package/src/primitives/badge/badge.tsx +6 -5
  49. package/src/primitives/box/__workshop__/index.ts +16 -4
  50. package/src/primitives/box/box.tsx +21 -49
  51. package/src/primitives/button/__workshop__/index.ts +51 -47
  52. package/src/primitives/button/__workshop__/sanityUploadButton.tsx +19 -20
  53. package/src/primitives/button/__workshop__/styled1.tsx +6 -6
  54. package/src/primitives/button/button.tsx +20 -26
  55. package/src/primitives/button/styles.ts +30 -29
  56. package/src/primitives/card/__workshop__/index.ts +15 -11
  57. package/src/primitives/card/card.tsx +9 -25
  58. package/src/primitives/card/styles.ts +119 -114
  59. package/src/primitives/checkbox/__workshop__/index.ts +10 -6
  60. package/src/primitives/checkbox/checkbox.tsx +4 -4
  61. package/src/primitives/checkbox/styles.ts +71 -69
  62. package/src/primitives/code/__workshop__/index.ts +16 -12
  63. package/src/primitives/code/code.tsx +3 -5
  64. package/src/primitives/code/styles.ts +20 -18
  65. package/src/primitives/container/__workshop__/index.ts +5 -3
  66. package/src/primitives/container/container.tsx +5 -4
  67. package/src/primitives/flex/__workshop__/index.ts +8 -4
  68. package/src/primitives/flex/flex.tsx +7 -23
  69. package/src/primitives/grid/__workshop__/index.ts +7 -3
  70. package/src/primitives/grid/grid.tsx +4 -27
  71. package/src/primitives/heading/__workshop__/index.ts +16 -12
  72. package/src/primitives/heading/heading.tsx +10 -17
  73. package/src/primitives/heading/styles.ts +45 -36
  74. package/src/primitives/inline/__workshop__/index.ts +5 -3
  75. package/src/primitives/inline/inline.tsx +3 -5
  76. package/src/primitives/kbd/__workshop__/index.ts +5 -3
  77. package/src/primitives/kbd/kbd.tsx +12 -13
  78. package/src/primitives/label/__workshop__/index.ts +16 -12
  79. package/src/primitives/label/label.tsx +13 -18
  80. package/src/primitives/label/styles.ts +24 -18
  81. package/src/primitives/popover/__workshop__/PlainStory.tsx +0 -1
  82. package/src/primitives/popover/__workshop__/TestStory.tsx +0 -1
  83. package/src/primitives/popover/__workshop__/index.ts +36 -32
  84. package/src/primitives/popover/constants.ts +0 -3
  85. package/src/primitives/popover/floating-ui/size.ts +40 -25
  86. package/src/primitives/popover/popover.tsx +220 -196
  87. package/src/primitives/popover/popoverArrow.tsx +42 -48
  88. package/src/primitives/popover/popoverCard.tsx +12 -22
  89. package/src/primitives/radio/__workshop__/index.ts +8 -4
  90. package/src/primitives/radio/radio.tsx +3 -3
  91. package/src/primitives/radio/styles.ts +73 -73
  92. package/src/primitives/select/__workshop__/index.ts +8 -4
  93. package/src/primitives/select/select.tsx +9 -11
  94. package/src/primitives/select/styles.ts +77 -77
  95. package/src/primitives/spinner/__workshop__/index.ts +11 -7
  96. package/src/primitives/spinner/spinner.tsx +2 -5
  97. package/src/primitives/stack/__workshop__/index.ts +11 -7
  98. package/src/primitives/stack/stack.tsx +3 -5
  99. package/src/primitives/switch/__workshop__/index.ts +8 -4
  100. package/src/primitives/switch/styles.ts +119 -112
  101. package/src/primitives/switch/switch.tsx +6 -6
  102. package/src/primitives/text/__workshop__/index.ts +21 -17
  103. package/src/primitives/text/styles.ts +51 -45
  104. package/src/primitives/text/text.tsx +11 -16
  105. package/src/primitives/textArea/__workshop__/index.ts +11 -7
  106. package/src/primitives/textArea/textArea.tsx +15 -22
  107. package/src/primitives/textInput/__workshop__/index.ts +46 -42
  108. package/src/primitives/textInput/__workshop__/plain.tsx +2 -1
  109. package/src/primitives/textInput/textInput.tsx +49 -69
  110. package/src/primitives/tooltip/__workshop__/index.ts +11 -7
  111. package/src/primitives/tooltip/tooltip.tsx +3 -6
  112. package/src/primitives/tooltip/tooltipArrow.tsx +69 -59
  113. package/src/styles/border/borderStyle.ts +10 -18
  114. package/src/styles/box/boxStyle.ts +14 -18
  115. package/src/styles/flex/flexItemStyle.ts +7 -1
  116. package/src/styles/flex/flexStyle.ts +14 -9
  117. package/src/styles/grid/gridItemStyle.ts +18 -30
  118. package/src/styles/grid/gridStyle.ts +25 -33
  119. package/src/styles/helpers.ts +2 -2
  120. package/src/styles/index.ts +0 -1
  121. package/src/styles/input/textInputStyle.ts +127 -123
  122. package/src/styles/margin/marginStyle.ts +11 -10
  123. package/src/styles/margin/marginsStyle.test.ts +12 -10
  124. package/src/styles/padding/paddingStyle.test.ts +12 -10
  125. package/src/styles/padding/paddingStyle.ts +9 -10
  126. package/src/theme/__workshop__/index.ts +26 -22
  127. package/src/theme/{ThemeContext.ts → themeContext.ts} +0 -0
  128. package/src/utils/boundaryElement/__workshop__/index.ts +11 -7
  129. package/src/utils/elementQuery/__workshop__/index.ts +11 -7
  130. package/src/utils/layer/__workshop__/index.ts +21 -17
  131. package/src/utils/layer/layer.tsx +4 -6
  132. package/src/utils/portal/__workshop__/index.ts +11 -7
  133. package/src/utils/srOnly/srOnly.tsx +8 -10
  134. package/src/utils/virtualList/__workshop__/index.ts +26 -22
  135. package/src/utils/virtualList/virtualList.tsx +10 -14
  136. package/dist/sanity-ui.esm.js.map +0 -1
  137. package/dist/sanity-ui.js.map +0 -1
  138. package/src/__workshop__/color/overview.tsx +0 -101
  139. package/src/__workshop__/index.ts +0 -10
  140. package/src/icons/__workshop__/.eslintrc +0 -5
  141. package/src/icons/__workshop__/index.tsx +0 -6
  142. package/src/icons/__workshop__/overview.tsx +0 -76
  143. package/src/styles/compose.ts +0 -35
  144. package/src/utils/srOnly/__workshop__/.eslintrc +0 -5
@@ -1 +0,0 @@
1
- {"version":3,"file":"sanity-ui.js","sources":["../src/styles/compose.ts","../src/constants.ts","../src/styles/helpers.ts","../src/styles/font/responsiveFont.ts","../src/styles/font/codeFontStyle.ts","../src/styles/font/headingFontStyle.ts","../src/styles/font/labelFontStyle.ts","../src/styles/font/textAlignStyle.ts","../src/styles/font/textFontStyle.ts","../src/hooks/useArrayProp.ts","../src/hooks/useClickOutside.ts","../../../../node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","../../../../node_modules/@juggle/resize-observer/lib/utils/freeze.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","../../../../node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","../../../../node_modules/@juggle/resize-observer/lib/utils/element.js","../../../../node_modules/@juggle/resize-observer/lib/utils/global.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","../../../../node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","../../../../node_modules/@juggle/resize-observer/lib/utils/process.js","../../../../node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","../../../../node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","../../../../node_modules/@juggle/resize-observer/lib/utils/scheduler.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObservation.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","../../../../node_modules/@juggle/resize-observer/lib/ResizeObserver.js","../src/observers/resizeObserver.ts","../src/observers/elementSizeObserver.ts","../src/hooks/useElementSize.ts","../src/hooks/useElementRect/useElementRect.ts","../src/hooks/useGlobalKeyDown.ts","../src/theme/lib/color-fns/blend/multiply.ts","../src/theme/lib/color-fns/blend/screen.ts","../src/theme/lib/color-fns/convert.ts","../src/theme/lib/color-fns/parse.ts","../src/theme/lib/color-fns/helpers/rgba.ts","../src/theme/lib/theme/color/button/createButtonTones.ts","../src/theme/lib/theme/color/button/createButtonModes.ts","../src/theme/lib/theme/color/card/createCardStates.ts","../src/theme/lib/theme/color/defaults.ts","../src/theme/lib/theme/color/input/createInputModes.ts","../src/theme/lib/theme/color/muted/createMuted.ts","../src/theme/lib/theme/color/selectable/createSelectableTones.ts","../src/theme/lib/theme/color/solid/createSolidTones.ts","../src/theme/lib/theme/color/spot/createSpot.ts","../src/theme/lib/theme/color/factory.ts","../src/theme/studioTheme/helpers.ts","../src/theme/studioTheme/color.ts","../src/theme/studioTheme/fonts.ts","../src/theme/studioTheme/theme.ts","../src/theme/defaults.ts","../src/lib/globalScope.ts","../src/theme/themeContext.ts","../src/theme/themeProvider.tsx","../src/lib/isRecord.ts","../src/theme/useRootTheme.ts","../src/theme/themeColorProvider.tsx","../src/theme/useTheme.ts","../src/hooks/useMediaIndex/lib/media.ts","../src/hooks/useMediaIndex/useMediaIndex.ts","../src/hooks/usePrefersDark.ts","../src/hooks/useIsomorphicEffect.ts","../src/hooks/useForwardedRef.ts","../src/hooks/useCustomValidity.ts","../src/styles/border/borderStyle.ts","../src/styles/box/boxStyle.ts","../src/styles/flex/flexStyle.ts","../src/styles/flex/flexItemStyle.ts","../src/styles/focusRing/index.ts","../src/styles/grid/gridStyle.ts","../src/styles/grid/gridItemStyle.ts","../src/styles/input/responsiveInputPaddingStyle.ts","../src/styles/input/textInputStyle.ts","../src/styles/margin/marginStyle.ts","../src/styles/padding/paddingStyle.ts","../src/styles/radius/radiusStyle.ts","../src/styles/shadow/shadowStyle.ts","../src/primitives/text/styles.ts","../src/primitives/text/text.tsx","../src/primitives/avatar/styles.ts","../src/primitives/avatar/avatar.tsx","../src/primitives/avatar/avatarCounter.tsx","../src/primitives/helpers.ts","../src/primitives/avatar/avatarStack.tsx","../src/primitives/box/box.tsx","../src/primitives/label/styles.ts","../src/primitives/label/label.tsx","../src/primitives/badge/styles.ts","../src/primitives/badge/badge.tsx","../src/primitives/flex/flex.tsx","../src/primitives/spinner/spinner.tsx","../src/styles/colorVars/colorVarsStyle.ts","../src/primitives/button/styles.ts","../src/primitives/button/button.tsx","../src/primitives/card/styles.ts","../src/primitives/card/card.tsx","../src/primitives/checkbox/styles.ts","../src/primitives/checkbox/checkbox.tsx","../src/primitives/code/styles.ts","../src/primitives/code/code.tsx","../src/primitives/container/styles.ts","../src/primitives/container/container.tsx","../src/primitives/grid/grid.tsx","../src/primitives/heading/styles.ts","../src/primitives/heading/heading.tsx","../src/primitives/inline/styles.ts","../src/primitives/inline/inline.tsx","../src/primitives/kbd/kbd.tsx","../src/utils/boundaryElement/boundaryElementContext.ts","../src/utils/boundaryElement/boundaryElementProvider.tsx","../src/utils/boundaryElement/useBoundaryElement.ts","../src/utils/elementQuery/helpers.ts","../src/utils/elementQuery/elementQuery.tsx","../src/utils/errorBoundary.tsx","../src/utils/layer/layerContext.ts","../src/utils/layer/useLayer.ts","../src/utils/layer/layerProvider.tsx","../src/utils/layer/layer.tsx","../src/utils/portal/portalContext.ts","../src/utils/portal/usePortal.ts","../src/utils/portal/portal.ts","../src/hooks/_internal/useUnique.ts","../src/utils/portal/portalProvider.tsx","../src/utils/srOnly/srOnly.tsx","../src/helpers/animation.ts","../src/helpers/element.ts","../src/helpers/focus.ts","../src/helpers/scroll.ts","../src/utils/virtualList/virtualList.tsx","../src/primitives/popover/constants.ts","../src/primitives/popover/floating-ui/size.ts","../src/primitives/popover/popoverArrow.tsx","../src/primitives/popover/popoverCard.tsx","../src/primitives/popover/popover.tsx","../src/primitives/radio/styles.ts","../src/primitives/radio/radio.tsx","../src/primitives/select/styles.ts","../src/primitives/select/select.tsx","../src/primitives/stack/styles.ts","../src/primitives/stack/stack.tsx","../src/primitives/switch/styles.ts","../src/primitives/switch/switch.tsx","../src/primitives/textArea/textArea.tsx","../src/primitives/textInput/textInput.tsx","../src/primitives/tooltip/tooltipArrow.tsx","../src/primitives/tooltip/tooltip.tsx","../src/components/autocomplete/autocomplete.styles.tsx","../src/components/autocomplete/autocompleteOption.tsx","../src/components/autocomplete/autocompleteReducer.ts","../src/components/autocomplete/constants.ts","../src/components/autocomplete/autocomplete.tsx","../src/components/breadcrumbs/breadcrumbs.styles.ts","../src/components/breadcrumbs/breadcrumbs.tsx","../src/components/dialog/styles.ts","../src/components/dialog/dialogContext.ts","../src/components/dialog/useDialog.ts","../src/components/dialog/dialog.tsx","../src/components/dialog/dialogProvider.tsx","../src/components/hotkeys/hotkeys.tsx","../src/components/menu/menuContext.ts","../src/components/menu/helpers.ts","../src/components/menu/useMenuController.ts","../src/components/menu/menu.tsx","../src/components/menu/menuButton.tsx","../src/components/menu/menuDivider.ts","../src/primitives/_selectable/style.ts","../src/primitives/_selectable/selectable.tsx","../src/components/menu/useMenu.ts","../src/components/menu/menuGroup.tsx","../src/components/menu/menuItem.tsx","../src/components/skeleton/styles.ts","../src/components/skeleton/skeleton.tsx","../src/components/skeleton/textSkeleton.tsx","../src/components/tab/tab.tsx","../src/components/tab/tabList.tsx","../src/components/tab/tabPanel.tsx","../src/components/toast/toast.tsx","../src/components/toast/toastContext.ts","../src/components/toast/toastProvider.tsx","../src/components/toast/useToast.ts","../src/components/tree/helpers.ts","../src/components/tree/treeContext.ts","../src/components/tree/tree.tsx","../src/components/tree/style.ts","../src/components/tree/useTree.ts","../src/components/tree/treeGroup.tsx","../src/components/tree/treeItem.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\n\nimport {ComponentType} from 'react'\nimport styled, {CSSObject, DefaultTheme, StyledComponent} from 'styled-components'\nimport {ThemeProps} from './types'\n\n/** @internal */\nexport interface CSSObjectFactory<P extends {} = {}> {\n (props: P & ThemeProps): CSSObject | CSSObject[]\n}\n\nconst EMPTY_CSS: CSSObject = {}\n\n/** @internal */\nexport function compose<\n // style props\n P extends {} = {},\n // type\n C extends keyof JSX.IntrinsicElements | ComponentType<any> = any\n>(\n type: C,\n styles: Array<CSSObjectFactory<P & ThemeProps> | CSSObject>\n): StyledComponent<C, DefaultTheme, P> {\n if (styles.length === 0) {\n return styled(type)<P>(EMPTY_CSS)\n }\n\n let comp = type\n\n for (const style of styles) {\n comp = styled(comp)<P>(style) as any\n }\n\n return comp as any\n}\n","/**\n * @internal\n */\nexport const EMPTY_ARRAY: any[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, any> = {}\n\n/**\n * @internal\n */\nexport const FLOATING_STATIC_SIDES: Record<string, 'bottom' | 'left' | 'top' | 'right'> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n}\n","import {CSSObject} from 'styled-components'\nimport {EMPTY_ARRAY} from '../constants'\nimport {Theme} from '../theme'\n\n/**\n * @internal\n */\nexport function _fillCSSObject(keys: string[], value: string | number | CSSObject): CSSObject {\n return keys.reduce<CSSObject>((style, key) => {\n style[key] = value\n\n return style\n }, {})\n}\n\n/**\n * @public\n */\nexport function rem(pixelValue: number): string | 0 {\n if (pixelValue === 0) return 0\n\n return `${pixelValue / 16}rem`\n}\n\n/**\n * @internal\n */\nexport function _responsive<T>(\n media: number[],\n values: T[],\n callback: (value: T, index: number, array: T[]) => CSSObject\n): CSSObject[] {\n const statements = values?.map(callback) || []\n\n return statements.map((statement, mediaIndex) => {\n if (mediaIndex === 0) return statement\n\n return {[`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement}\n })\n}\n\n/**\n * @internal\n */\nexport function _getArrayProp<T = number>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n if (val === undefined) return defaultVal || EMPTY_ARRAY\n\n return Array.isArray(val) ? val : [val]\n}\n\n/**\n * @internal\n */\nexport function _getResponsiveSpace(\n theme: Theme,\n props: string[],\n spaceIndexes: number[] = EMPTY_ARRAY\n): CSSObject[] {\n if (!Array.isArray(spaceIndexes)) {\n throw new Error('the property must be array of numbers')\n }\n\n if (spaceIndexes.length === 0) {\n return []\n }\n\n return _responsive(theme.sanity.media, spaceIndexes, (spaceIndex) =>\n _fillCSSObject(props, rem(theme.sanity.space[spaceIndex]))\n )\n}\n","import {CSSObject} from 'styled-components'\nimport {ThemeFontSize, ThemeFontKey} from '../../theme'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * A utility function getting responsive font styles.\n * @internal\n */\nexport function responsiveFont(\n fontKey: ThemeFontKey,\n props: ResponsiveFontStyleProps & ThemeProps\n): CSSObject[] {\n const {$size, $weight, theme} = props\n const {fonts, media} = theme.sanity\n const {family, sizes, weights} = fonts[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,\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 // eslint-disable-next-line no-console\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\nexport function 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","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `code` font style.\n * @internal\n */\nexport function responsiveCodeFontStyle(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('code', props)\n}\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `heading` font style.\n * @internal\n */\nexport function responsiveHeadingFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('heading', props)\n}\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `label` font style.\n * @internal\n */\nexport function responsiveLabelFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('label', props)\n}\n","import {CSSObject} from 'styled-components'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveTextAlignStyleProps} from './types'\n\n/**\n * Get responsive text align styles.\n * @internal\n */\nexport function responsiveTextAlignStyle(\n props: ResponsiveTextAlignStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n\n return _responsive(theme.sanity.media, props.$align, (textAlign) => {\n return {textAlign}\n })\n}\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `text` font style.\n * @internal\n */\nexport function responsiveTextFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('text', props)\n}\n","import {useMemo} from 'react'\nimport {_getArrayProp} from '../styles'\n\n/** @beta */\nexport type ArrayPropPrimitive = string | number | boolean | undefined | null\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useArrayProp<T extends ArrayPropPrimitive = ArrayPropPrimitive>(\n val: T | T[] | undefined,\n defaultVal?: T[]\n): T[] {\n const __perf_hash__ = JSON.stringify(val ?? defaultVal)\n\n return useMemo(\n () => _getArrayProp(val, defaultVal),\n\n // Improve performance: Keep object identify for a given hash of the value\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [__perf_hash__]\n )\n}\n","import {useEffect, useRef, useState} from 'react'\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideListener = (event: MouseEvent) => void\n\nfunction _getElements(\n element: HTMLElement | null,\n elementsArg: Array<HTMLElement | HTMLElement[] | null>\n): HTMLElement[] {\n const ret = [element]\n\n for (const el of elementsArg) {\n if (Array.isArray(el)) {\n ret.push(...el)\n } else {\n ret.push(el)\n }\n }\n\n return ret.filter(Boolean) as HTMLElement[]\n}\n\n/**\n * @public\n */\nexport function useClickOutside(\n listener: ClickOutsideListener,\n elementsArg: Array<HTMLElement | HTMLElement[] | null> = EMPTY_ARRAY,\n boundaryElement?: HTMLElement | null\n): (el: HTMLElement | null) => void {\n const [element, setElement] = useState<HTMLElement | null>(null)\n const [elements, setElements] = useState(() => _getElements(element, elementsArg))\n const elementsRef = useRef(elements)\n\n useEffect(() => {\n const prevElements = elementsRef.current\n const nextElements = _getElements(element, elementsArg)\n\n if (prevElements.length !== nextElements.length) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n\n for (const el of prevElements) {\n if (!nextElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n\n for (const el of nextElements) {\n if (!prevElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n }, [element, elementsArg])\n\n useEffect(() => {\n if (!listener) return undefined\n\n const handleWindowMouseDown = (evt: MouseEvent) => {\n const target = evt.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (boundaryElement && !boundaryElement.contains(target)) {\n return\n }\n\n for (const el of elements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n listener(evt)\n }\n\n window.addEventListener('mousedown', handleWindowMouseDown)\n\n return () => {\n window.removeEventListener('mousedown', handleWindowMouseDown)\n }\n }, [boundaryElement, listener, elements])\n\n return setElement\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import {ResizeObserver as ResizeObserverPolyfill} from '@juggle/resize-observer'\n\n/**\n * @internal\n */\nexport const _ResizeObserver: typeof ResizeObserver =\n typeof window !== 'undefined' && window.ResizeObserver\n ? window.ResizeObserver\n : ResizeObserverPolyfill\n","import {_ResizeObserver} from './resizeObserver'\n\n/**\n * @beta\n */\nexport interface ElementRectValue {\n width: number\n height: number\n}\n\n/**\n * @beta\n */\nexport interface ElementSize {\n content: ElementRectValue\n border: ElementRectValue\n\n /** @deprecated INTERNAL ONLY */\n _contentRect: DOMRectReadOnly\n}\n\n/**\n * @internal\n */\nexport type _ElementSizeSubscriber = (elementRect: ElementSize) => void\n\n/**\n * @internal\n */\nexport interface _ElementSizeObserver {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n/**\n * @internal\n */\nexport interface _ElementSizeListener {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n// Initialize element size observer\n// NOTE: this should NOT have size effects\n/**\n * @internal\n */\nexport const _elementSizeObserver = _createElementSizeObserver()\n\nfunction _createElementRectValueListener(): _ElementSizeListener {\n return {\n subscribe(element, subscriber) {\n const resizeObserver = new _ResizeObserver(([entry]) => {\n subscriber({\n _contentRect: entry.contentRect,\n border: {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n },\n content: {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n },\n })\n })\n\n resizeObserver.observe(element)\n\n return () => {\n resizeObserver.unobserve(element)\n resizeObserver.disconnect()\n }\n },\n }\n}\n\nfunction _createElementSizeObserver(): _ElementSizeObserver {\n const disposeCache = new WeakMap<HTMLElement, () => void>()\n const subscribersCache = new WeakMap<HTMLElement, _ElementSizeSubscriber[]>()\n\n return {\n subscribe(element, subscriber) {\n const subscribers = subscribersCache.get(element) || []\n\n let dispose = disposeCache.get(element)\n\n if (!subscribersCache.has(element)) {\n subscribersCache.set(element, subscribers)\n\n const listener = _createElementRectValueListener()\n\n // listen\n dispose = listener.subscribe(element, (elementRect) => {\n for (const sub of subscribers) {\n sub(elementRect)\n }\n })\n }\n\n subscribers.push(subscriber)\n\n return () => {\n // dispose\n\n const idx = subscribers.indexOf(subscriber)\n\n if (idx > -1) {\n subscribers.splice(idx, 1)\n }\n\n if (subscribers.length === 0) {\n // unlisten\n if (dispose) dispose()\n }\n }\n },\n }\n}\n","import {useEffect, useState} from 'react'\nimport {ElementSize, _elementSizeObserver} from '../observers/elementSizeObserver'\n\n/**\n * Subscribe to the size of a DOM element.\n * @beta\n */\nexport function useElementSize(element: HTMLElement | null): ElementSize | null {\n const [size, setSize] = useState<ElementSize | null>(null)\n\n useEffect(() => {\n if (!element) return undefined\n\n return _elementSizeObserver.subscribe(element, setSize)\n }, [element])\n\n return size\n}\n","import {useElementSize} from '../useElementSize'\n\n/**\n * Subscribe to the rect of a DOM element.\n * @beta\n *\n * @deprecated Use `useElementSize` instead\n */\nexport function useElementRect(element: HTMLElement | null): DOMRectReadOnly | null {\n const elementSize = useElementSize(element)\n\n return elementSize?._contentRect || null\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useGlobalKeyDown(onKeyDown: (event: KeyboardEvent) => void): void {\n return useEffect(() => {\n addEventListener('keydown', onKeyDown)\n\n return () => removeEventListener('keydown', onKeyDown)\n }, [onKeyDown])\n}\n","import {RGB} from '../types'\n\nfunction multiplyChannel(b: number, s: number) {\n return b * s\n}\n\n/**\n * Apply the \\`multiply\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingmultiply\n * @internal\n */\nexport function multiply(b: RGB, s: RGB): RGB {\n return {\n r: Math.round(clamp(multiplyChannel(b.r / 255, s.r / 255) * 255)),\n g: Math.round(clamp(multiplyChannel(b.g / 255, s.g / 255) * 255)),\n b: Math.round(clamp(multiplyChannel(b.b / 255, s.b / 255) * 255)),\n }\n}\n\nfunction clamp(num: number) {\n return Math.max(Math.min(num, 255), 0)\n}\n","import {RGB} from '../types'\n\nfunction screenChannel(b: number, s: number) {\n return b + s - b * s\n}\n\n/**\n * Apply the \\`screen\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingscreen\n * @internal\n */\nexport function screen(b: RGB, s: RGB): RGB {\n return {\n r: Math.round(clamp(screenChannel(b.r / 255, s.r / 255) * 255)),\n g: Math.round(clamp(screenChannel(b.g / 255, s.g / 255) * 255)),\n b: Math.round(clamp(screenChannel(b.b / 255, s.b / 255) * 255)),\n }\n}\n\nfunction clamp(num: number) {\n return Math.max(Math.min(num, 255), 0)\n}\n","import {HSL, RGB} from './types'\n\n/**\n * @internal\n */\nexport function hexToRgb(hex: string): RGB {\n if (hex.length === 4) {\n const hexR = hex.slice(1, 2)\n const hexG = hex.slice(2, 3)\n const hexB = hex.slice(3, 4)\n\n return {\n r: parseInt(hexR + hexR, 16),\n g: parseInt(hexG + hexG, 16),\n b: parseInt(hexB + hexB, 16),\n }\n }\n\n return {\n r: parseInt(hex.slice(1, 3), 16),\n g: parseInt(hex.slice(3, 5), 16),\n b: parseInt(hex.slice(5, 7), 16),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbToHex({r, g, b}: RGB): string {\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\n}\n\n/**\n * @internal\n * @see https://css-tricks.com/converting-color-spaces-in-javascript/\n */\nexport function rgbToHsl({r, g, b}: RGB): HSL {\n // Make r, g, and b fractions of 1\n r /= 255\n g /= 255\n b /= 255\n\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b)\n const cmax = Math.max(r, g, b)\n const delta = cmax - cmin\n\n let h = 0\n let s = 0\n let l = 0\n\n // Calculate hue\n // No difference\n if (delta == 0) h = 0\n // Red is max\n else if (cmax == r) h = ((g - b) / delta) % 6\n // Green is max\n else if (cmax == g) h = (b - r) / delta + 2\n // Blue is max\n else h = (r - g) / delta + 4\n\n h = Math.round(h * 60)\n\n // Make negative hues positive behind 360°\n if (h < 0) h += 360\n\n // Calculate lightness\n l = (cmax + cmin) / 2\n\n // Calculate saturation\n s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1))\n\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1)\n l = +(l * 100).toFixed(1)\n\n return {h, s, l}\n}\n\n/**\n * @internal\n */\nexport function hslToRgb(hsl: HSL): RGB {\n // Must be fractions of 1\n const s = hsl.s / 100\n const l = hsl.l / 100\n\n const c = (1 - Math.abs(2 * l - 1)) * s\n const x = c * (1 - Math.abs(((hsl.h / 60) % 2) - 1))\n const m = l - c / 2\n\n let r = 0\n let g = 0\n let b = 0\n\n if (0 <= hsl.h && hsl.h < 60) {\n r = c\n g = x\n b = 0\n } else if (60 <= hsl.h && hsl.h < 120) {\n r = x\n g = c\n b = 0\n } else if (120 <= hsl.h && hsl.h < 180) {\n r = 0\n g = c\n b = x\n } else if (180 <= hsl.h && hsl.h < 240) {\n r = 0\n g = x\n b = c\n } else if (240 <= hsl.h && hsl.h < 300) {\n r = x\n g = 0\n b = c\n } else if (300 <= hsl.h && hsl.h < 360) {\n r = c\n g = 0\n b = x\n }\n\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n }\n}\n","import {hexToRgb, hslToRgb} from './convert'\nimport {HSL, RGB} from './types'\n\nconst HEX_CHARS = '0123456789ABCDEFabcdef'\n\nconst HSL_RE = /hsl\\(\\s*(\\d+)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*\\)/i\n\nfunction isHexChars(str: string) {\n for (const c of str) {\n if (HEX_CHARS.indexOf(c) === -1) {\n return false\n }\n }\n\n return true\n}\n\nfunction isHex(str: string) {\n if (str[0] !== '#') return false\n\n // Accept both #000 and #000000\n if (!(str.length === 4 || str.length === 7)) return false\n\n return isHexChars(str.slice(1))\n}\n\nfunction parseHsl(str: string): HSL {\n const res = HSL_RE.exec(str)\n\n if (!res) {\n throw new Error(`parseHsl: string is not a HSL color: \"${str}\"`)\n }\n\n return {h: parseInt(res[1]), s: parseFloat(res[3]), l: parseFloat(res[5])}\n}\n\n/**\n * @internal\n */\nexport function parseColor(color: unknown): RGB {\n if (!color) return {r: 0, g: 0, b: 0}\n\n if (typeof color !== 'string') {\n throw new Error('parseColor: expected a string')\n }\n\n if (isHex(color)) {\n return hexToRgb(color)\n }\n\n if (color.startsWith('hsl(')) {\n return hslToRgb(parseHsl(color))\n }\n\n throw new Error(`parseColor: unexpected color format: \"${color}\"`)\n}\n","import {parseColor} from '../parse'\n\n/**\n * @internal\n */\nexport function rgba(color: unknown, a: number): string {\n const rgb = parseColor(color)\n\n return `rgba(${rgb.r},${rgb.g},${rgb.b},${a})`\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {ThemeColorButtonModeKey, ThemeColorButtonTones} from './types'\n\nexport function createButtonTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n mode: ThemeColorButtonModeKey\n): ThemeColorButtonTones {\n return {\n default: opts.button({\n base,\n dark,\n solid: solid.default,\n muted: muted.default,\n mode,\n }),\n primary: opts.button({\n base,\n dark,\n solid: solid.primary,\n muted: muted.primary,\n mode,\n }),\n positive: opts.button({\n base,\n dark,\n solid: solid.positive,\n muted: muted.positive,\n mode,\n }),\n caution: opts.button({\n base,\n dark,\n solid: solid.caution,\n muted: muted.caution,\n mode,\n }),\n critical: opts.button({\n base,\n dark,\n solid: solid.critical,\n muted: muted.critical,\n mode,\n }),\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {createButtonTones} from './createButtonTones'\nimport {ThemeColorButton} from './types'\n\nexport function createButtonModes(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted\n): ThemeColorButton {\n return {\n default: createButtonTones(opts, base, dark, solid, muted, 'default'),\n ghost: createButtonTones(opts, base, dark, solid, muted, 'ghost'),\n bleed: createButtonTones(opts, base, dark, solid, muted, 'bleed'),\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {ThemeColorName} from '../types'\nimport {ThemeColorCard} from './types'\n\nexport function createCardStates(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted\n): ThemeColorCard {\n return {\n enabled: opts.card({\n base,\n dark,\n name,\n state: 'enabled',\n solid,\n muted,\n }),\n disabled: opts.card({\n base,\n dark,\n name,\n state: 'disabled',\n solid,\n muted,\n }),\n hovered: opts.card({\n base,\n dark,\n name,\n state: 'hovered',\n solid,\n muted,\n }),\n pressed: opts.card({\n base,\n dark,\n name,\n state: 'pressed',\n solid,\n muted,\n }),\n selected: opts.card({\n base,\n dark,\n name,\n state: 'selected',\n solid,\n muted,\n }),\n }\n}\n","import {ThemeColorBuilderOpts} from './factory'\n\nconst black = 'hsl(0, 0%, 0%)'\nconst white = 'hsl(0, 0%, 100%)'\n\nconst colors = {\n default: {\n lightest: 'hsl(0, 0%, 95%)',\n lighter: 'hsl(0, 0%, 70%)',\n light: 'hsl(0, 0%, 65%)',\n base: 'hsl(0, 0%, 50%)',\n dark: 'hsl(0, 0%, 35%)',\n darker: 'hsl(0, 0%, 20%)',\n darkest: 'hsl(0, 0%, 5%)',\n },\n transparent: {\n lightest: 'hsl(240, 100%, 95%)',\n lighter: 'hsl(240, 100%, 70%)',\n light: 'hsl(240, 100%, 65%)',\n base: 'hsl(240, 100%, 50%)',\n dark: 'hsl(240, 100%, 35%)',\n darker: 'hsl(240, 100%, 20%)',\n darkest: 'hsl(240, 100%, 5%)',\n },\n primary: {\n lightest: 'hsl(240, 100%, 95%)',\n lighter: 'hsl(240, 100%, 70%)',\n light: 'hsl(240, 100%, 65%)',\n base: 'hsl(240, 100%, 50%)',\n dark: 'hsl(240, 100%, 35%)',\n darker: 'hsl(240, 100%, 20%)',\n darkest: 'hsl(240, 100%, 5%)',\n },\n positive: {\n lightest: 'hsl(120, 100%, 95%)',\n lighter: 'hsl(120, 100%, 70%)',\n light: 'hsl(120, 100%, 65%)',\n base: 'hsl(120, 100%, 50%)',\n dark: 'hsl(120, 100%, 35%)',\n darker: 'hsl(120, 100%, 20%)',\n darkest: 'hsl(120, 100%, 5%)',\n },\n caution: {\n lightest: 'hsl(60, 100%, 95%)',\n lighter: 'hsl(60, 100%, 70%)',\n light: 'hsl(60, 100%, 65%)',\n base: 'hsl(60, 100%, 50%)',\n dark: 'hsl(60, 100%, 35%)',\n darker: 'hsl(60, 100%, 20%)',\n darkest: 'hsl(60, 100%, 5%)',\n },\n critical: {\n lightest: 'hsl(0, 100%, 95%)',\n lighter: 'hsl(0, 100%, 70%)',\n light: 'hsl(0, 100%, 65%)',\n base: 'hsl(0, 100%, 50%)',\n dark: 'hsl(0, 100%, 35%)',\n darker: 'hsl(0, 100%, 20%)',\n darkest: 'hsl(0, 100%, 5%)',\n },\n}\n\nconst spots = {\n gray: 'hsl(0, 0%, 50%)',\n red: 'hsl(0, 100%, 50%)',\n orange: 'hsl(30, 100%, 50%)',\n yellow: 'hsl(60, 100%, 50%)',\n green: 'hsl(120, 100%, 50%)',\n cyan: 'hsl(180, 100%, 50%)',\n blue: 'hsl(240, 100%, 50%)',\n purple: 'hsl(270, 100%, 50%)',\n magenta: 'hsl(300, 100%, 50%)',\n}\n\nconst tones = {\n transparent: {\n bg: [colors.transparent.darkest, colors.transparent.lightest],\n fg: [colors.transparent.lightest, colors.transparent.darkest],\n border: [colors.transparent.darker, colors.transparent.lighter],\n focusRing: [colors.transparent.base, colors.transparent.base],\n },\n primary: {\n bg: [colors.primary.darkest, colors.primary.lightest],\n fg: [colors.primary.lightest, colors.primary.darkest],\n border: [colors.primary.darker, colors.primary.lighter],\n focusRing: [colors.primary.base, colors.primary.base],\n },\n positive: {\n bg: [colors.positive.darkest, colors.positive.lightest],\n fg: [colors.positive.lightest, colors.positive.darkest],\n border: [colors.positive.darker, colors.positive.lighter],\n focusRing: [colors.positive.base, colors.positive.base],\n },\n caution: {\n bg: [colors.caution.darkest, colors.caution.lightest],\n fg: [colors.caution.lightest, colors.caution.darkest],\n border: [colors.caution.darker, colors.caution.lighter],\n focusRing: [colors.caution.base, colors.caution.base],\n },\n critical: {\n bg: [colors.critical.darkest, colors.critical.lightest],\n fg: [colors.critical.lightest, colors.critical.darkest],\n border: [colors.critical.darker, colors.critical.lighter],\n focusRing: [colors.critical.base, colors.critical.base],\n },\n}\n\nexport const defaultOpts: ThemeColorBuilderOpts = {\n base: ({dark, name}) => {\n if (name === 'default') {\n return {\n bg: dark ? black : white,\n fg: dark ? white : black,\n border: dark ? colors.default.darkest : colors.default.lightest,\n focusRing: colors.primary.base,\n shadow: {\n outline: black,\n umbra: black,\n penumbra: black,\n ambient: black,\n },\n skeleton: {\n from: dark ? white : black,\n to: dark ? white : black,\n },\n }\n }\n\n // Variants:\n // - primary\n // - positive\n // - caution\n // - critical\n return {\n bg: tones[name].bg[dark ? 0 : 1],\n fg: tones[name].fg[dark ? 0 : 1],\n border: tones[name].border[dark ? 0 : 1],\n focusRing: tones[name].focusRing[dark ? 0 : 1],\n shadow: {\n outline: black,\n umbra: black,\n penumbra: black,\n ambient: black,\n },\n skeleton: {\n from: dark ? white : black,\n to: dark ? white : black,\n },\n }\n },\n\n solid: ({base, dark, state, tone}) => {\n const color = colors[tone]\n\n if (state === 'hovered') {\n return {\n bg: dark ? color.light : color.dark,\n bg2: dark ? color.light : color.dark,\n border: dark ? color.lighter : color.darker,\n fg: dark ? color.darkest : color.lightest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n }\n\n return {\n bg: color.base,\n bg2: color.base,\n border: dark ? color.light : color.dark,\n fg: dark ? color.darkest : color.lightest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n muted: ({base, dark, state, tone}) => {\n const color = colors[tone]\n\n if (state === 'hovered') {\n return {\n bg: dark ? color.darker : color.lighter,\n bg2: dark ? color.darker : color.lighter,\n border: dark ? color.lighter : color.darker,\n fg: dark ? color.lightest : color.darkest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n }\n\n return {\n bg: dark ? color.darkest : color.lightest,\n bg2: dark ? color.darkest : color.lightest,\n border: dark ? color.darker : color.lighter,\n fg: dark ? color.lighter : color.darker,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n button: ({base, mode, muted, solid}) => {\n if (mode === 'bleed') {\n return {\n ...muted,\n enabled: {\n bg: 'transparent',\n bg2: 'transparent',\n fg: muted.enabled.fg,\n border: 'transparent',\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n },\n hovered: {\n bg: muted.enabled.bg,\n bg2: muted.enabled.bg,\n fg: muted.hovered.fg,\n border: 'transparent',\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n },\n }\n }\n\n if (mode === 'ghost')\n return {\n ...solid,\n enabled: muted.enabled,\n }\n\n return solid\n },\n\n card: ({base}) => {\n return {\n bg: black,\n bg2: black,\n fg: black,\n border: black,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n input: () => {\n return {\n bg: black,\n fg: black,\n border: black,\n placeholder: black,\n }\n },\n\n selectable: ({muted, state, tone}) => {\n return muted[tone][state]\n },\n\n spot: ({key}) => {\n return spots[key]\n },\n\n syntax: () => ({\n atrule: black,\n attrName: black,\n attrValue: black,\n attribute: black,\n boolean: black,\n builtin: black,\n cdata: black,\n char: black,\n class: black,\n className: black,\n comment: black,\n constant: black,\n deleted: black,\n doctype: black,\n entity: black,\n function: black,\n hexcode: black,\n id: black,\n important: black,\n inserted: black,\n keyword: black,\n number: black,\n operator: black,\n prolog: black,\n property: black,\n pseudoClass: black,\n pseudoElement: black,\n punctuation: black,\n regex: black,\n selector: black,\n string: black,\n symbol: black,\n tag: black,\n unit: black,\n url: black,\n variable: black,\n }),\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {ThemeColorInput} from './types'\n\nexport function createInputModes(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted\n): ThemeColorInput {\n return {\n default: {\n enabled: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'enabled',\n solid: solid.default,\n muted: muted.default,\n }),\n disabled: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'disabled',\n solid: solid.default,\n muted: muted.default,\n }),\n hovered: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'hovered',\n solid: solid.default,\n muted: muted.default,\n }),\n readOnly: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'readOnly',\n solid: solid.default,\n muted: muted.default,\n }),\n },\n invalid: {\n enabled: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'enabled',\n solid: solid.default,\n muted: muted.default,\n }),\n disabled: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'disabled',\n solid: solid.default,\n muted: muted.default,\n }),\n hovered: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'hovered',\n solid: solid.default,\n muted: muted.default,\n }),\n readOnly: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'readOnly',\n solid: solid.default,\n muted: muted.default,\n }),\n },\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorName} from '../types'\nimport {ThemeColorMuted} from './types'\n\nexport function createMutedTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName\n): ThemeColorMuted {\n return {\n default: {\n enabled: opts.muted({base, dark, tone: 'default', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'default', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'default', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'default', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'default', name, state: 'selected'}),\n },\n transparent: {\n enabled: opts.muted({base, dark, tone: 'transparent', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'transparent', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'transparent', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'transparent', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'transparent', name, state: 'selected'}),\n },\n primary: {\n enabled: opts.muted({base, dark, tone: 'primary', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'primary', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'primary', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'primary', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'primary', name, state: 'selected'}),\n },\n positive: {\n enabled: opts.muted({base, dark, tone: 'positive', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'positive', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'positive', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'positive', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'positive', name, state: 'selected'}),\n },\n caution: {\n enabled: opts.muted({base, dark, tone: 'caution', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'caution', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'caution', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'caution', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'caution', name, state: 'selected'}),\n },\n critical: {\n enabled: opts.muted({base, dark, tone: 'critical', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'critical', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'critical', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'critical', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'critical', name, state: 'selected'}),\n },\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorMuted} from '../muted'\nimport {ThemeColorSolid} from '../solid'\nimport {ThemeColorSelectable, ThemeColorSelectableStates} from './types'\n\nexport function createSelectableTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted\n): ThemeColorSelectable {\n return {\n default: _createSelectableStates(opts, base, dark, solid, muted, 'default'),\n primary: _createSelectableStates(opts, base, dark, solid, muted, 'primary'),\n positive: _createSelectableStates(opts, base, dark, solid, muted, 'positive'),\n caution: _createSelectableStates(opts, base, dark, solid, muted, 'caution'),\n critical: _createSelectableStates(opts, base, dark, solid, muted, 'critical'),\n }\n}\n\nfunction _createSelectableStates(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical'\n): ThemeColorSelectableStates {\n return {\n enabled: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'enabled',\n tone,\n }),\n hovered: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'hovered',\n tone,\n }),\n pressed: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'pressed',\n tone,\n }),\n selected: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'selected',\n tone,\n }),\n disabled: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'disabled',\n tone,\n }),\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorName} from '../types'\nimport {ThemeColorSolid} from './types'\n\nexport function createSolidTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName\n): ThemeColorSolid {\n return {\n default: {\n enabled: opts.solid({base, dark, tone: 'default', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'default', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'default', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'default', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'default', name, state: 'selected'}),\n },\n transparent: {\n enabled: opts.solid({base, dark, tone: 'transparent', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'transparent', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'transparent', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'transparent', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'transparent', name, state: 'selected'}),\n },\n primary: {\n enabled: opts.solid({base, dark, tone: 'primary', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'primary', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'primary', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'primary', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'primary', name, state: 'selected'}),\n },\n positive: {\n enabled: opts.solid({base, dark, tone: 'positive', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'positive', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'positive', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'positive', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'positive', name, state: 'selected'}),\n },\n caution: {\n enabled: opts.solid({base, dark, tone: 'caution', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'caution', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'caution', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'caution', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'caution', name, state: 'selected'}),\n },\n critical: {\n enabled: opts.solid({base, dark, tone: 'critical', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'critical', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'critical', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'critical', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'critical', name, state: 'selected'}),\n },\n }\n}\n","import {ThemeColorBase} from '../base'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {ThemeColorSpot} from './types'\n\nexport function createSpot(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean\n): ThemeColorSpot {\n return {\n gray: opts.spot({base, dark, key: 'gray'}),\n blue: opts.spot({base, dark, key: 'blue'}),\n purple: opts.spot({base, dark, key: 'purple'}),\n magenta: opts.spot({base, dark, key: 'magenta'}),\n red: opts.spot({base, dark, key: 'red'}),\n orange: opts.spot({base, dark, key: 'orange'}),\n yellow: opts.spot({base, dark, key: 'yellow'}),\n green: opts.spot({base, dark, key: 'green'}),\n cyan: opts.spot({base, dark, key: 'cyan'}),\n }\n}\n","import {ThemeColorGenericState} from './_generic'\nimport {ThemeColorBase} from './base'\nimport {ThemeColorButtonModeKey, ThemeColorButtonStates} from './button'\nimport {createButtonModes} from './button/createButtonModes'\nimport {ThemeColorCardState} from './card'\nimport {createCardStates} from './card/createCardStates'\nimport {defaultOpts} from './defaults'\nimport {ThemeColorInputState} from './input'\nimport {createInputModes} from './input/createInputModes'\nimport {ThemeColorMuted, ThemeColorMutedTone} from './muted'\nimport {createMutedTones} from './muted/createMuted'\nimport {ThemeColorSelectableState} from './selectable'\nimport {createSelectableTones} from './selectable/createSelectableTones'\nimport {ThemeColorSolid, ThemeColorSolidTone} from './solid'\nimport {createSolidTones} from './solid/createSolidTones'\nimport {ThemeColorSpotKey} from './spot'\nimport {createSpot} from './spot/createSpot'\nimport {ThemeColorSyntax} from './syntax'\nimport {\n ThemeColorName,\n ThemeColorScheme,\n ThemeColorSchemes,\n ThemeColor,\n ThemeColorToneKey,\n} from './types'\n\n/**\n * @public\n */\nexport interface ThemeColorBuilderOpts {\n base: (opts: {dark: boolean; name: ThemeColorName}) => ThemeColorBase\n solid: (opts: {\n base: ThemeColorBase\n dark: boolean\n tone: ThemeColorToneKey\n name: ThemeColorName\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorGenericState\n muted: (opts: {\n base: ThemeColorBase\n dark: boolean\n tone: ThemeColorToneKey\n name: ThemeColorName\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorGenericState\n card: (opts: {\n base: ThemeColorBase\n dark: boolean\n muted: ThemeColorMuted\n name: ThemeColorName\n solid: ThemeColorSolid\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorCardState\n button: (opts: {\n dark: boolean\n mode: ThemeColorButtonModeKey\n base: ThemeColorBase\n solid: ThemeColorSolidTone\n muted: ThemeColorMutedTone\n }) => ThemeColorButtonStates\n input: (opts: {\n base: ThemeColorBase\n solid: ThemeColorSolidTone\n muted: ThemeColorMutedTone\n dark: boolean\n mode: 'default' | 'invalid'\n state: 'enabled' | 'disabled' | 'hovered' | 'readOnly'\n }) => ThemeColorInputState\n selectable: (opts: {\n dark: boolean\n base: ThemeColorBase\n solid: ThemeColorSolid\n muted: ThemeColorMuted\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical'\n }) => ThemeColorSelectableState\n syntax: (opts: {base: ThemeColorBase; dark: boolean}) => ThemeColorSyntax\n spot: (opts: {base: ThemeColorBase; dark: boolean; key: ThemeColorSpotKey}) => string\n}\n\n/**\n * @public\n */\nexport type PartialThemeColorBuilderOpts = Partial<ThemeColorBuilderOpts>\n\n/**\n * @public\n */\nexport function createColorTheme(\n partialOpts: PartialThemeColorBuilderOpts = {}\n): ThemeColorSchemes {\n const builders: ThemeColorBuilderOpts = {...defaultOpts, ...partialOpts}\n\n return {\n light: _createColorScheme(builders, false),\n dark: _createColorScheme(builders, true),\n }\n}\n\n/**\n * @internal\n */\nfunction _createColorScheme(opts: ThemeColorBuilderOpts, dark: boolean): ThemeColorScheme {\n return {\n default: _createColor(opts, dark, 'default'),\n transparent: _createColor(opts, dark, 'transparent'),\n primary: _createColor(opts, dark, 'primary'),\n positive: _createColor(opts, dark, 'positive'),\n caution: _createColor(opts, dark, 'caution'),\n critical: _createColor(opts, dark, 'critical'),\n }\n}\n\n/**\n * @internal\n */\nfunction _createColor(\n opts: ThemeColorBuilderOpts,\n dark: boolean,\n name: ThemeColorName\n): ThemeColor {\n const base = opts.base({dark, name})\n const solid = createSolidTones(opts, base, dark, name)\n const muted = createMutedTones(opts, base, dark, name)\n\n return {\n base,\n button: createButtonModes(opts, base, dark, solid, muted),\n card: createCardStates(opts, base, dark, name, solid, muted),\n dark,\n input: createInputModes(opts, base, dark, solid, muted),\n selectable: createSelectableTones(opts, base, dark, solid, muted),\n spot: createSpot(opts, base, dark),\n syntax: opts.syntax({base, dark}),\n solid,\n muted,\n }\n}\n","import {parseColor, rgbToHex, screen as _screen, multiply as _multiply} from '../lib/color-fns'\n\nexport function multiply(bg: string, fg: string): string {\n const b = parseColor(bg)\n const s = parseColor(fg)\n const hex = rgbToHex(_multiply(b, s))\n\n return hex\n}\n\nexport function screen(bg: string, fg: string): string {\n const b = parseColor(bg)\n const s = parseColor(fg)\n const hex = rgbToHex(_screen(b, s))\n\n return hex\n}\n","import {black, ColorTints, hues, white} from '@sanity/color'\nimport {rgba} from '../lib/color-fns'\nimport {createColorTheme} from '../lib/theme'\nimport {multiply, screen} from './helpers'\n\nconst tones: {[key: string]: ColorTints} = {\n default: hues.gray,\n transparent: hues.gray,\n primary: hues.blue,\n positive: hues.green,\n caution: hues.yellow,\n critical: hues.red,\n}\n\nconst NEUTRAL_TONES = ['default', 'transparent']\n\nexport const color = createColorTheme({\n base: ({dark, name}) => {\n if (name === 'default') {\n const tints = hues.gray\n const skeletonFrom = dark ? tints[900].hex : tints[100].hex\n\n return {\n fg: dark ? white.hex : black.hex,\n bg: dark ? black.hex : white.hex,\n border: tints[dark ? 800 : 200].hex,\n focusRing: hues.blue[dark ? 500 : 500].hex,\n shadow: {\n outline: rgba(tints[500].hex, 0.4),\n umbra: dark ? rgba(tints[950].hex, 0.4) : rgba(tints[500].hex, 0.2),\n penumbra: dark ? rgba(tints[950].hex, 0.28) : rgba(tints[500].hex, 0.14),\n ambient: dark ? rgba(tints[950].hex, 0.24) : rgba(tints[500].hex, 0.12),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (name === 'transparent') {\n const tints = tones.default\n const skeletonFrom = tints[dark ? 800 : 200].hex\n\n return {\n fg: tints[dark ? 100 : 900].hex,\n bg: tints[dark ? 950 : 50].hex,\n border: tints[dark ? 800 : 300].hex,\n focusRing: hues.blue[500].hex,\n shadow: {\n outline: rgba(tints[500].hex, 0.4),\n umbra: dark ? rgba(tints[900].hex, 0.4) : rgba(tints[500].hex, 0.2),\n penumbra: dark ? rgba(tints[900].hex, 0.28) : rgba(tints[500].hex, 0.14),\n ambient: dark ? rgba(tints[900].hex, 0.24) : rgba(tints[500].hex, 0.12),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n const tints = tones[name] || tones.default\n const skeletonFrom = tints[dark ? 800 : 200].hex\n\n return {\n fg: tints[dark ? 100 : 900].hex,\n bg: tints[dark ? 950 : 50].hex,\n border: tints[dark ? 800 : 200].hex,\n focusRing: tints[500].hex,\n shadow: {\n outline: rgba(tints[500].hex, 0.4),\n umbra: dark ? rgba(tints[900].hex, 0.4) : rgba(tints[500].hex, 0.2),\n penumbra: dark ? rgba(tints[900].hex, 0.28) : rgba(tints[500].hex, 0.14),\n ambient: dark ? rgba(tints[900].hex, 0.24) : rgba(tints[500].hex, 0.12),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n },\n\n solid: ({base, dark, name, state, tone}) => {\n const mix = dark ? screen : multiply\n const mix2 = dark ? multiply : screen\n const defaultTints = tones[name] || tones.default\n const isNeutral = NEUTRAL_TONES.includes(name) && NEUTRAL_TONES.includes(tone)\n\n let tints = tones[tone === 'default' ? name : tone] || defaultTints\n\n if (state === 'disabled') {\n tints = defaultTints\n\n const bg = mix(base.bg, tints[dark ? 800 : 200].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg,\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 800 : 200].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 950 : 50].hex),\n },\n accent: {\n fg: mix(base.bg, tints[dark ? 950 : 50].hex),\n },\n link: {\n fg: mix(base.bg, tints[dark ? 950 : 50].hex),\n },\n code: {\n bg,\n fg: mix(base.bg, tints[dark ? 950 : 50].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'hovered') {\n const bg = mix(base.bg, tints[dark ? 300 : 600].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg,\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 300 : 600].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n accent: {\n fg: mix2(bg, hues.red[dark ? 800 : 200].hex),\n },\n link: {\n fg: mix2(bg, hues.blue[dark ? 800 : 200].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'pressed') {\n const bg = mix(base.bg, tints[dark ? 200 : 800].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg: mix(base.bg, tints[dark ? 200 : 800].hex),\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 200 : 800].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n accent: {\n fg: mix2(bg, hues.red[dark ? 800 : 200].hex),\n },\n link: {\n fg: mix2(bg, hues.blue[dark ? 800 : 200].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'selected') {\n if (isNeutral) {\n tints = tones.primary\n }\n\n const bg = mix(base.bg, tints[dark ? 200 : 800].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg,\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 200 : 800].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n accent: {\n fg: mix2(bg, hues.red[dark ? 800 : 200].hex),\n },\n link: {\n fg: mix2(bg, hues.blue[dark ? 800 : 200].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 800 : 200].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n // state: \"enabled\" | unknown\n const bg = mix(base.bg, tints[dark ? 400 : 500].hex)\n const skeletonFrom = mix2(bg, tints[dark ? 200 : 800].hex)\n\n return {\n bg,\n bg2: mix2(bg, tints[dark ? 50 : 950].hex),\n border: mix(base.bg, tints[dark ? 400 : 500].hex),\n fg: mix(base.bg, dark ? black.hex : white.hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 900 : 100].hex),\n },\n accent: {\n fg: mix2(bg, hues.red[dark ? 900 : 100].hex),\n },\n link: {\n fg: mix2(bg, hues.blue[dark ? 900 : 100].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 900 : 100].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n },\n\n muted: ({base, dark, name, state, tone}) => {\n const mix = dark ? screen : multiply\n const defaultTints = tones[name] || tones.default\n const isNeutral = NEUTRAL_TONES.includes(name) && NEUTRAL_TONES.includes(tone)\n\n let tints = tones[tone === 'default' ? name : tone] || defaultTints\n\n if (state === 'disabled') {\n tints = defaultTints\n\n const bg = base.bg\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(bg, tints[dark ? 800 : 200].hex),\n muted: {\n fg: mix(bg, tints[dark ? 900 : 100].hex),\n },\n accent: {\n fg: mix(bg, tints[dark ? 900 : 100].hex),\n },\n link: {\n fg: mix(bg, tints[dark ? 900 : 100].hex),\n },\n code: {\n bg,\n fg: mix(bg, tints[dark ? 900 : 100].hex),\n },\n skeleton: {\n from: rgba(skeletonFrom, 0.5),\n to: rgba(skeletonFrom, 0.25),\n },\n }\n }\n\n if (state === 'hovered') {\n // if (isNeutral) {\n // tints = tones.primary\n // }\n\n const bg = mix(base.bg, tints[dark ? 950 : 50].hex)\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 900 : 100].hex),\n fg: mix(base.bg, tints[dark ? 200 : 800].hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(base.bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(base.bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'pressed') {\n if (isNeutral) {\n tints = tones.primary\n }\n\n const bg = mix(base.bg, tints[dark ? 900 : 100].hex)\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 900 : 100].hex),\n fg: mix(base.bg, tints[dark ? 200 : 800].hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n if (state === 'selected') {\n if (isNeutral) {\n tints = tones.primary\n }\n\n const bg = mix(base.bg, tints[dark ? 900 : 100].hex)\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 900 : 100].hex),\n fg: mix(base.bg, tints[dark ? 200 : 800].hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n }\n\n const bg = base.bg\n const skeletonFrom = mix(bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n border: mix(bg, tints[dark ? 900 : 100].hex),\n fg: mix(base.bg, tints[dark ? 300 : 700].hex),\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(base.bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(base.bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(base.bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n },\n\n button: ({base, mode, muted, solid}) => {\n if (mode === 'bleed') {\n return {\n enabled: {\n ...muted.enabled,\n border: muted.enabled.bg,\n },\n hovered: {\n ...muted.hovered,\n border: muted.hovered.bg,\n },\n pressed: {\n ...muted.pressed,\n border: muted.pressed.bg,\n },\n selected: {\n ...muted.selected,\n border: muted.selected.bg,\n },\n disabled: {\n ...muted.disabled,\n border: muted.disabled.bg,\n },\n }\n }\n\n if (mode === 'ghost') {\n return {\n ...solid,\n enabled: {\n ...muted.enabled,\n border: base.border,\n },\n disabled: muted.disabled,\n }\n }\n\n return solid\n },\n\n card: ({base, dark, muted, name, solid, state}) => {\n if (state === 'hovered') {\n return muted[name].hovered\n }\n\n if (state === 'disabled') {\n return muted[name].disabled\n }\n\n const isNeutral = NEUTRAL_TONES.includes(name)\n const tints = tones[name] || tones.default\n const mix = dark ? screen : multiply\n\n if (state === 'pressed') {\n if (isNeutral) {\n return muted.primary.pressed\n }\n\n return muted[name].pressed\n }\n\n if (state === 'selected') {\n if (isNeutral) {\n return solid.primary.enabled\n }\n\n return solid[name].enabled\n }\n\n const bg = base.bg\n const skeletonFrom = mix(base.bg, tints[dark ? 900 : 100].hex)\n\n return {\n bg,\n bg2: mix(bg, tints[dark ? 950 : 50].hex),\n fg: base.fg,\n border: base.border,\n muted: {\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n },\n accent: {\n fg: mix(base.bg, hues.red[dark ? 400 : 500].hex),\n },\n link: {\n fg: mix(base.bg, hues.blue[dark ? 400 : 600].hex),\n },\n code: {\n bg: mix(base.bg, tints[dark ? 950 : 50].hex),\n fg: tints[dark ? 400 : 600].hex,\n },\n skeleton: {\n from: skeletonFrom,\n to: rgba(skeletonFrom, 0.5),\n },\n }\n },\n\n input: ({base, dark, mode, state}) => {\n const mix = dark ? screen : multiply\n\n if (mode === 'invalid') {\n const tints = tones.critical\n\n return {\n bg: mix(base.bg, tints[dark ? 950 : 50].hex),\n fg: mix(base.bg, tints[dark ? 400 : 600].hex),\n border: mix(base.bg, tints[dark ? 800 : 200].hex),\n placeholder: mix(base.bg, tints[dark ? 600 : 400].hex),\n }\n }\n\n if (state === 'hovered') {\n return {\n bg: base.bg,\n fg: base.fg,\n border: mix(base.bg, hues.gray[dark ? 700 : 300].hex),\n placeholder: mix(base.bg, hues.gray[dark ? 600 : 400].hex),\n }\n }\n\n if (state === 'disabled') {\n return {\n bg: mix(base.bg, hues.gray[dark ? 950 : 50].hex),\n fg: mix(base.bg, hues.gray[dark ? 700 : 300].hex),\n border: mix(base.bg, hues.gray[dark ? 900 : 100].hex),\n placeholder: mix(base.bg, hues.gray[dark ? 800 : 200].hex),\n }\n }\n\n if (state === 'readOnly') {\n return {\n bg: mix(base.bg, hues.gray[dark ? 950 : 50].hex),\n fg: mix(base.bg, hues.gray[dark ? 200 : 800].hex),\n border: mix(base.bg, hues.gray[dark ? 800 : 200].hex),\n placeholder: mix(base.bg, hues.gray[dark ? 600 : 400].hex),\n }\n }\n\n return {\n bg: base.bg,\n fg: base.fg,\n border: base.border,\n placeholder: mix(base.bg, hues.gray[dark ? 600 : 400].hex),\n }\n },\n\n selectable: ({base, muted, tone, solid, state}) => {\n if (state === 'enabled') {\n return {\n ...muted[tone].enabled,\n bg: base.bg,\n }\n }\n\n if (state === 'pressed') {\n if (tone === 'default') {\n return muted.primary.pressed\n }\n\n return muted[tone].pressed\n }\n\n if (state === 'selected') {\n if (tone === 'default') {\n return solid.primary.enabled\n }\n\n return solid[tone].enabled\n }\n\n if (state === 'disabled') {\n return {\n ...muted[tone].disabled,\n bg: base.bg,\n }\n }\n\n return muted[tone][state]\n },\n\n spot: ({base, dark, key}) => {\n const mix = dark ? screen : multiply\n\n return mix(base.bg, hues[key][dark ? 400 : 500].hex)\n },\n\n syntax: ({base, dark}) => {\n const mix = dark ? screen : multiply\n const mainShade = dark ? 400 : 600\n const secondaryShade = dark ? 600 : 400\n\n return {\n atrule: mix(base.bg, hues.purple[mainShade].hex),\n attrName: mix(base.bg, hues.green[mainShade].hex),\n attrValue: mix(base.bg, hues.yellow[mainShade].hex),\n attribute: mix(base.bg, hues.yellow[mainShade].hex),\n boolean: mix(base.bg, hues.purple[mainShade].hex),\n builtin: mix(base.bg, hues.purple[mainShade].hex),\n cdata: mix(base.bg, hues.yellow[mainShade].hex),\n char: mix(base.bg, hues.yellow[mainShade].hex),\n class: mix(base.bg, hues.orange[mainShade].hex),\n className: mix(base.bg, hues.cyan[mainShade].hex),\n comment: mix(base.bg, hues.gray[secondaryShade].hex),\n constant: mix(base.bg, hues.purple[mainShade].hex),\n deleted: mix(base.bg, hues.red[mainShade].hex),\n doctype: mix(base.bg, hues.gray[secondaryShade].hex),\n entity: mix(base.bg, hues.red[mainShade].hex),\n function: mix(base.bg, hues.green[mainShade].hex),\n hexcode: mix(base.bg, hues.blue[mainShade].hex),\n id: mix(base.bg, hues.purple[mainShade].hex),\n important: mix(base.bg, hues.purple[mainShade].hex),\n inserted: mix(base.bg, hues.yellow[mainShade].hex),\n keyword: mix(base.bg, hues.magenta[mainShade].hex),\n number: mix(base.bg, hues.purple[mainShade].hex),\n operator: mix(base.bg, hues.magenta[mainShade].hex),\n prolog: mix(base.bg, hues.gray[secondaryShade].hex),\n property: mix(base.bg, hues.blue[mainShade].hex),\n pseudoClass: mix(base.bg, hues.yellow[mainShade].hex),\n pseudoElement: mix(base.bg, hues.yellow[mainShade].hex),\n punctuation: mix(base.bg, hues.gray[mainShade].hex),\n regex: mix(base.bg, hues.blue[mainShade].hex),\n selector: mix(base.bg, hues.red[mainShade].hex),\n string: mix(base.bg, hues.yellow[mainShade].hex),\n symbol: mix(base.bg, hues.purple[mainShade].hex),\n tag: mix(base.bg, hues.red[mainShade].hex),\n unit: mix(base.bg, hues.orange[mainShade].hex),\n url: mix(base.bg, hues.red[mainShade].hex),\n variable: mix(base.bg, hues.red[mainShade].hex),\n }\n },\n})\n","import {ThemeFonts} from '../lib/theme'\n\nexport const fonts: ThemeFonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 3,\n descenderHeight: 3,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 13,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 25,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n ],\n },\n heading: {\n family:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 700,\n medium: 800,\n semibold: 900,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 12,\n iconSize: 17,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 27,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 33,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 39,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 9,\n descenderHeight: 9,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 45,\n letterSpacing: 0,\n },\n ],\n },\n label: {\n family:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weights: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 9.8,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 11.25,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.75,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 14,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15.5,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n },\n ],\n },\n text: {\n family:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 3,\n descenderHeight: 3,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 13,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 17,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 21,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 25,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n ],\n },\n}\n","import {RootTheme} from '../types'\nimport {color} from './color'\nimport {fonts} from './fonts'\n\n/**\n * @public\n */\nexport const studioTheme: RootTheme = {\n avatar: {\n sizes: [\n {distance: -3, size: 25},\n {distance: -6, size: 35},\n {distance: -9, size: 55},\n ],\n },\n button: {\n textWeight: 'medium',\n },\n color,\n container: [320, 640, 960, 1280, 1600, 1920],\n focusRing: {\n offset: 1,\n width: 2,\n },\n fonts,\n media: [360, 600, 900, 1200, 1800, 2400],\n radius: [0, 1, 3, 6, 9, 12, 21],\n shadows: [\n null,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -1], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 0]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n checkbox: {\n size: 17,\n },\n radio: {\n size: 17,\n markSize: 9,\n },\n switch: {\n width: 33,\n height: 17,\n padding: 4,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n },\n border: {\n width: 1,\n },\n },\n // styles: {\n // button: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n // card: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n // },\n}\n","import {ThemeLayer} from './lib/theme/layer'\n\nexport const DEFAULT_THEME_LAYER: ThemeLayer = {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n}\n","/**\n * Gets the global scope instance in a given environment.\n *\n * The strategy is to return the most modern, and if not, the most common:\n * - The `globalThis` variable is the modern approach to accessing the global scope\n * - The `window` variable is the global scope in a web browser\n * - The `self` variable is the global scope in workers and others\n * - The `global` variable is the global scope in Node.js\n */\nfunction getGlobalScope() {\n if (typeof globalThis !== 'undefined') return globalThis\n if (typeof window !== 'undefined') return window\n if (typeof self !== 'undefined') return self\n if (typeof global !== 'undefined') return global\n\n throw new Error('@sanity/ui: could not locate global scope')\n}\n\nexport const globalScope = getGlobalScope() as any\n","import {createContext} from 'react'\nimport {globalScope} from '../lib/globalScope'\nimport {ThemeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/theme')\n\nglobalScope[key] = globalScope[key] || createContext<ThemeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const ThemeContext: React.Context<ThemeContextValue | null> = globalScope[key]\n","import {useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider} from 'styled-components'\nimport {DEFAULT_THEME_LAYER} from './defaults'\nimport {ThemeColorSchemeKey, ThemeColorName} from './lib/theme'\nimport {ThemeContext} from './themeContext'\nimport {RootTheme, Theme, ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorName\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): React.ReactElement {\n const parentTheme = useContext(ThemeContext)\n const {\n children,\n scheme = parentTheme?.scheme || 'light',\n theme: themeProp = parentTheme?.theme || null,\n tone = parentTheme?.tone || 'default',\n } = props\n\n const theme: Theme | null = useMemo(() => {\n if (!themeProp) return null\n\n const {color: rootColor, layer: rootLayer, ...restTheme} = themeProp\n const colorScheme = rootColor[scheme] || rootColor.light\n const color = colorScheme[tone] || colorScheme.default\n const layer = rootLayer || DEFAULT_THEME_LAYER\n\n return {sanity: {...restTheme, color, layer}}\n }, [scheme, themeProp, tone])\n\n const value: ThemeContextValue | null = useMemo(\n () =>\n themeProp && {\n version: 0.0,\n theme: themeProp,\n scheme,\n tone,\n },\n [themeProp, scheme, tone]\n )\n\n if (!theme) {\n return <pre>ThemeProvider: no \"theme\" property provided</pre>\n }\n\n return (\n <ThemeContext.Provider value={value}>\n <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n </ThemeContext.Provider>\n )\n}\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object')\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../lib/isRecord'\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport function useRootTheme(): ThemeContextValue {\n const value: unknown = useContext(ThemeContext)\n\n if (!value) {\n throw new Error('useRootTheme(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useRootTheme(): the context value is not compatible')\n }\n\n return value as any as ThemeContextValue\n}\n","import {ThemeColorName, ThemeColorSchemeKey} from './lib/theme'\nimport {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n */\nexport interface ThemeColorProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorName\n}\n\n/**\n * @public\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): React.ReactElement {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n\n return (\n <ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n {children}\n </ThemeProvider>\n )\n}\n","import {useTheme as useStyledTheme} from 'styled-components'\n\nimport {Theme} from './types'\n\n/**\n * @public\n */\nexport function useTheme(): Theme {\n return useStyledTheme() as Theme\n}\n","/**\n * @internal\n */\nexport interface _MediaManager {\n getCurrentIndex: () => number\n subscribe: (subscriber: (index: number) => void) => () => void\n}\n\nconst MEDIA_MANAGER_CACHE = new WeakMap<number[], _MediaManager>()\n\nfunction _getMediaQuery(media: number[], index: number) {\n if (index === 0) {\n return `screen and (max-width: ${media[index] - 1}px)`\n }\n\n if (index === media.length) {\n return `screen and (min-width: ${media[index - 1]}px)`\n }\n\n return `screen and (min-width: ${media[index - 1]}px) and (max-width: ${media[index] - 1}px)`\n}\n\nfunction _createMediaManager(media: number[]): _MediaManager {\n const mediaLen = media.length\n const sizes: {mq: MediaQueryList; index: number}[] = []\n\n if (typeof window !== 'undefined') {\n for (let index = mediaLen; index > -1; index -= 1) {\n const mediaQuery = _getMediaQuery(media, index)\n\n sizes.push({index, mq: window.matchMedia(mediaQuery)})\n }\n }\n\n const getCurrentIndex = () => {\n for (const {index, mq} of sizes) {\n if (mq.matches) return index\n }\n\n return 0\n }\n\n const subscribe = (subscriber: (index: number) => void) => {\n const disposeFns: (() => void)[] = []\n\n for (const {index, mq} of sizes) {\n const handleChange = () => {\n if (mq.matches) subscriber(index)\n }\n\n if (mq.addEventListener) {\n mq.addEventListener('change', handleChange)\n } else {\n mq.addListener(handleChange)\n }\n\n disposeFns.push(() => {\n if (mq.removeEventListener) {\n mq.removeEventListener('change', handleChange)\n } else {\n mq.removeListener(handleChange)\n }\n })\n }\n\n return () => {\n for (const disposeFn of disposeFns) {\n disposeFn()\n }\n }\n }\n\n return {getCurrentIndex, subscribe}\n}\n\n/**\n * @internal\n */\nexport function _getMediaManager(media: number[]): _MediaManager {\n let manager = MEDIA_MANAGER_CACHE.get(media)\n\n if (!manager) {\n manager = _createMediaManager(media)\n MEDIA_MANAGER_CACHE.set(media, manager)\n }\n\n return manager\n}\n","import {useEffect, useMemo, useState} from 'react'\nimport {useTheme} from '../../theme'\nimport {_getMediaManager} from './lib/media'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useMediaIndex(): number {\n const theme = useTheme()\n const {media} = theme.sanity\n const manager = useMemo(() => _getMediaManager(media), [media])\n const [index, setIndex] = useState(manager.getCurrentIndex)\n\n useEffect(() => manager.subscribe(setIndex), [manager])\n\n return index\n}\n","import {useEffect, useMemo, useState} from 'react'\n\n/**\n * @public\n */\nexport function usePrefersDark(): boolean {\n const mq = useMemo(() => {\n if (typeof window === 'undefined') return undefined\n\n return window.matchMedia('(prefers-color-scheme: dark)')\n }, [])\n\n const [dark, setDark] = useState(mq?.matches || false)\n\n useEffect(() => {\n if (!mq) return undefined\n\n setDark(mq.matches)\n\n const handleChange = () => setDark(mq.matches)\n\n mq.addEventListener('change', handleChange)\n\n return () => mq.removeEventListener('change', handleChange)\n }, [mq])\n\n return dark\n}\n","import {useEffect, useLayoutEffect} from 'react'\n\n/**\n * @beta\n */\nexport const useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n","import {useRef} from 'react'\nimport {useIsomorphicEffect} from './useIsomorphicEffect'\n\n/**\n * @beta\n */\nexport function useForwardedRef<T>(ref: React.ForwardedRef<T>): React.MutableRefObject<T | null> {\n const innerRef = useRef<T | null>(null)\n\n useIsomorphicEffect(() => {\n if (!ref) return\n\n if (typeof ref === 'function') {\n ref(innerRef.current)\n } else {\n ref.current = innerRef.current\n }\n })\n\n return innerRef\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n ref: {current: null | {setCustomValidity: (validity: string) => void}},\n customValidity: string | undefined\n): void {\n useEffect(() => {\n if (ref.current) {\n ref.current.setCustomValidity(customValidity || '')\n }\n }, [customValidity, ref])\n}\n","import {CSSObject} from 'styled-components'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBorderStyleProps} from './types'\n\nconst BORDER_VALUE = '1px solid var(--card-border-color)'\n\n// export function responsiveBorderStyle(): Array<\n// (props: ResponsiveBorderStyleProps & ThemeProps) => CSSObject[]\n// > {\n// return [responsiveBorderStyle, borderTop, borderRight, borderBottom, borderLeft]\n// }\n\nexport function responsiveBorderStyle(props: ResponsiveBorderStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$border, (value) =>\n value ? {'&&': {border: BORDER_VALUE}} : {'&&': {border: 0}}\n )\n}\n\nexport function responsiveBorderTopStyle(\n props: ResponsiveBorderStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderTop, (value) =>\n value ? {'&&': {borderTop: BORDER_VALUE}} : {'&&': {borderTop: 0}}\n )\n}\n\nexport function responsiveBorderRightStyle(\n props: ResponsiveBorderStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderRight, (value) =>\n value ? {'&&': {borderRight: BORDER_VALUE}} : {'&&': {borderRight: 0}}\n )\n}\n\nexport function responsiveBorderBottomStyle(\n props: ResponsiveBorderStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderBottom, (value) =>\n value ? {'&&': {borderBottom: BORDER_VALUE}} : {'&&': {borderBottom: 0}}\n )\n}\n\nexport function responsiveBorderLeftStyle(\n props: ResponsiveBorderStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$borderLeft, (value) =>\n value ? {'&&': {borderLeft: BORDER_VALUE}} : {'&&': {borderLeft: 0}}\n )\n}\n","import {Property} from 'csstype'\nimport {CSSObject} from 'styled-components'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBoxStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst BOX_SIZING: {[key: string]: Property.BoxSizing} = {\n content: 'content-box',\n border: 'border-box',\n}\n\nconst BOX_HEIGHT = {\n stretch: 'stretch',\n fill: '100%',\n}\n\nexport function boxStyle(): CSSObject {\n return BASE_STYLE\n}\n\n// export function responsiveBoxStyle(): Array<\n// (props: ResponsiveBoxStyleProps & ThemeProps) => CSSObject[]\n// > {\n// return [\n// responsiveBoxSizingStyle,\n// responsiveBoxHeightStyle,\n// responsiveBoxOverflowStyle,\n// responsiveBoxDisplayStyle,\n// ]\n// }\n\nexport function responsiveBoxDisplayStyle(\n props: ResponsiveBoxStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$display, (display) => ({\n '&:not([hidden])': {display},\n }))\n}\n\nexport function responsiveBoxSizingStyle(props: ResponsiveBoxStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$sizing, (sizing) => ({\n boxSizing: BOX_SIZING[sizing],\n }))\n}\n\nexport function responsiveBoxHeightStyle(props: ResponsiveBoxStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$height, (height) => ({\n height: BOX_HEIGHT[height],\n }))\n}\n\nexport function responsiveBoxOverflowStyle(\n props: ResponsiveBoxStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$overflow, (overflow) => ({\n overflow,\n }))\n}\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexStyleProps} from './types'\n\nexport const __tmp_flexStyle: CSSObject = {\n '&&:not([hidden])': {\n display: 'flex',\n },\n}\n\n// export function responsiveFlexStyle(): Array<\n// CSSObject | ((props: ResponsiveFlexStyleProps & ThemeProps) => CSSObject[])\n// > {\n// return [\n\n// ]\n// }\n\nexport function responsiveFlexAlignStyle(\n props: ResponsiveFlexStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$align, (align) => {\n return {alignItems: align}\n })\n}\n\nexport function responsiveFlexGapStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gap, (gap) => ({\n gap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nexport function responsiveFlexWrapStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$wrap, (wrap) => {\n return {flexWrap: wrap}\n })\n}\n\nexport function responsiveFlexJustifyStyle(\n props: ResponsiveFlexStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$justify, (justify) => {\n return {justifyContent: justify}\n })\n}\n\nexport function responsiveFlexDirectionStyle(\n props: ResponsiveFlexStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$direction, (direction) => {\n return {flexDirection: direction}\n })\n}\n","import {CSSObject} from 'styled-components'\nimport {EMPTY_ARRAY} from '../../constants'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexItemStyleProps} from './types'\n\nexport const __tmp_flexItemStyle: CSSObject = {\n minWidth: 0,\n minHeight: 0,\n}\n\nexport function responsiveFlexItemStyle(\n props: ResponsiveFlexItemStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n if (!props.$flex) return EMPTY_ARRAY\n\n return _responsive(media, props.$flex, (flex) => ({flex}))\n}\n","export function focusRingBorderStyle(border: {color: string; width: number}): string {\n return `inset 0 0 0 ${border.width}px ${border.color}`\n}\n\nexport function focusRingStyle(opts: {\n base?: {bg: string}\n border?: {color: string; width: number}\n focusRing: {offset: number; width: number}\n}): string {\n const {base, border, focusRing} = opts\n const focusRingOutsetWidth = focusRing.offset + focusRing.width\n const focusRingInsetWidth = 0 - focusRing.offset\n const bgColor = base ? base.bg : 'var(--card-bg-color)'\n\n return [\n focusRingInsetWidth > 0 && `inset 0 0 0 ${focusRingInsetWidth}px var(--card-focus-ring-color)`,\n border && focusRingBorderStyle(border),\n focusRingInsetWidth < 0 && `0 0 0 ${0 - focusRingInsetWidth}px ${bgColor}`,\n focusRingOutsetWidth > 0 && `0 0 0 ${focusRingOutsetWidth}px var(--card-focus-ring-color)`,\n ]\n .filter(Boolean)\n .join(',')\n}\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridStyleProps} from './types'\n\nexport const __tmp_gridStyle: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst GRID_AUTO_COLUMS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nconst GRID_AUTO_ROWS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\n// export function responsiveGridStyle(): Array<\n// CSSObject | ((props: ResponsiveGridStyleProps & ThemeProps) => CSSObject[])\n// > {\n// return [\n// __tmp_gridStyle,\n// responsiveGridAutoFlowStyle,\n// responsiveGridAutoRowsStyle,\n// responsiveGridAutoColsStyle,\n// responsiveGridColumnsStyle,\n// responsiveGridRowsStyle,\n// responsiveGridGapStyle,\n// responsiveGridGapXStyle,\n// responsiveGridGapYStyle,\n// ]\n// }\n\nexport function responsiveGridAutoFlowStyle(\n props: ResponsiveGridStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoFlow, (autoFlow) => ({\n gridAutoFlow: autoFlow,\n }))\n}\n\nexport function responsiveGridAutoRowsStyle(\n props: ResponsiveGridStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoRows, (autoRows) => ({\n gridAutoRows: autoRows && GRID_AUTO_ROWS[autoRows],\n }))\n}\n\nexport function responsiveGridAutoColsStyle(\n props: ResponsiveGridStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$autoCols, (autoCols) => ({\n gridAutoColumns: autoCols && GRID_AUTO_COLUMS[autoCols],\n }))\n}\n\nexport function responsiveGridColumnsStyle(\n props: ResponsiveGridStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columns, (columns) => ({\n gridTemplateColumns: columns && `repeat(${columns},minmax(0,1fr));`,\n }))\n}\n\nexport function responsiveGridRowsStyle(props: ResponsiveGridStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rows, (rows) => ({\n gridTemplateRows: rows && `repeat(${rows},minmax(0,1fr));`,\n }))\n}\n\nexport function responsiveGridGapStyle(props: ResponsiveGridStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gap, (gap) => ({\n gridGap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nexport function responsiveGridGapXStyle(props: ResponsiveGridStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gapX, (gapX) => ({\n columnGap: gapX ? rem(space[gapX]) : undefined,\n }))\n}\n\nexport function responsiveGridGapYStyle(props: ResponsiveGridStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$gapY, (gapY) => ({\n rowGap: gapY ? rem(space[gapY]) : undefined,\n }))\n}\n","import {CSSObject} from 'styled-components'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridItemStyleProps} from './types'\n\n// export function responsiveGridItemStyle(): Array<\n// (props: ResponsiveGridItemStyleProps & ThemeProps) => CSSObject[]\n// > {\n// return [\n// responsiveGridItemRowStyle,\n// responsiveGridItemRowStartStyle,\n// responsiveGridItemRowEndStyle,\n// responsiveGridItemColumnStyle,\n// responsiveGridItemColumnStartStyle,\n// responsiveGridItemColumnEndStyle,\n// ]\n// }\n\nconst GRID_ITEM_ROW = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nconst GRID_ITEM_COLUMN = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nexport function responsiveGridItemRowStyle(\n props: ResponsiveGridItemStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$row, (row) => {\n if (typeof row === 'number') {\n return {gridRow: `span ${row} / span ${row}`}\n }\n\n return {gridRow: GRID_ITEM_ROW[row]}\n })\n}\n\nexport function responsiveGridItemRowStartStyle(\n props: ResponsiveGridItemStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rowStart, (rowStart) => ({\n gridRowStart: rowStart,\n }))\n}\n\nexport function responsiveGridItemRowEndStyle(\n props: ResponsiveGridItemStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$rowEnd, (rowEnd) => ({gridRowEnd: rowEnd}))\n}\n\nexport function responsiveGridItemColumnStyle(\n props: ResponsiveGridItemStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$column, (column) => {\n if (typeof column === 'number') {\n return {gridColumn: `span ${column} / span ${column}`}\n }\n\n return {gridColumn: GRID_ITEM_COLUMN[column]}\n })\n}\n\nexport function responsiveGridItemColumnStartStyle(\n props: ResponsiveGridItemStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columnStart, (columnStart) => ({\n gridColumnStart: columnStart,\n }))\n}\n\nexport function responsiveGridItemColumnEndStyle(\n props: ResponsiveGridItemStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$columnEnd, (columnEnd) => ({\n gridColumnEnd: columnEnd,\n }))\n}\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\nexport interface TextInputResponsivePaddingStyleProps {\n $fontSize: number[]\n $iconLeft?: boolean\n $iconRight?: boolean\n $padding: number[]\n $space: number[]\n}\n\nexport function responsiveInputPaddingStyle(\n props: TextInputResponsivePaddingStyleProps & ThemeProps\n): CSSObject[] {\n const {$fontSize, $iconLeft, $iconRight, $padding, $space, theme} = props\n const {fonts, media, space: spaceScale} = theme.sanity\n const len = Math.max($padding.length, $space.length, $fontSize.length)\n const _padding: number[] = []\n const _space: number[] = []\n const _fontSize: number[] = []\n\n for (let i = 0; i < len; i += 1) {\n _fontSize[i] = $fontSize[i] === undefined ? _fontSize[i - 1] : $fontSize[i]\n _padding[i] = $padding[i] === undefined ? _padding[i - 1] : $padding[i]\n _space[i] = $space[i] === undefined ? _space[i - 1] : $space[i]\n }\n\n return _responsive(media, _padding, (_, i) => {\n const size = fonts.text.sizes[_fontSize[i]] || fonts.text.sizes[2]\n const emSize = size.lineHeight - size.ascenderHeight - size.descenderHeight\n const p = spaceScale[_padding[i]]\n const s = spaceScale[_space[i]]\n\n const styles = {\n paddingTop: rem(p - size.ascenderHeight),\n paddingRight: rem(p),\n paddingBottom: rem(p - size.descenderHeight),\n paddingLeft: rem(p),\n }\n\n if ($iconRight) styles.paddingRight = rem(p + emSize + s)\n if ($iconLeft) styles.paddingLeft = rem(p + emSize + s)\n\n return styles\n })\n}\n\nexport function responsiveInputPaddingIconsStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true, $iconRight: true})\n}\n\nexport function responsiveInputPaddingIconLeftStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconLeft: true})\n}\n\nexport function responsiveInputPaddingIconRightStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconRight: true})\n}\n","import {CSSObject} from 'styled-components'\nimport {ThemeColorSchemeKey, ThemeFontWeightKey} from '../../theme'\nimport {CardTone} from '../../types'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\n\n/**\n * @internal\n */\nexport interface TextInputInputStyleProps {\n $fontSize: number[]\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $weight?: ThemeFontWeightKey\n}\n\n/**\n * @internal\n */\nexport interface TextInputRepresentationStyleProps {\n $hasPrefix?: boolean\n $hasSuffix?: boolean\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n}\n\nconst ROOT_STYLE: CSSObject = {\n '&:not([hidden])': {\n display: 'flex',\n },\n\n alignItems: 'center',\n}\n\nexport function textInputRootStyle(): CSSObject {\n return ROOT_STYLE\n}\n\nexport function textInputBaseStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject {\n const {theme, $scheme, $tone, $weight} = props\n const font = theme.sanity.fonts.text\n const color = theme.sanity.color.input\n\n return {\n appearance: 'none',\n background: 'none',\n border: 0,\n borderRadius: 0,\n outline: 'none',\n width: '100%',\n boxSizing: 'border-box',\n fontFamily: font.family,\n fontWeight: ($weight && font.weights[$weight]) || font.weights.regular,\n margin: 0,\n position: 'relative',\n zIndex: 1,\n display: 'block',\n\n /* NOTE: This is a hack to disable Chrome’s autofill styles */\n '&:-webkit-autofill, &:-webkit-autofill:hover, &:-webkit-autofill:focus, &:-webkit-autofill:active':\n {\n WebkitTextFillColor: 'var(--input-fg-color) !important',\n transition: 'background-color 5000s',\n transitionDelay: '86400s' /* 24h */,\n },\n\n /* &:is(textarea) */\n '&[data-as=\"textarea\"]': {\n resize: 'none',\n },\n\n color: 'var(--input-fg-color)',\n\n '&::placeholder': {\n color: 'var(--input-placeholder-color)',\n },\n\n [`&[data-scheme=\"${$scheme}\"][data-tone=\"${$tone}\"]`]: {\n '--input-fg-color': color.default.enabled.fg,\n '--input-placeholder-color': color.default.enabled.placeholder,\n\n /* enabled */\n '&:not(:invalid):not(:disabled):not(:read-only)': {\n '--input-fg-color': color.default.enabled.fg,\n '--input-placeholder-color': color.default.enabled.placeholder,\n },\n\n /* disabled */\n '&:not(:invalid):disabled': {\n '--input-fg-color': color.default.disabled.fg,\n '--input-placeholder-color': color.default.disabled.placeholder,\n },\n\n /* invalid */\n '&:invalid': {\n '--input-fg-color': color.invalid.enabled.fg,\n '--input-placeholder-color': color.invalid.enabled.placeholder,\n },\n\n /* readOnly */\n '&:read-only': {\n '--input-fg-color': color.default.readOnly.fg,\n '--input-placeholder-color': color.default.readOnly.placeholder,\n },\n },\n }\n}\n\nexport function textInputFontSizeStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {fonts, media} = theme.sanity\n\n return _responsive(media, props.$fontSize, (sizeIndex) => {\n const size = fonts.text.sizes[sizeIndex] || fonts.text.sizes[2]\n\n return {\n fontSize: rem(size.fontSize),\n lineHeight: size.lineHeight / size.fontSize,\n }\n })\n}\n\nexport function textInputRepresentationStyle(\n props: TextInputRepresentationStyleProps & ThemeProps\n): CSSObject {\n const {$hasPrefix, $hasSuffix, $scheme, $tone, theme} = props\n const {focusRing, input} = theme.sanity\n const color = theme.sanity.color.input\n\n return {\n '--input-box-shadow': 'none',\n\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n display: 'block',\n pointerEvents: 'none',\n zIndex: 0,\n\n backgroundColor: 'var(--card-bg-color)',\n boxShadow: 'var(--input-box-shadow)',\n\n borderTopLeftRadius: $hasPrefix ? 0 : undefined,\n borderBottomLeftRadius: $hasPrefix ? 0 : undefined,\n borderTopRightRadius: $hasSuffix ? 0 : undefined,\n borderBottomRightRadius: $hasSuffix ? 0 : undefined,\n\n [`&[data-scheme=\"${$scheme}\"][data-tone=\"${$tone}\"]`]: {\n '--card-bg-color': color.default.enabled.bg,\n '--card-fg-color': color.default.enabled.fg,\n\n /* enabled */\n '*:not(:disabled) + &[data-border]': {\n '--input-box-shadow': focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n }),\n },\n\n /* invalid */\n '*:not(:disabled):invalid + &': {\n '--card-bg-color': color.invalid.enabled.bg,\n '--card-fg-color': color.invalid.enabled.fg,\n\n '&[data-border]': {\n '--input-box-shadow': focusRingBorderStyle({\n color: color.invalid.enabled.border,\n width: input.border.width,\n }),\n },\n },\n\n /* focused */\n '*:not(:disabled):focus + &': {\n '&[data-border]': {\n '--input-box-shadow': focusRingStyle({\n border: {color: color.default.enabled.border, width: input.border.width},\n focusRing,\n }),\n },\n\n '&:not([data-border])': {\n '--input-box-shadow': focusRingStyle({focusRing}),\n },\n },\n\n /* disabled */\n '*:disabled + &': {\n '--card-bg-color': `${color.default.disabled.bg} !important`,\n '--card-fg-color': `${color.default.disabled.fg} !important`,\n\n '&[data-border]': {\n '--input-box-shadow': focusRingBorderStyle({\n color: color.default.disabled.border,\n width: input.border.width,\n }),\n },\n },\n\n /* readOnly */\n '*:read-only + &': {\n '--card-bg-color': `${color.default.readOnly.bg} !important`,\n '--card-fg-color': `${color.default.readOnly.fg} !important`,\n },\n\n /* hovered */\n '@media (hover: hover)': {\n '*:not(:disabled):not(:read-only):not(:invalid):hover + &': {\n '--card-bg-color': color.default.hovered.bg,\n '--card-fg-color': color.default.hovered.fg,\n },\n\n '*:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border]': {\n '--input-box-shadow': focusRingBorderStyle({\n color: color.default.hovered.border,\n width: input.border.width,\n }),\n },\n },\n },\n }\n}\n","import {CSSObject} from 'styled-components'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveMarginStyleProps} from './types'\n\n// TODO: refactor this to separate style functions\nexport function responsiveMarginStyle(props: ResponsiveMarginStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n\n return [\n ..._getResponsiveSpace(theme, ['margin'], props.$margin),\n ..._getResponsiveSpace(theme, ['marginLeft', 'marginRight'], props.$marginX),\n ..._getResponsiveSpace(theme, ['marginTop', 'marginBottom'], props.$marginY),\n ..._getResponsiveSpace(theme, ['marginTop'], props.$marginTop),\n ..._getResponsiveSpace(theme, ['marginRight'], props.$marginRight),\n ..._getResponsiveSpace(theme, ['marginBottom'], props.$marginBottom),\n ..._getResponsiveSpace(theme, ['marginLeft'], props.$marginLeft),\n ]\n}\n","import {CSSObject} from 'styled-components'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsivePaddingStyleProps} from './types'\n\n// TODO: refactor this to separate style functions\nexport function responsivePaddingStyle(\n props: ResponsivePaddingStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n\n return [\n ..._getResponsiveSpace(theme, ['padding'], props.$padding),\n ..._getResponsiveSpace(theme, ['paddingLeft', 'paddingRight'], props.$paddingX),\n ..._getResponsiveSpace(theme, ['paddingTop', 'paddingBottom'], props.$paddingY),\n ..._getResponsiveSpace(theme, ['paddingTop'], props.$paddingTop),\n ..._getResponsiveSpace(theme, ['paddingRight'], props.$paddingRight),\n ..._getResponsiveSpace(theme, ['paddingBottom'], props.$paddingBottom),\n ..._getResponsiveSpace(theme, ['paddingLeft'], props.$paddingLeft),\n ]\n}\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveRadiusStyleProps} from './types'\n\nexport function responsiveRadiusStyle(props: ResponsiveRadiusStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, radius} = theme.sanity\n\n return _responsive(media, props.$radius, (radiusIndex) => ({\n borderRadius: rem(radius[radiusIndex]),\n }))\n}\n","import {CSSObject} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {BoxShadow, ThemeShadow} from '../../theme'\nimport {rem, _responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveShadowStyleProps} from './types'\n\nfunction toBoxShadow(shadow: BoxShadow, color: string) {\n return `${shadow.map(rem).join(' ')} ${color}`\n}\n\nfunction shadowStyle(shadow: ThemeShadow | null): CSSObject {\n if (!shadow) return EMPTY_RECORD\n\n const outline = `0 0 0 ${rem(1)} var(--card-shadow-outline-color)`\n const umbra = toBoxShadow(shadow.umbra, 'var(--card-shadow-umbra-color)')\n const penumbra = toBoxShadow(shadow.penumbra, 'var(--card-shadow-penumbra-color)')\n const ambient = toBoxShadow(shadow.ambient, 'var(--card-shadow-ambient-color)')\n\n return {boxShadow: `${outline}, ${umbra}, ${penumbra}, ${ambient}`}\n}\n\nexport function responsiveShadowStyle(props: ResponsiveShadowStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n const {media, shadows} = theme.sanity\n\n return _responsive(media, props.$shadow, (shadow) => shadowStyle(shadows[shadow]))\n}\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../../styles'\n\nexport function textBaseStyle(\n props: {$accent?: boolean; $muted?: boolean} & ThemeProps\n): CSSObject {\n const {$accent, $muted, theme} = props\n const {weights} = theme.sanity.fonts.text\n\n return {\n color: 'var(--card-fg-color)',\n\n ...($accent ? {color: 'var(--card-accent-fg-color)'} : {}),\n\n ...($muted ? {color: 'var(--card-muted-fg-color)'} : {}),\n\n '& code': {\n fontFamily: theme.sanity.fonts.code.family,\n borderRadius: 1,\n backgroundColor: 'var(--card-code-bg-color)',\n color: 'var(--card-code-fg-color)',\n },\n\n '& a': {\n textDecoration: 'none',\n borderRadius: 1,\n color: 'var(--card-link-color)',\n outline: 'none',\n\n '@media (hover: hover)': {\n '&:hover': {\n textDecoration: 'underline',\n },\n },\n\n '&:focus': {\n boxShadow: '0 0 0 1px var(--card-bg-color), 0 0 0 3px var(--card-focus-ring-color)',\n },\n\n '&:focus:not(:focus-visible)': {\n boxShadow: 'none',\n },\n },\n\n '& strong': {\n fontWeight: weights.bold,\n },\n\n '& [data-sanity-icon]': {\n verticalAlign: 'baseline',\n },\n }\n}\n","import {forwardRef, memo} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {\n ResponsiveFontStyleProps,\n responsiveTextAlignStyle,\n responsiveTextFont,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = memo(\n compose<ResponsiveFontStyleProps>('div', [\n responsiveTextFont,\n responsiveTextAlignStyle,\n textBaseStyle,\n ])\n)\n\nconst SpanWithTextOverflow = memo(\n styled.span({\n display: 'block',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n })\n)\n\n/**\n * @public\n */\nexport const Text = forwardRef(function Text(\n props: TextProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Text\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n ref={ref}\n $size={useArrayProp(size)}\n $weight={weight}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\nimport {AvatarRootStyleProps, ResponsiveAvatarSizeStyleProps} from './types'\n\nexport const avatarStyle = {\n root: avatarRootStyle,\n arrow: avatarArrowStyle,\n bgStroke: avatarBgStrokeStyle,\n stroke: avatarStrokeStyle,\n initials: avatarInitialsStyle,\n}\n\nfunction avatarArrowStyle(): CSSObject {\n return {\n position: 'absolute',\n boxSizing: 'border-box',\n zIndex: 0,\n opacity: 0,\n transition: 'all 0.2s linear',\n transform: 'rotate(-90deg) translate3d(0, 6px, 0)',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n\n '& > svg': {\n width: '11px',\n height: '7px',\n position: 'absolute',\n top: '-5px',\n left: '50%',\n transform: 'translateX(-6px)',\n\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n \"[data-arrow-position='inside'] > &\": {\n transform: 'rotate(-90deg) translate3d(0, 6px, 0)',\n opacity: 0,\n },\n\n \"[data-arrow-position='top'] > &\": {\n opacity: 1,\n transform: 'rotate(0deg)',\n },\n\n \"[data-arrow-position='bottom'] > &\": {\n opacity: 1,\n transform: 'rotate(-180deg)',\n },\n }\n}\n\nexport function avatarRootStyle(props: AvatarRootStyleProps & ThemeProps): CSSObject {\n const {$color, theme} = props\n const {focusRing} = theme.sanity\n\n return {\n backgroundColor: $color,\n position: 'relative',\n boxSizing: 'border-box',\n userSelect: 'none',\n boxShadow: '0 0 0 1px var(--card-bg-color)',\n\n '&[data-status=\"inactive\"]': {\n opacity: 0.5,\n },\n\n '&>svg': {\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n /* &:is(button) */\n '&[data-as=\"button\"]': {\n WebkitFontSmoothing: 'inherit',\n appearance: 'none',\n margin: 0,\n padding: 0,\n border: 0,\n font: 'inherit',\n color: 'inherit',\n outline: 'none',\n\n '&:focus': {\n boxShadow: focusRingStyle({focusRing}),\n },\n\n '&:focus:not(:focus-visible)': {\n boxShadow: 'none',\n },\n },\n }\n}\n\nexport function responsiveAvatarSizeStyle(\n props: ResponsiveAvatarSizeStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size] || avatar.sizes[0]\n\n return {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n\n '&>svg': {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n },\n }\n })\n}\n\nexport function avatarInitialsStyle(props: ThemeProps): CSSObject {\n const {theme} = props\n const {base} = theme.sanity.color\n\n return {\n width: '100%',\n height: '100%',\n color: base.fg,\n alignItems: 'center',\n justifyContent: 'center',\n textTransform: 'uppercase',\n textAlign: 'center',\n borderRadius: '50%',\n\n '&:not([hidden])': {\n display: 'flex',\n },\n }\n}\n\nfunction avatarBgStrokeStyle(): CSSObject {\n return {\n strokeWidth: '4px',\n stroke: 'var(--card-bg-color)',\n }\n}\n\nfunction avatarStrokeStyle(): CSSObject {\n return {\n strokeWidth: '3px',\n\n '[data-status=\"editing\"] &': {\n strokeSasharray: '2 4',\n strokeLinecap: 'round',\n },\n }\n}\n","import {forwardRef, memo, useCallback, useEffect, useId, useMemo, useState} from 'react'\nimport ReactIs from 'react-is'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {ThemeColorSpotKey, useTheme} from '../../theme'\nimport {AvatarPosition, AvatarSize, AvatarStatus} from '../../types'\nimport {Text} from '../text'\nimport {avatarStyle, responsiveAvatarSizeStyle} from './styles'\nimport {AvatarRootStyleProps, ResponsiveAvatarSizeStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface AvatarProps {\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n as?: React.ElementType | keyof JSX.IntrinsicElements\n color?: ThemeColorSpotKey\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: AvatarSize | AvatarSize[]\n src?: string\n /**\n * The status of the entity this Avatar represents.\n * @alpha\n */\n status?: AvatarStatus\n title?: string\n}\n\nconst Root = memo(\n compose<AvatarRootStyleProps & ResponsiveAvatarSizeStyleProps>('div', [\n responsiveAvatarSizeStyle,\n avatarStyle.root,\n ])\n)\n\nconst Arrow = memo(compose('div', [avatarStyle.arrow]))\n\nconst BgStroke = memo(compose('ellipse', [avatarStyle.bgStroke]))\n\nconst Stroke = memo(compose('ellipse', [avatarStyle.stroke]))\n\nconst Initials = memo(compose('div', [avatarStyle.initials]))\n\n/**\n * @public\n */\nexport const Avatar = forwardRef(function Avatar(\n props: AvatarProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n as: asProp,\n color: colorKey = 'gray',\n src,\n title,\n initials,\n onImageLoadError,\n arrowPosition: arrowPositionProp,\n animateArrowFrom,\n status = 'online',\n size: sizeProp = 0,\n ...restProps\n } = props\n const as = ReactIs.isValidElementType(asProp) ? asProp : 'div'\n const size = useArrayProp(sizeProp)\n const theme = useTheme()\n const color = theme.sanity.color.spot[colorKey] || theme.sanity.color.spot.gray\n\n // @todo: remove this\n const avatarSize = theme.sanity.avatar.sizes[size[0]] || theme.sanity.avatar.sizes[0]\n const _sizeRem = avatarSize.size\n const _radius = _sizeRem / 2\n\n const elementId = useId()\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside'\n )\n\n const [imageFailed, setImageFailed] = useState<boolean>(false)\n\n const imageId = `avatar-image-${elementId}`\n\n useEffect(() => {\n if (arrowPosition === arrowPositionProp) return undefined\n\n // Start animation in the next frame\n const raf = requestAnimationFrame(() => setArrowPosition(arrowPositionProp))\n\n return () => cancelAnimationFrame(raf)\n }, [arrowPosition, arrowPositionProp])\n\n useEffect(() => {\n if (src) setImageFailed(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageFailed(true)\n\n if (onImageLoadError) {\n onImageLoadError(new Error('Avatar: the image failed to load'))\n }\n }, [onImageLoadError])\n\n const initialsSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])\n\n return (\n <Root\n as={as}\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Avatar\"\n {...restProps}\n $size={size}\n $color={color}\n aria-label={title}\n data-arrow-position={arrowPosition}\n data-status={status}\n ref={ref}\n title={title}\n >\n <Arrow>\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 7\" fill=\"none\">\n <path\n d=\"M6.67948 1.50115L11 7L0 7L4.32052 1.50115C4.92109 0.736796 6.07891 0.736795 6.67948 1.50115Z\"\n fill={color}\n />\n </svg>\n </Arrow>\n\n {!imageFailed && src && (\n <svg viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill=\"none\">\n <defs>\n <pattern id={imageId} patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <image\n href={src}\n width=\"1\"\n height=\"1\"\n // eslint-disable-next-line react/no-unknown-property\n onError={handleImageError}\n />\n </pattern>\n </defs>\n\n <circle cx={_radius} cy={_radius} r={_radius} fill={`url(#${imageId})`} />\n <BgStroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n vectorEffect=\"non-scaling-stroke\"\n />\n <Stroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n stroke={color}\n vectorEffect=\"non-scaling-stroke\"\n />\n </svg>\n )}\n\n {(imageFailed || !src) && initials && (\n <>\n <Initials>\n <Text as=\"span\" size={initialsSize}>\n <strong>{initials}</strong>\n </Text>\n </Initials>\n </>\n )}\n </Root>\n )\n})\n","import {forwardRef, memo, useMemo} from 'react'\nimport {CSSObject} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps, compose} from '../../styles'\nimport {AvatarSize} from '../../types'\nimport {Text} from '../text'\n\nfunction _responsiveAvatarCounterSizeStyle(props: {$size: AvatarSize[]} & ThemeProps): CSSObject[] {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n borderRadius: rem(avatarSize.size / 2),\n minWidth: rem(avatarSize.size),\n height: rem(avatarSize.size),\n }\n })\n}\n\nfunction _avatarCounterBaseStyle(props: ThemeProps): CSSObject {\n const {theme} = props\n\n return {\n alignItems: 'center',\n justifyContent: 'center',\n boxSizing: 'border-box',\n userSelect: 'none',\n // color: 'inherit',\n color: 'var(--card-fg-color)',\n background: 'var(--card-bg-color)',\n boxShadow: '0 0 0 1px var(--card-bg-color), inset 0 0 0 1.5px var(--card-hairline-hard-color)',\n padding: `0 ${rem(theme.sanity.space[2])}`,\n\n '&:not([hidden])': {\n display: 'flex',\n },\n }\n}\n\nconst Root = memo(\n compose<{$size: AvatarSize[]}>('div', [\n _responsiveAvatarCounterSizeStyle,\n _avatarCounterBaseStyle,\n ])\n)\n\n/**\n * @public\n */\nexport interface AvatarCounterProps {\n count: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarCounter = forwardRef(function AvatarCounter(\n props: AvatarCounterProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const {count, size: sizeProp = 0} = props\n const size = useArrayProp(sizeProp)\n const counterSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])\n\n return (\n <Root $size={size} data-ui=\"AvatarCounter\" ref={ref}>\n <Text as=\"span\" size={counterSize}>\n <strong>{count}</strong>\n </Text>\n </Root>\n )\n})\n","import {isElement, isFragment} from 'react-is'\n\nexport function childrenToElementArray(\n children: React.ReactNode\n): Array<React.ReactElement | string> {\n const childrenArray = Array.isArray(children) ? children : [children]\n\n return childrenArray.filter(\n (node) => isElement(node) || isFragment(node) || typeof node === 'string'\n ) as Array<React.ReactElement | string>\n}\n","import {cloneElement, forwardRef, memo} from 'react'\nimport {CSSObject} from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp} from '../../hooks'\nimport {rem, _responsive, ThemeProps, compose} from '../../styles'\nimport {AvatarSize} from '../../types'\nimport {childrenToElementArray} from '../helpers'\nimport {AvatarCounter} from './avatarCounter'\n\nconst BASE_STYLES: CSSObject = {\n whiteSpace: 'nowrap',\n\n '& > div': {\n verticalAlign: 'top',\n\n '&:not([hidden])': {\n display: 'inline-block',\n },\n },\n}\n\nfunction responsiveAvatarStackSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {theme} = props\n const {avatar, media} = theme.sanity\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n '& > div + div': {\n marginLeft: rem(avatarSize.distance),\n },\n }\n })\n}\n\nconst Root = memo(\n compose<{$size: AvatarSize[]}>('div', [responsiveAvatarStackSizeStyle, BASE_STYLES])\n)\n\n/**\n * @public\n */\nexport interface AvatarStackProps {\n children: React.ReactNode\n maxLength?: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarStack = forwardRef(function AvatarStack(\n props: AvatarStackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n children: childrenProp,\n maxLength: maxLengthProp = 4,\n size: sizeProp = 0,\n ...restProps\n } = props\n const children = childrenToElementArray(childrenProp).filter(\n (child) => typeof child !== 'string'\n ) as React.ReactElement[]\n const maxLength = Math.max(maxLengthProp, 0)\n const size = useArrayProp(sizeProp)\n\n const len = children.length\n const visibleCount = maxLength - 1\n const extraCount = len - visibleCount\n const visibleChildren = extraCount > 1 ? children.slice(extraCount, len) : children\n\n return (\n <Root data-ui=\"AvatarStack\" {...restProps} ref={ref} $size={size}>\n {len === 0 && (\n <div>\n <AvatarCounter count={len} />\n </div>\n )}\n\n {len !== 0 && extraCount > 1 && (\n <div>\n <AvatarCounter count={extraCount} size={size} />\n </div>\n )}\n\n {visibleChildren.map((child, childIndex) => (\n <div key={String(childIndex)}>{cloneElement(child, {size})}</div>\n ))}\n </Root>\n )\n})\n","import {forwardRef, memo} from 'react'\n// import styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {\n FlexItemStyleProps,\n ResponsiveBoxStyleProps,\n ResponsiveGridItemStyleProps,\n ResponsiveMarginStyleProps,\n ResponsivePaddingStyleProps,\n __tmp_flexItemStyle,\n boxStyle,\n // responsiveBoxStyle,\n responsiveFlexItemStyle,\n // responsiveGridItemStyle,\n responsiveMarginStyle,\n responsivePaddingStyle,\n responsiveBoxSizingStyle,\n responsiveBoxHeightStyle,\n responsiveBoxOverflowStyle,\n responsiveBoxDisplayStyle,\n responsiveGridItemRowStyle,\n responsiveGridItemRowStartStyle,\n responsiveGridItemRowEndStyle,\n responsiveGridItemColumnStyle,\n responsiveGridItemColumnStartStyle,\n responsiveGridItemColumnEndStyle,\n} from '../../styles/internal'\nimport {\n ResponsiveBoxProps,\n ResponsiveFlexItemProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps,\n} from '../types'\n\n/**\n * @public\n */\nexport interface BoxProps\n extends ResponsiveFlexItemProps,\n ResponsiveBoxProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n}\n\nconst Root = memo(\n compose<\n FlexItemStyleProps &\n ResponsiveBoxStyleProps &\n ResponsiveGridItemStyleProps &\n ResponsiveMarginStyleProps &\n ResponsivePaddingStyleProps\n >('div', [\n // box\n boxStyle,\n responsiveBoxSizingStyle,\n responsiveBoxHeightStyle,\n responsiveBoxOverflowStyle,\n responsiveBoxDisplayStyle,\n // flexItem\n __tmp_flexItemStyle,\n responsiveFlexItemStyle,\n // gridItem\n responsiveGridItemRowStyle,\n responsiveGridItemRowStartStyle,\n responsiveGridItemRowEndStyle,\n responsiveGridItemColumnStyle,\n responsiveGridItemColumnStartStyle,\n responsiveGridItemColumnEndStyle,\n // margin\n responsiveMarginStyle,\n // padding\n responsivePaddingStyle,\n ])\n)\n\n/**\n * @public\n */\nexport const Box = forwardRef(function Box(\n props: BoxProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n as: asProp = 'div',\n column,\n columnStart,\n columnEnd,\n display = 'block',\n flex,\n height,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n row,\n rowStart,\n rowEnd,\n sizing,\n ...restProps\n } = props\n\n return (\n <Root\n data-as={typeof asProp === 'string' ? asProp : undefined}\n data-ui=\"Box\"\n {...restProps}\n $column={useArrayProp(column)}\n $columnStart={useArrayProp(columnStart)}\n $columnEnd={useArrayProp(columnEnd)}\n $display={useArrayProp(display)}\n $flex={useArrayProp(flex)}\n $height={useArrayProp(height)}\n $margin={useArrayProp(margin)}\n $marginX={useArrayProp(marginX)}\n $marginY={useArrayProp(marginY)}\n $marginTop={useArrayProp(marginTop)}\n $marginRight={useArrayProp(marginRight)}\n $marginBottom={useArrayProp(marginBottom)}\n $marginLeft={useArrayProp(marginLeft)}\n $overflow={useArrayProp(overflow)}\n $padding={useArrayProp(padding)}\n $paddingX={useArrayProp(paddingX)}\n $paddingY={useArrayProp(paddingY)}\n $paddingTop={useArrayProp(paddingTop)}\n $paddingRight={useArrayProp(paddingRight)}\n $paddingBottom={useArrayProp(paddingBottom)}\n $paddingLeft={useArrayProp(paddingLeft)}\n $row={useArrayProp(row)}\n $rowStart={useArrayProp(rowStart)}\n $rowEnd={useArrayProp(rowEnd)}\n $sizing={useArrayProp(sizing)}\n as={asProp}\n ref={ref}\n >\n {props.children}\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../../styles'\n\nexport function labelBaseStyle(\n props: {$accent?: boolean; $muted: boolean} & ThemeProps\n): CSSObject {\n const {$accent, $muted, theme} = props\n const {fonts} = theme.sanity\n\n return {\n textTransform: 'uppercase',\n\n ...($accent ? {color: 'var(--card-accent-fg-color)'} : {}),\n\n ...($muted ? {color: 'var(--card-muted-fg-color)'} : {}),\n\n '& code': {\n fontFamily: fonts.code.family,\n borderRadius: 1,\n },\n\n '& a': {\n textDecoration: 'none',\n borderRadius: 1,\n },\n\n '& [data-sanity-icon]': {\n verticalAlign: 'baseline',\n },\n }\n}\n","import {forwardRef, memo} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {responsiveLabelFont, responsiveTextAlignStyle} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {labelBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface LabelProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = memo(\n compose<{\n $accent?: boolean\n $align: TextAlign[]\n $muted: boolean\n $size: number[]\n }>('div', [responsiveLabelFont, responsiveTextAlignStyle, labelBaseStyle])\n)\n\nconst SpanWithTextOverflow = memo(\n styled.span({\n display: 'block',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n })\n)\n\n/**\n * @public\n */\nexport const Label = forwardRef(function Label(\n props: LabelProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n accent,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n } else {\n children = <span>{children}</span>\n }\n\n return (\n <Root\n data-ui=\"Label\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {BadgeStyleProps} from './types'\n\nexport function badgeStyle(props: BadgeStyleProps & ThemeProps): CSSObject {\n const {$mode, $tone, theme} = props\n const palette = theme.sanity.color[$mode === 'outline' ? 'muted' : 'solid']\n const color = palette[$tone] || palette.default\n\n return {\n backgroundColor: color.enabled.bg,\n color: color.enabled.fg,\n boxShadow: `inset 0 0 0 1px ${color.enabled.border}`,\n cursor: 'default',\n\n '&:not([hidden])': {\n display: 'inline-block',\n },\n }\n}\n","import {ForwardedRef, forwardRef, memo} from 'react'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {BadgeMode, BadgeTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Label} from '../label'\nimport {ResponsiveRadiusProps} from '../types'\nimport {badgeStyle} from './styles'\nimport {BadgeStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface BadgeProps extends BoxProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: BadgeMode\n tone?: BadgeTone\n}\n\nconst Root = memo(\n compose<ResponsiveRadiusStyleProps & BadgeStyleProps>(Box, [responsiveRadiusStyle, badgeStyle])\n)\n\n/**\n * @public\n */\nexport const Badge = forwardRef(function Badge(\n props: BadgeProps & React.HTMLProps<HTMLDivElement>,\n ref: ForwardedRef<HTMLDivElement>\n) {\n const {\n children,\n fontSize,\n mode = 'default',\n padding = 1,\n radius = 2,\n tone = 'default',\n ...restProps\n } = props\n\n return (\n <Root\n data-ui=\"Badge\"\n {...restProps}\n $mode={mode}\n $tone={tone}\n $radius={useArrayProp(radius)}\n padding={useArrayProp(padding)}\n ref={ref}\n >\n <Label size={fontSize}>{children}</Label>\n </Root>\n )\n})\n","import {forwardRef, memo} from 'react'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {\n FlexItemStyleProps,\n ResponsiveFlexStyleProps,\n __tmp_flexItemStyle,\n __tmp_flexStyle,\n responsiveFlexAlignStyle,\n responsiveFlexDirectionStyle,\n responsiveFlexGapStyle,\n responsiveFlexItemStyle,\n responsiveFlexJustifyStyle,\n responsiveFlexWrapStyle,\n} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveFlexProps, ResponsiveFlexItemProps} from '../types'\n\n/**\n * @public\n */\nexport interface FlexProps\n extends Omit<BoxProps, 'display'>,\n ResponsiveFlexProps,\n ResponsiveFlexItemProps {\n gap?: number | number[]\n}\n\nconst Root = memo(\n compose<FlexItemStyleProps & ResponsiveFlexStyleProps>(Box, [\n // flexItem\n __tmp_flexItemStyle,\n responsiveFlexItemStyle,\n // flex\n __tmp_flexStyle,\n responsiveFlexAlignStyle,\n responsiveFlexGapStyle,\n responsiveFlexWrapStyle,\n responsiveFlexJustifyStyle,\n responsiveFlexDirectionStyle,\n ])\n)\n\n/**\n * @public\n */\nexport const Flex = forwardRef(function Flex(\n props: FlexProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {align, as, direction = 'row', gap, justify, wrap, ...restProps} = props\n\n return (\n <Root\n data-ui=\"Flex\"\n {...restProps}\n $align={useArrayProp(align)}\n $direction={useArrayProp(direction)}\n $gap={useArrayProp(gap)}\n $justify={useArrayProp(justify)}\n $wrap={useArrayProp(wrap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport {forwardRef, memo} from 'react'\nimport styled, {keyframes} from 'styled-components'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: number | number[]\n}\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\nconst RawRoot = styled(Text)`\n & > span > svg {\n animation: ${rotate} 500ms linear infinite;\n }\n`\n\n// NOTE: workaround for VS Code syntax highlighting\nconst Root = memo(RawRoot)\n\n/**\n * @public\n */\nexport const Spinner = forwardRef(function Spinner(\n props: SpinnerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n return (\n <Root data-ui=\"Spinner\" {...props} ref={ref}>\n <SpinnerIcon />\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {ThemeColorBase, ThemeColorGenericState} from '../../theme'\n\n/**\n * @internal\n */\nexport function _colorVarsStyle(\n base: ThemeColorBase,\n color: ThemeColorGenericState,\n checkered = false\n): CSSObject {\n return {\n // Base\n // @todo: rename to \"--base-\"?\n '--card-shadow-outline-color': base.shadow.outline,\n '--card-shadow-umbra-color': base.shadow.umbra,\n '--card-shadow-penumbra-color': base.shadow.penumbra,\n '--card-shadow-ambient-color': base.shadow.ambient,\n '--card-focus-ring-color': base.focusRing,\n\n // Card\n '--card-bg-color': color.bg,\n '--card-bg-image': checkered\n ? `repeating-conic-gradient(${color.bg} 0% 25%, ${color.bg2 || color.bg} 0% 50%)`\n : undefined,\n '--card-fg-color': color.fg,\n '--card-border-color': color.border,\n '--card-muted-fg-color': color.muted?.fg,\n '--card-accent-fg-color': color.accent?.fg,\n '--card-link-fg-color': color.link?.fg,\n '--card-code-bg-color': color.code?.bg,\n '--card-code-fg-color': color.code?.fg,\n '--card-skeleton-color-from': color.skeleton?.from,\n '--card-skeleton-color-to': color.skeleton?.to,\n\n // @todo: deprecate\n '--card-link-color': color.link?.fg,\n '--card-hairline-soft-color': color.border,\n '--card-hairline-hard-color': color.border,\n }\n}\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {_colorVarsStyle} from '../../styles/colorVars'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\nimport {ButtonMode, ButtonTone} from '../../types'\n\n/**\n * @internal\n */\nexport function buttonBaseStyles(): CSSObject {\n return {\n WebkitFontSmoothing: 'inherit',\n appearance: 'none',\n display: 'inline-flex',\n alignItems: 'center',\n font: 'inherit',\n border: 0,\n outline: 'none',\n userSelect: 'none',\n textDecoration: 'none',\n boxSizing: 'border-box',\n padding: 0,\n margin: 0,\n whiteSpace: 'nowrap',\n textAlign: 'left',\n position: 'relative',\n\n '& > span': {\n display: 'block',\n flex: 1,\n minWidth: 0,\n borderRadius: 'inherit',\n },\n\n '&::-moz-focus-inner': {\n border: 0,\n padding: 0,\n },\n }\n}\n\nconst buttonTheme = {border: {width: 1}}\n\n/**\n * @internal\n */\nexport function buttonColorStyles(\n props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps\n): CSSObject[] {\n const {$mode, theme} = props\n const {focusRing} = theme.sanity\n const base = theme.sanity.color.base\n const mode = theme.sanity.color.button[$mode] || theme.sanity.color.button.default\n const color = mode[props.$tone] || mode.default\n const border = {width: buttonTheme.border.width, color: 'var(--card-border-color)'}\n\n return [\n _colorVarsStyle(base, color.enabled),\n {\n backgroundColor: 'var(--card-bg-color)',\n color: 'var(--card-fg-color)',\n boxShadow: focusRingBorderStyle(border),\n '&:disabled, &[data-disabled=\"true\"]': _colorVarsStyle(base, color.disabled),\n \"&:not([data-disabled='true'])\": {\n '&:focus': {\n boxShadow: focusRingStyle({base, border, focusRing}),\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: focusRingBorderStyle(border),\n },\n '@media (hover: hover)': {\n '&:hover': _colorVarsStyle(base, color.hovered),\n '&:active': _colorVarsStyle(base, color.pressed),\n },\n '&[data-selected]': _colorVarsStyle(base, color.pressed),\n },\n },\n theme.sanity.styles?.button?.root,\n ].filter(Boolean) as CSSObject[]\n}\n","import {createElement, forwardRef, isValidElement, memo, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp} from '../../hooks'\nimport {compose, ThemeProps} from '../../styles'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {useTheme} from '../../theme'\nimport {ButtonMode, ButtonTextAlign, ButtonTone, FlexJustify} from '../../types'\nimport {Box} from '../box'\nimport {Flex} from '../flex'\nimport {Spinner} from '../spinner'\nimport {Text} from '../text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../types'\nimport {buttonBaseStyles, buttonColorStyles} from './styles'\n\n/**\n * @public\n */\nexport interface ButtonProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n mode?: ButtonMode\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n justify?: FlexJustify | FlexJustify[]\n /**\n * @beta Do not use in production, as this might change.\n */\n loading?: boolean\n selected?: boolean\n space?: number | number[]\n textAlign?: ButtonTextAlign\n text?: React.ReactNode\n tone?: ButtonTone\n type?: 'button' | 'reset' | 'submit'\n}\n\nconst Root = memo(\n compose<{$mode: ButtonMode; $tone: ButtonTone} & ResponsiveRadiusStyleProps & ThemeProps>(\n 'button',\n [responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles]\n )\n)\n\nconst LoadingBox = memo(\n compose('div', [\n {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'var(--card-bg-color)',\n borderRadius: 'inherit',\n zIndex: 1,\n boxShadow: 'inherit',\n },\n ])\n)\n\n/**\n * @public\n */\nexport const Button = forwardRef(function Button(\n props: ButtonProps & Omit<React.HTMLProps<HTMLButtonElement>, 'as'>,\n ref: React.ForwardedRef<HTMLButtonElement>\n) {\n const {\n children,\n disabled,\n fontSize,\n icon,\n iconRight,\n justify: justifyProp = 'center',\n loading,\n mode = 'default',\n padding: paddingProp = 3,\n paddingX: paddingXProp,\n paddingY: paddingYProp,\n paddingTop: paddingTopProp,\n paddingBottom: paddingBottomProp,\n paddingLeft: paddingLeftProp,\n paddingRight: paddingRightProp,\n radius: radiusProp = 2,\n selected,\n space: spaceProp = 3,\n text,\n textAlign,\n tone = 'default',\n type = 'button',\n ...restProps\n } = props\n\n const justify = useArrayProp(justifyProp)\n const padding = useArrayProp(paddingProp)\n const paddingX = useArrayProp(paddingXProp)\n const paddingY = useArrayProp(paddingYProp)\n const paddingTop = useArrayProp(paddingTopProp)\n const paddingBottom = useArrayProp(paddingBottomProp)\n const paddingLeft = useArrayProp(paddingLeftProp)\n const paddingRight = useArrayProp(paddingRightProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n const theme = useTheme()\n\n const boxProps = useMemo(\n () => ({\n // flex: 1,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingLeft, paddingRight]\n )\n\n return (\n <Root\n data-ui=\"Button\"\n {...restProps}\n $mode={mode}\n $radius={radius}\n $tone={tone}\n data-disabled={Boolean(loading || disabled)}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n ref={ref}\n type={type}\n >\n {Boolean(loading) && (\n <LoadingBox>\n <Spinner />\n </LoadingBox>\n )}\n\n {(icon || text || iconRight) && (\n <Box as=\"span\" {...boxProps}>\n <Flex as=\"span\" justify={justify}>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n {text && (\n <Box\n flex={iconRight ? 1 : undefined}\n marginLeft={icon ? space : undefined}\n marginRight={iconRight ? space : undefined}\n >\n <Text\n align={textAlign}\n size={fontSize}\n textOverflow=\"ellipsis\"\n weight={theme.sanity.button.textWeight}\n >\n {text}\n </Text>\n </Box>\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...boxProps}>\n {children}\n </Box>\n )}\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {_colorVarsStyle} from '../../styles/colorVars'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {CardStyleProps} from './types'\n\nexport function cardBaseStyle(props: CardStyleProps & ThemeProps): CSSObject {\n const {$checkered, theme} = props\n const space = theme.sanity.space\n\n return {\n ...($checkered\n ? {\n backgroundSize: `${space[3]}px ${space[3]}px`,\n backgroundPosition: '50% 50%',\n backgroundImage: 'var(--card-bg-image)',\n }\n : {}),\n\n '&[data-as=\"button\"]': {\n WebkitFontSmoothing: 'inherit',\n appearance: 'none',\n outline: 'none',\n font: 'inherit',\n textAlign: 'inherit',\n border: 0,\n width: 'stretch',\n },\n\n /* &:is(a) */\n '&[data-as=\"a\"]': {\n outline: 'none',\n textDecoration: 'none',\n },\n\n /* &:is(pre) */\n '&[data-as=\"pre\"]': {\n font: 'inherit',\n },\n }\n}\n\nexport function cardColorStyle(props: CardStyleProps & ThemeProps): CSSObject {\n const {$checkered, $focusRing, theme} = props\n const {focusRing} = theme.sanity\n const {base, card, dark} = theme.sanity.color\n const border = {width: 0, color: 'var(--card-border-color)'}\n\n return {\n colorScheme: dark ? 'dark' : 'light',\n\n ..._colorVarsStyle(base, card.enabled, $checkered),\n\n backgroundColor: 'var(--card-bg-color)',\n color: 'var(--card-fg-color)',\n\n /* &:is(button) */\n '&[data-as=\"button\"]': {\n '--card-focus-ring-box-shadow': 'none',\n\n cursor: 'default',\n boxShadow: 'var(--card-focus-ring-box-shadow)',\n\n '&:disabled': {\n ..._colorVarsStyle(base, card.disabled, $checkered),\n },\n\n '&:not(:disabled)': {\n '&[data-pressed]': {\n ..._colorVarsStyle(base, card.pressed, $checkered),\n },\n\n '&[data-selected]': {\n ..._colorVarsStyle(base, card.selected, $checkered),\n },\n\n '@media (hover: hover)': {\n '&:not([data-pressed]):not([data-selected])': {\n '&:hover': {\n ..._colorVarsStyle(base, card.hovered, $checkered),\n },\n\n '&:active': {\n ..._colorVarsStyle(base, card.pressed, $checkered),\n },\n },\n },\n\n '&:focus': {\n '--card-focus-ring-box-shadow': $focusRing\n ? focusRingStyle({base, border, focusRing})\n : undefined,\n },\n\n '&:focus:not(:focus-visible)': {\n '--card-focus-ring-box-shadow': $focusRing ? focusRingBorderStyle(border) : undefined,\n },\n },\n },\n\n /* &:is(a) */\n '&[data-as=\"a\"]': {\n cursor: 'pointer',\n boxShadow: 'var(--card-focus-ring-box-shadow)',\n\n '&[data-disabled]': {\n ..._colorVarsStyle(base, card.disabled, $checkered),\n },\n\n '&:not([data-disabled])': {\n '&[data-pressed]': {\n ..._colorVarsStyle(base, card.pressed, $checkered),\n },\n\n '&[data-selected]': {\n ..._colorVarsStyle(base, card.selected, $checkered),\n },\n\n '@media (hover: hover)': {\n '&:not([data-pressed]):not([data-selected])': {\n '&:hover': {\n ..._colorVarsStyle(base, card.hovered, $checkered),\n },\n\n '&:active': {\n ..._colorVarsStyle(base, card.pressed, $checkered),\n },\n },\n },\n\n '&:focus': {\n '--card-focus-ring-box-shadow': $focusRing\n ? focusRingStyle({base, border, focusRing})\n : undefined,\n },\n\n '&:focus:not(:focus-visible)': {\n '--card-focus-ring-box-shadow': $focusRing ? focusRingBorderStyle(border) : undefined,\n },\n },\n },\n\n ...theme.sanity.styles?.card?.root,\n }\n}\n","import {forwardRef, memo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {\n responsiveBorderBottomStyle,\n responsiveBorderLeftStyle,\n responsiveBorderRightStyle,\n responsiveBorderStyle,\n ResponsiveBorderStyleProps,\n responsiveBorderTopStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveShadowStyle,\n ResponsiveShadowStyleProps,\n} from '../../styles/internal'\nimport {ThemeColorProvider, ThemeColorSchemeKey, useRootTheme} from '../../theme'\nimport {CardTone} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {cardBaseStyle, cardColorStyle} from './styles'\nimport {CardStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface CardProps\n extends BoxProps,\n ResponsiveBorderProps,\n ResponsiveRadiusProps,\n ResponsiveShadowProps {\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_checkered?: boolean\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_focusRing?: boolean\n pressed?: boolean\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n}\n\nconst Root = memo(\n compose<\n CardStyleProps &\n ResponsiveRadiusStyleProps &\n ResponsiveBorderStyleProps &\n ResponsiveShadowStyleProps\n >(Box, [\n responsiveBorderStyle,\n responsiveBorderTopStyle,\n responsiveBorderRightStyle,\n responsiveBorderBottomStyle,\n responsiveBorderLeftStyle,\n responsiveRadiusStyle,\n responsiveShadowStyle,\n cardBaseStyle,\n cardColorStyle,\n ])\n)\n\n/**\n * @public\n */\nexport const Card = forwardRef(function Card(\n props: CardProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n pressed,\n radius = 0,\n scheme,\n selected,\n shadow,\n tone: toneProp = 'default',\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n const rootTheme = useRootTheme()\n const tone = toneProp === 'inherit' ? rootTheme.tone : toneProp\n\n return (\n <ThemeColorProvider scheme={scheme} tone={tone}>\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-scheme={rootTheme.scheme}\n data-ui=\"Card\"\n data-tone={tone}\n {...restProps}\n $border={useArrayProp(border)}\n $borderTop={useArrayProp(borderTop)}\n $borderRight={useArrayProp(borderRight)}\n $borderBottom={useArrayProp(borderBottom)}\n $borderLeft={useArrayProp(borderLeft)}\n $checkered={checkered}\n $focusRing={focusRing}\n $radius={useArrayProp(radius)}\n $shadow={useArrayProp(shadow)}\n $tone={tone}\n data-checkered={checkered ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n forwardedAs={as}\n ref={ref}\n selected={selected}\n />\n </ThemeColorProvider>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps, rem} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\n\nexport function checkboxBaseStyles(): CSSObject {\n return {\n position: 'relative',\n display: 'inline-block',\n }\n}\n\nexport function inputElementStyles(props: ThemeProps): CSSObject {\n const {theme} = props\n const color = theme.sanity.color.input\n const {focusRing, input, radius} = theme.sanity\n\n return {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n outline: 'none',\n opacity: 0,\n zIndex: 1,\n padding: 0,\n margin: 0,\n\n '& + span': {\n position: 'relative',\n display: 'block',\n height: rem(input.checkbox.size),\n width: rem(input.checkbox.size),\n boxSizing: 'border-box',\n boxShadow: focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n }),\n borderRadius: rem(radius[2]),\n lineHeight: 1,\n backgroundColor: color.default.enabled.bg,\n '& > svg': {\n display: 'block',\n position: 'absolute',\n opacity: 0,\n height: '100%',\n width: '100%',\n '& > path': {\n vectorEffect: 'non-scaling-stroke',\n strokeWidth: '2 !important',\n },\n },\n },\n\n '&:not(:disabled):focus + span': {\n boxShadow: focusRingStyle({\n border: {width: input.border.width, color: color.default.enabled.border},\n focusRing,\n }),\n },\n\n '&:not(:disabled):focus:not(:focus-visible) + span': {\n boxShadow: focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n }),\n },\n\n '&:checked + span > svg:first-child': {\n opacity: 1,\n },\n\n '&[data-read-only] + span': {\n backgroundColor: color.default.readOnly.bg,\n boxShadow: focusRingBorderStyle({\n width: input.border.width,\n color: color.default.readOnly.border,\n }),\n color: color.default.readOnly.fg,\n },\n\n '&:not([data-read-only]):disabled + span': {\n backgroundColor: color.default.disabled.bg,\n boxShadow: focusRingBorderStyle({\n width: input.border.width,\n color: color.default.disabled.border,\n }),\n color: color.default.disabled.fg,\n },\n\n '&:indeterminate + span > svg:last-child': {\n opacity: 1,\n },\n }\n}\n","import {CheckmarkIcon, RemoveIcon} from '@sanity/icons'\nimport {forwardRef, memo, useEffect} from 'react'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {compose} from '../../styles'\nimport {checkboxBaseStyles, inputElementStyles} from './styles'\n\n/**\n * @public\n */\nexport interface CheckboxProps {\n indeterminate?: boolean\n customValidity?: string\n}\n\nconst Root = memo(compose('div', [checkboxBaseStyles]))\nconst Input = memo(compose('input', [inputElementStyles]))\n\n/**\n * @public\n */\nexport const Checkbox = forwardRef(function Checkbox(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & CheckboxProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n style,\n ...restProps\n } = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Checkbox\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n checked={checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {Theme} from '../../theme'\n\nfunction codeSyntaxHighlightingStyle({theme}: ThemeProps): CSSObject {\n const color = theme.sanity.color.syntax\n\n return {\n '&.atrule': {color: color.atrule},\n '&.attr-name': {color: color.attrName},\n '&.attr-value': {color: color.attrValue},\n '&.attribute': {color: color.attribute},\n '&.boolean': {color: color.boolean},\n '&.builtin': {color: color.builtin},\n '&.cdata': {color: color.cdata},\n '&.char': {color: color.char},\n '&.class': {color: color.class},\n '&.class-name': {color: color.className},\n '&.comment': {color: color.comment},\n '&.constant': {color: color.constant},\n '&.deleted': {color: color.deleted},\n '&.doctype': {color: color.doctype},\n '&.entity': {color: color.entity},\n '&.function': {color: color.function},\n '&.hexcode': {color: color.hexcode},\n '&.id': {color: color.id},\n '&.important': {color: color.important},\n '&.inserted': {color: color.inserted},\n '&.keyword': {color: color.keyword},\n '&.number': {color: color.number},\n '&.operator': {color: color.operator},\n '&.prolog': {color: color.prolog},\n '&.property': {color: color.property},\n '&.pseudo-class': {color: color.pseudoClass},\n '&.pseudo-element': {color: color.pseudoElement},\n '&.punctuation': {color: color.punctuation},\n '&.regex': {color: color.regex},\n '&.selector': {color: color.selector},\n '&.string': {color: color.string},\n '&.symbol': {color: color.symbol},\n '&.tag': {color: color.tag},\n '&.unit': {color: color.unit},\n '&.url': {color: color.url},\n '&.variable': {color: color.variable},\n }\n}\n\nexport function codeBaseStyle({theme}: {theme: Theme}): CSSObject {\n return {\n color: 'var(--card-code-fg-color)',\n\n '& code': {\n fontFamily: 'inherit',\n\n '&.refractor .token': codeSyntaxHighlightingStyle({theme}),\n },\n\n '& a': {\n color: 'inherit',\n textDecoration: 'underline',\n borderRadius: '1px',\n },\n\n '& [data-sanity-icon]': {\n verticalAlign: 'baseline',\n },\n }\n}\n","import {forwardRef, memo} from 'react'\nimport Refractor from 'react-refractor'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {responsiveCodeFontStyle, ResponsiveFontStyleProps} from '../../styles/internal'\nimport {codeBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface CodeProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n language?: string\n size?: number | number[]\n weight?: string\n}\n\nconst Root = memo(\n compose<ResponsiveFontStyleProps>('pre', [codeBaseStyle, responsiveCodeFontStyle])\n)\n\n/**\n * @public\n */\nexport const Code = forwardRef(function Code(\n props: CodeProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>\n) {\n const {children, language: languageProp, size = 2, weight, ...restProps} = props\n const language = typeof languageProp === 'string' ? languageProp : undefined\n const registered = language ? Refractor.hasLanguage(language as any) : false\n\n return (\n <Root data-ui=\"Code\" {...restProps} $size={useArrayProp(size)} $weight={weight} ref={ref}>\n {!(language && registered) && <code>{children}</code>}\n {language && registered && <Refractor inline language={language} value={String(children)} />}\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n width: '100%',\n margin: '0 auto',\n}\n\nexport function containerBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveContainerWidthStyle(\n props: ResponsiveWidthStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {container, media} = theme.sanity\n\n return _responsive(media, props.$width, (val) => ({\n maxWidth: val === 'auto' ? 'none' : rem(container[val]),\n }))\n}\n","import {forwardRef, memo} from 'react'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveWidthProps} from '../types'\nimport {containerBaseStyle, responsiveContainerWidthStyle} from './styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface ContainerProps extends BoxProps, ResponsiveWidthProps {}\n\nconst Root = memo(\n compose<ResponsiveWidthStyleProps>(Box, [containerBaseStyle, responsiveContainerWidthStyle])\n)\n\n/**\n * @public\n */\nexport const Container = forwardRef(function Container(\n props: ContainerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {as, width = 2, ...restProps} = props\n\n return (\n <Root\n data-ui=\"Container\"\n {...restProps}\n $width={useArrayProp(width)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {forwardRef, memo} from 'react'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {\n responsiveGridAutoColsStyle,\n responsiveGridAutoFlowStyle,\n responsiveGridAutoRowsStyle,\n responsiveGridColumnsStyle,\n responsiveGridGapStyle,\n responsiveGridGapXStyle,\n responsiveGridGapYStyle,\n responsiveGridRowsStyle,\n ResponsiveGridStyleProps,\n __tmp_gridStyle,\n} from '../../styles/internal'\nimport {Box, BoxProps} from '../box'\nimport {ResponsiveGridProps} from '../types'\n\n/**\n * @public\n */\nexport interface GridProps extends Omit<BoxProps, 'display'>, ResponsiveGridProps {}\n\nconst Root = memo(\n compose<ResponsiveGridStyleProps>(Box, [\n __tmp_gridStyle,\n responsiveGridAutoFlowStyle,\n responsiveGridAutoRowsStyle,\n responsiveGridAutoColsStyle,\n responsiveGridColumnsStyle,\n responsiveGridRowsStyle,\n responsiveGridGapStyle,\n responsiveGridGapXStyle,\n responsiveGridGapYStyle,\n ])\n)\n\n/**\n * @public\n */\nexport const Grid = forwardRef(function Grid(\n props: GridProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'rows'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {as, autoRows, autoCols, autoFlow, columns, gap, gapX, gapY, rows, children, ...restProps} =\n props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Grid\"\n {...restProps}\n $autoRows={useArrayProp(autoRows)}\n $autoCols={useArrayProp(autoCols)}\n $autoFlow={useArrayProp(autoFlow)}\n $columns={useArrayProp(columns)}\n $gap={useArrayProp(gap)}\n $gapX={useArrayProp(gapX)}\n $gapY={useArrayProp(gapY)}\n $rows={useArrayProp(rows)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {HeadingStyleProps} from './types'\n\nexport function headingBaseStyle(props: HeadingStyleProps & ThemeProps): CSSObject {\n const {$accent, $muted, theme} = props\n\n return {\n ...($accent ? {color: 'var(--card-accent-fg-color)'} : {}),\n ...($muted ? {color: 'var(--card-muted-fg-color)'} : {}),\n\n '& code': {\n fontFamily: theme.sanity.fonts.code.family,\n borderRadius: 1,\n },\n\n '& a': {\n textDecoration: 'none',\n borderRadius: 1,\n color: 'var(--card-link-color)',\n outline: 'none',\n\n '@media (hover: hover)': {\n '&:hover': {\n textDecoration: 'underline',\n },\n },\n\n '&:focus': {\n boxShadow: '0 0 0 1px var(--card-bg-color), 0 0 0 3px var(--card-focus-ring-color)',\n },\n\n '&:focus:not(:focus-visible)': {\n boxShadow: 'none',\n },\n },\n\n '& [data-sanity-icon]': {\n verticalAlign: 'baseline',\n },\n }\n}\n","import {forwardRef, memo} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {\n ResponsiveFontStyleProps,\n responsiveHeadingFont,\n responsiveTextAlignStyle,\n ResponsiveTextAlignStyleProps,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {TextAlign} from '../../types'\nimport {headingBaseStyle} from './styles'\nimport {HeadingStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface HeadingProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n as?: React.ElementType | keyof JSX.IntrinsicElements\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\nconst Root = memo(\n compose<HeadingStyleProps & ResponsiveTextAlignStyleProps & ResponsiveFontStyleProps>('div', [\n headingBaseStyle,\n responsiveTextAlignStyle,\n responsiveHeadingFont,\n ])\n)\n\nconst SpanWithTextOverflow = memo(\n styled.span({\n display: 'block',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n })\n)\n\n/**\n * @public\n */\nexport const Heading = forwardRef(function Heading(\n props: HeadingProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n ref: React.ForwardedRef<HTMLElement>\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <Root\n data-ui=\"Heading\"\n {...restProps}\n $accent={accent}\n $align={useArrayProp(align)}\n $muted={muted}\n $size={useArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n <span>{children}</span>\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\nexport function inlineBaseStyle(): CSSObject {\n return {\n lineHeight: 0,\n\n '&&:not([hidden])': {\n display: 'block',\n },\n\n '& > div': {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n }\n}\n\nexport function inlineSpaceStyle(props: ResponsiveInlineSpaceStyleProps & ThemeProps): CSSObject[] {\n const {theme} = props\n\n return _responsive(theme.sanity.media, props.$space, (spaceIndex) => {\n const space = rem(theme.sanity.space[spaceIndex])\n\n return {\n margin: `-${space} 0 0 -${space}`,\n '& > div': {padding: `${space} 0 0 ${space}`},\n }\n })\n}\n","import {forwardRef, memo, useMemo} from 'react'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {Box, BoxProps} from '../box'\nimport {childrenToElementArray} from '../helpers'\nimport {inlineBaseStyle, inlineSpaceStyle} from './styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface InlineProps extends Omit<BoxProps, 'display'> {\n space?: number | number[]\n}\n\nconst Root = memo(\n compose<ResponsiveInlineSpaceStyleProps>(Box, [inlineBaseStyle, inlineSpaceStyle])\n)\n\n/**\n * @public\n */\nexport const Inline = forwardRef(function Inline(\n props: InlineProps & React.HTMLProps<HTMLDivElement>,\n ref\n) {\n const {as, children: childrenProp, space, ...restProps} = props\n\n const children = useMemo(\n () =>\n childrenToElementArray(childrenProp)\n .filter(Boolean)\n .map((child, idx) => <div key={idx}>{child}</div>),\n [childrenProp]\n )\n\n return (\n <Root data-ui=\"Inline\" {...restProps} $space={useArrayProp(space)} forwardedAs={as} ref={ref}>\n {children}\n </Root>\n )\n})\n","import {forwardRef, memo} from 'react'\nimport {CSSObject} from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {Box} from '../box'\nimport {Code} from '../code'\n\n/**\n * @public\n */\nexport interface KBDProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: number | number[]\n}\n\nfunction kbdStyle(): CSSObject {\n return {\n background: 'var(--card-bg-color)',\n font: 'inherit',\n boxShadow: 'inset 0 0 0 1px var(--card-hairline-hard-color)',\n\n '&:not([hidden])': {\n display: 'inline-block',\n },\n }\n}\n\nconst Root = memo(compose<ResponsiveRadiusStyleProps>('kbd', [responsiveRadiusStyle, kbdStyle]))\n\n/**\n * @public\n */\nexport const KBD = forwardRef(function KBD(\n props: KBDProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {children, fontSize = 1, padding = 1, radius = 2, ...restProps} = props\n\n return (\n <Root data-ui=\"KBD\" {...restProps} $radius={useArrayProp(radius)} ref={ref}>\n <Box as=\"span\" padding={padding}>\n <Code as=\"span\" muted size={fontSize}>\n {children}\n </Code>\n </Box>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {BoundaryElementContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/boundaryElement')\n\nglobalScope[key] = globalScope[key] || createContext<BoundaryElementContextValue | null>(null)\n\nexport const BoundaryElementContext: React.Context<BoundaryElementContextValue | null> =\n globalScope[key]\n","import {useMemo} from 'react'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\n/**\n * @public\n */\nexport interface BoundaryElementProviderProps {\n children: React.ReactNode\n element: HTMLElement | null\n}\n\n/**\n * @public\n */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): React.ReactElement {\n const {children, element} = props\n const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])\n\n return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\nconst DEFAULT_VALUE: BoundaryElementContextValue = {\n version: 0.0,\n element: null,\n}\n\n/**\n * @public\n */\nexport function useBoundaryElement(): BoundaryElementContextValue {\n const value = useContext(BoundaryElementContext)\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (value && (!isRecord(value) || value.version !== 0.0)) {\n throw new Error('useBoundaryElement(): the context value is not compatible')\n }\n\n return value || DEFAULT_VALUE\n}\n","export function findMaxBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp > width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n\nexport function findMinBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp <= width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n","import {forwardRef, useCallback, useMemo, useState} from 'react'\nimport {useElementSize, useForwardedRef} from '../../hooks'\nimport {useTheme} from '../../theme'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface MediaQueryProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n media?: number[]\n}\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const ElementQuery = forwardRef(function ElementQuery(\n props: MediaQueryProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'media'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const theme = useTheme()\n const {children, media = theme.sanity.media, ...restProps} = props\n\n const forwardedRef = useForwardedRef(ref)\n const [element, setElement] = useState<HTMLDivElement | null>(null)\n const elementSize = useElementSize(element)\n const width = useMemo(() => elementSize?.border.width ?? window.innerWidth, [elementSize])\n\n const max = useMemo(() => findMaxBreakpoints(media, width), [media, width])\n const min = useMemo(() => findMinBreakpoints(media, width), [media, width])\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n forwardedRef.current = el\n setElement(el)\n },\n [forwardedRef]\n )\n\n return (\n <div\n data-ui=\"ElementQuery\"\n {...restProps}\n data-eq-max={max.length ? max.join(' ') : undefined}\n data-eq-min={min.length ? min.join(' ') : undefined}\n ref={setRef}\n >\n {children}\n </div>\n )\n})\n","import {Component, PropsWithChildren} from 'react'\nimport {Code} from '../primitives/code'\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport type ErrorBoundaryProps = PropsWithChildren<{\n onCatch: (params: {error: Error; info: React.ErrorInfo}) => void\n}>\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport interface ErrorBoundaryState {\n error: Error | null\n}\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n state: ErrorBoundaryState = {error: null}\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return {error}\n }\n\n componentDidCatch(error: Error, info: React.ErrorInfo): void {\n this.props.onCatch({error, info})\n }\n\n render(): React.ReactNode {\n const {error} = this.state\n\n if (error) {\n const message = typeof error?.message === 'string' ? error.message : 'Error'\n\n return <Code>{message}</Code>\n }\n\n return this.props.children\n }\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {LayerContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/layer')\n\nglobalScope[key] = globalScope[key] || createContext<LayerContextValue | null>(null)\n\nexport const LayerContext: React.Context<LayerContextValue | null> = globalScope[key]\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport function useLayer(): LayerContextValue {\n const value = useContext(LayerContext)\n\n if (!value) {\n throw new Error('useLayer(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useLayer(): the context value is not compatible')\n }\n\n return value\n}\n","import {useCallback, useContext, useEffect, useMemo, useState} from 'react'\nimport {useMediaIndex, useArrayProp} from '../../hooks'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: React.ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): React.ReactElement {\n const {children, zOffset: zOffsetProp = 0} = props\n const parent = useContext(LayerContext)\n const zOffset = useArrayProp(zOffsetProp)\n const maxMediaIndex = zOffset.length - 1\n const mediaIndex = Math.min(useMediaIndex(), maxMediaIndex)\n const zIndex = parent ? parent.zIndex + zOffset[mediaIndex] : zOffset[mediaIndex]\n const [size, setSize] = useState(0)\n\n const registerChild = useCallback(() => {\n setSize((v) => v + 1)\n\n return () => setSize((v) => v - 1)\n }, [])\n\n const parentRegisterChild = parent?.registerChild\n\n useEffect(() => {\n if (!parentRegisterChild) return\n\n return parentRegisterChild()\n }, [parentRegisterChild])\n\n const value: LayerContextValue = useMemo(\n () => ({version: 0.0, isTopLayer: size === 0, registerChild, size, zIndex}),\n [size, registerChild, zIndex]\n )\n\n return <LayerContext.Provider value={value}>{children}</LayerContext.Provider>\n}\n","import {forwardRef, memo} from 'react'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n zOffset?: number | number[]\n}\n\ninterface LayerChildrenProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n}\n\nconst Root = memo(\n styled.div({\n position: 'relative',\n })\n)\n\nconst LayerChildren = forwardRef(function LayerChildren(\n props: LayerChildrenProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {children, style = EMPTY_RECORD, ...restProps} = props\n const {zIndex} = useLayer()\n\n return (\n <Root {...restProps} data-ui=\"Layer\" ref={ref} style={{...style, zIndex}}>\n {children}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Layer = forwardRef(function Layer(\n props: LayerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {children, zOffset = 1, ...restProps} = props\n\n return (\n <LayerProvider zOffset={zOffset}>\n <LayerChildren {...restProps} ref={ref}>\n {children}\n </LayerChildren>\n </LayerProvider>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/portal')\nconst elementKey = Symbol.for('@sanity/ui/context/portal/element')\n\nglobalScope[elementKey] = null\n\nexport const defaultContextValue: PortalContextValue = {\n version: 0.0,\n boundaryElement: null,\n get element() {\n if (typeof window === 'undefined') {\n return null\n }\n\n if (globalScope[elementKey]) {\n return globalScope[elementKey]\n }\n\n globalScope[elementKey] = document.createElement('div')\n globalScope[elementKey].setAttribute('data-portal', '')\n\n document.body.appendChild(globalScope[elementKey])\n\n return globalScope[elementKey]\n },\n}\n\nglobalScope[key] = globalScope[key] || createContext<PortalContextValue>(defaultContextValue)\n\nexport const PortalContext: React.Context<PortalContextValue> = globalScope[key]\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport function usePortal(): PortalContextValue {\n const value = useContext(PortalContext)\n\n if (!value) {\n throw new Error('usePortal(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('usePortal(): the context value is not compatible')\n }\n\n return value\n}\n","import {createPortal} from 'react-dom'\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: React.ReactNode\n /**\n * @beta This API might change. DO NOT USE IN PRODUCTION.\n */\n __unstable_name?: string\n}\n\n/**\n * @public\n */\nexport function Portal(props: PortalProps): React.ReactPortal | null {\n const {children, __unstable_name: name} = props\n const portal = usePortal()\n const portalElement =\n (name ? portal.elements && portal.elements[name] : portal.element) || portal.elements?.default\n\n if (!portalElement) {\n return null\n }\n\n return createPortal(children, portalElement)\n}\n","import {useRef} from 'react'\n\n/**\n * This is a React hook to make sure that a record identity is the same on every render. Uses strict\n * equality comparison (eg by identity), and only goes one level deep.\n *\n * @internal\n */\ntype Comparable = Record<string | number | symbol, unknown> | undefined | null\n\nexport function useUnique<ValueType extends Comparable = Comparable>(value: ValueType): ValueType {\n const valueRef = useRef<ValueType>(value)\n\n if (!_isEqual(valueRef.current, value)) {\n valueRef.current = value\n }\n\n return valueRef.current\n}\n\nfunction _isEqual(objA: Comparable, objB: Comparable): boolean {\n if (!objA || !objB) {\n return objA === objB\n }\n\n const keysA = Object.keys(objA)\n const keysB = Object.keys(objB)\n\n if (keysA.length !== keysB.length) {\n return false\n }\n\n return keysA.every((key) => objA[key] === objB[key])\n}\n","import {useMemo} from 'react'\nimport {useUnique} from '../../hooks/_internal'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport interface PortalProviderProps {\n /**\n * @deprecated Use `<BoundaryElementProvider element={...} />` instead\n */\n boundaryElement?: HTMLElement | null\n children: React.ReactNode\n element?: HTMLElement | null\n /**\n * @beta\n */\n __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\nconst __BROWSER__ = typeof window !== 'undefined'\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): React.ReactElement {\n const {boundaryElement, children, element, __unstable_elements: elementsProp} = props\n const elements = useUnique(elementsProp)\n\n const value: PortalContextValue = useMemo(() => {\n return {\n version: 0.0,\n boundaryElement: boundaryElement || null,\n element: element || (__BROWSER__ && document.body) || null,\n elements,\n }\n }, [boundaryElement, element, elements])\n\n return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n","import {forwardRef, memo} from 'react'\nimport styled from 'styled-components'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n children?: React.ReactNode\n}\n\nconst Root = memo(\n styled.div({\n display: 'block',\n width: 0,\n height: 0,\n position: 'absolute',\n overflow: 'hidden',\n })\n)\n\n/**\n * @public\n */\nexport const SrOnly = forwardRef(function SrOnly(\n props: SrOnlyProps & Omit<React.HTMLProps<HTMLDivElement>, 'aria-hidden' | 'as'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {as, children} = props\n\n return (\n <Root aria-hidden as={as} data-ui=\"SrOnly\" ref={ref}>\n {children}\n </Root>\n )\n})\n","/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\n}\n","/**\n * @internal\n */\nexport function _isEnterToClickElement(element: HTMLElement): boolean {\n return isHTMLAnchorElement(element) || isHTMLButtonElement(element)\n}\n\n/**\n * @internal\n */\nexport function isHTMLElement(node: unknown): node is HTMLElement {\n return node instanceof Node && node.nodeType === Node.ELEMENT_NODE\n}\n\n/**\n * @internal\n */\nexport function isHTMLAnchorElement(element: unknown): element is HTMLAnchorElement {\n return isHTMLElement(element) && element.nodeName === 'A'\n}\n\n/**\n * @internal\n */\nexport function isHTMLInputElement(element: unknown): element is HTMLInputElement {\n return isHTMLElement(element) && element.nodeName === 'INPUT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLButtonElement(element: unknown): element is HTMLButtonElement {\n return isHTMLElement(element) && element.nodeName === 'BUTTON'\n}\n\n/**\n * @internal\n */\nexport function isHTMLSelectElement(element: unknown): element is HTMLSelectElement {\n return isHTMLElement(element) && element.nodeName === 'SELECT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLTextAreaElement(element: unknown): element is HTMLTextAreaElement {\n return isHTMLElement(element) && element.nodeName === 'TEXTAREA'\n}\n","import {\n isHTMLElement,\n isHTMLAnchorElement,\n isHTMLInputElement,\n isHTMLButtonElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n// export const globalFocusState = {\n// IgnoreUtilFocusChanges: false,\n// }\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = true\n\n try {\n element.focus()\n } catch (_) {\n // ignore\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = false\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n","/**\n * @internal\n */\nexport function _isScrollable(el: Node): boolean {\n if (!(el instanceof Element)) return false\n\n const style = window.getComputedStyle(el)\n\n return (\n style.overflowX.includes('auto') ||\n style.overflowX.includes('scroll') ||\n style.overflowY.includes('auto') ||\n style.overflowY.includes('scroll')\n )\n}\n","import {forwardRef, memo, useEffect, useMemo, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {_isScrollable} from '../../helpers'\nimport {useForwardedRef} from '../../hooks'\nimport {_ResizeObserver} from '../../observers'\nimport {StackProps} from '../../primitives'\nimport {useTheme} from '../../theme'\n\n/**\n * @beta\n */\nexport interface VirtualListChangeOpts {\n fromIndex: number\n gap: number\n itemHeight: number\n scrollHeight: number\n scrollTop: number\n toIndex: number\n}\n\n/**\n * @beta\n */\nexport interface VirtualListProps<Item = any> {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n gap?: number\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => React.ReactNode\n}\n\nconst Root = memo(\n styled.div({\n position: 'relative',\n })\n)\n\nconst ItemWrapper = memo(\n styled.div({\n position: 'absolute',\n left: 0,\n right: 0,\n })\n)\n\n/**\n * @beta\n */\nexport const VirtualList = forwardRef(function VirtualList(\n props: VirtualListProps &\n StackProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'onChange' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>\n): React.ReactElement {\n const {as = 'div', gap = 0, getItemKey, items = [], onChange, renderItem, ...restProps} = props\n const {space} = useTheme().sanity\n const forwardedRef = useForwardedRef(ref)\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [itemHeight, setItemHeight] = useState(-1)\n\n useEffect(() => {\n if (!wrapperRef.current) return\n\n const firstElement = wrapperRef.current.firstChild\n\n if (firstElement instanceof HTMLElement) {\n setItemHeight(firstElement.offsetHeight)\n }\n }, [renderItem])\n\n useEffect(() => {\n if (!forwardedRef.current) return\n\n let _scrollEl = forwardedRef.current.parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n if (_scrollEl) {\n const scrollEl = _scrollEl\n\n if (!(scrollEl instanceof HTMLElement)) return\n\n const handleScroll = () => {\n setScrollTop(scrollEl.scrollTop)\n }\n\n scrollEl.addEventListener('scroll', handleScroll, {passive: true})\n\n const ro = new _ResizeObserver((entries) => {\n setScrollHeight(entries[0].contentRect.height)\n })\n\n ro.observe(scrollEl)\n\n handleScroll()\n\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll)\n\n ro.unobserve(scrollEl)\n ro.disconnect()\n }\n }\n\n const handleScroll = () => {\n setScrollTop(window.scrollY)\n }\n\n const handleResize = () => {\n setScrollHeight(window.innerHeight)\n }\n\n window.addEventListener('scroll', handleScroll, {passive: true})\n window.addEventListener('resize', handleResize)\n\n setScrollHeight(window.innerHeight)\n\n handleScroll()\n\n return () => {\n window.removeEventListener('scroll', handleScroll)\n window.removeEventListener('resize', handleResize)\n }\n }, [forwardedRef])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + space[gap]) - space[gap] : 0\n const fromIndex = height ? Math.max(Math.floor((scrollTop / height) * len) - 2, 0) : 0\n const toIndex = height ? Math.ceil(((scrollTop + scrollHeight) / height) * len) + 1 : 0\n\n useEffect(() => {\n if (!onChange) return\n onChange({fromIndex, gap: space[gap], itemHeight, scrollHeight, scrollTop, toIndex})\n }, [fromIndex, gap, itemHeight, onChange, scrollHeight, scrollTop, space, toIndex])\n\n const children = useMemo(() => {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [<ItemWrapper key={0}>{renderItem(items[0])}</ItemWrapper>]\n }\n\n return items.slice(fromIndex, toIndex).map((item, _itemIndex) => {\n const itemIndex = fromIndex + _itemIndex\n const node = renderItem(item)\n const key = getItemKey ? getItemKey(item, itemIndex) : itemIndex\n\n return (\n <ItemWrapper key={key} style={{top: itemIndex * (itemHeight + space[gap])}}>\n {node}\n </ItemWrapper>\n )\n })\n }, [fromIndex, gap, getItemKey, itemHeight, items, renderItem, space, toIndex])\n\n const wrapperStyle = useMemo(() => ({height}), [height])\n\n return (\n <Root as={as} data-ui=\"VirtualList\" {...restProps} ref={forwardedRef}>\n <div ref={wrapperRef} style={wrapperStyle}>\n {children}\n </div>\n </Root>\n )\n})\n","import {PopoverMargins} from '../../types'\n\nexport const DEFAULT_POPOVER_DISTANCE = 4\n\nexport const DEFAULT_POPOVER_PADDING = 4\n\nexport const DEFAULT_POPOVER_ARROW_WIDTH = 27\nexport const DEFAULT_POPOVER_ARROW_HEIGHT = 11\n\nexport const DEFAULT_POPOVER_MARGINS: PopoverMargins = [0, 0, 0, 0]\n","import {Middleware, detectOverflow} from '@floating-ui/react-dom'\n\nexport function size(scope: {\n boundaryElement: HTMLElement | null\n constrainSize: boolean\n matchReferenceWidth?: boolean\n padding?: number\n setAvailableWidth: (v: number) => void\n setAvailableHeight: (v: number) => void\n setReferenceWidth: (v: number) => void\n}): Middleware {\n const {padding = 0} = scope\n\n return {\n name: '@sanity/ui/size',\n async fn(args) {\n const {placement, rects} = args\n const {floating, reference} = rects\n\n const overflow = await detectOverflow(args, {\n altBoundary: true,\n boundary: scope.boundaryElement || undefined,\n elementContext: 'floating',\n padding,\n rootBoundary: 'viewport',\n })\n\n let maxWidth = Infinity\n let maxHeight = Infinity\n\n if (placement.includes('top')) {\n maxWidth = floating.width - (overflow.left + overflow.right)\n maxHeight = floating.height - overflow.top - padding\n }\n\n if (placement.includes('right')) {\n maxWidth = floating.width - overflow.right - padding\n maxHeight = floating.height - (overflow.top + overflow.bottom)\n }\n\n if (placement.includes('bottom')) {\n maxWidth = floating.width - (overflow.left + overflow.right)\n maxHeight = floating.height - overflow.bottom - padding\n }\n\n if (placement.includes('left')) {\n maxWidth = floating.width - overflow.left - padding\n maxHeight = floating.height - (overflow.top + overflow.bottom)\n }\n\n if (scope.constrainSize) {\n scope.setAvailableWidth(maxWidth)\n scope.setAvailableHeight(maxHeight)\n }\n\n if (scope.matchReferenceWidth) {\n scope.setReferenceWidth(reference.width)\n }\n\n if (!floating.width || !floating.height) {\n return {reset: {rects: true}}\n }\n\n return {}\n },\n }\n}\n","import {forwardRef, memo} from 'react'\nimport styled from 'styled-components'\nimport {DEFAULT_POPOVER_ARROW_HEIGHT, DEFAULT_POPOVER_ARROW_WIDTH} from './constants'\n\nconst Root = memo(\n styled.div({\n position: 'absolute',\n pointerEvents: 'none',\n width: `${DEFAULT_POPOVER_ARROW_WIDTH}px`,\n height: `${DEFAULT_POPOVER_ARROW_WIDTH}px`,\n fill: 'none',\n\n ':empty + &': {\n display: 'none',\n },\n\n '& > svg': {\n display: 'block',\n transformOrigin: `${DEFAULT_POPOVER_ARROW_WIDTH / 2}px ${DEFAULT_POPOVER_ARROW_WIDTH / 2}px`,\n },\n\n '[data-placement^=\"top\"] > &': {\n bottom: `-${DEFAULT_POPOVER_ARROW_WIDTH}px`,\n },\n\n '[data-placement^=\"right\"] > &': {\n left: `-${DEFAULT_POPOVER_ARROW_WIDTH}px`,\n\n '& > svg': {\n transform: 'rotate(90deg)',\n },\n },\n\n '[data-placement^=\"left\"] > &': {\n right: `-${DEFAULT_POPOVER_ARROW_WIDTH}px`,\n\n '& > svg': {\n transform: 'rotate(-90deg)',\n },\n },\n\n '[data-placement^=\"bottom\"] > &': {\n top: `-${DEFAULT_POPOVER_ARROW_WIDTH}px`,\n\n '& > svg': {\n transform: 'rotate(180deg)',\n },\n },\n })\n)\n\nconst BorderPath = memo(\n styled.path({\n fill: 'var(--card-shadow-outline-color)',\n })\n)\n\nconst ShapePath = memo(\n styled.path({\n fill: 'var(--card-bg-color)',\n })\n)\n\nexport const PopoverArrow = forwardRef(function PopoverArrow(\n props: Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n return (\n <Root data-ui=\"Popover__arrow\" {...props} ref={ref}>\n <svg\n width={DEFAULT_POPOVER_ARROW_WIDTH}\n height={DEFAULT_POPOVER_ARROW_HEIGHT}\n viewBox=\"0 0 27 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <BorderPath d=\"M1.18708 1C3.29803 1.0011 5.29585 1.95479 6.62414 3.59561L11.1683 9.20895C12.369 10.6922 14.631 10.6922 15.8317 9.20894L20.3759 3.59561C21.7042 1.95478 23.702 1.0011 25.8129 1H21.9436C21.0533 1.49255 20.2545 2.15618 19.5986 2.96641L15.0545 8.57975C14.254 9.56855 12.746 9.56855 11.9455 8.57975L7.40139 2.96642C6.74548 2.15618 5.94673 1.49255 5.05643 1H1.18708Z\" />\n <ShapePath d=\"M1.18342 0C3.59749 0 5.88246 1.0901 7.40138 2.96642L11.9455 8.57975C12.746 9.56855 14.254 9.56855 15.0545 8.57975L19.5986 2.96641C21.1175 1.0901 23.4025 0 25.8166 0H27H0H1.18342Z\" />\n </svg>\n </Root>\n )\n})\n","import {Strategy} from '@floating-ui/react-dom'\nimport React, {CSSProperties, forwardRef, memo, useMemo} from 'react'\nimport {CSSObject} from 'styled-components'\nimport {FLOATING_STATIC_SIDES} from '../../constants'\nimport {compose, ThemeProps} from '../../styles'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'\nimport {useLayer} from '../../utils'\nimport {Card} from '../card'\nimport {Container} from '../container'\nimport {\n DEFAULT_POPOVER_ARROW_WIDTH,\n DEFAULT_POPOVER_MARGINS,\n DEFAULT_POPOVER_PADDING,\n} from './constants'\nimport {PopoverArrow} from './popoverArrow'\n\nfunction popoverCardStyle(props: {$boundaryWidth?: number} & ThemeProps): CSSObject {\n const {$boundaryWidth} = props\n\n return {\n '&:not([hidden])': {\n display: 'flex',\n },\n\n flexDirection: 'column',\n\n width: 'max-content',\n minWidth: 'min-content',\n maxWidth:\n typeof $boundaryWidth === 'number'\n ? `${$boundaryWidth - DEFAULT_POPOVER_PADDING * 2}px`\n : undefined,\n\n height: 'max-content',\n minHeight: 'min-content',\n }\n}\n\nconst Root = memo(compose<{$boundaryWidth?: number}>(Card, [popoverCardStyle]))\n\n/**\n * @internal\n */\nexport const PopoverCard = memo(\n forwardRef(function PopoverCard(\n props: {\n /** @beta*/\n __unstable_margins?: PopoverMargins\n arrow: boolean\n arrowRef: React.Ref<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n availableHeight?: number\n availableWidth?: number\n boundaryWidth?: number\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n radius?: number | number[]\n referenceWidth?: number\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n strategy: Strategy\n tone: CardTone\n width?: number | 'auto' | (number | 'auto')[]\n x: number | null\n y: number | null\n } & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>\n ) {\n const {\n __unstable_margins: marginsProp,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n availableHeight,\n availableWidth,\n boundaryWidth,\n children,\n padding,\n placement,\n overflow,\n radius,\n referenceWidth: referenceWidthProp,\n scheme,\n shadow,\n strategy,\n style,\n tone,\n width = 'auto',\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 referenceWidth = referenceWidthProp\n ? referenceWidthProp - margins[1] - margins[3]\n : undefined\n\n const x = (xProp ?? 0) + margins[3]\n const y = (yProp ?? 0) + margins[0]\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n position: strategy,\n top: y,\n left: x,\n zIndex,\n width: referenceWidth,\n maxWidth: availableWidth,\n maxHeight: availableHeight,\n ...style,\n }),\n [availableHeight, availableWidth, referenceWidth, strategy, style, x, y, zIndex]\n )\n\n const staticSide = placement && FLOATING_STATIC_SIDES[placement.split('-')[0]]\n\n const arrowStyle: CSSProperties = useMemo(() => {\n const style: CSSProperties = {\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }\n\n if (staticSide) style[staticSide] = 0 - DEFAULT_POPOVER_ARROW_WIDTH\n\n return style\n }, [arrowX, arrowY, staticSide])\n\n return (\n <Root\n {...restProps}\n $boundaryWidth={boundaryWidth}\n data-placement={placement}\n data-ui=\"Popover\"\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n style={rootStyle}\n tone={tone}\n >\n <Container\n data-ui=\"Popover__wrapper\"\n flex={1}\n overflow={overflow}\n padding={padding}\n sizing=\"border\"\n width={width}\n >\n {children}\n </Container>\n\n {arrow && <PopoverArrow ref={arrowRef} style={arrowStyle} />}\n </Root>\n )\n })\n)\n\nPopoverCard.displayName = 'PopoverCard'\n","import {\n Middleware,\n RootBoundary,\n arrow,\n autoUpdate,\n flip,\n hide,\n offset,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {cloneElement, forwardRef, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {useForwardedRef, useArrayProp, useElementSize} from '../../hooks'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'\nimport {LayerProps, LayerProvider, Portal, useBoundaryElement} from '../../utils'\nimport {ResponsiveRadiusProps, ResponsiveShadowProps, ResponsiveWidthProps} from '../types'\nimport {DEFAULT_POPOVER_DISTANCE, DEFAULT_POPOVER_PADDING} from './constants'\nimport {size} from './floating-ui/size'\nimport {PopoverCard} from './popoverCard'\n\n/**\n * @public\n */\nexport interface PopoverProps\n extends Omit<LayerProps, 'as'>,\n ResponsiveRadiusProps,\n ResponsiveShadowProps,\n ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_margins?: PopoverMargins\n arrow?: boolean\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n constrainSize?: boolean\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n open?: boolean\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n portal?: boolean | string\n preventOverflow?: boolean\n referenceElement?: HTMLElement | null\n matchReferenceWidth?: boolean\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n}\n\n/** @public */\nexport const Popover = forwardRef(function Popover(\n props: PopoverProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>,\n ref: React.ForwardedRef<HTMLDivElement>\n): React.ReactElement {\n const theme = useTheme()\n const boundaryElementContext = useBoundaryElement()\n\n const {\n __unstable_margins: margins,\n arrow: arrowProp = true,\n boundaryElement = boundaryElementContext.element,\n children: childProp,\n constrainSize = false,\n content,\n disabled,\n fallbackPlacements,\n matchReferenceWidth: matchReferenceWidthProp,\n open,\n overflow = props.constrainSize ? 'auto' : 'hidden',\n padding: paddingProp,\n placement: placementProp = 'bottom',\n portal,\n preventOverflow = true,\n radius: radiusProp = 3,\n referenceElement,\n scheme,\n shadow: shadowProp = 3,\n tone = 'inherit',\n width: widthProp = 'auto',\n zOffset: zOffsetProp = theme.sanity.layer?.popover.zOffset,\n ...restProps\n } = props\n const boundarySize = useElementSize(boundaryElement)?.border\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const width = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const [availableWidth, setAvailableWidth] = useState<number | undefined>(undefined)\n const [availableHeight, setAvailableHeight] = useState<number | undefined>(undefined)\n const [referenceWidth, setReferenceWidth] = useState<number | undefined>(undefined)\n const forwardedRef = useForwardedRef(ref)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n if (constrainSize || preventOverflow) {\n ret.push(\n flip({\n boundary: boundaryElement || undefined,\n fallbackPlacements,\n padding: DEFAULT_POPOVER_PADDING,\n rootBoundary,\n })\n )\n }\n\n // Track sizes\n if (constrainSize || matchReferenceWidthProp) {\n ret.push(\n size({\n boundaryElement,\n constrainSize,\n matchReferenceWidth: matchReferenceWidthProp,\n padding: DEFAULT_POPOVER_PADDING,\n setAvailableHeight,\n setAvailableWidth,\n setReferenceWidth,\n })\n )\n }\n\n // Define distance between reference and floating element\n ret.push(\n offset({\n mainAxis: arrowProp ? DEFAULT_POPOVER_DISTANCE : 0,\n })\n )\n\n // Shift the popover so its sits with the boundary eleement\n if (preventOverflow) {\n ret.push(\n shift({\n boundary: boundaryElement || 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 ret.push(\n hide({\n boundary: boundaryElement || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n })\n )\n\n return ret\n }, [\n arrowProp,\n boundaryElement,\n constrainSize,\n fallbackPlacements,\n matchReferenceWidthProp,\n preventOverflow,\n ])\n\n const {x, y, placement, reference, floating, middlewareData, strategy} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n })\n\n const referenceHidden = middlewareData.hide?.referenceHidden\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n forwardedRef.current = node\n floating(node)\n },\n [floating, forwardedRef]\n )\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n reference(node)\n\n const childRef = (childProp as any)?.ref\n\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n },\n [childProp, reference]\n )\n\n const child = useMemo(() => {\n if (!childProp || referenceElement) return null\n\n return cloneElement(childProp, {ref: setReference})\n }, [childProp, referenceElement, setReference])\n\n useEffect(() => {\n if (referenceElement) reference(referenceElement)\n }, [reference, referenceElement])\n\n if (disabled) {\n return childProp || <></>\n }\n\n const popover = (\n <LayerProvider zOffset={zOffset}>\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n availableWidth={constrainSize ? availableWidth : undefined}\n availableHeight={constrainSize ? availableHeight : undefined}\n boundaryWidth={preventOverflow ? boundarySize?.width : undefined}\n hidden={referenceHidden}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n referenceWidth={matchReferenceWidthProp ? referenceWidth : undefined}\n scheme={scheme}\n shadow={shadow}\n strategy={strategy}\n tone={tone}\n x={x}\n y={y}\n width={width}\n >\n {content}\n </PopoverCard>\n </LayerProvider>\n )\n\n return (\n <>\n {/* the popover */}\n {open && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {popover}\n </Portal>\n ) : (\n popover\n )}\n </>\n )}\n\n {/* the referred element */}\n {child}\n </>\n )\n})\n\nPopover.displayName = 'Popover'\n","import {CSSObject} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'\n\nexport function radioBaseStyle(): CSSObject {\n return {\n position: 'relative',\n\n '&:not([hidden])': {\n display: 'inline-block',\n },\n\n '&[data-read-only]': {\n outline: '1px solid red',\n },\n }\n}\n\nexport function inputElementStyle(props: ThemeProps): CSSObject {\n const {theme} = props\n const {focusRing, input} = theme.sanity\n const color = theme.sanity.color.input\n const dist = (input.radio.size - input.radio.markSize) / 2\n\n return {\n appearance: 'none',\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n height: '100%',\n width: '100%',\n outline: 'none',\n zIndex: 1,\n padding: 0,\n margin: 0,\n borderRadius: rem(input.radio.size / 2),\n border: 'none',\n\n /* enabled */\n '& + span': {\n display: 'block',\n position: 'relative',\n height: rem(input.radio.size),\n width: rem(input.radio.size),\n borderRadius: rem(input.radio.size / 2),\n background: color.default.enabled.bg,\n boxShadow: focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n }),\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: rem(dist),\n left: rem(dist),\n height: rem(input.radio.markSize),\n width: rem(input.radio.markSize),\n borderRadius: rem(input.radio.markSize / 2),\n background: color.default.enabled.fg,\n opacity: 0,\n },\n },\n\n /* focused */\n '&:not(:disabled):focus + span': {\n boxShadow: focusRingStyle({\n border: {width: input.border.width, color: color.default.enabled.border},\n focusRing,\n }),\n },\n\n '&:not(:disabled):focus:not(:focus-visible) + span': {\n boxShadow: focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n }),\n },\n\n '&:checked + span::after': {\n opacity: 1,\n },\n\n /* read only */\n '&[data-read-only] + span': {\n boxShadow: `0 0 0 1px ${color.default.readOnly.border}`,\n background: color.default.readOnly.bg,\n\n '&::after': {\n background: color.default.readOnly.fg,\n },\n },\n\n /* disabled */\n '&:not([data-read-only]):disabled + span': {\n boxShadow: `0 0 0 1px ${color.default.disabled.border}`,\n background: color.default.disabled.bg,\n\n '&::after': {\n background: color.default.disabled.fg,\n },\n },\n }\n}\n","import {forwardRef, memo} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity} from '../../hooks'\nimport {radioBaseStyle, inputElementStyle} from './styles'\n\n/**\n * @public\n */\nexport interface RadioProps {\n customValidity?: string\n}\n\nconst Root = memo(styled.div(radioBaseStyle))\nconst Input = memo(styled.input(inputElementStyle))\n\n/**\n * @public\n */\nexport const Radio = forwardRef(function Radio(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & RadioProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>\n) {\n const {className, disabled, style, customValidity, readOnly, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root className={className} data-ui=\"Radio\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n ref={ref}\n type=\"radio\"\n />\n <span />\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\nimport {\n focusRingBorderStyle,\n focusRingStyle,\n responsiveInputPaddingIconRightStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n} from '../../styles/internal'\nimport {ThemeFontSize} from '../../theme'\n\nfunction rootStyle(): CSSObject {\n return {\n position: 'relative',\n width: 'stretch',\n\n '&:not([hidden])': {\n display: 'inline-block',\n },\n }\n}\n\nfunction inputBaseStyle(props: ThemeProps): CSSObject {\n const {theme} = props\n const font = theme.sanity.fonts.text\n\n return {\n WebkitFontSmoothing: 'antialiased',\n appearance: 'none',\n border: 0,\n fontFamily: font.family,\n color: 'inherit',\n width: '100%',\n outline: 'none',\n margin: 0,\n\n '&:disabled': {\n opacity: 1,\n },\n }\n}\n\nfunction inputColorStyle(props: ThemeProps): CSSObject {\n const {theme} = props\n const {focusRing, input} = theme.sanity\n const color = theme.sanity.color.input\n\n return {\n /* enabled */\n backgroundColor: color.default.enabled.bg,\n color: color.default.enabled.fg,\n boxShadow: focusRingBorderStyle({\n color: color.default.enabled.border,\n width: input.border.width,\n }),\n\n /* hovered */\n '@media (hover: hover)': {\n '&:not(:disabled):hover': {\n backgroundColor: color.default.hovered.bg,\n color: color.default.hovered.fg,\n boxShadow: focusRingBorderStyle({\n color: color.default.hovered.border,\n width: input.border.width,\n }),\n },\n },\n\n /* focused */\n '&:not(:disabled):focus': {\n boxShadow: focusRingStyle({\n border: {width: input.border.width, color: color.default.enabled.border},\n focusRing,\n }),\n },\n\n /* read-only */\n '&[data-read-only]': {\n backgroundColor: color.default.readOnly.bg,\n color: color.default.readOnly.fg,\n boxShadow: focusRingBorderStyle({\n color: color.default.readOnly.border,\n width: input.border.width,\n }),\n },\n\n /* disabled */\n '&:not([data-read-only]):disabled': {\n backgroundColor: color.default.disabled.bg,\n color: color.default.disabled.fg,\n boxShadow: focusRingBorderStyle({\n color: color.default.disabled.border,\n width: input.border.width,\n }),\n },\n }\n}\n\nfunction textSize(size: ThemeFontSize): CSSObject {\n return {fontSize: rem(size.fontSize), lineHeight: rem(size.lineHeight)}\n}\n\nfunction inputTextSizeStyle(props: {$fontSize: number[]} & ThemeProps): CSSObject[] {\n const {theme, $fontSize} = props\n const {sizes} = theme.sanity.fonts.text\n\n return _responsive(theme.sanity.media, $fontSize, (sizeIndex) =>\n textSize(sizes[sizeIndex] || sizes[2])\n )\n}\n\nfunction inputStyle(): Array<\n | ((\n props: ResponsiveRadiusStyleProps & {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps\n ) => CSSObject[])\n | ((props: ThemeProps) => CSSObject)\n> {\n return [\n responsiveRadiusStyle,\n inputBaseStyle,\n inputColorStyle,\n inputTextSizeStyle,\n responsiveInputPaddingIconRightStyle,\n ]\n}\n\nfunction iconBoxStyle(props: ThemeProps): CSSObject {\n const {theme} = props\n const color = theme.sanity.color.input\n\n return {\n pointerEvents: 'none',\n position: 'absolute',\n top: 0,\n right: 0,\n\n /* enabled */\n '--card-fg-color': color.default.enabled.fg,\n\n /* hover */\n '@media (hover: hover)': {\n 'select:not(disabled):not(:read-only):hover + &&': {\n '--card-fg-color': color.default.hovered.fg,\n },\n },\n\n /* disabled */\n 'select:disabled + &&': {\n '--card-fg-color': color.default.disabled.fg,\n },\n\n /* read-only */\n 'select[data-read-only] + &&': {\n '--card-fg-color': color.default.readOnly.fg,\n },\n }\n}\n\nexport const selectStyle = {\n root: rootStyle,\n input: inputStyle,\n iconBox: iconBoxStyle,\n}\n","import {SelectIcon} from '@sanity/icons'\nimport {forwardRef, memo} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {Box} from '../box'\nimport {Text} from '../text'\nimport {selectStyle} from './styles'\n\n/**\n * @public\n */\nexport interface SelectProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: number | number[]\n space?: number | number[]\n customValidity?: string\n}\n\nconst Root = memo(styled.div(selectStyle.root))\n\nconst Input = memo(\n styled.select<{\n $fontSize: number[]\n $padding: number[]\n $radius: number[]\n $space: number[]\n }>(selectStyle.input)\n)\n\nconst IconBox = memo(styled(Box)(selectStyle.iconBox))\n\n/**\n * @public\n */\nexport const Select = forwardRef(function Select(\n props: SelectProps & Omit<React.HTMLProps<HTMLSelectElement>, 'as'>,\n forwardedRef: React.ForwardedRef<HTMLSelectElement>\n) {\n const {\n children,\n customValidity,\n disabled,\n fontSize = 2,\n padding = 3,\n radius = 1,\n readOnly,\n space = 3,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"Select\">\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-ui=\"Select\"\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $radius={useArrayProp(radius)}\n $space={useArrayProp(space)}\n disabled={disabled || readOnly}\n ref={ref}\n >\n {children}\n </Input>\n\n <IconBox padding={padding}>\n <Text size={fontSize}>\n <SelectIcon />\n </Text>\n </IconBox>\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, _responsive, ThemeProps} from '../../styles'\n\nexport interface ResponsiveStackSpaceStyleProps {\n $space: number[]\n}\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n gridTemplateColumns: 'minmax(0, 1fr)',\n gridAutoRows: 'min-content',\n}\n\nexport function stackBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveStackSpaceStyle(\n props: ResponsiveStackSpaceStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media, space} = theme.sanity\n\n return _responsive(media, props.$space, (spaceIndex) => ({\n gridGap: rem(space[spaceIndex]),\n }))\n}\n","import {forwardRef, memo} from 'react'\nimport {useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {Box, BoxProps} from '../box'\nimport {stackBaseStyle, responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps} from './styles'\n\n/**\n * @public\n */\nexport interface StackProps extends BoxProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n space?: number | number[]\n}\n\nconst Root = memo(\n compose<ResponsiveStackSpaceStyleProps>(Box, [stackBaseStyle, responsiveStackSpaceStyle])\n)\n\n/**\n * @public\n */\nexport const Stack = forwardRef(function Stack(\n props: StackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'ref'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {as, space, ...restProps} = props\n\n return (\n <Root\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Stack\"\n {...restProps}\n $space={useArrayProp(space)}\n forwardedAs={as}\n ref={ref}\n />\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {focusRingStyle} from '../../styles/internal'\n\n/* Root */\nexport function switchBaseStyles(): CSSObject {\n return {\n position: 'relative',\n '&:not([hidden])': {\n display: 'inline-block',\n },\n }\n}\n\n/* Input */\nexport function switchInputStyles(): CSSObject {\n // Visually hide the input element while keeping it interactive\n return {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n opacity: 0,\n height: '100%',\n width: '100%',\n outline: 'none',\n padding: 0,\n margin: 0,\n\n /* Place the input element above the representation element */\n zIndex: 1,\n }\n}\n\n/* Representation */\nexport function switchRepresentationStyles(props: ThemeProps): CSSObject {\n const {theme} = props\n const {focusRing, input} = theme.sanity\n const color = theme.sanity.color.button.default\n\n return {\n '--switch-bg-color': color.default.enabled.bg,\n '--switch-fg-color': color.default.enabled.fg,\n '--switch-box-shadow': 'none',\n\n '&:not([hidden])': {\n display: 'block',\n },\n position: 'relative',\n width: rem(input.switch.width),\n height: rem(input.switch.height),\n borderRadius: rem(input.switch.height / 2),\n\n /* Make sure it’s not possible to interact with the wrapper element */\n pointerEvents: 'none',\n\n '&:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 1,\n boxShadow: 'var(--switch-box-shadow)',\n borderRadius: 'inherit',\n },\n\n /* Focus styles */\n 'input:focus + &&': {\n '--switch-box-shadow': focusRingStyle({focusRing}),\n },\n\n 'input:focus:not(:focus-visible) + &&': {\n '--switch-box-shadow': 'none',\n },\n\n 'input:checked + &&': {\n '--switch-bg-color': color.positive.enabled.bg,\n '--switch-fg-color': color.positive.enabled.fg,\n },\n\n '@media (hover: hover)': {\n 'input:not(:disabled):hover + &&': {\n '--switch-bg-color': color.default.hovered.bg,\n '--switch-fg-color': color.default.hovered.fg,\n },\n\n 'input:not(:disabled):checked:hover + &&': {\n '--switch-bg-color': color.positive.hovered.bg,\n '--switch-fg-color': color.positive.hovered.fg,\n },\n },\n\n 'input:not([data-read-only]):disabled + &&': {\n '--switch-bg-color': color.default.disabled.bg,\n '--switch-fg-color': color.default.disabled.fg,\n },\n }\n}\n\n/* Track */\nexport function switchTrackStyles(props: ThemeProps): CSSObject {\n const {theme} = props\n const {input} = theme.sanity\n\n return {\n '&:not([hidden])': {\n display: 'block',\n },\n backgroundColor: 'var(--switch-bg-color)',\n position: 'absolute',\n left: 0,\n top: 0,\n width: rem(input.switch.width),\n height: rem(input.switch.height),\n borderRadius: rem(input.switch.height / 2),\n }\n}\n\n/* Thumb */\nexport function switchThumbStyles(\n props: {$checked?: boolean; $indeterminate?: boolean} & ThemeProps\n): CSSObject {\n const {$indeterminate, theme} = props\n const {input} = theme.sanity\n const trackWidth = input.switch.width\n const trackHeight = input.switch.height\n const trackPadding = input.switch.padding\n const size = trackHeight - input.switch.padding * 2\n const checkedOffset = trackWidth - trackPadding * 2 - size\n const indeterminateOffset = trackWidth / 2 - size / 2 - trackPadding\n const checked = $indeterminate !== true && props.$checked === true\n\n return {\n '&:not([hidden])': {\n display: 'block',\n },\n position: 'absolute',\n left: rem(trackPadding),\n top: rem(trackPadding),\n height: rem(size),\n width: rem(size),\n borderRadius: rem(size / 2),\n transitionProperty: 'transform',\n transitionDuration: `${input.switch.transitionDurationMs}ms`,\n transitionTimingFunction: input.switch.transitionTimingFunction,\n background: 'var(--switch-fg-color)',\n transform: 'translate3d(0, 0, 0)',\n\n ...(checked ? {transform: `translate3d(${checkedOffset}px, 0, 0)`} : {}),\n ...($indeterminate ? {transform: `translate3d(${indeterminateOffset}px, 0, 0)`} : {}),\n }\n}\n","import {forwardRef, memo, useEffect} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef} from '../../hooks'\nimport {\n switchBaseStyles,\n switchRepresentationStyles,\n switchThumbStyles,\n switchTrackStyles,\n switchInputStyles,\n} from './styles'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n indeterminate?: boolean\n}\n\nconst Root = memo(styled.span(switchBaseStyles))\nconst Input = memo(styled.input(switchInputStyles))\nconst Representation = memo(styled.span(switchRepresentationStyles))\nconst Track = memo(styled.span(switchTrackStyles))\nconst Thumb = memo(styled.span<{$checked?: boolean; $indeterminate?: boolean}>(switchThumbStyles))\n\n/**\n * @public\n */\nexport const Switch = forwardRef(function Switch(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & SwitchProps,\n forwardedRef: React.ForwardedRef<HTMLInputElement>\n) {\n const {checked, className, disabled, indeterminate, readOnly, style, ...restProps} = props\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, ref])\n\n return (\n <Root className={className} data-ui=\"Switch\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n checked={indeterminate !== true && checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <Representation aria-hidden data-name=\"representation\">\n <Track />\n <Thumb $checked={checked} $indeterminate={indeterminate} />\n </Representation>\n </Root>\n )\n})\n","import {forwardRef, memo} from 'react'\nimport styled from 'styled-components'\nimport {useForwardedRef, useCustomValidity, useArrayProp} from '../../hooks'\nimport {compose} from '../../styles'\nimport {\n responsiveInputPaddingStyle,\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n TextInputResponsivePaddingStyleProps,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n textInputRootStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey, useRootTheme} from '../../theme'\nimport {ResponsiveRadiusProps} from '../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends ResponsiveRadiusProps {\n border?: boolean\n customValidity?: string\n fontSize?: number | number[]\n padding?: number | number[]\n weight?: ThemeFontWeightKey\n}\n\nconst Root = memo(styled.span(textInputRootStyle))\n\nconst InputRoot = memo(\n styled.span({\n flex: 1,\n minWidth: 0,\n display: 'block',\n position: 'relative',\n })\n)\n\nconst Input = memo(\n compose<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>('textarea', [\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n ])\n)\n\nconst Presentation = memo(\n compose<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>('div', [\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n ])\n)\n\n/**\n * @public\n */\nexport const TextArea = forwardRef(function TextArea(\n props: TextAreaProps & Omit<React.HTMLProps<HTMLTextAreaElement>, 'as'>,\n forwardedRef: React.ForwardedRef<HTMLTextAreaElement>\n) {\n const {\n border = true,\n customValidity,\n disabled = false,\n fontSize = 2,\n padding = 3,\n radius = 1,\n weight,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n const rootTheme = useRootTheme()\n\n useCustomValidity(ref, customValidity)\n\n return (\n <Root data-ui=\"TextArea\">\n <InputRoot>\n <Input\n data-as=\"textarea\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={useArrayProp(fontSize)}\n $padding={useArrayProp(padding)}\n $scheme={rootTheme.scheme}\n $space={useArrayProp(0)}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n ref={ref}\n />\n <Presentation\n $radius={useArrayProp(radius)}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n />\n </InputRoot>\n </Root>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport {createElement, forwardRef, isValidElement, memo, useCallback, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport styled from 'styled-components'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp, useForwardedRef, useCustomValidity} from '../../hooks'\nimport {compose} from '../../styles'\nimport {\n responsiveRadiusStyle,\n ResponsiveRadiusStyleProps,\n responsiveInputPaddingStyle,\n TextInputInputStyleProps,\n TextInputRepresentationStyleProps,\n TextInputResponsivePaddingStyleProps,\n textInputBaseStyle,\n textInputFontSizeStyle,\n textInputRepresentationStyle,\n textInputRootStyle,\n} from '../../styles/internal'\nimport {ThemeFontWeightKey, useRootTheme} from '../../theme'\nimport {Box} from '../box'\nimport {Button, ButtonProps} from '../button'\nimport {Card} from '../card'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = Omit<ButtonProps, 'as'> &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'onClick' | 'onMouseDown' | 'ref'>\n\n/**\n * @public\n */\nexport type TextInputType =\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'url'\n | 'month'\n | 'number'\n | 'password'\n | 'tel'\n | 'time'\n | 'text'\n | 'week'\n | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps {\n border?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n padding?: number | number[]\n prefix?: React.ReactNode\n radius?: number | number[]\n space?: number | number[]\n suffix?: React.ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: React.CSSProperties = {zIndex: 2}\n\n// NOTE: use `['attrs']` to work around a VS Code syntax highlighting issue\nconst Root = memo(styled(Card)['attrs']({forwardedAs: 'span'})(textInputRootStyle))\n\nconst InputRoot = memo(\n styled.span({\n flex: 1,\n minWidth: 0,\n display: 'block',\n position: 'relative',\n })\n)\n\n// NOTE: use `['attrs']` to work around a VS Code syntax highlighting issue\nconst Prefix = memo(\n styled(Card)['attrs']({forwardedAs: 'span'})({\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n\n '& > span': {\n display: 'block',\n margin: '-1px',\n },\n })\n)\n\n// NOTE: use `['attrs']` to work around a VS Code syntax highlighting issue\nconst Suffix = memo(\n styled(Card)['attrs']({forwardedAs: 'span'})({\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n\n '& > span': {\n display: 'block',\n margin: '-1px',\n },\n })\n)\n\nconst Input = memo(\n compose<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>('input', [\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n ])\n)\n\nconst Presentation = memo(\n compose<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>('span', [\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n ])\n)\n\nconst LeftBox = memo(\n styled(Box)({\n position: 'absolute',\n top: 0,\n left: 0,\n })\n)\n\nconst RightBox = memo(\n styled(Box)({\n position: 'absolute',\n top: 0,\n right: 0,\n })\n)\n\nconst RightCard = memo(\n styled(Card)({\n backgroundColor: 'transparent',\n position: 'absolute',\n top: 0,\n right: 0,\n })\n)\n\n/**\n * @public\n */\nexport const TextInput = forwardRef(function TextInput(\n props: TextInputProps & Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'prefix' | 'type'>,\n forwardedRef: React.Ref<HTMLInputElement>\n) {\n const {\n border = true,\n clearButton,\n disabled = false,\n fontSize: fontSizeProp = 2,\n icon,\n iconRight,\n onClear,\n padding: paddingProp = 3,\n prefix,\n radius: radiusProp = 1,\n readOnly,\n space: spaceProp = 3,\n suffix,\n customValidity,\n type = 'text',\n weight,\n ...restProps\n } = props\n\n const ref = useForwardedRef(forwardedRef)\n\n const rootTheme = useRootTheme()\n\n const fontSize = useArrayProp(fontSizeProp)\n const padding = useArrayProp(paddingProp)\n const radius = useArrayProp(radiusProp)\n const space = useArrayProp(spaceProp)\n\n // Transient properties\n const $hasClearButton = Boolean(clearButton)\n const $hasIcon = Boolean(icon)\n const $hasIconRight = Boolean(iconRight)\n const $hasSuffix = Boolean(suffix)\n const $hasPrefix = Boolean(prefix)\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n\n if (onClear) onClear()\n\n // Focus the input, in case focus has been lost when clicking the clear button\n ref.current?.focus()\n },\n [onClear, ref]\n )\n\n // Render prefix (memoized)\n const prefixNode = useMemo(\n () =>\n prefix && (\n <Prefix borderTop borderLeft borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{prefix}</span>\n </Prefix>\n ),\n [prefix, radius]\n )\n\n // Render presentation (memoized)\n const presentationNode = useMemo(\n () => (\n <Presentation\n $hasPrefix={$hasPrefix}\n $hasSuffix={$hasSuffix}\n $radius={radius}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n >\n {icon && (\n <LeftBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n </LeftBox>\n )}\n\n {!$hasClearButton && iconRight && (\n <RightBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n </RightBox>\n )}\n </Presentation>\n ),\n [\n border,\n fontSize,\n icon,\n iconRight,\n padding,\n radius,\n rootTheme,\n $hasClearButton,\n $hasPrefix,\n $hasSuffix,\n ]\n )\n\n // Render clear button (memoized)\n const clearButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding]\n )\n const clearButtonPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return v - 1\n }),\n [padding]\n )\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (typeof clearButton === 'object' ? clearButton : EMPTY_RECORD),\n [clearButton]\n )\n const clearButtonNode = useMemo(\n () =>\n !disabled &&\n !readOnly &&\n clearButton && (\n <RightCard\n forwardedAs=\"span\"\n padding={clearButtonBoxPadding}\n style={CLEAR_BUTTON_BOX_STYLE}\n tone={customValidity ? 'critical' : 'inherit'}\n >\n <Button\n data-qa=\"clear-button\"\n fontSize={fontSize}\n icon={CloseIcon}\n mode=\"bleed\"\n padding={clearButtonPadding}\n radius={radius}\n {...clearButtonProps}\n onClick={handleClearClick}\n onMouseDown={handleClearMouseDown}\n />\n </RightCard>\n ),\n [\n clearButton,\n clearButtonBoxPadding,\n clearButtonPadding,\n clearButtonProps,\n customValidity,\n disabled,\n fontSize,\n handleClearClick,\n handleClearMouseDown,\n radius,\n readOnly,\n ]\n )\n\n // Render suffix (memoized)\n const suffixNode = useMemo(\n () =>\n suffix && (\n <Suffix borderTop borderRight borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{suffix}</span>\n </Suffix>\n ),\n [radius, suffix]\n )\n\n return (\n <Root data-ui=\"TextInput\" tone={rootTheme.tone}>\n {prefixNode}\n\n <InputRoot>\n <Input\n data-as=\"input\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={fontSize}\n $iconLeft={$hasIcon}\n $iconRight={$hasIconRight || $hasClearButton}\n $padding={padding}\n $scheme={rootTheme.scheme}\n $space={space}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n {presentationNode}\n {clearButtonNode}\n </InputRoot>\n\n {suffixNode}\n </Root>\n )\n})\n","import {forwardRef, memo} from 'react'\nimport styled from 'styled-components'\n\nconst Root = memo(\n styled.div({\n position: 'absolute',\n pointerEvents: 'none',\n width: '15px',\n height: '15px',\n fill: 'none',\n\n ':empty + &': {\n display: 'none',\n },\n\n '& > svg': {\n display: 'block',\n transformOrigin: '7.5px 7.5px',\n },\n\n '[data-placement^=\"top\"] > &': {\n bottom: '-27px',\n },\n\n '[data-placement^=\"right\"] > &': {\n left: '-27px',\n\n '& > svg': {\n transform: 'rotate(90deg)',\n },\n },\n\n '[data-placement^=\"left\"] > &': {\n right: '-27px',\n\n '& > svg': {\n transform: 'rotate(-90deg)',\n },\n },\n\n '[data-placement^=\"bottom\"] > &': {\n top: '-27px',\n\n '& > svg': {\n transform: 'rotate(180deg)',\n },\n },\n })\n)\n\nconst Border = memo(\n styled.path({\n fill: 'var(--card-shadow-outline-color)',\n })\n)\n\nconst Shape = memo(\n styled.path({\n fill: 'var(--card-bg-color)',\n })\n)\n\ninterface TooltipArrowProps {}\n\nexport const TooltipArrow = forwardRef(function TooltipArrow(\n props: TooltipArrowProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {...restProps} = props\n\n return (\n <Root data-ui=\"Tooltip__arrow\" {...restProps} ref={ref}>\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\">\n <Border d=\"M11.5266 1C11.032 1.32802 10.5837 1.73105 10.1995 2.20057L9.04792 3.6081C8.24771 4.58614 6.7523 4.58614 5.95209 3.6081L4.80047 2.20057C4.41632 1.73105 3.96796 1.32802 3.47341 1H0.156727C1.65639 1 3.07687 1.67313 4.02651 2.83381L5.17813 4.24134C6.37844 5.70839 8.62156 5.70839 9.82187 4.24134L10.9735 2.83381C11.9231 1.67313 13.3436 1 14.8433 1H11.5266Z\" />\n <Shape d=\"M0.156725 0C1.95632 0 3.66089 0.80776 4.80047 2.20057L5.95209 3.6081C6.75229 4.58614 8.24771 4.58614 9.04791 3.6081L10.1995 2.20057C11.3391 0.80776 13.0437 0 14.8433 0H15H0H0.156725Z\" />\n </svg>\n </Root>\n )\n})\n","import {\n arrow,\n autoUpdate,\n flip,\n offset,\n shift,\n useFloating,\n Middleware,\n RootBoundary,\n} from '@floating-ui/react-dom'\nimport {\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n CSSProperties,\n ForwardedRef,\n memo,\n} from 'react'\nimport styled from 'styled-components'\nimport {FLOATING_STATIC_SIDES} from '../../constants'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {Placement} from '../../types'\nimport {Layer, LayerProps, Portal, useBoundaryElement} from '../../utils'\nimport {Card} from '../card'\nimport {TooltipArrow} from './tooltipArrow'\n\n/**\n * @public\n */\nexport interface TooltipProps extends Omit<LayerProps, 'as'> {\n /** @deprecated Use `fallbackPlacements` instead. */\n allowedAutoPlacements?: Placement[]\n boundaryElement?: HTMLElement | null\n children?: React.ReactElement\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n padding?: number | number[]\n placement?: Placement\n portal?: boolean | string\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n}\n\nconst Root = memo(\n styled(Layer)({\n pointerEvents: 'none',\n })\n)\n\n/**\n * @public\n */\nexport const Tooltip = forwardRef(function Tooltip(\n props: TooltipProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const boundaryElementContext = useBoundaryElement()\n const theme = useTheme()\n const {\n boundaryElement = boundaryElementContext?.element,\n children: childProp,\n content,\n disabled,\n fallbackPlacements: fallbackPlacementsProp,\n padding,\n placement: placementProp = 'bottom',\n portal,\n scheme,\n shadow = 2,\n zOffset = theme.sanity.layer?.tooltip.zOffset,\n ...restProps\n } = props\n const fallbackPlacements = useArrayProp(fallbackPlacementsProp)\n const forwardedRef = useForwardedRef(ref)\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n ret.push(\n flip({\n boundary: boundaryElement || undefined,\n fallbackPlacements,\n padding: 4,\n rootBoundary,\n })\n )\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: 3}))\n\n // Shift the tooltip so its sits with the boundary eleement\n ret.push(\n shift({\n boundary: boundaryElement || undefined,\n rootBoundary,\n padding: 4,\n })\n )\n\n // Place arrow\n ret.push(arrow({element: arrowRef, padding: 2}))\n\n return ret\n }, [boundaryElement, fallbackPlacements])\n\n const {x, y, placement, reference, floating, middlewareData, update, strategy} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n })\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n }),\n [strategy, x, y]\n )\n\n const staticSide = placement && FLOATING_STATIC_SIDES[placement.split('-')[0]]\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const arrowStyle: CSSProperties = useMemo(() => {\n const style: CSSProperties = {\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }\n\n if (staticSide) style[staticSide] = -15\n\n return style\n }, [arrowX, arrowY, staticSide])\n\n const [isOpen, setIsOpen] = useState(false)\n const handleBlur = useCallback(() => setIsOpen(false), [])\n const handleFocus = useCallback(() => setIsOpen(true), [])\n const handleMouseEnter = useCallback(() => setIsOpen(true), [])\n const handleMouseLeave = useCallback(() => setIsOpen(false), [])\n\n // Detect whether the mouse is moving outside of the reference element. This is sometimes\n // necessary, because the tooltip might not always close as it should (e.g. when clicking\n // the reference element triggers a CPU-heavy operation.)\n useEffect(() => {\n if (!isOpen) return\n\n function handleWindowMouseMove(event: MouseEvent) {\n if (!referenceElement) return\n\n const isHoveringReference =\n referenceElement === event.target ||\n (event.target instanceof Node && referenceElement.contains(event.target))\n\n if (!isHoveringReference) {\n setIsOpen(false)\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }\n\n window.addEventListener('mousemove', handleWindowMouseMove)\n\n return () => {\n window.removeEventListener('mousemove', handleWindowMouseMove)\n }\n }, [isOpen, referenceElement])\n\n // Close when `disabled` changes to `true`\n useEffect(() => {\n if (disabled) setIsOpen(false)\n }, [disabled])\n\n // Close when `content` changes to falsy\n useEffect(() => {\n if (!content) setIsOpen(false)\n }, [content])\n\n // Update reference\n useEffect(() => reference(referenceElement), [reference, referenceElement])\n\n const setArrow = useCallback(\n (arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n update()\n },\n [update]\n )\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n forwardedRef.current = node\n floating(node)\n },\n [floating, forwardedRef]\n )\n\n const childRef: ForwardedRef<HTMLElement | null> = (childProp as any)?.ref\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n\n // childRef.current = node\n setReferenceElement(node)\n },\n [childRef]\n )\n\n const child = useMemo(() => {\n if (!childProp) return null\n\n return cloneElement(childProp, {\n onBlur: handleBlur,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n ref: setReference,\n })\n }, [childProp, handleBlur, handleFocus, handleMouseEnter, handleMouseLeave, setReference])\n\n if (!child) return <></>\n\n if (disabled) return child\n\n const root = (\n <Root data-ui=\"Tooltip\" {...restProps} ref={setFloating} style={rootStyle} zOffset={zOffset}>\n <Card\n data-ui=\"Tooltip__card\"\n data-placement={placement}\n padding={padding}\n radius={2}\n scheme={scheme}\n shadow={shadow}\n >\n {content}\n <TooltipArrow ref={setArrow} style={arrowStyle} />\n </Card>\n </Root>\n )\n\n return (\n <>\n {child}\n\n {isOpen && (\n <>\n {portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n {root}\n </Portal>\n ) : (\n root\n )}\n </>\n )}\n </>\n )\n})\n","import {SpinnerIcon} from '@sanity/icons'\nimport {memo} from 'react'\nimport styled, {keyframes} from 'styled-components'\nimport {Box} from '../../primitives'\n\n/**\n * @internal\n */\nexport const Root = memo(\n styled.div({\n lineHeight: 0,\n })\n)\n\n/**\n * @internal\n */\nexport const ListBox = memo(\n styled(Box)({\n '& > ul': {\n listStyle: 'none',\n padding: 0,\n margin: 0,\n },\n })\n)\n\nconst rotate = keyframes({\n from: {\n transform: 'rotate(0deg)',\n },\n to: {\n transform: 'rotate(360deg)',\n },\n})\n\n/**\n * @internal\n */\nexport const AnimatedSpinnerIcon = memo(\n styled(SpinnerIcon)`\n animation: ${rotate} 500ms linear infinite;\n `\n)\n","import {useCallback} from 'react'\nimport {_isEnterToClickElement} from '../../helpers'\n\nexport interface AutocompleteOptionProps {\n children: React.ReactNode\n id: string\n onSelect: (v: string) => void\n selected: boolean\n value: string\n}\n\nexport function AutocompleteOption(props: AutocompleteOptionProps): React.ReactElement {\n const {children, id, onSelect, selected, value} = props\n\n const handleClick = useCallback(() => {\n // Calling the `onSelect` in a timeout is a fix to\n // allow the `click` event to propagate in some cases\n setTimeout(() => {\n onSelect(value)\n }, 0)\n }, [onSelect, value])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLLIElement>) => {\n if (event.key === 'Enter' && !_isEnterToClickElement(event.currentTarget)) {\n handleClick()\n }\n },\n [handleClick]\n )\n\n return (\n <li\n aria-selected={selected}\n data-ui=\"AutocompleteOption\"\n id={id}\n role=\"option\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {children}\n </li>\n )\n}\n","import {AutocompleteMsg, AutocompleteState} from './types'\n\n/**\n * @internal\n */\nexport function autocompleteReducer(\n state: AutocompleteState,\n msg: AutocompleteMsg\n): AutocompleteState {\n if (msg.type === 'input/change') {\n return {...state, activeValue: null, focused: true, query: msg.query}\n }\n\n if (msg.type === 'input/focus') {\n return {...state, focused: true}\n }\n\n if (msg.type === 'root/blur') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/clear') {\n return {...state, activeValue: null, query: null, value: null}\n }\n\n if (msg.type === 'root/escape') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/open') {\n return {...state, query: state.query || msg.query}\n }\n\n if (msg.type === 'root/setActiveValue') {\n return {...state, activeValue: msg.value, listFocused: msg.listFocused || state.listFocused}\n }\n\n if (msg.type === 'root/setListFocused') {\n return {...state, listFocused: msg.listFocused}\n }\n\n if (msg.type === 'value/change') {\n return {...state, activeValue: msg.value, query: null, value: msg.value}\n }\n\n return state\n}\n","import {Placement, PopoverMargins} from '../../types'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_LISTBOX_IGNORE_KEYS = [\n 'Control',\n 'Shift',\n 'Alt',\n 'Enter',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n 'Meta',\n 'Tab',\n 'CapsLock',\n]\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_MARGINS: PopoverMargins = [0, 1, 0, 0]\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_PLACEMENT: Placement = 'bottom'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS: Placement[] = ['bottom', 'top']\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {\n ChangeEvent,\n ElementType,\n FocusEvent,\n HTMLProps,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n Ref,\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport {EMPTY_ARRAY, EMPTY_RECORD} from '../../constants'\nimport {_hasFocus, _raf, focusFirstDescendant} from '../../helpers'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {\n Box,\n BoxProps,\n Button,\n Card,\n Popover,\n PopoverProps,\n Stack,\n Text,\n TextInput,\n} from '../../primitives'\nimport {AnimatedSpinnerIcon, ListBox, Root} from './autocomplete.styles'\nimport {AutocompleteOption} from './autocompleteOption'\nimport {autocompleteReducer} from './autocompleteReducer'\nimport {\n AUTOCOMPLETE_LISTBOX_IGNORE_KEYS,\n AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS,\n AUTOCOMPLETE_POPOVER_MARGINS,\n AUTOCOMPLETE_POPOVER_PLACEMENT,\n} from './constants'\nimport {AutocompleteOpenButtonProps, BaseAutocompleteOption} from './types'\n\n/**\n * @public\n */\nexport interface AutocompleteProps<Option extends BaseAutocompleteOption = BaseAutocompleteOption> {\n border?: boolean\n customValidity?: string\n filterOption?: (query: string, option: Option) => boolean\n fontSize?: number | number[]\n icon?: ElementType | ReactNode\n id: string\n /** @beta */\n listBox?: BoxProps\n loading?: boolean\n onChange?: (value: string) => void\n onQueryChange?: (query: string | null) => void\n onSelect?: (value: string) => void\n /** @beta */\n openButton?: boolean | AutocompleteOpenButtonProps\n options?: Option[]\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'onMouseEnter' | 'onMouseLeave' | 'open'> &\n Omit<HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'ref' | 'width'>\n prefix?: ReactNode\n radius?: number | number[]\n /** @beta */\n relatedElements?: HTMLElement[]\n renderOption?: (option: Option) => ReactElement\n /** @beta */\n renderPopover?: (\n props: {\n content: ReactElement | null\n hidden: boolean\n inputElement: HTMLInputElement | null\n onMouseEnter: () => void\n onMouseLeave: () => void\n },\n ref: Ref<HTMLDivElement>\n ) => ReactNode\n renderValue?: (value: string, option?: Option) => string\n suffix?: ReactNode\n value?: string\n}\n\nconst DEFAULT_RENDER_VALUE = (value: string, option?: BaseAutocompleteOption) =>\n option ? option.value : value\n\nconst DEFAULT_FILTER_OPTION = (query: string, option: BaseAutocompleteOption) =>\n option.value.toLowerCase().indexOf(query.toLowerCase()) > -1\n\nconst InnerAutocomplete = forwardRef(function InnerAutocomplete<\n Option extends BaseAutocompleteOption\n>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n >,\n ref: Ref<HTMLInputElement>\n) {\n const {\n border = true,\n customValidity,\n disabled,\n filterOption: filterOptionProp,\n fontSize = 2,\n icon,\n id,\n listBox = EMPTY_RECORD,\n loading,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n onSelect,\n openButton,\n options: optionsProp,\n padding: paddingProp = 3,\n popover = EMPTY_RECORD,\n prefix,\n radius = 3,\n readOnly,\n relatedElements,\n renderOption: renderOptionProp,\n renderPopover,\n renderValue = DEFAULT_RENDER_VALUE,\n suffix,\n value: valueProp,\n ...restProps\n } = props\n\n const [state, dispatch] = useReducer(autocompleteReducer, {\n activeValue: valueProp || null,\n focused: false,\n listFocused: false,\n query: null,\n value: valueProp || null,\n })\n\n const {activeValue, focused, listFocused, query, value} = state\n\n const defaultRenderOption = useCallback(\n ({value}: BaseAutocompleteOption) => (\n <Card data-as=\"button\" padding={paddingProp} radius={2} tone=\"inherit\">\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {value}\n </Text>\n </Card>\n ),\n [fontSize, paddingProp]\n )\n\n const renderOption =\n typeof renderOptionProp === 'function' ? renderOptionProp : defaultRenderOption\n\n const filterOption =\n typeof filterOptionProp === 'function' ? filterOptionProp : DEFAULT_FILTER_OPTION\n\n // Element refs\n const rootElementRef = useRef<HTMLDivElement | null>(null)\n const resultsPopoverElementRef = useRef<HTMLDivElement | null>(null)\n const inputElementRef = useRef<HTMLInputElement | null>(null)\n const listBoxElementRef = useRef<HTMLDivElement | null>(null)\n\n // Value refs\n const listFocusedRef = useRef(false)\n const valueRef = useRef(value)\n const valuePropRef = useRef(valueProp)\n const popoverMouseWithinRef = useRef(false)\n\n const forwardedRef = useForwardedRef(ref)\n\n const listBoxId = `${id}-listbox`\n const options = Array.isArray(optionsProp) ? optionsProp : EMPTY_ARRAY\n const padding = useArrayProp(paddingProp)\n const currentOption = useMemo(\n () => (value !== null ? options.find((o) => o.value === value) : undefined),\n [options, value]\n )\n const filteredOptions = useMemo(\n () => options.filter((option) => (query ? filterOption(query, option) : true)),\n [filterOption, options, query]\n )\n const filteredOptionsLen = filteredOptions.length\n const activeItemId = activeValue ? `${id}-option-${activeValue}` : undefined\n const expanded = (query !== null && loading) || (focused && query !== null)\n\n const handleRootBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setTimeout(() => {\n // NOTE: This is a workaround for a bug that may happen in Chrome (clicking the scrollbar\n // closes the results in certain situations):\n // - Do not handle blur if the mouse is within the popover\n if (popoverMouseWithinRef.current) {\n return\n }\n\n const elements: HTMLElement[] = (relatedElements || []).concat(\n rootElementRef.current ? [rootElementRef.current] : [],\n resultsPopoverElementRef.current ? [resultsPopoverElementRef.current] : []\n )\n\n let focusInside = false\n\n if (document.activeElement) {\n for (const e of elements) {\n if (e === document.activeElement || e.contains(document.activeElement)) {\n focusInside = true\n break\n }\n }\n }\n\n if (focusInside === false) {\n dispatch({type: 'root/blur'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n if (onBlur) onBlur(event)\n }\n }, 0)\n },\n [onBlur, onQueryChange, relatedElements]\n )\n\n const handleRootFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n const listBoxElement = listBoxElementRef.current\n const focusedElement = event.target instanceof HTMLElement ? event.target : null\n const listFocused = listBoxElement?.contains(focusedElement) || false\n\n if (listFocused !== listFocusedRef.current) {\n listFocusedRef.current = listFocused\n\n dispatch({type: 'root/setListFocused', listFocused})\n }\n }, [])\n\n const handleOptionSelect = useCallback(\n (v: string) => {\n dispatch({type: 'value/change', value: v})\n\n popoverMouseWithinRef.current = false\n\n if (onSelect) onSelect(v)\n\n valueRef.current = v\n\n if (onChange) onChange(v)\n if (onQueryChange) onQueryChange(null)\n\n inputElementRef.current?.focus()\n },\n [onChange, onSelect, onQueryChange]\n )\n\n const handleRootKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption = filteredOptions[(activeIndex + 1) % filteredOptionsLen]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption =\n filteredOptions[\n activeIndex === -1\n ? filteredOptionsLen - 1\n : (filteredOptionsLen + activeIndex - 1) % filteredOptionsLen\n ]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'Escape') {\n dispatch({type: 'root/escape'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n\n return\n }\n\n const target = event.target as Node\n const listEl = listBoxElementRef.current\n\n if (\n (listEl === target || listEl?.contains(target)) &&\n !AUTOCOMPLETE_LISTBOX_IGNORE_KEYS.includes(event.key)\n ) {\n inputElementRef.current?.focus()\n\n return\n }\n },\n [activeValue, filteredOptions, filteredOptionsLen, onQueryChange]\n )\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const nextQuery = event.currentTarget.value\n\n dispatch({type: 'input/change', query: nextQuery})\n\n if (onQueryChange) onQueryChange(nextQuery)\n },\n [onQueryChange]\n )\n\n const handleInputFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n if (!focused) {\n dispatch({type: 'input/focus'})\n\n if (onFocus) onFocus(event)\n }\n },\n [focused, onFocus]\n )\n\n const handlePopoverMouseEnter = useCallback(() => {\n popoverMouseWithinRef.current = true\n }, [])\n\n const handlePopoverMouseLeave = useCallback(() => {\n popoverMouseWithinRef.current = false\n }, [])\n\n const handleClearButtonClick = useCallback(() => {\n dispatch({type: 'root/clear'})\n valueRef.current = ''\n if (onChange) onChange('')\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n }, [onChange, onQueryChange])\n\n const handleClearButtonFocus = useCallback(() => {\n dispatch({type: 'input/focus'})\n }, [])\n\n // Change the value when `value` prop changes\n useEffect(() => {\n // If `valueProp` changed\n if (valueProp !== valuePropRef.current) {\n valuePropRef.current = valueProp\n\n if (valueProp !== undefined) {\n dispatch({type: 'value/change', value: valueProp})\n valueRef.current = valueProp\n }\n\n return\n }\n\n // If `valueProp` is not equal to `value`\n if (valueProp !== valueRef.current) {\n valueRef.current = valueProp || null\n\n dispatch({type: 'value/change', value: valueProp || null})\n }\n }, [valueProp])\n\n // Reset active item when closing\n useEffect(() => {\n if (!focused && valueRef.current) {\n dispatch({type: 'root/setActiveValue', value: valueRef.current})\n }\n }, [focused])\n\n // Focus the selected item\n useEffect(() => {\n const listElement = listBoxElementRef.current\n\n if (!listElement) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n\n if (activeOption) {\n const activeIndex = filteredOptions.indexOf(activeOption)\n const activeItemElement = listElement.childNodes[activeIndex] as HTMLLIElement | undefined\n\n if (activeItemElement) {\n if (_hasFocus(activeItemElement)) {\n // already focused\n return\n }\n\n focusFirstDescendant(activeItemElement)\n }\n }\n }, [activeValue, filteredOptions])\n\n const setRef = useCallback(\n (el: HTMLInputElement | null) => {\n inputElementRef.current = el\n forwardedRef.current = el\n },\n [forwardedRef]\n )\n\n const clearButton = useMemo(() => {\n if (!loading && !disabled && value) {\n return {\n 'aria-label': 'Clear',\n onFocus: handleClearButtonFocus,\n }\n }\n\n return undefined\n }, [disabled, handleClearButtonFocus, loading, value])\n\n const openButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding]\n )\n const openButtonPadding = useMemo(() => padding.map((v) => Math.max(v - 1, 0)), [padding])\n const openButtonProps: AutocompleteOpenButtonProps = useMemo(\n () => (typeof openButton === 'object' ? openButton : EMPTY_RECORD),\n [openButton]\n )\n\n const handleOpenClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n dispatch({\n type: 'root/open',\n query: value ? renderValue(value, currentOption) : '',\n })\n\n if (openButtonProps.onClick) openButtonProps.onClick(event)\n\n _raf(() => inputElementRef.current?.focus())\n },\n [currentOption, openButtonProps, renderValue, value]\n )\n\n const openButtonNode = useMemo(\n () =>\n !disabled && !readOnly && openButton ? (\n <Box aria-hidden={expanded} padding={openButtonBoxPadding}>\n <Button\n aria-label=\"Open\"\n disabled={expanded}\n fontSize={fontSize}\n icon={ChevronDownIcon}\n mode=\"bleed\"\n padding={openButtonPadding}\n {...openButtonProps}\n onClick={handleOpenClick}\n />\n </Box>\n ) : undefined,\n [\n disabled,\n expanded,\n fontSize,\n handleOpenClick,\n openButton,\n openButtonBoxPadding,\n openButtonPadding,\n openButtonProps,\n readOnly,\n ]\n )\n\n const inputValue = useMemo(() => {\n if (query === null) {\n if (value !== null) {\n return renderValue(value, currentOption)\n }\n\n return ''\n }\n\n return query\n }, [currentOption, query, renderValue, value])\n\n const input = (\n <TextInput\n {...restProps}\n aria-activedescendant={activeItemId}\n aria-autocomplete=\"list\"\n aria-expanded={expanded}\n aria-owns={listBoxId}\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n border={border}\n clearButton={clearButton}\n customValidity={customValidity}\n disabled={disabled}\n fontSize={fontSize}\n icon={icon}\n iconRight={loading && AnimatedSpinnerIcon}\n id={id}\n inputMode=\"search\"\n onChange={handleInputChange}\n onClear={handleClearButtonClick}\n onFocus={handleInputFocus}\n padding={padding}\n prefix={prefix}\n radius={radius}\n readOnly={readOnly}\n ref={setRef}\n role=\"combobox\"\n spellCheck={false}\n suffix={suffix || openButtonNode}\n value={inputValue}\n />\n )\n\n const handleListBoxKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n // If the focus is currently in the list, move focus to the input element\n if (event.key === 'Tab') {\n if (listFocused) inputElementRef.current?.focus()\n }\n },\n [listFocused]\n )\n\n const content = useMemo(() => {\n if (filteredOptions.length === 0) return null\n\n return (\n <ListBox\n data-ui=\"AutoComplete__results\"\n onKeyDown={handleListBoxKeyDown}\n padding={1}\n {...listBox}\n tabIndex={-1}\n >\n <Stack\n as=\"ul\"\n aria-multiselectable={false}\n data-ui=\"AutoComplete__resultsList\"\n id={listBoxId}\n ref={listBoxElementRef}\n role=\"listbox\"\n space={1}\n >\n {filteredOptions.map((option) => {\n const active =\n activeValue !== null ? option.value === activeValue : currentOption === option\n\n return (\n <AutocompleteOption\n id={`${id}-option-${option.value}`}\n key={option.value}\n onSelect={handleOptionSelect}\n selected={active}\n value={option.value}\n >\n {cloneElement(renderOption(option), {\n disabled: loading,\n selected: active,\n tabIndex: listFocused && active ? 0 : -1,\n })}\n </AutocompleteOption>\n )\n })}\n </Stack>\n </ListBox>\n )\n }, [\n activeValue,\n currentOption,\n filteredOptions,\n handleOptionSelect,\n handleListBoxKeyDown,\n id,\n listBox,\n listBoxId,\n listFocused,\n loading,\n renderOption,\n ])\n\n const results = useMemo(() => {\n if (renderPopover) {\n return renderPopover(\n {\n content,\n hidden: !expanded,\n inputElement: inputElementRef.current,\n onMouseEnter: handlePopoverMouseEnter,\n onMouseLeave: handlePopoverMouseLeave,\n },\n resultsPopoverElementRef\n )\n }\n\n if (filteredOptionsLen === 0) {\n return null\n }\n\n return (\n <Popover\n __unstable_margins={AUTOCOMPLETE_POPOVER_MARGINS}\n arrow={false}\n constrainSize\n content={content}\n fallbackPlacements={AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS}\n matchReferenceWidth\n onMouseEnter={handlePopoverMouseEnter}\n onMouseLeave={handlePopoverMouseLeave}\n open={expanded}\n placement={AUTOCOMPLETE_POPOVER_PLACEMENT}\n portal\n radius={radius}\n ref={resultsPopoverElementRef}\n referenceElement={inputElementRef.current}\n {...popover}\n />\n )\n }, [\n content,\n expanded,\n filteredOptionsLen,\n handlePopoverMouseEnter,\n handlePopoverMouseLeave,\n popover,\n radius,\n renderPopover,\n ])\n\n return (\n <Root\n data-ui=\"Autocomplete\"\n onBlur={handleRootBlur}\n onFocus={handleRootFocus}\n onKeyDown={handleRootKeyDown}\n ref={rootElementRef}\n >\n {input}\n {results}\n </Root>\n )\n})\n\n/**\n * @public\n */\nexport const Autocomplete = InnerAutocomplete as <Option extends BaseAutocompleteOption>(\n props: AutocompleteProps<Option> &\n Omit<\n HTMLProps<HTMLInputElement>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'id'\n | 'inputMode'\n | 'onChange'\n | 'onSelect'\n | 'prefix'\n | 'ref'\n | 'role'\n | 'spellCheck'\n | 'type'\n | 'value'\n > & {\n ref?: Ref<HTMLInputElement>\n }\n) => ReactElement\n","import {memo} from 'react'\nimport styled from 'styled-components'\nimport {Button} from '../../primitives'\n\nexport const Root = memo(\n styled.ol({\n margin: 0,\n padding: 0,\n display: 'flex',\n listStyle: 'none',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n lineHeight: 0,\n })\n)\n\nexport const ExpandButton = memo(\n styled(Button)({\n appearance: 'none',\n margin: '-4px',\n })\n)\n","import {Children, forwardRef, Fragment, isValidElement, useCallback, useMemo, useState} from 'react'\nimport {useArrayProp, useClickOutside} from '../../hooks'\nimport {Box, Popover, Stack, Text} from '../../primitives'\nimport {ExpandButton, Root} from './breadcrumbs.styles'\n\n/**\n * @beta\n */\nexport interface BreadcrumbsProps {\n maxLength?: number\n separator?: React.ReactNode\n space?: number | number[]\n}\n\n/**\n * @beta\n */\nexport const Breadcrumbs = forwardRef(function Breadcrumbs(\n props: BreadcrumbsProps & Omit<React.HTMLProps<HTMLOListElement>, 'as' | 'ref' | 'type'>,\n ref: React.ForwardedRef<HTMLOListElement>\n) {\n const {children, maxLength, separator, space: spaceRaw = 2, ...restProps} = props\n const space = useArrayProp(spaceRaw)\n const [open, setOpen] = useState(false)\n const [expandElement, setExpandElement] = useState<HTMLButtonElement | null>(null)\n const [popoverElement, setPopoverElement] = useState<HTMLDivElement | null>(null)\n\n const collapse = useCallback(() => setOpen(false), [])\n const expand = useCallback(() => setOpen(true), [])\n\n useClickOutside(collapse, [expandElement, popoverElement])\n\n const rawItems = useMemo(\n () =>\n Children.toArray(children).filter((child) => {\n return isValidElement(child)\n }),\n [children]\n )\n\n const items = useMemo(() => {\n const len = rawItems.length\n\n if (maxLength && len > maxLength) {\n const beforeLength = Math.ceil(maxLength / 2)\n const afterLength = Math.floor(maxLength / 2)\n\n return [\n ...rawItems.slice(0, beforeLength - 1),\n <Popover\n constrainSize\n content={\n <Stack as=\"ol\" overflow=\"auto\" padding={space} space={space}>\n {rawItems.slice(beforeLength - 1, len - afterLength)}\n </Stack>\n }\n key=\"button\"\n open={open}\n placement=\"top\"\n portal\n ref={setPopoverElement}\n >\n <ExpandButton\n fontSize={1}\n mode=\"bleed\"\n onClick={open ? collapse : expand}\n padding={1}\n ref={setExpandElement}\n selected={open}\n text=\"…\"\n />\n </Popover>,\n ...rawItems.slice(len - afterLength),\n ]\n }\n\n return rawItems\n }, [collapse, expand, maxLength, open, rawItems, space])\n\n return (\n <Root data-ui=\"Breadcrumbs\" {...restProps} ref={ref}>\n {items.map((item, itemIndex) => (\n <Fragment key={itemIndex}>\n {itemIndex > 0 && (\n <Box aria-hidden as=\"li\" paddingX={space}>\n {separator || <Text muted>/</Text>}\n </Box>\n )}\n <Box as=\"li\">{item}</Box>\n </Fragment>\n ))}\n </Root>\n )\n})\n","import {CSSObject} from 'styled-components'\nimport {_responsive, ThemeProps} from '../../styles'\nimport {DialogPosition} from '../../types'\n\n/**\n * @internal\n */\nexport interface ResponsiveDialogPositionStyleProps {\n $position: DialogPosition[]\n}\n\nexport function dialogStyle({theme}: ThemeProps): CSSObject {\n const color = theme.sanity.color.base\n\n return {\n '&:not([hidden])': {\n display: 'flex',\n },\n\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n outline: 'none',\n background: color.shadow.umbra,\n }\n}\n\nexport function responsiveDialogPositionStyle(\n props: ResponsiveDialogPositionStyleProps & ThemeProps\n): CSSObject[] {\n const {theme} = props\n const {media} = theme.sanity\n\n return _responsive(media, props.$position, (position) => ({'&&': {position}}))\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {DialogPosition} from '../../types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogContextValue {\n version: 0.0\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\nconst key = Symbol.for('@sanity/ui/context/dialog')\n\nglobalScope[key] = globalScope[key] || createContext<DialogContextValue>({version: 0.0})\n\n/**\n * @internal\n */\nexport const DialogContext: React.Context<DialogContextValue> = globalScope[key]\n","import {useContext} from 'react'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useDialog(): DialogContextValue {\n return useContext(DialogContext)\n}\n","import {CloseIcon} from '@sanity/icons'\nimport {forwardRef, memo, useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {focusFirstDescendant, focusLastDescendant} from '../../helpers'\nimport {useArrayProp, useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Button, Card, Container, Flex, Text} from '../../primitives'\nimport {ResponsivePaddingProps, ResponsiveWidthProps} from '../../primitives/types'\nimport {responsivePaddingStyle, ResponsivePaddingStyleProps} from '../../styles/internal'\nimport {ThemeColorSchemeKey, useTheme} from '../../theme'\nimport {DialogPosition} from '../../types'\nimport {Layer, Portal, useLayer} from '../../utils'\nimport {\n dialogStyle,\n responsiveDialogPositionStyle,\n ResponsiveDialogPositionStyleProps,\n} from './styles'\nimport {useDialog} from './useDialog'\n\n/**\n * @public\n */\nexport interface DialogProps extends ResponsivePaddingProps, ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus?: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton?: boolean\n cardRadius?: number | number[]\n cardShadow?: number | number[]\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer?: React.ReactNode\n header?: React.ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n position?: DialogPosition | DialogPosition[]\n scheme?: ThemeColorSchemeKey\n zOffset?: number | number[]\n}\n\ninterface DialogCardProps extends ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton: boolean\n children: React.ReactNode\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer: React.ReactNode\n header: React.ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n radius: number | number[]\n scheme?: ThemeColorSchemeKey\n shadow: number | number[]\n}\n\nconst Root = memo(\n styled(Layer)<ResponsiveDialogPositionStyleProps & ResponsivePaddingStyleProps>(\n responsivePaddingStyle,\n dialogStyle,\n responsiveDialogPositionStyle\n )\n)\n\nconst DialogContainer = memo(\n styled(Container)({\n '&:not([hidden])': {\n display: 'flex',\n },\n width: '100%',\n height: '100%',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n })\n)\n\nconst DialogCardRoot = memo(\n styled(Card)({\n '&:not([hidden])': {\n display: 'flex',\n },\n width: '100%',\n minHeight: 0,\n maxHeight: '100%',\n overflow: 'hidden',\n })\n)\n\nconst DialogLayout = memo(\n styled(Flex)({\n flex: 1,\n minHeight: 0,\n width: '100%',\n })\n)\n\nconst DialogHeader = memo(\n styled(Card)({\n position: 'relative',\n zIndex: 2,\n\n '&:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: '-1px',\n borderBottom: '1px solid var(--card-hairline-soft-color)',\n },\n })\n)\n\nconst DialogContent = memo(\n styled(Box)({\n position: 'relative',\n zIndex: 1,\n overflow: 'auto',\n outline: 'none',\n })\n)\n\nconst DialogFooter = memo(\n styled(Box)({\n position: 'relative',\n zIndex: 3,\n borderTop: '1px solid var(--card-hairline-soft-color)',\n })\n)\n\nconst DialogCard = forwardRef(function DialogCard(\n props: DialogCardProps,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n __unstable_autoFocus: autoFocus,\n __unstable_hideCloseButton: hideCloseButton,\n children,\n contentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n radius: radiusProp,\n scheme,\n shadow: shadowProp,\n width: widthProp,\n } = props\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const width = useArrayProp(widthProp)\n const forwardedRef = useForwardedRef(ref)\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const localContentRef = useRef<HTMLDivElement | null>(null)\n const layer = useLayer()\n const {isTopLayer} = layer\n const labelId = `${id}_label`\n const showCloseButton = Boolean(onClose) && hideCloseButton === false\n const showHeader = Boolean(header) || showCloseButton\n\n useEffect(() => {\n if (!autoFocus) return\n\n // On mount: focus the first interactive element in the contents\n if (forwardedRef.current) {\n focusFirstDescendant(forwardedRef.current)\n }\n }, [autoFocus, forwardedRef])\n\n useGlobalKeyDown(\n useCallback(\n (event: KeyboardEvent) => {\n if (!isTopLayer || !onClose) return\n\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n onClose()\n }\n },\n [isTopLayer, onClose]\n )\n )\n\n useClickOutside(\n useCallback(() => {\n if (!isTopLayer || !onClickOutside) return\n\n onClickOutside()\n }, [isTopLayer, onClickOutside]),\n [rootElement]\n )\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef]\n )\n\n const setContentRef = useCallback(\n (el: HTMLDivElement | null) => {\n localContentRef.current = el\n if (typeof contentRef === 'function') contentRef(el)\n else if (contentRef) contentRef.current = el\n },\n [contentRef]\n )\n\n return (\n <DialogContainer data-ui=\"DialogCard\" width={width}>\n <DialogCardRoot radius={radius} ref={setRef} scheme={scheme} shadow={shadow}>\n <DialogLayout direction=\"column\">\n {showHeader && (\n <DialogHeader>\n <Flex>\n <Box flex={1} padding={4}>\n {header && (\n <Text id={labelId} weight=\"semibold\">\n {header}\n </Text>\n )}\n </Box>\n {showCloseButton && (\n <Box padding={2}>\n <Button\n aria-label=\"Close dialog\"\n disabled={!onClose}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n padding={3}\n />\n </Box>\n )}\n </Flex>\n </DialogHeader>\n )}\n\n <DialogContent flex={1} ref={setContentRef} tabIndex={-1}>\n {children}\n </DialogContent>\n\n {footer && <DialogFooter>{footer}</DialogFooter>}\n </DialogLayout>\n </DialogCardRoot>\n </DialogContainer>\n )\n})\n\n/**\n * @public\n */\nexport const Dialog = forwardRef(function Dialog(\n props: DialogProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'id' | 'width'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const dialog = useDialog()\n const theme = useTheme()\n const {\n __unstable_autoFocus: autoFocus = true,\n __unstable_hideCloseButton: hideCloseButton = false,\n cardRadius: cardRadiusProp = 3,\n cardShadow = 4,\n children,\n contentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n padding: paddingProp = 4,\n portal,\n position: positionProp = dialog.position || 'fixed',\n scheme,\n width: widthProp = 0,\n zOffset: zOffsetProp = dialog.zOffset || theme.sanity.layer?.dialog.zOffset,\n ...restProps\n } = props\n const cardRadius = useArrayProp(cardRadiusProp)\n const padding = useArrayProp(paddingProp)\n const position = useArrayProp(positionProp)\n const width = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const preDivRef = useRef<HTMLDivElement | null>(null)\n const postDivRef = useRef<HTMLDivElement | null>(null)\n const cardRef = useRef<HTMLDivElement | null>(null)\n\n const handleFocus = useCallback((event: React.FocusEvent<HTMLDivElement>) => {\n const target = event.target\n const cardElement = cardRef.current\n\n if (!cardElement) {\n return\n }\n\n if (target === preDivRef.current) {\n focusLastDescendant(cardElement)\n\n return\n }\n\n if (target === postDivRef.current) {\n focusFirstDescendant(cardElement)\n\n return\n }\n }, [])\n\n const labelId = `${id}_label`\n\n return (\n <Portal __unstable_name={portal}>\n <Root\n {...restProps}\n $padding={padding}\n $position={position}\n aria-labelledby={labelId}\n aria-modal\n data-ui=\"Dialog\"\n id={id}\n onFocus={handleFocus}\n ref={ref}\n role=\"dialog\"\n zOffset={zOffset}\n >\n <div ref={preDivRef} tabIndex={0} />\n <DialogCard\n __unstable_autoFocus={autoFocus}\n __unstable_hideCloseButton={hideCloseButton}\n contentRef={contentRef}\n footer={footer}\n header={header}\n id={id}\n onClickOutside={onClickOutside}\n onClose={onClose}\n radius={cardRadius}\n ref={cardRef}\n scheme={scheme}\n shadow={cardShadow}\n width={width}\n >\n {children}\n </DialogCard>\n <div ref={postDivRef} tabIndex={0} />\n </Root>\n </Portal>\n )\n})\n","import {useMemo} from 'react'\nimport {DialogPosition} from '../../types'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogProviderProps {\n children?: React.ReactNode\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function DialogProvider(props: DialogProviderProps): React.ReactElement {\n const {children, position, zOffset} = props\n\n const contextValue: DialogContextValue = useMemo(\n () => ({\n version: 0.0,\n position,\n zOffset,\n }),\n [position, zOffset]\n )\n\n return <DialogContext.Provider value={contextValue}>{children}</DialogContext.Provider>\n}\n","import {forwardRef, memo} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Inline, KBD} from '../../primitives'\n\n/**\n * @public\n */\nexport interface HotkeysProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: number | number[]\n space?: number | number[]\n keys?: string[]\n}\n\nconst Root = memo(\n styled.kbd({\n '&:not([hidden])': {\n display: 'block',\n },\n font: 'inherit',\n })\n)\n\nconst Key = memo(\n styled(KBD)({\n '&:not([hidden])': {\n display: 'block',\n },\n })\n)\n\n/**\n * @public\n */\nexport const Hotkeys = forwardRef(function Hotkeys(\n props: HotkeysProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'ref' | 'size'>,\n ref: React.Ref<HTMLElement>\n) {\n const {fontSize, keys, padding, radius, space: spaceProp = 1, ...restProps} = props\n const space = useArrayProp(spaceProp)\n\n if (!keys || keys.length === 0) {\n return <></>\n }\n\n return (\n <Root data-ui=\"Hotkeys\" {...restProps} ref={ref}>\n <Inline as=\"span\" space={space}>\n {keys.map((key, i) => (\n <Key fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </Key>\n ))}\n </Inline>\n </Root>\n )\n})\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\n\nexport interface MenuContextValue {\n version: 0.0\n activeElement: HTMLElement | null\n activeIndex: number\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemMouseEnter?: (event: React.MouseEvent<HTMLElement>) => void\n onItemMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void\n registerElement?: (el: HTMLElement) => () => void\n\n /**\n * @deprecated Use `onItemMouseEnter` instead\n */\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n\n /**\n * @deprecated Use `onItemMouseLeave` instead\n */\n onMouseLeave: (event: React.MouseEvent<HTMLElement>) => void\n}\n\nconst key = Symbol.for('@sanity/ui/context/menu')\n\nglobalScope[key] = globalScope[key] || createContext<MenuContextValue | null>(null)\n\nexport const MenuContext: React.Context<MenuContextValue | null> = globalScope[key]\n","import {isHTMLAnchorElement, isHTMLButtonElement} from '../../helpers'\n\n/**\n * @internal\n */\nfunction _isFocusable(element: HTMLElement) {\n return (\n (isHTMLAnchorElement(element) && element.getAttribute('data-disabled') !== 'true') ||\n (isHTMLButtonElement(element) && !element.disabled)\n )\n}\n\n/**\n * @internal\n */\nexport function _getFocusableElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(_isFocusable)\n}\n\n/**\n * @internal\n */\nexport function _getDOMPath(rootElement: HTMLElement, el: HTMLElement): number[] {\n const path: number[] = []\n\n let e = el\n\n while (e !== rootElement) {\n const parentElement = e.parentElement\n\n if (!parentElement) return path\n\n const children = Array.from(parentElement.childNodes)\n const index = children.indexOf(e)\n\n path.unshift(index)\n\n if (parentElement === rootElement) {\n return path\n }\n\n e = parentElement\n }\n\n return path\n}\n\nconst EMPTY_PATH: number[] = []\n\n/**\n * @internal\n */\nexport function _sortElements(rootElement: HTMLElement | null, elements: HTMLElement[]): void {\n if (!rootElement) return\n\n const map = new WeakMap<HTMLElement, number[]>()\n\n for (const el of elements) {\n map.set(el, _getDOMPath(rootElement, el))\n }\n\n const _sort = (a: HTMLElement, b: HTMLElement) => {\n const _a = map.get(a) || EMPTY_PATH\n const _b = map.get(b) || EMPTY_PATH\n\n const len = Math.max(_a.length, _b.length)\n\n // Loop until there are different indexes\n for (let i = 0; i < len; i += 1) {\n const aIndex = _a[i] || -1\n const bIndex = _b[i] || -1\n\n if (aIndex !== bIndex) {\n return aIndex - bIndex\n }\n }\n\n return 0\n }\n\n elements.sort(_sort)\n}\n","import {useCallback, useEffect, useRef, useState} from 'react'\nimport {_getFocusableElements, _sortElements} from './helpers'\n\n/**\n * @internal\n */\nexport interface MenuController {\n activeElement: HTMLElement | null\n activeIndex: number\n handleItemMouseEnter: (event: React.MouseEvent<HTMLElement>) => void\n handleItemMouseLeave: () => void\n handleKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n rootElement: HTMLDivElement | null\n setRootElement: (el: HTMLDivElement | null) => void\n}\n\n/**\n * This controller is responsible for controlling UI menu state.\n *\n * @internal\n */\nexport function useMenuController(props: {\n onKeyDown?: React.KeyboardEventHandler\n originElement?: HTMLElement | null\n shouldFocus: 'first' | 'last' | null\n}): MenuController {\n const {onKeyDown, originElement, shouldFocus} = props\n const elementsRef = useRef<HTMLElement[]>([])\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const [activeIndex, _setActiveIndex] = useState(-1)\n const activeIndexRef = useRef(activeIndex)\n const activeElement = elementsRef.current[activeIndex] || null\n const mounted = Boolean(rootElement)\n\n const setActiveIndex = useCallback((nextActiveIndex: number) => {\n _setActiveIndex(nextActiveIndex)\n activeIndexRef.current = nextActiveIndex\n }, [])\n\n const mount = useCallback(\n (element: HTMLElement | null, selected?: boolean): (() => void) => {\n if (!element) return () => undefined\n\n if (elementsRef.current.indexOf(element) === -1) {\n elementsRef.current.push(element)\n _sortElements(rootElement, elementsRef.current)\n }\n\n if (selected) {\n const selectedIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(selectedIndex)\n }\n\n return () => {\n const idx = elementsRef.current.indexOf(element)\n\n if (idx > -1) {\n elementsRef.current.splice(idx, 1)\n }\n }\n },\n [rootElement, setActiveIndex]\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n // Move focus to the element that opened the menu before handling the `Tab` press\n if (event.key === 'Tab') {\n if (originElement) {\n originElement.focus()\n }\n\n return\n }\n\n // Move focus to the first focusable menuitem\n if (event.key === 'Home') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n // Move focus to the last focusable menuitem\n if (event.key === 'End') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex - 1 + focusableLen) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex + 1) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (onKeyDown) {\n onKeyDown(event)\n }\n },\n [onKeyDown, originElement, setActiveIndex]\n )\n\n const handleItemMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const element = event.currentTarget\n const currentIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(currentIndex)\n },\n [setActiveIndex]\n )\n\n const handleItemMouseLeave = useCallback(() => {\n rootElement?.focus()\n setActiveIndex(-1)\n }, [rootElement, setActiveIndex])\n\n // Set focus on the currently active element\n useEffect(() => {\n if (!mounted) return\n\n const rafId = window.requestAnimationFrame(() => {\n const _activeIndex = activeIndexRef.current\n\n if (_activeIndex === -1) {\n if (shouldFocus === 'first') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n activeIndexRef.current = currentIndex\n }\n }\n\n if (shouldFocus === 'last') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n activeIndexRef.current = currentIndex\n }\n }\n\n return\n }\n\n const element = elementsRef.current[_activeIndex] || null\n\n element?.focus()\n })\n\n return () => {\n window.cancelAnimationFrame(rafId)\n }\n }, [activeIndex, mounted, setActiveIndex, shouldFocus])\n\n return {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n }\n}\n","import {forwardRef, memo, useCallback, useEffect, useMemo} from 'react'\nimport styled from 'styled-components'\nimport {useClickOutside, useForwardedRef, useGlobalKeyDown} from '../../hooks'\nimport {Box, Stack} from '../../primitives'\nimport {ResponsivePaddingProps} from '../../primitives/types'\nimport {useLayer} from '../../utils'\nimport {MenuContext, MenuContextValue} from './menuContext'\nimport {useMenuController} from './useMenuController'\n\n/**\n * @public\n */\nexport interface MenuProps extends ResponsivePaddingProps {\n /**\n * @deprecated Use `shouldFocus=\"first\"` instead.\n */\n focusFirst?: boolean\n /**\n * @deprecated Use `shouldFocus=\"last\"` instead.\n */\n focusLast?: boolean\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemSelect?: (index: number) => void\n originElement?: HTMLElement | null\n registerElement?: (el: HTMLElement) => () => void\n shouldFocus?: 'first' | 'last' | null\n space?: number | number[]\n}\n\nconst Root = memo(\n styled(Box)({\n outline: 'none',\n overflow: 'auto',\n })\n)\n\n/**\n * @public\n */\nexport const Menu = forwardRef(function Menu(\n props: MenuProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'role' | 'tabIndex'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n children,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusFirst,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusLast,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemSelect,\n onKeyDown,\n originElement,\n padding = 1,\n registerElement,\n shouldFocus = (props.focusFirst && 'first') || (props.focusLast && 'last') || null,\n space = 1,\n ...restProps\n } = props\n\n const forwardedRef = useForwardedRef(ref)\n\n const {isTopLayer} = useLayer()\n\n const {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n rootElement,\n setRootElement,\n } = useMenuController({onKeyDown, originElement, shouldFocus})\n\n const handleRefChange = useCallback(\n (el: HTMLDivElement | null) => {\n setRootElement(el)\n forwardedRef.current = el\n },\n [forwardedRef, setRootElement]\n )\n\n // Trigger `onItemSelect` when active index changes\n useEffect(() => {\n if (onItemSelect) onItemSelect(activeIndex)\n }, [activeIndex, onItemSelect])\n\n // Close menu when clicking outside\n useClickOutside(\n useCallback(\n (event) => isTopLayer && onClickOutside && onClickOutside(event),\n [isTopLayer, onClickOutside]\n ),\n [rootElement]\n )\n\n // Close menu when pressing Escape\n useGlobalKeyDown(\n useCallback(\n (event) => {\n if (!isTopLayer) return\n\n if (event.key === 'Escape') {\n event.stopPropagation()\n if (onEscape) onEscape()\n }\n },\n [isTopLayer, onEscape]\n )\n )\n\n // Register root element (for nested menus)\n useEffect(() => {\n if (!rootElement || !registerElement) return\n\n return registerElement(rootElement)\n }, [registerElement, rootElement])\n\n const value: MenuContextValue = useMemo(\n () => ({\n version: 0.0,\n activeElement,\n activeIndex,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: handleItemMouseEnter,\n onItemMouseLeave: handleItemMouseLeave,\n registerElement,\n\n // deprecated\n onMouseEnter: handleItemMouseEnter,\n onMouseLeave: handleItemMouseLeave,\n }),\n [\n activeElement,\n activeIndex,\n mount,\n handleItemMouseEnter,\n handleItemMouseLeave,\n onClickOutside,\n onEscape,\n onItemClick,\n registerElement,\n ]\n )\n\n return (\n <MenuContext.Provider value={value}>\n <Root\n data-ui=\"Menu\"\n {...restProps}\n onKeyDown={handleKeyDown}\n padding={padding}\n ref={handleRefChange}\n role=\"menu\"\n tabIndex={-1}\n >\n <Stack space={space}>{children}</Stack>\n </Root>\n </MenuContext.Provider>\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState, useEffect, useRef} from 'react'\nimport {isElement} from 'react-is'\nimport {Popover, PopoverProps} from '../../primitives'\nimport {ThemeColorSchemeKey} from '../../theme'\nimport {Placement} from '../../types'\nimport {MenuProps} from './menu'\n\n/**\n * @public\n */\nexport interface MenuButtonProps {\n /**\n * @beta Do not use in production.\n */\n __unstable_disableRestoreFocusOnClose?: boolean\n /**\n * @deprecated Use `popover={{boundaryElement: element}}` instead.\n */\n boundaryElement?: HTMLElement\n button: React.ReactElement\n id: string\n menu?: React.ReactElement\n onClose?: () => void\n /**\n * @deprecated Use `popover={{placement: 'top'}}` instead.\n */\n placement?: Placement\n popover?: Omit<PopoverProps, 'content' | 'open'>\n /**\n * @deprecated Use `popover={{scheme: 'dark'}}` instead.\n */\n popoverScheme?: ThemeColorSchemeKey\n /**\n * @deprecated Use `popover={{radius: 2}}` instead.\n */\n popoverRadius?: number | number[]\n /**\n * @beta Do not use in production.\n * @deprecated Use `popover={{portal: true}}` instead.\n */\n portal?: boolean\n /**\n * @deprecated Use `popover={{preventOverflow: true}}` instead.\n */\n preventOverflow?: boolean\n}\n\n/**\n * @public\n */\nexport const MenuButton = forwardRef(function MenuButton(\n props: MenuButtonProps,\n ref: React.ForwardedRef<HTMLButtonElement | null>\n) {\n const {\n __unstable_disableRestoreFocusOnClose: disableRestoreFocusOnClose = false,\n boundaryElement: deprecated_boundaryElement,\n button: buttonProp,\n id,\n menu: menuProp,\n onClose,\n placement: deprecated_placement,\n popoverScheme: deprecated_popoverScheme,\n portal: deprecated_portal = true,\n popover,\n popoverRadius: deprecated_popoverRadius,\n preventOverflow: deprecated_preventOverflow,\n } = props\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const [buttonElement, setButtonElement] = useState<HTMLButtonElement | null>(null)\n const [menuElements, setChildMenuElements] = useState<HTMLElement[]>([])\n const openRef = useRef<boolean>(open)\n\n useEffect(() => {\n if (onClose && !open && openRef.current) {\n onClose()\n }\n }, [onClose, open])\n\n useEffect(() => {\n openRef.current = open\n }, [open])\n\n const handleButtonClick = useCallback(() => {\n setOpen((v) => !v)\n setShouldFocus(null)\n }, [])\n\n const handleButtonKeyDown = useCallback((event: React.KeyboardEvent<HTMLButtonElement>) => {\n // On `ArrowDown`, `Enter` and `Space`\n // - Opens menu and moves focus to first menuitem\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('first')\n\n return\n }\n\n // On `ArrowUp`\n // - \tOpens menu and moves focus to last menuitem\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('last')\n\n return\n }\n }, [])\n\n const handleMenuClickOutside = useCallback(\n (event: MouseEvent) => {\n const target = event.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (buttonElement && (target === buttonElement || buttonElement.contains(target))) {\n return\n }\n\n for (const el of menuElements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [buttonElement, menuElements]\n )\n\n const handleMenuEscape = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n const target = event.relatedTarget\n\n if (!(target instanceof Node)) {\n return\n }\n\n for (const el of menuElements) {\n if (el === target || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [menuElements]\n )\n\n const handleItemClick = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const registerElement = useCallback((el: HTMLElement) => {\n setChildMenuElements((els) => els.concat([el]))\n\n return () => {\n setChildMenuElements((els) => {\n return els.filter((_el) => _el !== el)\n })\n }\n }, [])\n\n const menuProps: MenuProps = useMemo(\n () => ({\n 'aria-labelledby': id,\n onBlurCapture: handleBlur,\n onClickOutside: handleMenuClickOutside,\n onEscape: handleMenuEscape,\n onItemClick: handleItemClick,\n originElement: buttonElement,\n registerElement,\n shouldFocus,\n }),\n [\n buttonElement,\n handleMenuClickOutside,\n handleMenuEscape,\n handleItemClick,\n id,\n handleBlur,\n registerElement,\n shouldFocus,\n ]\n )\n\n const menu = isElement(menuProp) ? cloneElement(menuProp, menuProps) : null\n\n const setButtonRef = useCallback(\n (el: HTMLButtonElement | null) => {\n if (typeof ref === 'function') {\n ref(el)\n } else if (ref) {\n ref.current = el\n }\n\n setButtonElement(el)\n },\n [ref]\n )\n\n const button = useMemo(\n () =>\n isElement(buttonProp)\n ? cloneElement(buttonProp, {\n 'data-ui': 'MenuButton',\n id,\n onClick: handleButtonClick,\n onKeyDown: handleButtonKeyDown,\n 'aria-haspopup': true,\n 'aria-expanded': open,\n ref: setButtonRef,\n selected: open,\n })\n : null,\n [buttonProp, handleButtonClick, handleButtonKeyDown, id, open, setButtonRef]\n )\n\n const popoverProps: PopoverProps = useMemo(() => {\n return {\n boundaryElement: deprecated_boundaryElement,\n placement: deprecated_placement,\n portal: deprecated_portal,\n radius: deprecated_popoverRadius,\n preventOverflow: deprecated_preventOverflow,\n scheme: deprecated_popoverScheme,\n ...(popover || {}),\n }\n }, [\n deprecated_boundaryElement,\n deprecated_preventOverflow,\n deprecated_placement,\n popover,\n deprecated_popoverRadius,\n deprecated_portal,\n deprecated_popoverScheme,\n ])\n\n return (\n <Popover {...popoverProps} content={menu} data-ui=\"MenuButton__popover\" open={open}>\n {button || <></>}\n </Popover>\n )\n})\n","import {memo} from 'react'\nimport styled from 'styled-components'\n\n/**\n * @public\n */\nexport const MenuDivider = memo(\n styled.hr({\n height: '1px',\n border: 0,\n background: 'var(--card-hairline-soft-color)',\n margin: 0,\n })\n)\n","import {CSSObject} from 'styled-components'\nimport {ThemeProps} from '../../styles'\nimport {_colorVarsStyle} from '../../styles/colorVars'\nimport {SelectableTone} from '../../types/selectable'\n\n/**\n * @internal\n */\nexport interface SelectableStyleProps {\n $tone: SelectableTone\n}\n\nexport function selectableBaseStyle(): CSSObject {\n return {\n backgroundColor: 'inherit',\n color: 'inherit',\n\n '&[data-as=\"button\"]': {\n WebkitFontSmoothing: 'inherit',\n appearance: 'none',\n outline: 'none',\n font: 'inherit',\n textAlign: 'inherit',\n border: 0,\n width: 'stretch',\n },\n\n /* &:is(a) */\n '&[data-as=\"a\"]': {\n textDecoration: 'none',\n },\n }\n}\n\nexport function selectableColorStyle(props: SelectableStyleProps & ThemeProps): CSSObject {\n const {$tone, theme} = props\n const {base, muted, selectable} = theme.sanity.color\n // @todo: remove use of `muted` here\n const tone = selectable ? selectable[$tone] || selectable.default : muted[$tone] || muted.default\n\n return {\n ..._colorVarsStyle(base, tone.enabled),\n\n backgroundColor: 'var(--card-bg-color)',\n color: 'var(--card-fg-color)',\n outline: 'none',\n\n /* &:is(button) */\n '&[data-as=\"button\"]': {\n '&:disabled': {\n ..._colorVarsStyle(base, tone.disabled),\n },\n\n '&:not(:disabled)': {\n '&[aria-pressed=\"true\"]': {\n ..._colorVarsStyle(base, tone.pressed),\n },\n\n '&[data-selected], &[aria-selected=\"true\"] > &': {\n ..._colorVarsStyle(base, tone.selected),\n },\n\n '@media (hover: hover)': {\n '&:not([data-selected])': {\n '&:hover': {\n ..._colorVarsStyle(base, tone.hovered),\n },\n\n '&:active': {\n ..._colorVarsStyle(base, tone.pressed),\n },\n },\n },\n },\n },\n\n /* &:is(a) */\n '&[data-as=\"a\"]': {\n '&[data-disabled]': {\n ..._colorVarsStyle(base, tone.disabled),\n },\n\n '&:not([data-disabled])': {\n '&[data-pressed]': {\n ..._colorVarsStyle(base, tone.pressed),\n },\n\n '&[data-selected]': {\n ..._colorVarsStyle(base, tone.selected),\n },\n\n '@media (hover: hover)': {\n '&:not([data-selected])': {\n '&:hover': {\n ..._colorVarsStyle(base, tone.hovered),\n },\n\n '&:active': {\n ..._colorVarsStyle(base, tone.pressed),\n },\n },\n },\n },\n },\n\n ...theme.sanity.styles?.card?.root,\n }\n}\n","import {memo} from 'react'\nimport styled from 'styled-components'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/radius'\nimport {Box} from '../box'\nimport {selectableBaseStyle, selectableColorStyle, SelectableStyleProps} from './style'\n\n/**\n * @internal\n */\nexport const Selectable = memo(\n styled(Box)<SelectableStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n selectableBaseStyle,\n selectableColorStyle\n )\n)\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {MenuContext, MenuContextValue} from './menuContext'\n\nexport function useMenu(): MenuContextValue {\n const value = useContext(MenuContext)\n\n if (!value) {\n throw new Error('useMenu(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useMenu(): the context value is not compatible')\n }\n\n return value\n}\n","import {ChevronRightIcon} from '@sanity/icons'\nimport {createElement, isValidElement, useCallback, useEffect, useRef, useState} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp} from '../../hooks'\nimport {Box, Flex, Popover, PopoverProps, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {SelectableTone} from '../../types/selectable'\nimport {Menu} from './menu'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuGroupProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n icon?: React.ElementType | React.ReactNode\n padding?: number | number[]\n popover?: Omit<PopoverProps, 'content' | 'open'>\n radius?: number | number[]\n space?: number | number[]\n text: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport function MenuGroup(\n props: MenuGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'tabIndex'>\n): React.ReactElement {\n const {\n as = 'button',\n children,\n fontSize,\n icon,\n onClick,\n padding = 3,\n popover,\n radius = 2,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n registerElement,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLButtonElement | null>(null)\n const [open, setOpen] = useState(false)\n const shouldFocusRef = useRef<'first' | 'last' | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const [withinMenu, setWithinMenu] = useState(false)\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n setWithinMenu(false)\n onItemMouseEnter(event)\n setOpen(true)\n },\n [onItemMouseEnter]\n )\n\n const handleMenuKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.stopPropagation()\n\n setOpen(false)\n\n requestAnimationFrame(() => {\n rootElement?.focus()\n })\n }\n },\n [rootElement]\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (onClick) onClick(event)\n\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\n },\n [onClick]\n )\n\n const handleChildItemClick = useCallback(() => {\n setOpen(false)\n if (onItemClick) onItemClick()\n }, [onItemClick])\n\n const handleMenuMouseEnter = useCallback(() => setWithinMenu(true), [])\n\n // Register the menu item element\n useEffect(() => mount(rootElement), [mount, rootElement])\n\n // Close child menu when a sibling item becomes active\n useEffect(() => {\n if (!active) setOpen(false)\n }, [active])\n\n // Update state when child menu is no longer open\n useEffect(() => {\n if (!open) setWithinMenu(false)\n }, [open])\n\n const childMenu = (\n <Menu\n onClickOutside={onClickOutside}\n onEscape={onEscape}\n onItemClick={handleChildItemClick}\n onKeyDown={handleMenuKeyDown}\n onMouseEnter={handleMenuMouseEnter}\n registerElement={registerElement}\n shouldFocus={shouldFocusRef.current}\n >\n {children}\n </Menu>\n )\n\n const handleKeyDown = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n\n if (document.activeElement !== target) {\n return\n }\n\n if (event.key === 'ArrowRight') {\n shouldFocusRef.current = 'first'\n\n setOpen(true)\n setWithinMenu(true)\n\n requestAnimationFrame(() => {\n shouldFocusRef.current = null\n })\n\n return\n }\n }, [])\n\n return (\n <Popover {...popover} content={childMenu} data-ui=\"MenuGroup__popover\" open={open}>\n <Selectable\n data-as={as}\n data-ui=\"MenuGroup\"\n forwardedAs={as}\n {...restProps}\n aria-pressed={as === 'button' ? withinMenu : undefined}\n data-pressed={as !== 'button' ? withinMenu : undefined}\n data-selected={!withinMenu && active ? '' : undefined}\n $radius={useArrayProp(radius)}\n $tone={tone}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={handleMouseEnter}\n ref={setRootElement}\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n <Box padding={padding}>\n <Flex>\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n <Box flex={1} marginLeft={icon ? space : undefined}>\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {text}\n </Text>\n </Box>\n\n <Box marginLeft={space}>\n <Text size={fontSize}>\n <ChevronRightIcon />\n </Text>\n </Box>\n </Flex>\n </Box>\n </Selectable>\n </Popover>\n )\n}\n","import {\n createElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useArrayProp, useForwardedRef} from '../../hooks'\nimport {Box, Flex, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../../primitives/types'\nimport {SelectableTone} from '../../types/selectable'\nimport {Hotkeys} from '../hotkeys'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuItemProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n as?: React.ElementType | keyof JSX.IntrinsicElements\n fontSize?: number | number[]\n hotkeys?: string[]\n icon?: React.ElementType | React.ReactNode\n iconRight?: React.ElementType | React.ReactNode\n pressed?: boolean\n selected?: boolean\n space?: number | number[]\n text?: React.ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport const MenuItem = forwardRef(function MenuItem(\n props: MenuItemProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'selected' | 'tabIndex'>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>\n) {\n const {\n as = 'button',\n children,\n disabled,\n fontSize = 2,\n hotkeys,\n icon,\n iconRight,\n onClick,\n padding = 3,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pressed,\n radius = 2,\n selected: selectedProp,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onItemClick,\n onItemMouseEnter = menu.onMouseEnter,\n onItemMouseLeave = menu.onMouseLeave,\n } = menu\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n\n useEffect(() => mount(rootElement, selectedProp), [mount, rootElement, selectedProp])\n\n const ref = useForwardedRef(forwardedRef)\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n if (onClick) onClick(event)\n if (onItemClick) onItemClick()\n },\n [disabled, onClick, onItemClick]\n )\n\n const paddingProps = useMemo(\n () => ({\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingRight, paddingBottom, paddingLeft]\n )\n\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n ref.current = el\n setRootElement(el)\n },\n [ref]\n )\n\n return (\n <Selectable\n data-ui=\"MenuItem\"\n {...restProps}\n aria-pressed={as === 'button' && pressed}\n data-pressed={as !== 'button' && pressed ? '' : undefined}\n data-selected={active ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n forwardedAs={as}\n $radius={useArrayProp(radius)}\n $padding={useArrayProp(0)}\n $tone={tone}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={onItemMouseEnter}\n onMouseLeave={onItemMouseLeave}\n ref={setRef}\n role=\"menuitem\"\n tabIndex={-1}\n type={as === 'button' ? 'button' : undefined}\n >\n {(icon || text || iconRight) && (\n <Box as=\"span\" {...paddingProps}>\n <Flex as=\"span\">\n {icon && (\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n )}\n\n {text && (\n <Box\n flex={1}\n marginLeft={icon ? space : undefined}\n marginRight={iconRight ? space : undefined}\n >\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {text}\n </Text>\n </Box>\n )}\n\n {hotkeys && (\n <Box marginLeft={space} style={{marginTop: -4, marginBottom: -4}}>\n <Hotkeys fontSize={fontSize} keys={hotkeys} />\n </Box>\n )}\n\n {iconRight && (\n <Text size={fontSize}>\n {isValidElement(iconRight) && iconRight}\n {isValidElementType(iconRight) && createElement(iconRight)}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...paddingProps}>\n {children}\n </Box>\n )}\n </Selectable>\n )\n})\n","import {css, keyframes} from 'styled-components'\n\nconst keyframe = keyframes({\n '0%': {\n backgroundPosition: '100%',\n },\n '100%': {\n backgroundPosition: '-100%',\n },\n})\n\nconst animation = css`\n background-image: linear-gradient(\n to right,\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-to),\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-from)\n );\n background-position: 100%;\n background-size: 200% 100%;\n background-attachment: fixed;\n animation-name: ${keyframe};\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n animation-duration: 2000ms;\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const skeletonStyle = css<{$animated: boolean; $visible: boolean}>`\n opacity: ${({$visible}) => ($visible ? 1 : 0)};\n transition: opacity 200ms ease-in;\n\n @media screen and (prefers-reduced-motion: no-preference) {\n ${({$animated}) =>\n $animated ? animation : {backgroundColor: 'var(--card-skeleton-color-from)'}}\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n background-color: var(--card-skeleton-color-from);\n }\n`\n","import {forwardRef, memo, useEffect, useState} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {Box} from '../../primitives'\nimport {BoxProps, ResponsiveRadiusProps} from '../../primitives'\nimport {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'\nimport {skeletonStyle} from './styles'\n\nconst Root = memo(\n styled(Box)<{$animated: boolean; $visible: boolean} & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n skeletonStyle\n )\n)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface SkeletonProps extends ResponsiveRadiusProps, Omit<BoxProps, 'children'> {\n animated?: boolean\n delay?: number\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Skeleton = forwardRef(function Skeleton(\n props: SkeletonProps & React.HTMLProps<HTMLDivElement>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {animated = false, delay, radius, ...restProps} = props\n const [visible, setVisible] = useState<boolean>(delay ? false : true)\n\n useEffect(() => {\n if (!delay) {\n return setVisible(true)\n }\n\n const timeout = setTimeout(() => {\n setVisible(true)\n }, delay)\n\n return () => {\n clearTimeout(timeout)\n }\n }, [delay])\n\n return (\n <Root\n {...restProps}\n $animated={animated}\n $radius={useArrayProp(radius)}\n $visible={visible}\n ref={ref}\n />\n )\n})\n","import {forwardRef, memo} from 'react'\nimport styled from 'styled-components'\nimport {useArrayProp} from '../../hooks'\nimport {_responsive} from '../../styles'\nimport {Theme, ThemeFontKey} from '../../theme'\nimport {Skeleton, SkeletonProps} from './skeleton'\n\nconst Root = memo(\n styled(Skeleton)<{$size: number[]; $style: ThemeFontKey}>(\n ({$size, $style, theme}: {$size: number[]; $style: ThemeFontKey; theme: Theme}) => {\n const {media} = theme.sanity\n const font = theme.sanity.fonts[$style]\n\n const styles = _responsive(media, $size, (sizeIndex) => {\n const fontSize = font.sizes[sizeIndex]\n const capHeight = fontSize.lineHeight - fontSize.ascenderHeight - fontSize.descenderHeight\n\n return {height: capHeight}\n })\n\n return styles\n }\n )\n)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TextSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface LabelSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface HeadingSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface CodeSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TextSkeleton = forwardRef(function TextSkeleton(\n props: TextSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"text\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const LabelSkeleton = forwardRef(function TextSkeleton(\n props: LabelSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"label\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const HeadingSkeleton = forwardRef(function TextSkeleton(\n props: HeadingSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"heading\" />\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const CodeSkeleton = forwardRef(function TextSkeleton(\n props: CodeSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n ref: React.Ref<HTMLDivElement>\n) {\n const {size = 2, ...restProps} = props\n const $size = useArrayProp(size)\n\n return <Root {...restProps} $size={$size} ref={ref} $style=\"code\" />\n})\n","import {forwardRef, useCallback, useEffect, useRef} from 'react'\nimport {useForwardedRef} from '../../hooks'\nimport {Button} from '../../primitives'\nimport {ButtonTone} from '../../types'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the correlating `TabPanel` component.\n */\n 'aria-controls': string\n id: string\n icon?: React.ElementType | React.ReactNode\n focused?: boolean\n fontSize?: number | number[]\n label?: React.ReactNode\n padding?: number | number[]\n selected?: boolean\n tone?: ButtonTone\n}\n\n/**\n * @public\n */\nexport const Tab = forwardRef(function Tab(\n props: TabProps &\n Omit<React.HTMLProps<HTMLButtonElement>, 'aria-controls' | 'as' | 'id' | 'label' | 'type'>,\n forwardedRef: React.ForwardedRef<HTMLButtonElement>\n) {\n const {\n icon,\n id,\n focused,\n fontSize,\n label,\n onClick,\n onFocus,\n padding = 2,\n selected,\n ...restProps\n } = props\n const elementRef = useRef<HTMLButtonElement | null>(null)\n const focusedRef = useRef(false)\n\n const handleBlur = useCallback(() => {\n focusedRef.current = false\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n focusedRef.current = true\n if (onFocus) onFocus(event)\n },\n [onFocus]\n )\n\n const ref = useForwardedRef(forwardedRef)\n\n useEffect(() => {\n if (focused && !focusedRef.current) {\n if (elementRef.current) elementRef.current.focus()\n focusedRef.current = true\n }\n }, [focused])\n\n const setRef = (el: HTMLButtonElement | null) => {\n elementRef.current = el\n ref.current = el\n }\n\n return (\n <Button\n data-ui=\"Tab\"\n {...restProps}\n aria-selected={selected ? 'true' : 'false'}\n fontSize={fontSize}\n icon={icon}\n id={id}\n mode=\"bleed\"\n onClick={onClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n padding={padding}\n ref={setRef}\n role=\"tab\"\n selected={selected}\n tabIndex={selected ? 0 : -1}\n text={label}\n type=\"button\"\n />\n )\n})\n","import {cloneElement, forwardRef, useCallback, useMemo, useState} from 'react'\nimport {Inline, InlineProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineProps, 'as' | 'height'> {\n children: Array<React.ReactElement | null | undefined | false>\n}\n\nfunction _isReactElement(node: unknown): node is React.ReactElement {\n return Boolean(node)\n}\n\n/**\n * @public\n */\nexport const TabList = forwardRef(function TabList(\n props: TabListProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n ref\n) {\n const {children: childrenProp, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children = useMemo(() => childrenProp.filter(_isReactElement), [childrenProp])\n\n const tabs = children.map((child, childIndex) =>\n cloneElement(child, {\n focused: focusedIndex === childIndex,\n key: childIndex,\n onFocus: () => handleTabFocus(childIndex),\n })\n )\n\n const numTabs = tabs.length\n\n const handleTabFocus = useCallback((tabIdx: number) => {\n setFocusedIndex(tabIdx)\n }, [])\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n setFocusedIndex((prevIndex) => (prevIndex + numTabs - 1) % numTabs)\n }\n\n if (event.key === 'ArrowRight') {\n setFocusedIndex((prevIndex) => (prevIndex + 1) % numTabs)\n }\n },\n [numTabs]\n )\n\n return (\n <Inline data-ui=\"TabList\" {...restProps} onKeyDown={handleKeyDown} ref={ref} role=\"tablist\">\n {tabs}\n </Inline>\n )\n})\n","import {forwardRef} from 'react'\nimport {Box, BoxProps} from '../../primitives'\n\n/**\n * @public\n */\nexport interface TabPanelProps extends BoxProps {\n /**\n * The `id` of the correlating `Tab` component.\n */\n 'aria-labelledby': string\n id: string\n}\n\n/**\n * @public\n */\nexport const TabPanel = forwardRef(function TabPanel(\n props: TabPanelProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'aria-labelledby' | 'id' | 'role'>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const {flex, ...restProps} = props\n\n return (\n <Box\n data-ui=\"TabPanel\"\n {...restProps}\n flex={flex}\n ref={ref}\n role=\"tabpanel\"\n tabIndex={props.tabIndex === undefined ? 0 : props.tabIndex}\n >\n {props.children}\n </Box>\n )\n})\n","import {CloseIcon} from '@sanity/icons'\nimport {memo} from 'react'\nimport styled from 'styled-components'\nimport {Box, Button, Card, Flex, Stack, Text} from '../../primitives'\nimport {ThemeColorToneKey} from '../../theme'\n\n/**\n * @public\n */\nexport interface ToastProps {\n closable?: boolean\n description?: React.ReactNode\n onClose?: () => void\n title?: React.ReactNode\n status?: 'error' | 'warning' | 'success' | 'info'\n}\n\nconst STATUS_CARD_TONE: {[key: string]: ThemeColorToneKey} = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'primary',\n}\n\nconst ROLES = {\n error: 'alert',\n warning: 'alert',\n success: 'alert',\n info: 'alert',\n}\n\nconst Root = memo(\n styled(Card)({\n pointerEvents: 'all',\n })\n)\n\nconst TextBox = memo(\n styled(Flex)({\n overflowX: 'auto',\n })\n)\n\n/**\n * @public\n */\nexport function Toast(\n props: ToastProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'title'>\n): React.ReactElement {\n const {closable, description, onClose, title, status, ...restProps} = props\n const cardTone = status ? STATUS_CARD_TONE[status] : 'default'\n const role = status ? ROLES[status] : 'status'\n\n return (\n <Root\n data-ui=\"Toast\"\n role={role}\n {...restProps}\n marginTop={3}\n radius={2}\n shadow={2}\n tone={cardTone}\n >\n <Flex align=\"flex-start\">\n <TextBox flex={1} padding={3}>\n <Stack space={3}>\n {title && <Text weight=\"semibold\">{title}</Text>}\n {description && (\n <Text muted size={1}>\n {description}\n </Text>\n )}\n </Stack>\n </TextBox>\n\n {closable && (\n <Box padding={1}>\n <Button\n as=\"button\"\n icon={CloseIcon}\n mode=\"bleed\"\n padding={2}\n onClick={onClose}\n style={{verticalAlign: 'top'}}\n />\n </Box>\n )}\n </Flex>\n </Root>\n )\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {ToastContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/toast')\n\nglobalScope[key] = globalScope[key] || createContext<ToastContextValue | null>(null)\n\nexport const ToastContext: React.Context<ToastContextValue | null> = globalScope[key]\n","import {AnimatePresence, motion} from 'framer-motion'\nimport {memo, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '../../primitives'\nimport {Layer} from '../../utils'\nimport {Toast} from './toast'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue, ToastParams} from './types'\n\ninterface ToastState {\n toasts: {\n dismiss: () => void\n id: string\n params: ToastParams\n }[]\n}\n\n/**\n * @public\n */\nexport interface ToastProviderProps {\n children?: React.ReactNode\n padding?: number | number[]\n paddingX?: number | number[]\n paddingY?: number | number[]\n zOffset?: number | number[]\n}\n\nconst Root = memo(\n styled(Layer)({\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n pointerEvents: 'none',\n })\n)\n\nconst ToastContainer = memo(\n styled.div({\n boxSizing: 'border-box',\n position: 'absolute',\n right: 0,\n bottom: 0,\n maxWidth: '420px',\n width: '100%',\n })\n)\n\nlet toastId = 0\n\n/**\n * @public\n */\nexport function ToastProvider(props: ToastProviderProps): React.ReactElement {\n const {children, padding = 4, paddingX, paddingY, zOffset} = props\n const [state, setState] = useState<ToastState>({toasts: []})\n const toastsRef = useRef<{[key: string]: {timeoutId: NodeJS.Timeout}}>({})\n\n const push = useCallback((params: ToastParams) => {\n const id = params.id || String(toastId++)\n const duration = params.duration || 5000\n\n const dismiss = () => {\n const timeoutId = toastsRef.current[id]?.timeoutId\n\n setState((prevState) => {\n const idx = prevState.toasts.findIndex((t) => t.id === id)\n\n if (idx > -1) {\n const toasts = prevState.toasts.slice(0)\n\n toasts.splice(idx, 1)\n\n return {...prevState, toasts}\n }\n\n return prevState\n })\n\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId)\n delete toastsRef.current[id]\n }\n }\n\n setState((prevState) => {\n return {\n ...prevState,\n toasts: prevState.toasts\n .filter((t) => t.id !== id)\n .concat([\n {\n dismiss,\n id,\n params: {...params, duration},\n },\n ]),\n }\n })\n\n if (toastsRef.current[id]) {\n clearTimeout(toastsRef.current[id].timeoutId)\n delete toastsRef.current[id]\n }\n\n toastsRef.current[id] = {timeoutId: setTimeout(dismiss, duration)}\n\n return id\n }, [])\n\n // clear timeouts on unmount\n useEffect(\n () => () => {\n for (const {timeoutId} of Object.values(toastsRef.current)) {\n clearTimeout(timeoutId)\n }\n\n toastsRef.current = {}\n },\n []\n )\n\n const value: ToastContextValue = useMemo(() => ({version: 0.0, push}), [push])\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n\n <Root data-ui=\"ToastProvider\" zOffset={zOffset}>\n <ToastContainer>\n <Box padding={padding} paddingX={paddingX} paddingY={paddingY}>\n <AnimatePresence initial={false}>\n {state.toasts.map(({dismiss, id, params}) => (\n <motion.div\n animate={{opacity: 1, y: 0, scale: 1}}\n exit={{opacity: 0, scale: 0.5, transition: {duration: 0.2}}}\n initial={{opacity: 0, y: 32, scale: 0.25}}\n key={id}\n layout=\"position\"\n transition={{type: 'spring', damping: 30, stiffness: 400}}\n >\n <Toast\n closable={params.closable}\n description={params.description}\n onClose={dismiss}\n status={params.status}\n title={params.title}\n />\n </motion.div>\n ))}\n </AnimatePresence>\n </Box>\n </ToastContainer>\n </Root>\n </ToastContext.Provider>\n )\n}\n","import {useContext} from 'react'\nimport {isRecord} from '../../lib/isRecord'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue} from './types'\n\n/**\n * @public\n */\nexport function useToast(): ToastContextValue {\n const value = useContext(ToastContext)\n\n if (!value) {\n throw new Error('useToast(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useToast(): the context value is not compatible')\n }\n\n return value\n}\n","import {TreeState} from './types'\n\nexport function _findPrevItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(0, idx)\n const len = els.length\n\n for (let i = len - 1; i >= 0; i -= 1) {\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _findNextItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(idx)\n const len = itemElements.length\n\n for (let i = 1; i < len; i += 1) {\n if (!els[i]) {\n continue\n }\n\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _focusItemElement(el: HTMLElement): void {\n if (el.getAttribute('role') === 'treeitem') {\n el.focus()\n }\n\n if (el.getAttribute('role') === 'none') {\n const firstChild = el.firstChild\n\n if (firstChild && firstChild instanceof HTMLElement) {\n firstChild.focus()\n }\n }\n}\n","import {createContext} from 'react'\nimport {globalScope} from '../../lib/globalScope'\nimport {TreeContextValue} from './types'\n\nconst key = Symbol.for('@sanity/ui/context/tree')\n\nglobalScope[key] = globalScope[key] || createContext<TreeContextValue | null>(null)\n\n/**\n * @internal\n */\nexport const TreeContext: React.Context<TreeContextValue | null> = globalScope[key]\n","import {forwardRef, memo, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {useForwardedRef} from '../../hooks'\nimport {Stack} from '../../primitives'\nimport {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue, TreeState} from './types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TreeProps {\n space?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Tree = memo(\n forwardRef(function Tree(\n props: TreeProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'align' | 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n ref: React.ForwardedRef<HTMLDivElement>\n ): React.ReactElement {\n const {children, space = 1, ...restProps} = props\n const forwardedRef = useForwardedRef(ref)\n const [focusedElement, setFocusedElement] = useState<HTMLElement | null>(null)\n const focusedElementRef = useRef(focusedElement)\n const path: string[] = useMemo(() => [], [])\n const [itemElements, setItemElements] = useState<HTMLElement[]>([])\n const [state, setState] = useState<TreeState>({})\n const stateRef = useRef(state)\n\n useEffect(() => {\n focusedElementRef.current = focusedElement\n }, [focusedElement])\n\n useEffect(() => {\n stateRef.current = state\n }, [state])\n\n const registerItem = useCallback(\n (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => {\n setState((s) => ({...s, [path]: {element, expanded}}))\n\n if (selected) {\n setFocusedElement(element)\n }\n\n return () => {\n setState((s) => {\n const newState = {...s}\n\n delete newState[path]\n\n return newState\n })\n }\n },\n []\n )\n\n const setExpanded = useCallback((path: string, expanded: boolean) => {\n setState((s) => {\n const itemState = s[path]\n\n if (!itemState) return s\n\n return {...s, [path]: {...itemState, expanded}}\n })\n }, [])\n\n const contextValue: TreeContextValue = useMemo(\n () => ({\n version: 0.0,\n focusedElement: focusedElement || itemElements[0] || null,\n level: 0,\n path,\n registerItem,\n setExpanded,\n setFocusedElement,\n space,\n state,\n }),\n [focusedElement, itemElements, path, registerItem, setExpanded, space, state]\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!focusedElementRef.current) return\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n const nextEl = _findNextItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current\n )\n\n if (nextEl) {\n _focusItemElement(nextEl)\n setFocusedElement(nextEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n const prevEl = _findPrevItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current\n )\n\n if (prevEl) {\n _focusItemElement(prevEl)\n setFocusedElement(prevEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n\n const itemKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!itemKey) return\n\n const itemState = stateRef.current[itemKey]\n\n if (!itemState) return\n\n if (itemState.expanded) {\n setState((s) => {\n const itemState = s[itemKey]\n\n if (!itemState) return s\n\n return {...s, [itemKey]: {...itemState, expanded: false}}\n })\n } else {\n const itemPath = itemKey.split('/')\n\n itemPath.pop()\n\n const parentKey = itemPath.join('/')\n const parentState = parentKey && stateRef.current[parentKey]\n\n if (parentState) {\n parentState.element.focus()\n setFocusedElement(parentState.element)\n }\n }\n\n return\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault()\n\n const focusedKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!focusedKey) return\n\n if (!stateRef.current[focusedKey]?.expanded) {\n setState((s) => {\n const itemState = s[focusedKey]\n\n if (!itemState) return s\n\n return {...s, [focusedKey]: {...itemState, expanded: true}}\n })\n }\n\n return\n }\n },\n [itemElements]\n )\n\n useEffect(() => {\n if (!forwardedRef.current) return\n const _itemElements = Array.from(\n forwardedRef.current.querySelectorAll('[data-ui=\"TreeItem\"]')\n ) as HTMLElement[]\n\n setItemElements(_itemElements)\n }, [children, forwardedRef])\n\n return (\n <TreeContext.Provider value={contextValue}>\n <Stack\n as=\"ul\"\n data-ui=\"Tree\"\n {...restProps}\n onKeyDown={handleKeyDown}\n ref={forwardedRef}\n role=\"tree\"\n space={space}\n >\n {children}\n </Stack>\n </TreeContext.Provider>\n )\n })\n)\n\nTree.displayName = 'Tree'\n","import {CSSObject} from 'styled-components'\nimport {rem, ThemeProps} from '../../styles'\nimport {_colorVarsStyle} from '../../styles/colorVars'\n\nexport function treeItemRootStyle(): CSSObject {\n return {\n '&[role=\"none\"] > [role=\"treeitem\"]': {\n outline: 'none',\n cursor: 'default',\n borderRadius: '3px',\n\n '&:focus': {\n position: 'relative',\n },\n },\n\n '&[role=\"treeitem\"]': {\n outline: 'none',\n\n '& > div': {\n cursor: 'default',\n borderRadius: '3px',\n },\n\n '&:focus > div': {\n position: 'relative',\n },\n },\n }\n}\n\nexport function treeItemRootColorStyle(props: ThemeProps): CSSObject {\n const {theme} = props\n const $tone = 'default'\n const {base, muted, selectable} = theme.sanity.color\n // @todo: remove use of `muted` here\n const tone = selectable ? selectable[$tone] || selectable.default : muted[$tone] || muted.default\n\n return {\n /* <div role=\"none\"><a data-ui=\"TreeItem__box\" role=\"treeitem\" tabIndex=\"0\"></div> */\n '&[role=\"none\"]': {\n '& > [role=\"treeitem\"]': {\n ..._colorVarsStyle(base, tone.enabled),\n\n backgroundColor: 'var(--card-bg-color)',\n color: 'var(--treeitem-fg-color)',\n },\n\n '&[data-selected] > [role=\"treeitem\"]': {\n ..._colorVarsStyle(base, tone.pressed),\n },\n\n '@media (hover: hover)': {\n '&:not([data-selected]) > [role=\"treeitem\"]:not(:focus):hover': {\n ..._colorVarsStyle(base, tone.hovered),\n },\n\n '& > [role=\"treeitem\"]:focus': {\n ..._colorVarsStyle(base, tone.selected),\n },\n },\n },\n\n /* <div role=\"treeitem\" tabIndex=\"0\"><div data-ui=\"TreeItem__box\"></div> */\n '&[role=\"treeitem\"]': {\n '& > [data-ui=\"TreeItem__box\"]': {\n ..._colorVarsStyle(base, tone.enabled),\n\n backgroundColor: 'var(--card-bg-color)',\n color: 'var(--card-fg-color)',\n },\n\n '&[data-selected] > [data-ui=\"TreeItem__box\"]': {\n ..._colorVarsStyle(base, tone.pressed),\n },\n\n '@media (hover: hover)': {\n '&:not([data-selected]):not(:focus) > [data-ui=\"TreeItem__box\"]:hover': {\n ..._colorVarsStyle(base, tone.hovered),\n },\n\n '&:focus > [data-ui=\"TreeItem__box\"]': {\n ..._colorVarsStyle(base, tone.selected),\n },\n },\n },\n }\n}\n\nexport interface TreeItemBoxStyleProps {\n $level: number\n}\n\nexport function treeItemBoxStyle(props: TreeItemBoxStyleProps & ThemeProps): CSSObject {\n const {$level, theme} = props\n const {space} = theme.sanity\n\n return {\n paddingLeft: rem(space[2] * $level),\n\n '&[data-as=\"a\"]': {\n textDecoration: 'none',\n },\n }\n}\n","import {useContext} from 'react'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTree(): TreeContextValue {\n const tree = useContext(TreeContext)\n\n if (!tree) {\n throw new Error('Tree: missing context value')\n }\n\n return tree\n}\n","import {memo} from 'react'\nimport {Stack} from '../../primitives'\nimport {useTree} from './useTree'\n\nexport interface TreeGroupProps {\n expanded?: boolean\n}\n\nexport const TreeGroup = memo(function TreeGroup(\n props: TreeGroupProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'role' | 'wrap'>\n): React.ReactElement {\n const {children, expanded = false, ...restProps} = props\n const tree = useTree()\n\n return (\n <Stack\n as=\"ul\"\n data-ui=\"TreeGroup\"\n {...restProps}\n hidden={!expanded}\n marginTop={tree.space}\n role=\"group\"\n space={tree.space}\n >\n {children}\n </Stack>\n )\n})\n","import {ToggleArrowRightIcon} from '@sanity/icons'\nimport {createElement, memo, useCallback, useEffect, useId, useMemo, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box, Flex, Text} from '../../primitives'\nimport {compose} from '../../styles'\nimport {ThemeFontWeightKey} from '../../theme'\nimport {\n treeItemRootStyle,\n treeItemRootColorStyle,\n treeItemBoxStyle,\n TreeItemBoxStyleProps,\n} from './style'\nimport {TreeContext} from './treeContext'\nimport {TreeGroup} from './treeGroup'\nimport {useTree} from './useTree'\n\n/**\n * @beta\n */\nexport interface TreeItemProps {\n expanded?: boolean\n fontSize?: number | number[]\n icon?: React.ElementType\n padding?: number | number[]\n space?: number | number[]\n text?: React.ReactNode\n weight?: ThemeFontWeightKey\n}\n\nconst Root = memo(compose('li', [treeItemRootStyle, treeItemRootColorStyle]))\n\nconst TreeItemBox = memo(\n styled(Box)['attrs']({forwardedAs: 'a'})<TreeItemBoxStyleProps>(treeItemBoxStyle)\n)\n\nconst ToggleArrowText = memo(\n styled(Text)({\n '& > svg': {\n transition: 'transform 100ms',\n },\n })\n)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TreeItem = memo(function TreeItem(\n props: TreeItemProps & Omit<React.HTMLProps<HTMLLIElement>, 'as' | 'ref' | 'role'>\n): React.ReactElement {\n const {\n children,\n expanded: expandedProp = false,\n fontSize,\n href,\n icon,\n id: idProp,\n muted,\n onClick,\n padding = 3,\n selected = false,\n space = 2,\n text,\n weight,\n ...restProps\n } = props\n const rootRef = useRef<HTMLLIElement | null>(null)\n const treeitemRef = useRef<HTMLDivElement | null>(null)\n const tree = useTree()\n const {path, registerItem, setExpanded, setFocusedElement} = tree\n const _id = useId()\n const id = idProp || _id\n const itemPath = useMemo(() => path.concat([id || '']), [id, path])\n const itemKey = itemPath.join('/')\n const itemState = tree.state[itemKey]\n const focused = tree.focusedElement === rootRef.current\n const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false\n const tabIndex = tree.focusedElement && tree.focusedElement === rootRef.current ? 0 : -1\n const contextValue = useMemo(\n () => ({...tree, level: tree.level + 1, path: itemPath}),\n [itemPath, tree]\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLLIElement>) => {\n if (onClick) onClick(event)\n\n const target = event.target\n\n if (\n target instanceof HTMLElement &&\n (target.getAttribute('data-ui') === 'TreeItem__box' ||\n target.closest('[data-ui=\"TreeItem__box\"]'))\n ) {\n event.stopPropagation()\n setExpanded(itemKey, !expanded)\n setFocusedElement(rootRef.current)\n }\n },\n [expanded, itemKey, onClick, setExpanded, setFocusedElement]\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (focused && event.key === 'Enter') {\n const el = treeitemRef.current || rootRef.current\n\n el?.click()\n }\n },\n [focused]\n )\n\n useEffect(() => {\n if (!rootRef.current) return\n\n return registerItem(rootRef.current, itemPath.join('/'), expanded, selected)\n }, [expanded, itemPath, registerItem, selected])\n\n const content = (\n <Flex padding={padding}>\n <Box\n marginRight={space}\n style={{visibility: icon || children ? 'visible' : 'hidden', pointerEvents: 'none'}}\n >\n {icon && (\n <Text muted={muted} size={fontSize} weight={weight}>\n {createElement(icon)}\n </Text>\n )}\n {!icon && (\n <ToggleArrowText muted={muted} size={fontSize} weight={weight}>\n <ToggleArrowRightIcon style={{transform: expanded ? 'rotate(90deg)' : undefined}} />\n </ToggleArrowText>\n )}\n </Box>\n <Box flex={1}>\n <Text muted={muted} size={fontSize} textOverflow=\"ellipsis\" weight={weight}>\n {text}\n </Text>\n </Box>\n </Flex>\n )\n\n if (href) {\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-tree-id={id}\n data-tree-key={itemKey}\n data-ui=\"TreeItem\"\n {...restProps}\n onClick={handleClick}\n ref={rootRef}\n role=\"none\"\n >\n <TreeItemBox\n $level={tree.level}\n aria-expanded={expanded}\n data-ui=\"TreeItem__box\"\n href={href}\n ref={treeitemRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup hidden={!expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n }\n\n return (\n <Root\n data-selected={selected ? '' : undefined}\n data-ui=\"TreeItem\"\n data-tree-id={id}\n data-tree-key={itemKey}\n {...restProps}\n aria-expanded={expanded}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={rootRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n <TreeItemBox $level={tree.level} as=\"div\" data-ui=\"TreeItem__box\">\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup expanded={expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Root>\n )\n})\n"],"names":["EMPTY_CSS","compose","type","styles","length","styled","comp","style","EMPTY_ARRAY","EMPTY_RECORD","FLOATING_STATIC_SIDES","top","right","bottom","left","_fillCSSObject","keys","value","reduce","key","rem","pixelValue","_responsive","media","values","callback","statements","map","statement","mediaIndex","_getArrayProp","val","defaultVal","Array","isArray","_getResponsiveSpace","theme","props","spaceIndexes","Error","sanity","spaceIndex","space","responsiveFont","fontKey","$size","$weight","fonts","family","sizes","weights","fontWeight","regular","defaultSize","base","position","fontFamily","padding","margin","content","display","height","warned","console","warn","resp","sizeIndex","fontSize","size","ascenderHeight","descenderHeight","iconSize","letterSpacing","lineHeight","negHeight","capHeight","iconOffset","customIconSize","Math","floor","customIconOffset","transform","marginTop","marginBottom","responsiveCodeFontStyle","responsiveHeadingFont","responsiveLabelFont","responsiveTextAlignStyle","$align","textAlign","responsiveTextFont","useArrayProp","__perf_hash__","JSON","stringify","useMemo","_getElements","element","elementsArg","ret","el","push","filter","Boolean","useClickOutside","listener","boundaryElement","setElement","useState","elements","setElements","elementsRef","useRef","useEffect","prevElements","current","nextElements","includes","handleWindowMouseDown","evt","target","Node","contains","window","addEventListener","removeEventListener","resizeObservers","hasActiveObservations","some","ro","activeTargets","hasSkippedObservations","skippedTargets","msg","deliverResizeLoopError","event","ErrorEvent","message","document","createEvent","initEvent","dispatchEvent","ResizeObserverBoxOptions","freeze","obj","Object","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","x","y","width","prototype","toJSON","_a","fromRect","rectangle","isSVG","SVGElement","isHidden","getBBox","_b","offsetWidth","offsetHeight","getClientRects","isElement","Element","scope","ownerDocument","defaultView","isReplacedElement","tagName","global","cache","WeakMap","scrollRegexp","verticalRegexp","IE","test","navigator","userAgent","parseDimension","pixel","parseFloat","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","has","get","set","cs","getComputedStyle","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","borderLeft","borderLeftWidth","horizontalPadding","verticalPadding","horizontalBorderArea","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","round","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","node","Infinity","depth","parent","parentNode","broadcastActiveObservations","shallowestDepth","callbacks","forEach","processObserver","entries","processTarget","ot","entry","targetDepth","lastReportedSize","resizeObserverCallback","call","observer","splice","_i","callbacks_1","gatherActiveObservationsAtDepth","observationTargets","isActive","process","trigger","notify","cb","queueMicroTask","toggle_1","el_1","createTextNode","config","characterData","MutationObserver","observe","textContent","concat","queueResizeObserver","ResizeObserver","requestAnimationFrame","watching","isWatching","CATCH_PERIOD","observerConfig","attributes","childList","subtree","events","time","timeout","Date","now","scheduled","Scheduler","_this","stopped","schedule","run","until","elementsHaveResized","start","stop","body","name","disconnect","scheduler","updateCount","n","skipNotifyOnElement","ResizeObservation","CONTENT_BOX","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","i","ResizeObserverController","connect","detail","options","firstObservation","box","unobserve","index","lastObservation","indexOf","slice","arguments","TypeError","toString","_ResizeObserver","ResizeObserverPolyfill","_elementSizeObserver","_createElementSizeObserver","_createElementRectValueListener","subscribe","subscriber","_contentRect","border","disposeCache","subscribersCache","subscribers","dispose","elementRect","sub","idx","useElementSize","setSize","useElementRect","elementSize","useGlobalKeyDown","onKeyDown","multiplyChannel","b","s","multiply","r","clamp","g","num","max","min","screenChannel","screen","hexToRgb","hex","hexR","hexG","hexB","parseInt","rgbToHex","rgbToHsl","cmin","cmax","delta","h","l","abs","toFixed","hslToRgb","hsl","c","m","HEX_CHARS","HSL_RE","isHexChars","str","isHex","parseHsl","res","exec","parseColor","color","startsWith","rgba","a","rgb","createButtonTones","opts","dark","solid","muted","mode","default","button","primary","positive","caution","critical","createButtonModes","ghost","bleed","createCardStates","enabled","card","state","disabled","hovered","pressed","selected","black","white","colors","lightest","lighter","light","darker","darkest","transparent","spots","gray","red","orange","yellow","green","cyan","blue","purple","magenta","tones","bg","fg","focusRing","defaultOpts","shadow","outline","umbra","penumbra","ambient","skeleton","from","to","tone","bg2","accent","link","code","input","placeholder","selectable","spot","syntax","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","doctype","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","createInputModes","readOnly","invalid","createMutedTones","createSelectableTones","_createSelectableStates","createSolidTones","createSpot","createColorTheme","partialOpts","builders","_createColorScheme","_createColor","_multiply","_screen","hues","NEUTRAL_TONES","tints","skeletonFrom","mix","mix2","defaultTints","isNeutral","mainShade","secondaryShade","medium","semibold","bold","heading","label","text","studioTheme","avatar","distance","textWeight","container","offset","radius","shadows","checkbox","radio","markSize","switch","transitionDurationMs","transitionTimingFunction","DEFAULT_THEME_LAYER","dialog","zOffset","popover","tooltip","getGlobalScope","globalThis","self","globalScope","Symbol","for","createContext","ThemeContext","ThemeProvider","parentTheme","useContext","children","scheme","themeProp","rootColor","layer","rootLayer","restTheme","colorScheme","version","jsx","Provider","StyledThemeProvider","isRecord","useRootTheme","ThemeColorProvider","root","useTheme","useStyledTheme","MEDIA_MANAGER_CACHE","_getMediaQuery","_createMediaManager","mediaLen","mediaQuery","mq","matchMedia","getCurrentIndex","matches","disposeFns","handleChange","addListener","removeListener","disposeFn","_getMediaManager","manager","useMediaIndex","setIndex","usePrefersDark","setDark","useIsomorphicEffect","useLayoutEffect","useForwardedRef","ref","innerRef","useCustomValidity","customValidity","setCustomValidity","BORDER_VALUE","responsiveBorderStyle","$border","responsiveBorderTopStyle","$borderTop","responsiveBorderRightStyle","$borderRight","responsiveBorderBottomStyle","$borderBottom","responsiveBorderLeftStyle","$borderLeft","BASE_STYLE","listStyle","BOX_SIZING","BOX_HEIGHT","stretch","fill","boxStyle","responsiveBoxDisplayStyle","$display","responsiveBoxSizingStyle","$sizing","sizing","responsiveBoxHeightStyle","$height","responsiveBoxOverflowStyle","$overflow","overflow","__tmp_flexStyle","responsiveFlexAlignStyle","align","alignItems","responsiveFlexGapStyle","$gap","gap","responsiveFlexWrapStyle","$wrap","wrap","flexWrap","responsiveFlexJustifyStyle","$justify","justify","justifyContent","responsiveFlexDirectionStyle","$direction","direction","flexDirection","__tmp_flexItemStyle","minWidth","minHeight","responsiveFlexItemStyle","$flex","flex","focusRingBorderStyle","focusRingStyle","focusRingOutsetWidth","focusRingInsetWidth","bgColor","join","__tmp_gridStyle","GRID_AUTO_COLUMS","auto","fr","GRID_AUTO_ROWS","responsiveGridAutoFlowStyle","$autoFlow","autoFlow","gridAutoFlow","responsiveGridAutoRowsStyle","$autoRows","autoRows","gridAutoRows","responsiveGridAutoColsStyle","$autoCols","autoCols","gridAutoColumns","responsiveGridColumnsStyle","$columns","columns","gridTemplateColumns","responsiveGridRowsStyle","$rows","rows","gridTemplateRows","responsiveGridGapStyle","gridGap","responsiveGridGapXStyle","$gapX","gapX","columnGap","responsiveGridGapYStyle","$gapY","gapY","rowGap","GRID_ITEM_ROW","full","GRID_ITEM_COLUMN","responsiveGridItemRowStyle","$row","row","gridRow","responsiveGridItemRowStartStyle","$rowStart","rowStart","gridRowStart","responsiveGridItemRowEndStyle","$rowEnd","rowEnd","gridRowEnd","responsiveGridItemColumnStyle","$column","column","gridColumn","responsiveGridItemColumnStartStyle","$columnStart","columnStart","gridColumnStart","responsiveGridItemColumnEndStyle","$columnEnd","columnEnd","gridColumnEnd","responsiveInputPaddingStyle","$fontSize","$iconLeft","$iconRight","$padding","$space","spaceScale","len","_padding","_space","_fontSize","_","emSize","p","responsiveInputPaddingIconRightStyle","ROOT_STYLE","textInputRootStyle","textInputBaseStyle","$scheme","$tone","font","appearance","background","borderRadius","zIndex","WebkitTextFillColor","transition","transitionDelay","resize","textInputFontSizeStyle","textInputRepresentationStyle","$hasPrefix","$hasSuffix","pointerEvents","backgroundColor","boxShadow","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","responsiveMarginStyle","$margin","$marginX","$marginY","$marginTop","$marginRight","$marginBottom","$marginLeft","responsivePaddingStyle","$paddingX","$paddingY","$paddingTop","$paddingRight","$paddingBottom","$paddingLeft","responsiveRadiusStyle","$radius","radiusIndex","toBoxShadow","shadowStyle","responsiveShadowStyle","$shadow","textBaseStyle","$accent","$muted","textDecoration","verticalAlign","Root","memo","SpanWithTextOverflow","span","whiteSpace","textOverflow","Text","forwardRef","childrenProp","weight","restProps","avatarStyle","avatarRootStyle","arrow","avatarArrowStyle","bgStroke","avatarBgStrokeStyle","stroke","avatarStrokeStyle","initials","avatarInitialsStyle","opacity","$color","userSelect","WebkitFontSmoothing","responsiveAvatarSizeStyle","avatarSize","textTransform","strokeWidth","strokeSasharray","strokeLinecap","Arrow","BgStroke","Stroke","Initials","Avatar","as","asProp","colorKey","src","title","onImageLoadError","arrowPosition","arrowPositionProp","animateArrowFrom","status","sizeProp","ReactIs","isValidElementType","_sizeRem","_radius","elementId","useId","setArrowPosition","imageFailed","setImageFailed","imageId","raf","cancelAnimationFrame","handleImageError","useCallback","initialsSize","jsxs","viewBox","d","patternContentUnits","href","onError","cx","cy","rx","ry","vectorEffect","Fragment","_responsiveAvatarCounterSizeStyle","_avatarCounterBaseStyle","AvatarCounter","count","counterSize","childrenToElementArray","childrenArray","isFragment","BASE_STYLES","responsiveAvatarStackSizeStyle","marginLeft","AvatarStack","maxLength","maxLengthProp","child","visibleCount","extraCount","visibleChildren","childIndex","cloneElement","String","Box","marginX","marginY","marginRight","paddingX","paddingY","labelBaseStyle","Label","badgeStyle","$mode","palette","cursor","Badge","Flex","forwardedAs","rotate","keyframes","RawRoot","Spinner","SpinnerIcon","_colorVarsStyle","checkered","_c","_d","_e","_f","_g","_h","buttonBaseStyles","buttonTheme","buttonColorStyles","LoadingBox","Button","icon","iconRight","justifyProp","loading","paddingProp","paddingXProp","paddingYProp","paddingTopProp","paddingBottomProp","paddingLeftProp","paddingRightProp","radiusProp","spaceProp","boxProps","isValidElement","createElement","cardBaseStyle","$checkered","backgroundSize","backgroundPosition","backgroundImage","cardColorStyle","$focusRing","Card","__unstable_checkered","__unstable_focusRing","toneProp","rootTheme","checkboxBaseStyles","inputElementStyles","Input","Checkbox","forwardedRef","checked","indeterminate","CheckmarkIcon","RemoveIcon","codeSyntaxHighlightingStyle","codeBaseStyle","Code","language","languageProp","registered","Refractor","hasLanguage","inline","containerBaseStyle","responsiveContainerWidthStyle","$width","maxWidth","Container","Grid","headingBaseStyle","Heading","inlineBaseStyle","inlineSpaceStyle","Inline","kbdStyle","KBD","BoundaryElementContext","BoundaryElementProvider","DEFAULT_VALUE","useBoundaryElement","findMaxBreakpoints","bp","findMinBreakpoints","ElementQuery","innerWidth","setRef","ErrorBoundary","Component","constructor","error","getDerivedStateFromError","componentDidCatch","info","onCatch","render","LayerContext","useLayer","LayerProvider","zOffsetProp","maxMediaIndex","registerChild","v","parentRegisterChild","isTopLayer","div","LayerChildren","Layer","elementKey","defaultContextValue","setAttribute","appendChild","PortalContext","usePortal","Portal","__unstable_name","portal","portalElement","createPortal","useUnique","valueRef","_isEqual","objA","objB","keysA","keysB","every","__BROWSER__","PortalProvider","__unstable_elements","elementsProp","SrOnly","_raf","fn","frameId","_raf2","innerDispose","outerDispose","_isEnterToClickElement","isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","nodeType","ELEMENT_NODE","nodeName","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","_hasFocus","activeElement","isFocusable","tabIndex","getAttribute","rel","attemptFocus","focus","focusFirstDescendant","childNodes","focusLastDescendant","_isScrollable","ItemWrapper","VirtualList","getItemKey","items","onChange","renderItem","wrapperRef","scrollTop","setScrollTop","scrollHeight","setScrollHeight","itemHeight","setItemHeight","firstElement","firstChild","HTMLElement","_scrollEl","scrollEl","handleScroll","passive","scrollY","handleResize","innerHeight","fromIndex","toIndex","ceil","item","_itemIndex","itemIndex","wrapperStyle","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_PADDING","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_MARGINS","args","placement","rects","floating","reference","detectOverflow","altBoundary","boundary","elementContext","rootBoundary","maxHeight","constrainSize","setAvailableWidth","setAvailableHeight","matchReferenceWidth","setReferenceWidth","reset","transformOrigin","BorderPath","path","ShapePath","PopoverArrow","xmlns","popoverCardStyle","$boundaryWidth","PopoverCard","__unstable_margins","marginsProp","arrowRef","arrowX","arrowY","availableHeight","availableWidth","boundaryWidth","referenceWidth","referenceWidthProp","strategy","xProp","yProp","margins","rootStyle","staticSide","split","arrowStyle","displayName","Popover","boundaryElementContext","arrowProp","childProp","fallbackPlacements","matchReferenceWidthProp","open","placementProp","preventOverflow","referenceElement","shadowProp","widthProp","boundarySize","middleware","flip","mainAxis","shift","hide","middlewareData","useFloating","whileElementsMounted","autoUpdate","referenceHidden","setArrow","arrowEl","setFloating","setReference","childRef","hidden","radioBaseStyle","inputElementStyle","dist","Radio","inputBaseStyle","inputColorStyle","textSize","inputTextSizeStyle","inputStyle","iconBoxStyle","selectStyle","iconBox","select","IconBox","Select","SelectIcon","stackBaseStyle","responsiveStackSpaceStyle","Stack","switchBaseStyles","switchInputStyles","switchRepresentationStyles","switchTrackStyles","switchThumbStyles","$indeterminate","trackWidth","trackHeight","trackPadding","checkedOffset","indeterminateOffset","$checked","transitionProperty","transitionDuration","Representation","Track","Thumb","Switch","InputRoot","Presentation","TextArea","CLEAR_BUTTON_BOX_STYLE","Prefix","Suffix","LeftBox","RightBox","RightCard","TextInput","clearButton","fontSizeProp","onClear","prefix","suffix","$hasClearButton","$hasIcon","$hasIconRight","handleClearMouseDown","preventDefault","stopPropagation","handleClearClick","prefixNode","presentationNode","clearButtonBoxPadding","clearButtonPadding","clearButtonProps","clearButtonNode","CloseIcon","onClick","onMouseDown","suffixNode","Border","Shape","TooltipArrow","Tooltip","fallbackPlacementsProp","setReferenceElement","update","isOpen","setIsOpen","handleBlur","handleFocus","handleMouseEnter","handleMouseLeave","handleWindowMouseMove","isHoveringReference","onBlur","onFocus","onMouseEnter","onMouseLeave","ListBox","AnimatedSpinnerIcon","AutocompleteOption","onSelect","handleClick","setTimeout","handleKeyDown","currentTarget","role","autocompleteReducer","activeValue","focused","query","listFocused","AUTOCOMPLETE_LISTBOX_IGNORE_KEYS","AUTOCOMPLETE_POPOVER_MARGINS","AUTOCOMPLETE_POPOVER_PLACEMENT","AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS","DEFAULT_RENDER_VALUE","option","DEFAULT_FILTER_OPTION","toLowerCase","InnerAutocomplete","filterOption","filterOptionProp","listBox","onQueryChange","openButton","optionsProp","relatedElements","renderOption","renderOptionProp","renderPopover","renderValue","valueProp","dispatch","useReducer","defaultRenderOption","rootElementRef","resultsPopoverElementRef","inputElementRef","listBoxElementRef","listFocusedRef","valuePropRef","popoverMouseWithinRef","listBoxId","currentOption","find","o","filteredOptions","filteredOptionsLen","activeItemId","expanded","handleRootBlur","focusInside","e","handleRootFocus","listBoxElement","focusedElement","handleOptionSelect","handleRootKeyDown","activeOption","activeIndex","nextActiveOption","listEl","handleInputChange","nextQuery","handleInputFocus","handlePopoverMouseEnter","handlePopoverMouseLeave","handleClearButtonClick","handleClearButtonFocus","listElement","activeItemElement","openButtonBoxPadding","openButtonPadding","openButtonProps","handleOpenClick","openButtonNode","ChevronDownIcon","inputValue","autoCapitalize","autoComplete","autoCorrect","inputMode","spellCheck","handleListBoxKeyDown","active","results","inputElement","Autocomplete","ol","ExpandButton","Breadcrumbs","separator","spaceRaw","setOpen","expandElement","setExpandElement","popoverElement","setPopoverElement","collapse","expand","rawItems","Children","toArray","beforeLength","afterLength","dialogStyle","responsiveDialogPositionStyle","$position","DialogContext","useDialog","DialogContainer","DialogCardRoot","DialogLayout","DialogHeader","DialogContent","DialogFooter","DialogCard","__unstable_autoFocus","autoFocus","__unstable_hideCloseButton","hideCloseButton","contentRef","footer","header","onClickOutside","onClose","rootElement","setRootElement","localContentRef","labelId","showCloseButton","showHeader","setContentRef","Dialog","cardRadius","cardRadiusProp","cardShadow","positionProp","preDivRef","postDivRef","cardRef","cardElement","DialogProvider","contextValue","kbd","Key","Hotkeys","MenuContext","_isFocusable","_getFocusableElements","_getDOMPath","parentElement","unshift","EMPTY_PATH","_sortElements","_sort","aIndex","bIndex","sort","useMenuController","originElement","shouldFocus","_setActiveIndex","activeIndexRef","mounted","setActiveIndex","nextActiveIndex","mount","selectedIndex","focusableElements","currentIndex","focusableLen","focusedIndex","handleItemMouseEnter","handleItemMouseLeave","rafId","_activeIndex","Menu","focusFirst","focusLast","onEscape","onItemClick","onItemSelect","registerElement","handleRefChange","onItemMouseEnter","onItemMouseLeave","MenuButton","__unstable_disableRestoreFocusOnClose","disableRestoreFocusOnClose","deprecated_boundaryElement","buttonProp","menu","menuProp","deprecated_placement","popoverScheme","deprecated_popoverScheme","deprecated_portal","popoverRadius","deprecated_popoverRadius","deprecated_preventOverflow","setShouldFocus","buttonElement","setButtonElement","menuElements","setChildMenuElements","openRef","handleButtonClick","handleButtonKeyDown","handleMenuClickOutside","handleMenuEscape","relatedTarget","handleItemClick","els","_el","menuProps","onBlurCapture","setButtonRef","popoverProps","MenuDivider","hr","selectableBaseStyle","selectableColorStyle","Selectable","useMenu","MenuGroup","shouldFocusRef","withinMenu","setWithinMenu","handleMenuKeyDown","handleChildItemClick","handleMenuMouseEnter","childMenu","ChevronRightIcon","MenuItem","hotkeys","selectedProp","paddingProps","keyframe","animation","css","skeletonStyle","$visible","$animated","Skeleton","animated","delay","visible","setVisible","clearTimeout","$style","TextSkeleton","LabelSkeleton","HeadingSkeleton","CodeSkeleton","Tab","elementRef","focusedRef","_isReactElement","TabList","setFocusedIndex","tabs","handleTabFocus","numTabs","tabIdx","prevIndex","TabPanel","STATUS_CARD_TONE","warning","success","ROLES","TextBox","Toast","closable","description","cardTone","ToastContext","ToastContainer","toastId","ToastProvider","setState","toasts","toastsRef","params","duration","dismiss","timeoutId","prevState","findIndex","t","AnimatePresence","initial","motion","animate","scale","exit","layout","damping","stiffness","useToast","_findPrevItemElement","itemElements","itemKey","segments","pop","j","k","_findNextItemElement","_focusItemElement","TreeContext","Tree","setFocusedElement","focusedElementRef","setItemElements","stateRef","registerItem","newState","setExpanded","itemState","level","nextEl","prevEl","itemPath","parentKey","parentState","focusedKey","_itemElements","querySelectorAll","treeItemRootStyle","treeItemRootColorStyle","treeItemBoxStyle","$level","useTree","tree","TreeGroup","TreeItemBox","ToggleArrowText","TreeItem","expandedProp","idProp","rootRef","treeitemRef","_id","closest","click","visibility","ToggleArrowRightIcon"],"mappings":"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"}