@sanity/ui 3.0.0-static.20 → 3.0.0-static.21
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.
- package/README.md +2 -1
- package/dist/_chunks-cjs/_visual-editing.cjs +198 -862
- package/dist/_chunks-cjs/_visual-editing.cjs.map +1 -1
- package/dist/_chunks-cjs/refractor.cjs +0 -1
- package/dist/_chunks-cjs/refractor.cjs.map +1 -1
- package/dist/_chunks-es/_visual-editing.js +211 -874
- package/dist/_chunks-es/_visual-editing.js.map +1 -1
- package/dist/_chunks-es/refractor.js +0 -1
- package/dist/_chunks-es/refractor.js.map +1 -1
- package/dist/_visual-editing.d.cts +34 -100
- package/dist/_visual-editing.d.ts +34 -100
- package/dist/css.cjs +368 -4123
- package/dist/css.cjs.map +1 -1
- package/dist/css.d.cts +13095 -8462
- package/dist/css.d.ts +13095 -8462
- package/dist/css.js +368 -4124
- package/dist/css.js.map +1 -1
- package/dist/index.cjs +769 -141
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +93 -287
- package/dist/index.d.ts +93 -287
- package/dist/index.js +740 -112
- package/dist/index.js.map +1 -1
- package/dist/theme.cjs +31 -10
- package/dist/theme.cjs.map +1 -1
- package/dist/theme.d.cts +2 -2
- package/dist/theme.d.ts +2 -2
- package/dist/theme.js +31 -10
- package/dist/theme.js.map +1 -1
- package/dist/ui.css +21459 -24610
- package/package.json +17 -12
- package/src/cli/buildCommand.ts +1 -91
- package/src/core/_compat/theme/themeColorProvider.tsx +0 -2
- package/src/core/_compat/theme/themeProvider.tsx +0 -2
- package/src/core/components/autocomplete/autocomplete.tsx +15 -15
- package/src/core/components/autocomplete/autocompleteOption.tsx +0 -2
- package/src/core/components/breadcrumbs/breadcrumbs.tsx +2 -4
- package/src/core/components/dialog/dialog.tsx +9 -13
- package/src/core/components/dialog/dialogCard.tsx +2 -10
- package/src/core/components/dialog/dialogContext.ts +4 -2
- package/src/core/components/dialog/dialogProvider.tsx +3 -4
- package/src/core/components/hotkeys/hotkeys.tsx +0 -2
- package/src/core/components/menu/menu.tsx +2 -4
- package/src/core/components/menu/menuButton.tsx +0 -2
- package/src/core/components/menu/menuDivider.tsx +2 -4
- package/src/core/components/menu/menuGroup.tsx +0 -2
- package/src/core/components/menu/menuItem.tsx +2 -4
- package/src/core/components/skeleton/codeSkeleton.tsx +6 -10
- package/src/core/components/skeleton/headingSkeleton.tsx +6 -10
- package/src/core/components/skeleton/labelSkeleton.tsx +6 -10
- package/src/core/components/skeleton/skeleton.tsx +4 -8
- package/src/core/components/skeleton/textSkeleton.tsx +6 -10
- package/src/core/components/tab/tab.tsx +0 -2
- package/src/core/components/tab/tabList.tsx +0 -2
- package/src/core/components/tab/tabPanel.tsx +0 -2
- package/src/core/components/toast/toast.tsx +6 -36
- package/src/core/components/toast/toastLayer.tsx +0 -2
- package/src/core/components/toast/toastProvider.tsx +2 -3
- package/src/core/components/tree/tree.tsx +0 -2
- package/src/core/components/tree/treeGroup.tsx +0 -2
- package/src/core/components/tree/treeItem.tsx +3 -5
- package/src/core/helpers/props.ts +18 -0
- package/src/core/hooks/index.ts +1 -0
- package/src/core/hooks/useArrayProp.ts +1 -4
- package/src/core/hooks/useResponsiveProp.ts +28 -0
- package/src/core/index.ts +0 -1
- package/src/core/lib/isArray.ts +3 -0
- package/src/core/primitives/_selectable/selectable.tsx +2 -6
- package/src/core/primitives/avatar/avatar.tsx +15 -17
- package/src/core/primitives/avatar/avatarCounter.tsx +14 -15
- package/src/core/primitives/avatar/avatarStack.tsx +14 -22
- package/src/core/primitives/badge/badge.tsx +3 -10
- package/src/core/primitives/box/box.tsx +90 -70
- package/src/core/primitives/button/button.tsx +10 -21
- package/src/core/primitives/card/card.tsx +5 -11
- package/src/core/primitives/card/cardProvider.tsx +2 -2
- package/src/core/primitives/card/useCard.ts +1 -0
- package/src/core/primitives/checkbox/checkbox.tsx +4 -6
- package/src/core/primitives/code/code.tsx +5 -10
- package/src/core/primitives/code/refractor.tsx +0 -2
- package/src/core/primitives/container/container.tsx +2 -11
- package/src/core/primitives/flex/flex.tsx +29 -4
- package/src/core/primitives/grid/grid.tsx +0 -2
- package/src/core/primitives/heading/heading.tsx +8 -13
- package/src/core/primitives/inline/inline.tsx +22 -6
- package/src/core/primitives/kbd/kbd.tsx +2 -4
- package/src/core/primitives/label/label.tsx +7 -12
- package/src/core/primitives/popover/popover.tsx +11 -9
- package/src/core/primitives/popover/popoverLayer.tsx +1 -3
- package/src/core/primitives/radio/radio.tsx +4 -5
- package/src/core/primitives/select/select.tsx +0 -2
- package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +6 -10
- package/src/core/primitives/spinner/spinner.tsx +6 -6
- package/src/core/primitives/stack/stack.tsx +16 -6
- package/src/core/primitives/switch/switch.tsx +1 -4
- package/src/core/primitives/text/text.tsx +9 -19
- package/src/core/primitives/textArea/textArea.tsx +0 -2
- package/src/core/primitives/textInput/textInput.tsx +40 -47
- package/src/core/primitives/tooltip/tooltip.tsx +4 -12
- package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -2
- package/src/core/primitives/tooltip/tooltipLayer.tsx +0 -2
- package/src/core/primitives/types.ts +6 -6
- package/src/core/types/flex.ts +3 -3
- package/src/core/utils/arrow/arrow.tsx +11 -5
- package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -2
- package/src/core/utils/elementQuery/elementQuery.tsx +0 -2
- package/src/core/utils/layer/layer.tsx +3 -3
- package/src/core/utils/layer/layerCard.tsx +0 -2
- package/src/core/utils/layer/layerProvider.tsx +6 -7
- package/src/core/utils/portal/portal.tsx +0 -2
- package/src/core/utils/portal/portalProvider.tsx +0 -2
- package/src/core/utils/srOnly/srOnly.tsx +2 -9
- package/src/core/utils/virtualList/virtualList.tsx +0 -2
- package/src/css/__theme/index.ts +16 -0
- package/src/css/__theme/lib/contract/buildVarContract.ts +78 -0
- package/src/css/__theme/lib/contract/index.ts +4 -0
- package/src/css/__theme/lib/contract/types.ts +17 -0
- package/src/css/__theme/resolveTheme.ts +865 -0
- package/src/css/_responsiveClassName.ts +45 -0
- package/src/css/_responsiveStyle.css.ts +34 -0
- package/src/css/_style.css.ts +9 -0
- package/src/css/components/breadcrumbs/breadcrumbs.css.ts +6 -0
- package/src/css/components/breadcrumbs/breadcrumbs.ts +4 -3
- package/src/css/components/dialog/dialog.css.ts +81 -0
- package/src/css/components/dialog/dialog.ts +12 -12
- package/src/css/components/index.ts +6 -0
- package/src/css/components/menu/menu.css.ts +14 -0
- package/src/css/components/menu/menu.ts +6 -5
- package/src/css/components/skeleton/skeleton.css.ts +132 -0
- package/src/css/components/skeleton/skeleton.ts +8 -8
- package/src/css/components/skeleton/types.ts +9 -3
- package/src/css/components/toast/toast.css.ts +16 -0
- package/src/css/components/toast/toast.ts +3 -18
- package/src/css/components/tree/tree.css.ts +65 -0
- package/src/css/components/tree/tree.ts +4 -3
- package/src/css/defaultTheme.css.ts +468 -0
- package/src/css/index.ts +11 -37
- package/src/css/layers.css.ts +9 -0
- package/src/css/primitives/_arrow/_arrow.css.ts +68 -0
- package/src/css/primitives/_arrow/_arrow.ts +10 -5
- package/src/css/primitives/_input/_input.css.ts +258 -0
- package/src/css/primitives/_input/input.ts +10 -12
- package/src/css/primitives/_input/types.ts +1 -1
- package/src/css/primitives/_selectable/_selectable.css.ts +121 -0
- package/src/css/primitives/_selectable/selectable.ts +3 -3
- package/src/css/primitives/_selectable/types.ts +2 -1
- package/src/css/primitives/avatar/avatar.css.ts +175 -0
- package/src/css/primitives/avatar/avatar.ts +45 -10
- package/src/css/primitives/avatar/types.ts +1 -0
- package/src/css/primitives/badge/badge.css.ts +26 -0
- package/src/css/primitives/badge/badge.ts +2 -6
- package/src/css/primitives/badge/types.ts +4 -3
- package/src/css/primitives/box/box.css.ts +19 -0
- package/src/css/primitives/box/box.ts +39 -9
- package/src/css/primitives/box/types.ts +35 -8
- package/src/css/primitives/button/button.css.ts +285 -0
- package/src/css/primitives/button/button.ts +10 -7
- package/src/css/primitives/button/types.ts +10 -4
- package/src/css/primitives/card/card.css.ts +365 -0
- package/src/css/primitives/card/card.ts +5 -4
- package/src/css/primitives/card/types.ts +2 -3
- package/src/css/primitives/checkbox/checkbox.css.ts +193 -0
- package/src/css/primitives/checkbox/checkbox.ts +11 -5
- package/src/css/primitives/code/code.css.ts +271 -0
- package/src/css/primitives/code/code.ts +8 -4
- package/src/css/primitives/code/types.ts +3 -2
- package/src/css/primitives/container/container.css.ts +4 -0
- package/src/css/primitives/container/container.ts +9 -3
- package/src/css/primitives/container/types.ts +1 -0
- package/src/css/primitives/heading/heading.css.ts +85 -0
- package/src/css/primitives/heading/heading.ts +9 -10
- package/src/css/primitives/heading/types.ts +3 -2
- package/src/css/primitives/index.ts +24 -0
- package/src/css/primitives/kbd/kbd.css.ts +16 -0
- package/src/css/primitives/kbd/kbd.ts +3 -3
- package/src/css/primitives/kbd/types.ts +2 -3
- package/src/css/primitives/label/label.css.ts +85 -0
- package/src/css/primitives/label/label.ts +9 -4
- package/src/css/primitives/label/types.ts +3 -2
- package/src/css/primitives/popover/popover.css.ts +6 -0
- package/src/css/primitives/popover/popover.ts +6 -5
- package/src/css/primitives/radio/radio.css.ts +78 -0
- package/src/css/primitives/radio/radio.ts +14 -3
- package/src/css/primitives/select/select.css.ts +24 -0
- package/src/css/primitives/select/select.ts +3 -3
- package/src/css/primitives/spinner/index.ts +1 -0
- package/src/css/primitives/spinner/spinner.css.ts +23 -0
- package/src/css/primitives/spinner/spinner.ts +7 -5
- package/src/css/primitives/spinner/types.ts +4 -0
- package/src/css/primitives/stack/stack.css.ts +6 -0
- package/src/css/primitives/stack/stack.ts +4 -3
- package/src/css/primitives/switch/switch.css.ts +98 -0
- package/src/css/primitives/switch/switch.ts +8 -7
- package/src/css/primitives/text/text.css.ts +85 -0
- package/src/css/primitives/text/text.ts +9 -5
- package/src/css/primitives/text/types.ts +3 -2
- package/src/css/primitives/textArea/textArea.css.ts +4 -0
- package/src/css/primitives/textArea/textArea.ts +2 -2
- package/src/css/primitives/textArea/types.ts +4 -2
- package/src/css/primitives/textInput/textInput.css.ts +41 -0
- package/src/css/primitives/textInput/textInput.ts +5 -5
- package/src/css/primitives/textInput/types.ts +4 -2
- package/src/css/primitives/tooltip/index.ts +1 -0
- package/src/css/primitives/tooltip/tooltip.css.ts +6 -0
- package/src/css/primitives/tooltip/tooltip.ts +7 -3
- package/src/css/primitives/tooltip/types.ts +4 -0
- package/src/css/props/alignItems/alignItems.css.ts +22 -0
- package/src/css/props/alignItems/alignItems.ts +8 -0
- package/src/css/props/alignItems/index.ts +2 -0
- package/src/css/props/alignItems/types.ts +9 -0
- package/src/css/props/border/border.css.ts +65 -0
- package/src/css/props/border/border.ts +36 -0
- package/src/css/props/border/types.ts +13 -0
- package/src/css/props/boxSizing/boxSizing.css.ts +11 -0
- package/src/css/props/boxSizing/boxSizing.ts +10 -0
- package/src/css/{aspects → props}/boxSizing/types.ts +1 -3
- package/src/css/props/display/display.css.ts +56 -0
- package/src/css/props/display/display.ts +17 -0
- package/src/css/props/flex/flex.css.ts +52 -0
- package/src/css/props/flex/flex.ts +8 -0
- package/src/css/props/flex/types.ts +9 -0
- package/src/css/props/flexDirection/flexDirection.css.ts +19 -0
- package/src/css/props/flexDirection/flexDirection.ts +8 -0
- package/src/css/props/flexDirection/index.ts +2 -0
- package/src/css/props/flexDirection/types.ts +9 -0
- package/src/css/props/flexWrap/flexWrap.css.ts +16 -0
- package/src/css/props/flexWrap/flexWrap.ts +8 -0
- package/src/css/props/flexWrap/index.ts +2 -0
- package/src/css/props/flexWrap/types.ts +9 -0
- package/src/css/props/font/font.css.ts +93 -0
- package/src/css/props/font/font.ts +8 -0
- package/src/css/props/gap/gap.css.ts +40 -0
- package/src/css/props/gap/gap.ts +13 -0
- package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +19 -0
- package/src/css/props/gridAutoColumns/gridAutoColumns.ts +8 -0
- package/src/css/props/gridAutoColumns/index.ts +2 -0
- package/src/css/props/gridAutoColumns/types.ts +19 -0
- package/src/css/props/gridAutoFlow/gridAutoFlow.css.ts +19 -0
- package/src/css/props/gridAutoFlow/gridAutoFlow.ts +8 -0
- package/src/css/props/gridAutoFlow/index.ts +2 -0
- package/src/css/props/gridAutoFlow/types.ts +13 -0
- package/src/css/props/gridAutoRows/gridAutoRows.css.ts +19 -0
- package/src/css/props/gridAutoRows/gridAutoRows.ts +8 -0
- package/src/css/props/gridAutoRows/index.ts +2 -0
- package/src/css/props/gridAutoRows/types.ts +13 -0
- package/src/css/props/gridColumn/gridColumn.css.ts +49 -0
- package/src/css/props/gridColumn/gridColumn.ts +8 -0
- package/src/css/props/gridColumn/index.ts +2 -0
- package/src/css/props/gridColumn/types.ts +19 -0
- package/src/css/props/gridColumnEnd/gridColumnEnd.css.ts +46 -0
- package/src/css/props/gridColumnEnd/gridColumnEnd.ts +8 -0
- package/src/css/props/gridColumnEnd/index.ts +2 -0
- package/src/css/props/gridColumnEnd/types.ts +19 -0
- package/src/css/props/gridColumnStart/gridColumnStart.css.ts +46 -0
- package/src/css/props/gridColumnStart/gridColumnStart.ts +11 -0
- package/src/css/props/gridColumnStart/index.ts +2 -0
- package/src/css/props/gridColumnStart/types.ts +19 -0
- package/src/css/props/gridRow/gridRow.css.ts +49 -0
- package/src/css/props/gridRow/gridRow.ts +8 -0
- package/src/css/props/gridRow/index.ts +2 -0
- package/src/css/props/gridRow/types.ts +19 -0
- package/src/css/props/gridRowEnd/gridRowEnd.css.ts +46 -0
- package/src/css/props/gridRowEnd/gridRowEnd.ts +8 -0
- package/src/css/props/gridRowEnd/index.ts +2 -0
- package/src/css/props/gridRowEnd/types.ts +19 -0
- package/src/css/props/gridRowStart/gridRowStart.css.ts +46 -0
- package/src/css/props/gridRowStart/gridRowStart.ts +8 -0
- package/src/css/props/gridRowStart/index.ts +2 -0
- package/src/css/props/gridRowStart/types.ts +19 -0
- package/src/css/props/gridTemplateColumns/gridTemplateColumns.css.ts +43 -0
- package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +8 -0
- package/src/css/props/gridTemplateColumns/index.ts +2 -0
- package/src/css/props/gridTemplateColumns/types.ts +19 -0
- package/src/css/props/gridTemplateRows/gridTemplateRows.css.ts +43 -0
- package/src/css/props/gridTemplateRows/gridTemplateRows.ts +8 -0
- package/src/css/props/gridTemplateRows/index.ts +2 -0
- package/src/css/props/gridTemplateRows/types.ts +19 -0
- package/src/css/props/height/height.css.ts +25 -0
- package/src/css/props/height/height.ts +8 -0
- package/src/css/{aspects → props}/height/index.ts +1 -0
- package/src/css/props/height/types.ts +15 -0
- package/src/css/{aspects → props}/index.ts +16 -3
- package/src/css/props/inset/inset.css.ts +37 -0
- package/src/css/props/inset/inset.ts +21 -0
- package/src/css/props/justifyContent/index.ts +2 -0
- package/src/css/props/justifyContent/justifyContent.css.ts +25 -0
- package/src/css/props/justifyContent/justifyContent.ts +8 -0
- package/src/css/props/justifyContent/types.ts +15 -0
- package/src/css/props/margin/margin.css.ts +117 -0
- package/src/css/props/margin/margin.ts +25 -0
- package/src/css/props/maxWidth/maxWidth.css.ts +32 -0
- package/src/css/props/maxWidth/maxWidth.ts +8 -0
- package/src/css/{aspects → props}/maxWidth/types.ts +4 -1
- package/src/css/props/minHeight/minHeight.css.ts +13 -0
- package/src/css/props/minHeight/minHeight.ts +8 -0
- package/src/css/props/minWidth/minWidth.css.ts +25 -0
- package/src/css/props/minWidth/minWidth.ts +8 -0
- package/src/css/props/outline/index.ts +2 -0
- package/src/css/props/outline/outline.css.ts +10 -0
- package/src/css/props/outline/outline.ts +8 -0
- package/src/css/props/outline/types.ts +7 -0
- package/src/css/props/overflow/overflow.css.ts +16 -0
- package/src/css/props/overflow/overflow.ts +8 -0
- package/src/css/props/overflow/types.ts +17 -0
- package/src/css/props/padding/padding.css.ts +87 -0
- package/src/css/props/padding/padding.ts +25 -0
- package/src/css/props/padding/types.ts +17 -0
- package/src/css/props/pointerEvents/pointerEvents.css.ts +13 -0
- package/src/css/props/pointerEvents/pointerEvents.ts +8 -0
- package/src/css/props/position/position.css.ts +22 -0
- package/src/css/props/position/position.ts +8 -0
- package/src/css/props/radius/radius.css.ts +21 -0
- package/src/css/props/radius/radius.ts +8 -0
- package/src/css/props/shadow/shadow.css.ts +23 -0
- package/src/css/props/shadow/shadow.ts +8 -0
- package/src/css/props/textAlign/textAlign.css.ts +22 -0
- package/src/css/props/textAlign/textAlign.ts +8 -0
- package/src/css/props/textOverflow/textOverflow.css.ts +13 -0
- package/src/css/props/textOverflow/textOverflow.ts +8 -0
- package/src/css/{aspects → props}/textOverflow/types.ts +5 -2
- package/src/css/{aspects → props}/width/types.ts +1 -1
- package/src/css/props/width/width.css.ts +28 -0
- package/src/css/props/width/width.ts +8 -0
- package/src/css/types.ts +223 -42
- package/src/css/util.ts +0 -10
- package/src/css/utils/index.ts +1 -0
- package/src/css/utils/srOnly/srOnly.css.ts +10 -0
- package/src/css/utils/srOnly/srOnly.ts +3 -3
- package/src/css/vars.css.ts +676 -0
- package/src/theme/v3/buildTheme_v3.ts +7 -2
- package/src/theme/v3/defaultFonts.ts +4 -4
- package/src/theme/v3/defaultTokens.ts +3 -3
- package/src/theme/v3/types.ts +3 -2
- package/src/theme/versioning/v3_v2.ts +24 -3
- package/dist/_chunks-cjs/buildCommand.cjs +0 -71
- package/dist/_chunks-cjs/buildCommand.cjs.map +0 -1
- package/dist/cli.cjs +0 -357
- package/dist/cli.cjs.map +0 -1
- package/dist/cli.d.cts +0 -1
- package/dist/ui-system.css +0 -24528
- package/dist/ui-system.min.css +0 -1
- package/dist/ui-theme.css +0 -1184
- package/dist/ui-theme.min.css +0 -1
- package/dist/ui.min.css +0 -1
- package/src/core/StyleTags.tsx +0 -18
- package/src/css/_compileStyle.ts +0 -156
- package/src/css/_compileSystem.ts +0 -7
- package/src/css/_compileTheme.ts +0 -13
- package/src/css/_hash.ts +0 -9
- package/src/css/_mergeStyles.ts +0 -24
- package/src/css/_resp.ts +0 -31
- package/src/css/_responsiveRule.ts +0 -38
- package/src/css/_scopeClassName.ts +0 -9
- package/src/css/_scopeClassNames.ts +0 -12
- package/src/css/_system.style.ts +0 -166
- package/src/css/aspects/border/border.style.ts +0 -13
- package/src/css/aspects/border/border.ts +0 -14
- package/src/css/aspects/border/types.ts +0 -10
- package/src/css/aspects/boxSizing/boxSizing.style.ts +0 -10
- package/src/css/aspects/boxSizing/boxSizing.ts +0 -8
- package/src/css/aspects/display/display.style.ts +0 -34
- package/src/css/aspects/display/display.ts +0 -8
- package/src/css/aspects/flex/flex.ts +0 -13
- package/src/css/aspects/flex/flexAlign.style.ts +0 -12
- package/src/css/aspects/flex/flexDirection.style.ts +0 -11
- package/src/css/aspects/flex/flexJustify.style.ts +0 -13
- package/src/css/aspects/flex/flexWrap.style.ts +0 -10
- package/src/css/aspects/flex/types.ts +0 -27
- package/src/css/aspects/flexItem/flex.style.ts +0 -22
- package/src/css/aspects/flexItem/flexItem.ts +0 -8
- package/src/css/aspects/flexItem/index.ts +0 -2
- package/src/css/aspects/flexItem/types.ts +0 -25
- package/src/css/aspects/font/font.style.ts +0 -83
- package/src/css/aspects/font/font.ts +0 -7
- package/src/css/aspects/gap/gap.style.ts +0 -21
- package/src/css/aspects/gap/gap.ts +0 -8
- package/src/css/aspects/grid/grid.ts +0 -14
- package/src/css/aspects/grid/gridAutoColumns.style.ts +0 -11
- package/src/css/aspects/grid/gridAutoFlow.style.ts +0 -11
- package/src/css/aspects/grid/gridAutoRows.style.ts +0 -11
- package/src/css/aspects/grid/gridColumns.style.ts +0 -18
- package/src/css/aspects/grid/gridRows.style.ts +0 -18
- package/src/css/aspects/grid/index.ts +0 -2
- package/src/css/aspects/grid/types.ts +0 -25
- package/src/css/aspects/gridItem/gridColumn.style.ts +0 -20
- package/src/css/aspects/gridItem/gridColumnEnd.style.ts +0 -20
- package/src/css/aspects/gridItem/gridColumnStart.style.ts +0 -20
- package/src/css/aspects/gridItem/gridItem.ts +0 -15
- package/src/css/aspects/gridItem/gridRow.style.ts +0 -20
- package/src/css/aspects/gridItem/gridRowEnd.style.ts +0 -20
- package/src/css/aspects/gridItem/gridRowStart.style.ts +0 -20
- package/src/css/aspects/gridItem/index.ts +0 -2
- package/src/css/aspects/gridItem/types.ts +0 -30
- package/src/css/aspects/height/height.style.ts +0 -9
- package/src/css/aspects/height/height.ts +0 -16
- package/src/css/aspects/inset/inset.style.ts +0 -12
- package/src/css/aspects/inset/inset.ts +0 -14
- package/src/css/aspects/margin/margin.style.ts +0 -56
- package/src/css/aspects/margin/margin.ts +0 -16
- package/src/css/aspects/maxWidth/maxWidth.style.ts +0 -16
- package/src/css/aspects/maxWidth/maxWidth.ts +0 -8
- package/src/css/aspects/minHeight/minHeight.style.ts +0 -9
- package/src/css/aspects/minHeight/minHeight.ts +0 -8
- package/src/css/aspects/minWidth/minWidth.style.ts +0 -13
- package/src/css/aspects/minWidth/minWidth.ts +0 -8
- package/src/css/aspects/outline/outline.style.ts +0 -9
- package/src/css/aspects/overflow/overflow.style.ts +0 -11
- package/src/css/aspects/overflow/overflow.ts +0 -12
- package/src/css/aspects/overflow/types.ts +0 -11
- package/src/css/aspects/padding/padding.style.ts +0 -43
- package/src/css/aspects/padding/padding.ts +0 -16
- package/src/css/aspects/padding/types.ts +0 -14
- package/src/css/aspects/pointerEvents/pointerEvents.style.ts +0 -13
- package/src/css/aspects/pointerEvents/pointerEvents.ts +0 -7
- package/src/css/aspects/position/position.style.ts +0 -12
- package/src/css/aspects/position/position.ts +0 -8
- package/src/css/aspects/radius/radius.style.ts +0 -16
- package/src/css/aspects/radius/radius.ts +0 -8
- package/src/css/aspects/shadow/shadow.style.ts +0 -24
- package/src/css/aspects/shadow/shadow.ts +0 -8
- package/src/css/aspects/textAlign/textAlign.style.ts +0 -26
- package/src/css/aspects/textAlign/textAlign.ts +0 -8
- package/src/css/aspects/textOverflow/textOverflow.style.ts +0 -21
- package/src/css/aspects/textOverflow/textOverflow.ts +0 -7
- package/src/css/aspects/width/width.style.ts +0 -11
- package/src/css/aspects/width/width.ts +0 -8
- package/src/css/components/breadcrumbs/breadcrumbs.style.ts +0 -9
- package/src/css/components/dialog/dialog.style.ts +0 -77
- package/src/css/components/menu/menu.style.ts +0 -17
- package/src/css/components/skeleton/skeleton.style.ts +0 -104
- package/src/css/components/toast/toast.style.ts +0 -20
- package/src/css/components/tree/tree.style.ts +0 -39
- package/src/css/prefix/constants.ts +0 -6
- package/src/css/prefix/index.ts +0 -2
- package/src/css/prefix/types.ts +0 -1
- package/src/css/primitives/_arrow/_arrow.style.ts +0 -69
- package/src/css/primitives/_input/_input.style.ts +0 -235
- package/src/css/primitives/_selectable/_selectable.style.ts +0 -129
- package/src/css/primitives/avatar/avatar.style.ts +0 -171
- package/src/css/primitives/badge/badge.style.ts +0 -21
- package/src/css/primitives/box/box.style.ts +0 -22
- package/src/css/primitives/button/button.style.ts +0 -275
- package/src/css/primitives/card/card.style.ts +0 -295
- package/src/css/primitives/checkbox/checkbox.style.ts +0 -178
- package/src/css/primitives/code/code.style.ts +0 -61
- package/src/css/primitives/container/container.style.ts +0 -10
- package/src/css/primitives/heading/heading.style.ts +0 -56
- package/src/css/primitives/kbd/kbd.style.ts +0 -19
- package/src/css/primitives/label/label.style.ts +0 -52
- package/src/css/primitives/popover/popover.style.ts +0 -9
- package/src/css/primitives/radio/radio.style.ts +0 -84
- package/src/css/primitives/select/select.style.ts +0 -24
- package/src/css/primitives/spinner/spinner.style.ts +0 -22
- package/src/css/primitives/stack/stack.style.ts +0 -13
- package/src/css/primitives/switch/switch.style.ts +0 -102
- package/src/css/primitives/text/text.style.ts +0 -65
- package/src/css/primitives/textArea/textArea.style.ts +0 -11
- package/src/css/primitives/textInput/textInput.style.ts +0 -46
- package/src/css/primitives/token/token.style.ts +0 -50
- package/src/css/primitives/tooltip/tooltip.style.ts +0 -9
- package/src/css/renderColor.ts +0 -31
- package/src/css/responsiveRules.ts +0 -18
- package/src/css/theme/index.ts +0 -14
- package/src/css/theme/lib/contract/buildVarContract.ts +0 -76
- package/src/css/theme/lib/contract/index.ts +0 -2
- package/src/css/theme/lib/contract/types.ts +0 -15
- package/src/css/theme/resolveTheme.ts +0 -863
- package/src/css/utils/srOnly/srOnly.style.ts +0 -14
- package/src/css/{aspects → props}/border/index.ts +0 -0
- package/src/css/{aspects → props}/boxSizing/index.ts +0 -0
- package/src/css/{aspects → props}/display/index.ts +0 -0
- package/src/css/{aspects → props}/display/types.ts +0 -0
- package/src/css/{aspects → props}/flex/index.ts +0 -0
- package/src/css/{aspects → props}/font/index.ts +0 -0
- package/src/css/{aspects → props}/font/types.ts +0 -0
- package/src/css/{aspects → props}/gap/index.ts +0 -0
- package/src/css/{aspects → props}/gap/types.ts +0 -0
- package/src/css/{aspects → props}/inset/index.ts +0 -0
- package/src/css/{aspects → props}/inset/types.ts +0 -0
- package/src/css/{aspects → props}/margin/index.ts +0 -0
- package/src/css/{aspects → props}/margin/types.ts +2 -2
- /package/src/css/{aspects → props}/maxWidth/index.ts +0 -0
- /package/src/css/{aspects → props}/minHeight/index.ts +0 -0
- /package/src/css/{aspects → props}/minHeight/types.ts +0 -0
- /package/src/css/{aspects → props}/minWidth/index.ts +0 -0
- /package/src/css/{aspects → props}/minWidth/types.ts +0 -0
- /package/src/css/{aspects → props}/overflow/index.ts +0 -0
- /package/src/css/{aspects → props}/padding/index.ts +0 -0
- /package/src/css/{aspects → props}/pointerEvents/index.ts +0 -0
- /package/src/css/{aspects → props}/pointerEvents/types.ts +0 -0
- /package/src/css/{aspects → props}/position/index.ts +0 -0
- /package/src/css/{aspects → props}/position/types.ts +0 -0
- /package/src/css/{aspects → props}/radius/index.ts +0 -0
- /package/src/css/{aspects → props}/radius/types.ts +0 -0
- /package/src/css/{aspects → props}/shadow/index.ts +0 -0
- /package/src/css/{aspects → props}/shadow/types.ts +0 -0
- /package/src/css/{aspects → props}/textAlign/index.ts +0 -0
- /package/src/css/{aspects → props}/textAlign/types.ts +0 -0
- /package/src/css/{aspects → props}/textOverflow/index.ts +0 -0
- /package/src/css/{aspects → props}/width/index.ts +0 -0
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
shift,
|
|
10
10
|
useFloating,
|
|
11
11
|
} from '@floating-ui/react-dom'
|
|
12
|
+
import {type MaxWidth, popover as popoverCss, type ResponsiveProp} from '@sanity/ui/css'
|
|
12
13
|
import {AnimatePresence} from 'framer-motion'
|
|
13
14
|
import {
|
|
14
15
|
cloneElement,
|
|
@@ -24,7 +25,7 @@ import {
|
|
|
24
25
|
} from 'react'
|
|
25
26
|
|
|
26
27
|
import {Z_OFFSETS} from '../../constants'
|
|
27
|
-
import {
|
|
28
|
+
import {usePrefersReducedMotion, useResponsiveProp} from '../../hooks'
|
|
28
29
|
import {origin} from '../../middleware/origin'
|
|
29
30
|
import type {ComponentType, Placement, PopoverMargins, Props} from '../../types'
|
|
30
31
|
import {type LayerOwnProps, Portal, useBoundaryElement, useLayer} from '../../utils'
|
|
@@ -43,7 +44,7 @@ import type {PopoverUpdateCallback} from './types'
|
|
|
43
44
|
export const DEFAULT_POPOVER_ELEMENT = 'div'
|
|
44
45
|
|
|
45
46
|
/** @public */
|
|
46
|
-
export type PopoverOwnProps = LayerOwnProps & {
|
|
47
|
+
export type PopoverOwnProps = Omit<LayerOwnProps, 'maxWidth'> & {
|
|
47
48
|
/** @beta */
|
|
48
49
|
__unstable_margins?: PopoverMargins
|
|
49
50
|
/**
|
|
@@ -102,6 +103,7 @@ export type PopoverOwnProps = LayerOwnProps & {
|
|
|
102
103
|
referenceElement?: HTMLElement | null
|
|
103
104
|
/** @beta */
|
|
104
105
|
updateRef?: Ref<PopoverUpdateCallback | undefined>
|
|
106
|
+
width?: ResponsiveProp<MaxWidth>
|
|
105
107
|
}
|
|
106
108
|
|
|
107
109
|
/** @public */
|
|
@@ -147,6 +149,7 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
|
|
|
147
149
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
148
150
|
boundaryElement = boundaryElementContext.element,
|
|
149
151
|
children: childProp,
|
|
152
|
+
className,
|
|
150
153
|
constrainSize = false,
|
|
151
154
|
content,
|
|
152
155
|
disabled,
|
|
@@ -180,7 +183,7 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
|
|
|
180
183
|
|
|
181
184
|
const prefersReducedMotion = usePrefersReducedMotion()
|
|
182
185
|
const animate = prefersReducedMotion ? false : _animate
|
|
183
|
-
const zOffset =
|
|
186
|
+
const zOffset = useResponsiveProp(zOffsetProp)
|
|
184
187
|
const ref = useRef<HTMLDivElement | null>(null)
|
|
185
188
|
const arrowRef = useRef<HTMLDivElement | null>(null)
|
|
186
189
|
const rootBoundary: RootBoundary = 'viewport'
|
|
@@ -352,9 +355,9 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
|
|
|
352
355
|
return childProp || <></>
|
|
353
356
|
}
|
|
354
357
|
|
|
355
|
-
const
|
|
358
|
+
const node = (
|
|
356
359
|
<>
|
|
357
|
-
{/* Optional transparent blocking overlay at the top-most z-index layer. Must be positioned
|
|
360
|
+
{/* Optional transparent blocking overlay at the top-most z-index layer. Must be positioned
|
|
358
361
|
before the below popover card. */}
|
|
359
362
|
{modal && <ViewportOverlay />}
|
|
360
363
|
|
|
@@ -367,6 +370,7 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
|
|
|
367
370
|
arrowX={arrowX}
|
|
368
371
|
arrowY={arrowY}
|
|
369
372
|
as={as}
|
|
373
|
+
className={popoverCss({className})}
|
|
370
374
|
hidden={referenceHidden}
|
|
371
375
|
maxWidth={widthProp}
|
|
372
376
|
overflow={overflow}
|
|
@@ -396,11 +400,11 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
|
|
|
396
400
|
tone={tone === 'inherit' ? (card?.tone ?? 'default') : tone}
|
|
397
401
|
scheme={scheme ?? 'light'}
|
|
398
402
|
>
|
|
399
|
-
{
|
|
403
|
+
{node}
|
|
400
404
|
</CardProvider>
|
|
401
405
|
</Portal>
|
|
402
406
|
) : (
|
|
403
|
-
|
|
407
|
+
node
|
|
404
408
|
))
|
|
405
409
|
|
|
406
410
|
return (
|
|
@@ -414,8 +418,6 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
|
|
|
414
418
|
)
|
|
415
419
|
}
|
|
416
420
|
|
|
417
|
-
Popover.displayName = 'Popover'
|
|
418
|
-
|
|
419
421
|
// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`
|
|
420
422
|
// After React 19 accessing `element.ref` does the opposite.
|
|
421
423
|
// https://github.com/facebook/react/pull/28348
|
|
@@ -107,7 +107,7 @@ export function PopoverLayer(props: PopoverLayerProps) {
|
|
|
107
107
|
as={motion.div}
|
|
108
108
|
data-context-tone={tone}
|
|
109
109
|
data-placement={placement}
|
|
110
|
-
|
|
110
|
+
flexDirection="column"
|
|
111
111
|
display="flex"
|
|
112
112
|
position={strategy}
|
|
113
113
|
radius={radius}
|
|
@@ -145,5 +145,3 @@ export function PopoverLayer(props: PopoverLayerProps) {
|
|
|
145
145
|
</Layer>
|
|
146
146
|
)
|
|
147
147
|
}
|
|
148
|
-
|
|
149
|
-
PopoverLayer.displayName = 'PopoverCard'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {radio, radioInput, radioPresentation} from '@sanity/ui/css'
|
|
2
2
|
import {useImperativeHandle, useRef} from 'react'
|
|
3
3
|
|
|
4
4
|
import {useCustomValidity} from '../../hooks'
|
|
@@ -47,9 +47,10 @@ export function Radio<E extends RadioElementType = typeof DEFAULT_RADIO_ELEMENT>
|
|
|
47
47
|
useCustomValidity(ref, customValidity)
|
|
48
48
|
|
|
49
49
|
return (
|
|
50
|
-
<div className={
|
|
50
|
+
<div className={radio({className})} data-ui="Radio" style={style}>
|
|
51
51
|
<Element
|
|
52
52
|
{...rest}
|
|
53
|
+
className={radioInput()}
|
|
53
54
|
data-invalid={customValidity ? '' : undefined}
|
|
54
55
|
data-read-only={!disabled && readOnly ? '' : undefined}
|
|
55
56
|
disabled={disabled || readOnly}
|
|
@@ -57,9 +58,7 @@ export function Radio<E extends RadioElementType = typeof DEFAULT_RADIO_ELEMENT>
|
|
|
57
58
|
ref={ref}
|
|
58
59
|
type="radio"
|
|
59
60
|
/>
|
|
60
|
-
<span />
|
|
61
|
+
<span className={radioPresentation()} />
|
|
61
62
|
</div>
|
|
62
63
|
)
|
|
63
64
|
}
|
|
64
|
-
|
|
65
|
-
Radio.displayName = 'Radio'
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import {SpinnerIcon} from '@sanity/icons'
|
|
2
|
-
import {
|
|
2
|
+
import {animatedSpinnerIcon} from '@sanity/ui/css'
|
|
3
3
|
import type {ReactElement, SVGProps} from 'react'
|
|
4
4
|
|
|
5
5
|
/** @internal */
|
|
6
|
-
export function AnimatedSpinnerIcon(
|
|
7
|
-
|
|
6
|
+
export function AnimatedSpinnerIcon(
|
|
7
|
+
props: Omit<SVGProps<SVGSVGElement>, 'className'>,
|
|
8
|
+
): ReactElement {
|
|
9
|
+
const {...rest} = props
|
|
8
10
|
|
|
9
11
|
return (
|
|
10
|
-
<SpinnerIcon
|
|
11
|
-
{...rest}
|
|
12
|
-
data-sanity-icon="animated-spinner"
|
|
13
|
-
className={_composeClassNames(className, animatedSpinnerIcon())}
|
|
14
|
-
/>
|
|
12
|
+
<SpinnerIcon data-sanity-icon="animated-spinner" {...rest} className={animatedSpinnerIcon()} />
|
|
15
13
|
)
|
|
16
14
|
}
|
|
17
|
-
|
|
18
|
-
AnimatedSpinnerIcon.displayName = 'AnimatedSpinnerIcon'
|
|
@@ -31,15 +31,15 @@ export type SpinnerProps<E extends SpinnerElementType = SpinnerElementType> = Pr
|
|
|
31
31
|
export function Spinner<E extends SpinnerElementType = typeof DEFAULT_SPINNER_ELEMENT>(
|
|
32
32
|
props: SpinnerProps<E>,
|
|
33
33
|
) {
|
|
34
|
-
const {
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
const {
|
|
35
|
+
as = DEFAULT_SPINNER_ELEMENT,
|
|
36
|
+
className,
|
|
37
|
+
...rest
|
|
38
|
+
} = props as SpinnerProps<typeof DEFAULT_SPINNER_ELEMENT>
|
|
37
39
|
|
|
38
40
|
return (
|
|
39
|
-
<Text as={as} data-ui="Spinner" {...rest} className={spinner()}>
|
|
41
|
+
<Text as={as} data-ui="Spinner" {...rest} className={spinner({className})}>
|
|
40
42
|
<AnimatedSpinnerIcon />
|
|
41
43
|
</Text>
|
|
42
44
|
)
|
|
43
45
|
}
|
|
44
|
-
|
|
45
|
-
Spinner.displayName = 'Spinner'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {type ResponsiveProp, stack} from '@sanity/ui/css'
|
|
2
2
|
import type {Space} from '@sanity/ui/theme'
|
|
3
3
|
|
|
4
4
|
import type {Props} from '../../types'
|
|
@@ -10,7 +10,19 @@ export const DEFAULT_STACK_ELEMENT = 'div'
|
|
|
10
10
|
/** @public */
|
|
11
11
|
export type StackOwnProps = Omit<
|
|
12
12
|
BoxOwnProps,
|
|
13
|
-
|
|
13
|
+
| 'align'
|
|
14
|
+
| 'alignItems'
|
|
15
|
+
| 'columns'
|
|
16
|
+
| 'gridTemplateColumns'
|
|
17
|
+
| 'direction'
|
|
18
|
+
| 'display'
|
|
19
|
+
| 'flexDirection'
|
|
20
|
+
| 'gapX'
|
|
21
|
+
| 'gapY'
|
|
22
|
+
| 'justify'
|
|
23
|
+
| 'justifyContent'
|
|
24
|
+
| 'rows'
|
|
25
|
+
| 'gridTemplateRows'
|
|
14
26
|
> & {
|
|
15
27
|
/** @deprecated Use `gap` instead. */
|
|
16
28
|
space?: ResponsiveProp<Space>
|
|
@@ -43,12 +55,10 @@ export function Stack<E extends StackElementType = typeof DEFAULT_STACK_ELEMENT>
|
|
|
43
55
|
data-ui="Stack"
|
|
44
56
|
{...rest}
|
|
45
57
|
as={as}
|
|
46
|
-
|
|
47
|
-
className={
|
|
58
|
+
gridAutoRows="min"
|
|
59
|
+
className={stack({className})}
|
|
48
60
|
display="grid"
|
|
49
61
|
gap={gap ?? space}
|
|
50
62
|
/>
|
|
51
63
|
)
|
|
52
64
|
}
|
|
53
|
-
|
|
54
|
-
Stack.displayName = 'Stack'
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
_composeClassNames,
|
|
3
2
|
_switch,
|
|
4
3
|
_switchElement,
|
|
5
4
|
_switchPresentation,
|
|
@@ -63,7 +62,7 @@ export function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEME
|
|
|
63
62
|
|
|
64
63
|
return (
|
|
65
64
|
<Box
|
|
66
|
-
className={
|
|
65
|
+
className={_switch({className})}
|
|
67
66
|
data-checked={checked ? '' : undefined}
|
|
68
67
|
data-indeterminate={indeterminate ? '' : undefined}
|
|
69
68
|
data-ui="Switch"
|
|
@@ -88,5 +87,3 @@ export function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEME
|
|
|
88
87
|
</Box>
|
|
89
88
|
)
|
|
90
89
|
}
|
|
91
|
-
|
|
92
|
-
Switch.displayName = 'Switch'
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
_composeClassNames,
|
|
3
|
-
text,
|
|
4
|
-
textOverflow,
|
|
5
|
-
type TextOverflowStyleProps,
|
|
6
|
-
type TextStyleProps,
|
|
7
|
-
} from '@sanity/ui/css'
|
|
1
|
+
import {text, textOverflow, type TextOverflowStyleProps, type TextStyleProps} from '@sanity/ui/css'
|
|
8
2
|
|
|
9
3
|
import type {ComponentType, Props} from '../../types'
|
|
10
4
|
|
|
@@ -56,17 +50,15 @@ export function Text<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(pr
|
|
|
56
50
|
<Element
|
|
57
51
|
data-ui="Text"
|
|
58
52
|
{...rest}
|
|
59
|
-
className={
|
|
53
|
+
className={text({
|
|
60
54
|
className,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}),
|
|
69
|
-
)}
|
|
55
|
+
accent,
|
|
56
|
+
align,
|
|
57
|
+
flex,
|
|
58
|
+
muted,
|
|
59
|
+
size,
|
|
60
|
+
weight,
|
|
61
|
+
})}
|
|
70
62
|
>
|
|
71
63
|
<span
|
|
72
64
|
className={textOverflow({
|
|
@@ -78,5 +70,3 @@ export function Text<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(pr
|
|
|
78
70
|
</Element>
|
|
79
71
|
)
|
|
80
72
|
}
|
|
81
|
-
|
|
82
|
-
Text.displayName = 'Text'
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import {CloseIcon} from '@sanity/icons'
|
|
2
2
|
import {
|
|
3
|
-
_composeClassNames,
|
|
4
3
|
_inputElement,
|
|
5
4
|
_inputPresentation,
|
|
6
5
|
type InputStyleProps,
|
|
@@ -12,7 +11,6 @@ import {
|
|
|
12
11
|
} from '@sanity/ui/css'
|
|
13
12
|
import type {Space, ThemeFontWeightKey} from '@sanity/ui/theme'
|
|
14
13
|
import {
|
|
15
|
-
type CSSProperties,
|
|
16
14
|
type ElementType,
|
|
17
15
|
isValidElement,
|
|
18
16
|
type MouseEvent,
|
|
@@ -25,7 +23,7 @@ import {
|
|
|
25
23
|
import {isValidElementType} from 'react-is'
|
|
26
24
|
|
|
27
25
|
import {EMPTY_RECORD} from '../../constants'
|
|
28
|
-
import {
|
|
26
|
+
import {useCustomValidity, useResponsiveProp} from '../../hooks'
|
|
29
27
|
import {isRecord} from '../../lib/isRecord'
|
|
30
28
|
import type {ComponentType, Props} from '../../types'
|
|
31
29
|
import {Box} from '../box'
|
|
@@ -74,13 +72,6 @@ export type TextInputProps<E extends TextInputElementType = TextInputElementType
|
|
|
74
72
|
E
|
|
75
73
|
>
|
|
76
74
|
|
|
77
|
-
const CLEAR_BUTTON_BOX_STYLE: CSSProperties = {
|
|
78
|
-
backgroundColor: 'transparent',
|
|
79
|
-
top: 0,
|
|
80
|
-
right: 0,
|
|
81
|
-
zIndex: 2,
|
|
82
|
-
}
|
|
83
|
-
|
|
84
75
|
/**
|
|
85
76
|
* Single line text input.
|
|
86
77
|
*
|
|
@@ -117,7 +108,7 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
|
|
|
117
108
|
|
|
118
109
|
const ref = useRef<HTMLInputElement | null>(null)
|
|
119
110
|
|
|
120
|
-
const
|
|
111
|
+
const responsivePadding = useResponsiveProp(padding)
|
|
121
112
|
|
|
122
113
|
const withClearButton = Boolean(clearButton)
|
|
123
114
|
|
|
@@ -147,29 +138,29 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
|
|
|
147
138
|
[onClear, ref],
|
|
148
139
|
)
|
|
149
140
|
|
|
150
|
-
const clearButtonBoxPadding = useMemo(
|
|
151
|
-
(
|
|
152
|
-
|
|
153
|
-
if (
|
|
154
|
-
if (
|
|
155
|
-
if (
|
|
141
|
+
const clearButtonBoxPadding = useMemo(() => {
|
|
142
|
+
return Object.fromEntries(
|
|
143
|
+
Object.entries(responsivePadding).map(([key, value]) => {
|
|
144
|
+
if (value === 0) return [key, 0]
|
|
145
|
+
if (value === 1) return [key, 1]
|
|
146
|
+
if (value === 2) return [key, 1]
|
|
156
147
|
|
|
157
|
-
return typeof
|
|
158
|
-
})
|
|
159
|
-
|
|
160
|
-
)
|
|
148
|
+
return [key, typeof value === 'number' ? value - 2 : 0]
|
|
149
|
+
}),
|
|
150
|
+
) as ResponsiveProp<Space>
|
|
151
|
+
}, [responsivePadding])
|
|
161
152
|
|
|
162
|
-
const clearButtonPadding = useMemo(
|
|
163
|
-
(
|
|
164
|
-
|
|
165
|
-
if (
|
|
166
|
-
if (
|
|
167
|
-
if (
|
|
153
|
+
const clearButtonPadding = useMemo(() => {
|
|
154
|
+
return Object.fromEntries(
|
|
155
|
+
Object.entries(responsivePadding).map(([key, value]) => {
|
|
156
|
+
if (value === 0) return [key, 0]
|
|
157
|
+
if (value === 1) return [key, 0]
|
|
158
|
+
if (value === 2) return [key, 1]
|
|
168
159
|
|
|
169
|
-
return typeof
|
|
170
|
-
})
|
|
171
|
-
|
|
172
|
-
)
|
|
160
|
+
return [key, typeof value === 'number' ? value - 1 : 0]
|
|
161
|
+
}),
|
|
162
|
+
) as ResponsiveProp<Space>
|
|
163
|
+
}, [responsivePadding])
|
|
173
164
|
|
|
174
165
|
const clearButtonProps: TextInputClearButtonProps = useMemo(
|
|
175
166
|
() => (isRecord(clearButton) ? clearButton : EMPTY_RECORD),
|
|
@@ -178,18 +169,16 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
|
|
|
178
169
|
|
|
179
170
|
return (
|
|
180
171
|
<Box
|
|
181
|
-
|
|
182
|
-
className={
|
|
172
|
+
alignItems="center"
|
|
173
|
+
className={textInput({
|
|
183
174
|
className,
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}),
|
|
192
|
-
)}
|
|
175
|
+
border,
|
|
176
|
+
fontSize,
|
|
177
|
+
padding,
|
|
178
|
+
radius,
|
|
179
|
+
gap: gap ?? space,
|
|
180
|
+
width,
|
|
181
|
+
})}
|
|
193
182
|
data-icon-left={IconComponent ? '' : undefined}
|
|
194
183
|
data-icon-right={IconRightComponent ? '' : undefined}
|
|
195
184
|
data-invalid={customValidity ? '' : undefined}
|
|
@@ -218,7 +207,7 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
|
|
|
218
207
|
|
|
219
208
|
<Box className={_inputPresentation()} position="absolute">
|
|
220
209
|
{IconComponent && (
|
|
221
|
-
<Box padding={padding} position="absolute"
|
|
210
|
+
<Box padding={padding} position="absolute" insetTop={0} insetLeft={0}>
|
|
222
211
|
<Text size={fontSize}>
|
|
223
212
|
{isValidElement(IconComponent) && IconComponent}
|
|
224
213
|
{isValidElementType(IconComponent) && <IconComponent />}
|
|
@@ -227,7 +216,7 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
|
|
|
227
216
|
)}
|
|
228
217
|
|
|
229
218
|
{!withClearButton && IconRightComponent && (
|
|
230
|
-
<Box padding={padding} position="absolute"
|
|
219
|
+
<Box padding={padding} position="absolute" insetTop={0} insetRight={0}>
|
|
231
220
|
<Text size={fontSize}>
|
|
232
221
|
{isValidElement(IconRightComponent) && IconRightComponent}
|
|
233
222
|
{isValidElementType(IconRightComponent) && <IconRightComponent />}
|
|
@@ -237,7 +226,13 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
|
|
|
237
226
|
</Box>
|
|
238
227
|
|
|
239
228
|
{!disabled && !readOnly && clearButton && (
|
|
240
|
-
<Box
|
|
229
|
+
<Box
|
|
230
|
+
insetTop={0}
|
|
231
|
+
insetRight={0}
|
|
232
|
+
padding={clearButtonBoxPadding}
|
|
233
|
+
position="absolute"
|
|
234
|
+
style={{zIndex: 2}}
|
|
235
|
+
>
|
|
241
236
|
<Button
|
|
242
237
|
aria-label="Clear"
|
|
243
238
|
data-qa="clear-button"
|
|
@@ -263,5 +258,3 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
|
|
|
263
258
|
</Box>
|
|
264
259
|
)
|
|
265
260
|
}
|
|
266
|
-
|
|
267
|
-
TextInput.displayName = 'TextInput'
|
|
@@ -8,12 +8,7 @@ import {
|
|
|
8
8
|
shift,
|
|
9
9
|
useFloating,
|
|
10
10
|
} from '@floating-ui/react-dom'
|
|
11
|
-
import {
|
|
12
|
-
_composeClassNames,
|
|
13
|
-
type RadiusStyleProps,
|
|
14
|
-
type ShadowStyleProps,
|
|
15
|
-
tooltip,
|
|
16
|
-
} from '@sanity/ui/css'
|
|
11
|
+
import {type RadiusStyleProps, type ShadowStyleProps, tooltip} from '@sanity/ui/css'
|
|
17
12
|
import type {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'
|
|
18
13
|
import {AnimatePresence} from 'framer-motion'
|
|
19
14
|
import {
|
|
@@ -36,7 +31,7 @@ import {
|
|
|
36
31
|
import {useEffectEvent} from 'use-effect-event'
|
|
37
32
|
|
|
38
33
|
import {Z_OFFSETS} from '../../constants'
|
|
39
|
-
import {
|
|
34
|
+
import {usePrefersReducedMotion} from '../../hooks'
|
|
40
35
|
import {useDelayedState} from '../../hooks/useDelayedState'
|
|
41
36
|
import {origin} from '../../middleware/origin'
|
|
42
37
|
import type {ComponentType, Placement, Props} from '../../types'
|
|
@@ -121,7 +116,7 @@ export function Tooltip<E extends TooltipElementType = typeof DEFAULT_TOOLTIP_EL
|
|
|
121
116
|
content,
|
|
122
117
|
delay,
|
|
123
118
|
disabled,
|
|
124
|
-
fallbackPlacements
|
|
119
|
+
fallbackPlacements = props.fallbackPlacements ??
|
|
125
120
|
DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],
|
|
126
121
|
padding = 2,
|
|
127
122
|
placement: placementProp = 'bottom',
|
|
@@ -138,7 +133,6 @@ export function Tooltip<E extends TooltipElementType = typeof DEFAULT_TOOLTIP_EL
|
|
|
138
133
|
const card = useCard()
|
|
139
134
|
const prefersReducedMotion = usePrefersReducedMotion()
|
|
140
135
|
const animate = prefersReducedMotion ? false : _animate
|
|
141
|
-
const fallbackPlacements = useArrayProp(fallbackPlacementsProp)
|
|
142
136
|
const ref = useRef<HTMLDivElement | null>(null)
|
|
143
137
|
const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)
|
|
144
138
|
const arrowRef = useRef<HTMLDivElement | null>(null)
|
|
@@ -396,7 +390,7 @@ export function Tooltip<E extends TooltipElementType = typeof DEFAULT_TOOLTIP_EL
|
|
|
396
390
|
arrowX={arrowX}
|
|
397
391
|
arrowY={arrowY}
|
|
398
392
|
as={as}
|
|
399
|
-
className={
|
|
393
|
+
className={tooltip({className})}
|
|
400
394
|
originX={originX}
|
|
401
395
|
originY={originY}
|
|
402
396
|
padding={padding}
|
|
@@ -488,5 +482,3 @@ function useCloseOnMouseLeave({
|
|
|
488
482
|
return () => window.removeEventListener('mousemove', handleMouseMove)
|
|
489
483
|
}, [isInsideGroup, showTooltip])
|
|
490
484
|
}
|
|
491
|
-
|
|
492
|
-
Tooltip.displayName = 'Tooltip'
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type {
|
|
2
|
-
|
|
2
|
+
AlignItems,
|
|
3
|
+
Flex,
|
|
3
4
|
FlexDirection,
|
|
4
|
-
FlexJustify,
|
|
5
|
-
FlexValue,
|
|
6
5
|
FlexWrap,
|
|
7
6
|
GridItemColumn,
|
|
8
7
|
GridItemColumnEnd,
|
|
@@ -10,6 +9,7 @@ import type {
|
|
|
10
9
|
GridItemRow,
|
|
11
10
|
GridItemRowEnd,
|
|
12
11
|
GridItemRowStart,
|
|
12
|
+
JustifyContent,
|
|
13
13
|
} from '@sanity/ui/css'
|
|
14
14
|
|
|
15
15
|
import type {
|
|
@@ -51,9 +51,9 @@ export interface ResponsiveBoxProps {
|
|
|
51
51
|
* @deprecated
|
|
52
52
|
*/
|
|
53
53
|
export interface ResponsiveFlexProps {
|
|
54
|
-
align?:
|
|
54
|
+
align?: AlignItems | AlignItems[]
|
|
55
55
|
direction?: FlexDirection | FlexDirection[]
|
|
56
|
-
justify?:
|
|
56
|
+
justify?: JustifyContent | JustifyContent[]
|
|
57
57
|
wrap?: FlexWrap | FlexWrap[]
|
|
58
58
|
}
|
|
59
59
|
|
|
@@ -63,7 +63,7 @@ export interface ResponsiveFlexProps {
|
|
|
63
63
|
*/
|
|
64
64
|
export interface ResponsiveFlexItemProps {
|
|
65
65
|
/** Sets the flex CSS attribute. The property is responsive. */
|
|
66
|
-
flex?:
|
|
66
|
+
flex?: Flex | Flex[]
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
/**
|
package/src/core/types/flex.ts
CHANGED
|
@@ -3,7 +3,7 @@ export {
|
|
|
3
3
|
* @public
|
|
4
4
|
* @deprecated
|
|
5
5
|
*/
|
|
6
|
-
type FlexAlign,
|
|
6
|
+
type AlignItems as FlexAlign,
|
|
7
7
|
/**
|
|
8
8
|
* @public
|
|
9
9
|
* @deprecated
|
|
@@ -13,12 +13,12 @@ export {
|
|
|
13
13
|
* @public
|
|
14
14
|
* @deprecated
|
|
15
15
|
*/
|
|
16
|
-
type FlexJustify,
|
|
16
|
+
type JustifyContent as FlexJustify,
|
|
17
17
|
/**
|
|
18
18
|
* @public
|
|
19
19
|
* @deprecated
|
|
20
20
|
*/
|
|
21
|
-
type FlexValue,
|
|
21
|
+
type Flex as FlexValue,
|
|
22
22
|
/**
|
|
23
23
|
* @public
|
|
24
24
|
* @deprecated
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {_arrow, _arrowShape, _arrowStroke, _arrowStrokeMask,
|
|
1
|
+
import {_arrow, _arrowShape, _arrowStroke, _arrowStrokeMask, _arrowSvg, vars} from '@sanity/ui/css'
|
|
2
|
+
import {assignInlineVars} from '@vanilla-extract/dynamic'
|
|
2
3
|
import {useMemo} from 'react'
|
|
3
4
|
|
|
4
5
|
import type {ComponentType, Props} from '../../types'
|
|
@@ -53,8 +54,15 @@ export function Arrow<E extends ArrowElementType = typeof DEFAULT_ARROW_ELEMENT>
|
|
|
53
54
|
const fillPath = `${path} M ${w} -1 M 0 -1 Z`
|
|
54
55
|
|
|
55
56
|
return (
|
|
56
|
-
<Element
|
|
57
|
-
|
|
57
|
+
<Element
|
|
58
|
+
{...rest}
|
|
59
|
+
className={_arrow()}
|
|
60
|
+
style={{
|
|
61
|
+
...style,
|
|
62
|
+
...assignInlineVars({[vars.arrow.size]: `${w}px`}),
|
|
63
|
+
}}
|
|
64
|
+
>
|
|
65
|
+
<svg className={_arrowSvg()} width={w} height={w} viewBox={`0 0 ${w} ${w}`}>
|
|
58
66
|
<mask id="stroke-mask">
|
|
59
67
|
<rect className={_arrowStrokeMask()} x={0} width={w} height={w} fill="white" />
|
|
60
68
|
</mask>
|
|
@@ -64,5 +72,3 @@ export function Arrow<E extends ArrowElementType = typeof DEFAULT_ARROW_ELEMENT>
|
|
|
64
72
|
</Element>
|
|
65
73
|
)
|
|
66
74
|
}
|
|
67
|
-
|
|
68
|
-
Arrow.displayName = 'Arrow'
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type {ResponsiveProp} from '@sanity/ui/css'
|
|
2
|
+
|
|
1
3
|
import type {CardElementType, CardOwnProps} from '../../primitives'
|
|
2
4
|
import type {Props} from '../../types'
|
|
3
5
|
import {LayerCard} from './layerCard'
|
|
@@ -10,7 +12,7 @@ export const DEFAULT_LAYER_ELEMENT = 'div'
|
|
|
10
12
|
export type LayerOwnProps = CardOwnProps & {
|
|
11
13
|
/** A callback that fires when the layer becomes the top layer when it was not the top layer before. */
|
|
12
14
|
onActivate?: (props: {activeElement: HTMLElement | null}) => void
|
|
13
|
-
zOffset?: number
|
|
15
|
+
zOffset?: ResponsiveProp<number>
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
/** @public */
|
|
@@ -38,5 +40,3 @@ export function Layer<E extends LayerElementType = typeof DEFAULT_LAYER_ELEMENT>
|
|
|
38
40
|
</LayerProvider>
|
|
39
41
|
)
|
|
40
42
|
}
|
|
41
|
-
|
|
42
|
-
Layer.displayName = 'Layer'
|