@sanity/ui 4.0.0-static.4 → 4.0.0-static.40
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/dist/_chunks-es/{refractor.js → Refractor.js} +1 -1
- package/dist/_chunks-es/{refractor.js.map → Refractor.js.map} +1 -1
- package/dist/css/index.css +2 -1
- package/dist/css/index.css.map +1 -0
- package/dist/css/index.d.ts +51 -7
- package/dist/css/index.js +17979 -55
- package/dist/css/index.js.map +1 -1
- package/dist/index.d.ts +26 -38
- package/dist/index.js +1744 -1127
- package/dist/index.js.map +1 -1
- package/exports/css/index.css +1 -0
- package/package.json +39 -51
- package/src/core/Root.tsx +1 -1
- package/src/core/RootProvider.tsx +5 -5
- package/src/core/__workshop__/index.ts +1 -1
- package/src/core/components/autocomplete/{autocomplete.tsx → Autocomplete.tsx} +90 -58
- package/src/core/components/autocomplete/__workshop__/{custom.tsx → Custom.tsx} +14 -1
- package/src/core/components/autocomplete/__workshop__/{example.tsx → Example.tsx} +12 -1
- package/src/core/components/autocomplete/__workshop__/index.ts +6 -6
- package/src/core/components/autocomplete/types.ts +1 -1
- package/src/core/components/breadcrumbs/{breadcrumbs.tsx → Breadcrumbs.tsx} +80 -47
- package/src/core/components/breadcrumbs/__workshop__/index.ts +1 -1
- package/src/core/components/dialog/{dialog.tsx → Dialog.tsx} +20 -11
- package/src/core/components/dialog/{dialogCard.tsx → DialogCard.tsx} +9 -9
- package/src/core/components/dialog/{dialogContext.ts → DialogContext.ts} +1 -1
- package/src/core/components/dialog/{dialogProvider.tsx → DialogProvider.tsx} +2 -2
- package/src/core/components/dialog/__workshop__/{panes.tsx → Panes.tsx} +9 -21
- package/src/core/components/dialog/__workshop__/{position.tsx → Position.tsx} +9 -1
- package/src/core/components/dialog/__workshop__/{props.tsx → Props.tsx} +2 -0
- package/src/core/components/dialog/__workshop__/index.ts +10 -10
- package/src/core/components/dialog/__workshop__/styles.css.ts +18 -0
- package/src/core/components/dialog/useDialog.ts +3 -3
- package/src/core/components/hotkeys/{hotkeys.tsx → Hotkeys.tsx} +2 -2
- package/src/core/components/hotkeys/__workshop__/index.ts +1 -1
- package/src/core/components/menu/{menu.test.tsx → Menu.test.tsx} +9 -13
- package/src/core/components/menu/{menu.tsx → Menu.tsx} +19 -24
- package/src/core/components/menu/{menuButton.tsx → MenuButton.tsx} +14 -9
- package/src/core/components/menu/{menuContext.ts → MenuContext.ts} +3 -4
- package/src/core/components/menu/{menuGroup.tsx → MenuGroup.tsx} +16 -11
- package/src/core/components/menu/{menuItem.tsx → MenuItem.tsx} +7 -9
- package/src/core/components/menu/__workshop__/DataProps.tsx +27 -0
- package/src/core/components/menu/__workshop__/{menuButton.tsx → MenuButton.tsx} +6 -1
- package/src/core/components/menu/__workshop__/{tones.tsx → Tones.tsx} +7 -1
- package/src/core/components/menu/__workshop__/index.ts +22 -17
- package/src/core/components/menu/useMenu.ts +5 -5
- package/src/core/components/menu/useMenuController.ts +5 -5
- package/src/core/components/tab/{tab.tsx → Tab.tsx} +1 -1
- package/src/core/components/tab/{tabList.tsx → TabList.tsx} +2 -2
- package/src/core/components/tab/{tabPanel.tsx → TabPanel.tsx} +1 -1
- package/src/core/components/tab/__workshop__/index.ts +1 -1
- package/src/core/components/toast/{toast.test.tsx → Toast.test.tsx} +7 -7
- package/src/core/components/toast/{toast.tsx → Toast.tsx} +6 -6
- package/src/core/components/toast/{toastContext.ts → ToastContext.ts} +1 -1
- package/src/core/components/toast/{toastLayer.tsx → ToastLayer.tsx} +1 -1
- package/src/core/components/toast/{toastProvider.tsx → ToastProvider.tsx} +7 -7
- package/src/core/components/toast/__workshop__/{toast.tsx → Toast.tsx} +2 -0
- package/src/core/components/toast/__workshop__/index.ts +2 -2
- package/src/core/components/toast/useToast.ts +3 -3
- package/src/core/components/tree/{tree.tsx → Tree.tsx} +4 -4
- package/src/core/components/tree/{treeContext.ts → TreeContext.ts} +1 -1
- package/src/core/components/tree/{treeGroup.tsx → TreeGroup.tsx} +1 -1
- package/src/core/components/tree/{treeItem.tsx → TreeItem.tsx} +28 -25
- package/src/core/components/tree/__workshop__/index.ts +4 -4
- package/src/core/components/tree/useTree.ts +3 -3
- package/src/core/components/virtualList/{virtualList.tsx → VirtualList.tsx} +87 -45
- package/src/core/components/virtualList/__workshop__/index.ts +4 -4
- package/src/core/helpers/props.ts +0 -9
- package/src/core/hooks/useGlobalKeyDown.ts +11 -4
- package/src/core/hooks/useMediaIndex/__workshop__/index.ts +1 -1
- package/src/core/hooks/useResponsiveProp.ts +4 -17
- package/src/core/index.ts +68 -66
- package/src/core/lib/createGlobalScopedContext.ts +5 -3
- package/src/core/primitives/avatar/{avatar.tsx → Avatar.tsx} +7 -6
- package/src/core/primitives/avatar/{avatarCounter.tsx → AvatarCounter.tsx} +2 -2
- package/src/core/primitives/avatar/{avatarStack.tsx → AvatarStack.tsx} +3 -3
- package/src/core/primitives/avatar/__workshop__/{asButton.tsx → AsButton.tsx} +8 -1
- package/src/core/primitives/avatar/__workshop__/PropsStory.tsx +22 -0
- package/src/core/primitives/avatar/__workshop__/{stack.tsx → Stack.tsx} +5 -1
- package/src/core/primitives/avatar/__workshop__/index.ts +9 -4
- package/src/core/primitives/badge/{badge.test.tsx → Badge.test.tsx} +1 -1
- package/src/core/primitives/badge/{badge.tsx → Badge.tsx} +2 -2
- package/src/core/primitives/badge/__workshop__/{props.tsx → Props.tsx} +12 -1
- package/src/core/primitives/badge/__workshop__/index.ts +2 -2
- package/src/core/primitives/box/__workshop__/{props.tsx → Props.tsx} +6 -1
- package/src/core/primitives/box/__workshop__/index.ts +2 -2
- package/src/core/primitives/button/{button.test.tsx → Button.test.tsx} +1 -1
- package/src/core/primitives/button/{button.tsx → Button.tsx} +12 -11
- package/src/core/primitives/button/__workshop__/DataProps.tsx +22 -0
- package/src/core/primitives/button/__workshop__/{props.tsx → Props.tsx} +22 -0
- package/src/core/primitives/button/__workshop__/SanityUploadButton.tsx +21 -0
- package/src/core/primitives/button/__workshop__/{stacked.tsx → Stacked.tsx} +16 -0
- package/src/core/primitives/button/__workshop__/Styled1.tsx +11 -0
- package/src/core/primitives/button/__workshop__/index.ts +15 -15
- package/src/core/primitives/button/__workshop__/styles.css.ts +30 -0
- package/src/core/primitives/card/{card.tsx → Card.tsx} +10 -10
- package/src/core/primitives/card/{cardContext.ts → CardContext.ts} +1 -1
- package/src/core/primitives/card/{cardProvider.tsx → CardProvider.tsx} +3 -12
- package/src/core/primitives/card/__workshop__/DataProps.tsx +30 -0
- package/src/core/primitives/card/__workshop__/{props.tsx → Props.tsx} +10 -0
- package/src/core/primitives/card/__workshop__/{selected.tsx → Selected.tsx} +1 -1
- package/src/core/primitives/card/__workshop__/{styled.tsx → Styled.tsx} +2 -5
- package/src/core/primitives/card/__workshop__/index.ts +10 -9
- package/src/core/primitives/card/useCard.ts +11 -6
- package/src/core/primitives/checkbox/__workshop__/index.ts +4 -4
- package/src/core/primitives/code/{code.tsx → Code.tsx} +26 -2
- package/src/core/primitives/code/__workshop__/{props.tsx → Props.tsx} +6 -1
- package/src/core/primitives/code/__workshop__/index.ts +2 -2
- package/src/core/primitives/container/{container.tsx → Container.tsx} +1 -1
- package/src/core/primitives/container/__workshop__/{example.tsx → Example.tsx} +6 -1
- package/src/core/primitives/container/__workshop__/index.ts +1 -1
- package/src/core/primitives/flex/{flex.tsx → Flex.tsx} +1 -1
- package/src/core/primitives/flex/__workshop__/{example.tsx → Example.tsx} +14 -16
- package/src/core/primitives/flex/__workshop__/index.ts +2 -2
- package/src/core/primitives/flex/__workshop__/styles.css.ts +12 -0
- package/src/core/primitives/grid/{grid.tsx → Grid.tsx} +1 -1
- package/src/core/primitives/grid/__workshop__/index.ts +1 -1
- package/src/core/primitives/heading/{heading.tsx → Heading.tsx} +16 -0
- package/src/core/primitives/heading/__workshop__/{plain.tsx → Plain.tsx} +12 -1
- package/src/core/primitives/heading/__workshop__/index.ts +2 -2
- package/src/core/primitives/inline/{inline.tsx → Inline.tsx} +2 -1
- package/src/core/primitives/inline/__workshop__/{plain.tsx → Plain.tsx} +5 -1
- package/src/core/primitives/inline/__workshop__/index.ts +1 -1
- package/src/core/primitives/kbd/{kbd.tsx → Kbd.tsx} +2 -2
- package/src/core/primitives/kbd/__workshop__/index.ts +1 -1
- package/src/core/primitives/label/{label.tsx → Label.tsx} +16 -0
- package/src/core/primitives/label/__workshop__/{plain.tsx → Plain.tsx} +15 -1
- package/src/core/primitives/label/__workshop__/index.ts +2 -2
- package/src/core/primitives/layer/{layer.test.tsx → Layer.test.tsx} +7 -7
- package/src/core/primitives/layer/{layer.tsx → Layer.tsx} +3 -3
- package/src/core/primitives/layer/{layerCard.tsx → LayerCard.tsx} +2 -2
- package/src/core/primitives/layer/{layerContext.ts → LayerContext.ts} +1 -1
- package/src/core/primitives/layer/{layerProvider.tsx → LayerProvider.tsx} +6 -6
- package/src/core/primitives/layer/__workshop__/index.ts +3 -3
- package/src/core/primitives/layer/useLayer.ts +3 -3
- package/src/core/primitives/popover/{popover.tsx → Popover.tsx} +170 -150
- package/src/core/primitives/popover/{popoverLayer.tsx → PopoverLayer.tsx} +3 -3
- package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +13 -1
- package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +2 -0
- package/src/core/primitives/popover/__workshop__/PlainStory.tsx +8 -0
- package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +7 -1
- package/src/core/primitives/popover/__workshop__/TestStory.tsx +6 -0
- package/src/core/primitives/popover/floating-ui/size.ts +17 -16
- package/src/core/primitives/radio/{radio.tsx → Radio.tsx} +2 -2
- package/src/core/primitives/radio/__workshop__/index.ts +2 -2
- package/src/core/primitives/select/{select.tsx → Select.tsx} +7 -5
- package/src/core/primitives/select/__workshop__/{plain.tsx → Plain.tsx} +4 -0
- package/src/core/primitives/select/__workshop__/index.ts +2 -2
- package/src/core/primitives/selectable/{selectable.tsx → Selectable.tsx} +2 -2
- package/src/core/primitives/selectable/__workshop__/DataProps.tsx +27 -0
- package/src/core/primitives/selectable/__workshop__/index.ts +14 -0
- package/src/core/primitives/skeleton/{codeSkeleton.tsx → CodeSkeleton.tsx} +1 -1
- package/src/core/primitives/skeleton/{headingSkeleton.tsx → HeadingSkeleton.tsx} +1 -1
- package/src/core/primitives/skeleton/{labelSkeleton.tsx → LabelSkeleton.tsx} +1 -1
- package/src/core/primitives/skeleton/{skeleton.tsx → Skeleton.tsx} +2 -2
- package/src/core/primitives/skeleton/{textSkeleton.tsx → TextSkeleton.tsx} +1 -1
- package/src/core/primitives/skeleton/__workshop__/{delay.tsx → Delay.tsx} +9 -1
- package/src/core/primitives/skeleton/__workshop__/{skeleton.tsx → Skeleton.tsx} +9 -1
- package/src/core/primitives/skeleton/__workshop__/index.ts +2 -2
- package/src/core/primitives/spinner/{spinner.tsx → Spinner.tsx} +2 -2
- package/src/core/primitives/spinner/__workshop__/Props.tsx +6 -1
- package/src/core/primitives/stack/{stack.tsx → Stack.tsx} +1 -1
- package/src/core/primitives/stack/__workshop__/{plain.tsx → Plain.tsx} +4 -1
- package/src/core/primitives/stack/__workshop__/index.ts +1 -1
- package/src/core/primitives/switch/{switch.tsx → Switch.tsx} +2 -10
- package/src/core/primitives/switch/__workshop__/index.ts +2 -2
- package/src/core/primitives/text/{text.tsx → Text.tsx} +14 -0
- package/src/core/primitives/text/__workshop__/{colored.tsx → Colored.tsx} +10 -8
- package/src/core/primitives/text/__workshop__/{example.tsx → Example.tsx} +15 -1
- package/src/core/primitives/text/__workshop__/index.ts +3 -3
- package/src/core/primitives/textArea/{textArea.tsx → TextArea.tsx} +7 -1
- package/src/core/primitives/textArea/__workshop__/{plain.tsx → Plain.tsx} +8 -0
- package/src/core/primitives/textArea/__workshop__/index.ts +1 -1
- package/src/core/primitives/textInput/{textInput.tsx → TextInput.tsx} +93 -72
- package/src/core/primitives/textInput/__workshop__/{plain.tsx → Plain.tsx} +34 -4
- package/src/core/primitives/textInput/__workshop__/{typed.tsx → Typed.tsx} +7 -1
- package/src/core/primitives/textInput/__workshop__/index.ts +7 -7
- package/src/core/primitives/tooltip/{tooltip.test.tsx → Tooltip.test.tsx} +4 -4
- package/src/core/primitives/tooltip/{tooltip.tsx → Tooltip.tsx} +102 -63
- package/src/core/primitives/tooltip/{tooltipLayer.tsx → TooltipLayer.tsx} +2 -2
- package/src/core/primitives/tooltip/__workshop__/{customPortal.tsx → CustomPortal.tsx} +2 -0
- package/src/core/primitives/tooltip/__workshop__/{overflowingBoundary.tsx → OverflowingBoundary.tsx} +2 -0
- package/src/core/primitives/tooltip/__workshop__/{props.tsx → Props.tsx} +12 -0
- package/src/core/primitives/tooltip/__workshop__/{resizableBoundary.tsx → ResizableBoundary.tsx} +5 -0
- package/src/core/primitives/tooltip/__workshop__/index.ts +4 -4
- package/src/core/primitives/tooltip/tooltipDelayGroup/{tooltipDelayGroupContext.tsx → TooltipDelayGroupContext.tsx} +1 -1
- package/src/core/primitives/tooltip/tooltipDelayGroup/{tooltipDelayGroupProvider.tsx → TooltipDelayGroupProvider.tsx} +2 -4
- package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +3 -3
- package/src/core/types.ts +6 -5
- package/src/core/utils/{errorBoundary.tsx → ErrorBoundary.tsx} +1 -1
- package/src/core/utils/boundaryElement/{boundaryElementContext.ts → BoundaryElementContext.ts} +2 -5
- package/src/core/utils/boundaryElement/BoundaryElementProvider.tsx +16 -0
- package/src/core/utils/boundaryElement/__workshop__/index.ts +1 -1
- package/src/core/utils/boundaryElement/types.ts +1 -4
- package/src/core/utils/boundaryElement/useBoundaryElement.ts +7 -19
- package/src/core/utils/elementQuery/__workshop__/CustomMedia.tsx +19 -0
- package/src/core/utils/elementQuery/__workshop__/index.ts +1 -1
- package/src/core/utils/elementQuery/__workshop__/styles.css.ts +31 -0
- package/src/core/utils/portal/{portal.test.tsx → Portal.test.tsx} +7 -7
- package/src/core/utils/portal/{portal.tsx → Portal.tsx} +7 -4
- package/src/core/utils/portal/{portalContext.ts → PortalContext.ts} +1 -1
- package/src/core/utils/portal/PortalProvider.tsx +38 -0
- package/src/core/utils/portal/__workshop__/index.ts +1 -1
- package/src/core/utils/portal/usePortal.ts +12 -5
- package/src/css/_responsiveStyle.css.ts +2 -2
- package/src/css/primitives/_input/_input.css.ts +13 -12
- package/src/css/primitives/_input/input.ts +2 -0
- package/src/css/primitives/_input/types.ts +2 -1
- package/src/css/primitives/avatar/avatar.css.ts +17 -5
- package/src/css/primitives/box/box.css.ts +19 -1
- package/src/css/primitives/button/button.css.ts +252 -183
- package/src/css/primitives/card/__workshop__/{color.tsx → Color.tsx} +9 -1
- package/src/css/primitives/card/__workshop__/index.ts +1 -1
- package/src/css/primitives/card/card.css.ts +133 -130
- package/src/css/primitives/checkbox/checkbox.css.ts +1 -0
- package/src/css/primitives/code/code.ts +4 -0
- package/src/css/primitives/code/types.ts +7 -1
- package/src/css/primitives/heading/heading.ts +4 -0
- package/src/css/primitives/heading/types.ts +7 -1
- package/src/css/primitives/label/label.ts +4 -0
- package/src/css/primitives/label/types.ts +7 -1
- package/src/css/primitives/radio/radio.css.ts +1 -1
- package/src/css/primitives/root/root.css.ts +1 -1
- package/src/css/primitives/select/select.css.ts +7 -1
- package/src/css/primitives/selectable/selectable.css.ts +79 -70
- package/src/css/primitives/switch/switch.css.ts +10 -1
- package/src/css/primitives/text/text.ts +2 -0
- package/src/css/primitives/text/types.ts +6 -1
- package/src/css/primitives/textInput/textInput.css.ts +15 -3
- package/src/css/props/width/types.ts +1 -1
- package/src/css/props/width/width.css.ts +5 -2
- package/src/css/theme/buildCSSTheme.ts +4 -0
- package/src/css/types.ts +4 -0
- package/src/css/vars.css.ts +4 -0
- package/dist/_chunks-cjs/refractor.cjs +0 -22
- package/dist/_chunks-cjs/refractor.cjs.map +0 -1
- package/dist/css/index.cjs +0 -966
- package/dist/css/index.cjs.map +0 -1
- package/dist/css/index.d.cts +0 -1370
- package/dist/index.cjs +0 -4515
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -2521
- package/dist/theme.cjs +0 -870
- package/dist/theme.cjs.map +0 -1
- package/dist/theme.d.cts +0 -499
- package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +0 -36
- package/src/core/primitives/button/__workshop__/styled1.tsx +0 -17
- package/src/core/primitives/button/__workshop__/styled2.tsx +0 -19
- package/src/core/primitives/popover/helpers.ts +0 -32
- package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
- package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -102
- package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -18
- package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +0 -41
- package/src/core/utils/portal/portalProvider.tsx +0 -70
- /package/src/core/__workshop__/{boundary.tsx → Boundary.tsx} +0 -0
- /package/src/core/components/autocomplete/{autocompleteOption.tsx → AutocompleteOption.tsx} +0 -0
- /package/src/core/components/autocomplete/__workshop__/{async.tsx → Async.tsx} +0 -0
- /package/src/core/components/autocomplete/__workshop__/{constrainedHeight.tsx → ConstrainedHeight.tsx} +0 -0
- /package/src/core/components/autocomplete/__workshop__/{focusAndBlur.tsx → FocusAndBlur.tsx} +0 -0
- /package/src/core/components/autocomplete/__workshop__/{fullscreen.tsx → Fullscreen.tsx} +0 -0
- /package/src/core/components/breadcrumbs/__workshop__/{example.tsx → Example.tsx} +0 -0
- /package/src/core/components/dialog/__workshop__/{activate.tsx → Activate.tsx} +0 -0
- /package/src/core/components/dialog/__workshop__/{autoFocus.tsx → AutoFocus.tsx} +0 -0
- /package/src/core/components/dialog/__workshop__/{layering.tsx → Layering.tsx} +0 -0
- /package/src/core/components/dialog/__workshop__/{nested.tsx → Nested.tsx} +0 -0
- /package/src/core/components/dialog/__workshop__/{onScroll.tsx → OnScroll.tsx} +0 -0
- /package/src/core/components/dialog/__workshop__/{provider.tsx → Provider.tsx} +0 -0
- /package/src/core/components/dialog/__workshop__/{wrapped.tsx → Wrapped.tsx} +0 -0
- /package/src/core/components/hotkeys/__workshop__/{plain.tsx → Plain.tsx} +0 -0
- /package/src/core/components/menu/{menuDivider.tsx → MenuDivider.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{asComponent.tsx → AsComponent.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{avatarMenu.tsx → AvatarMenu.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{closableMenuButton.tsx → ClosableMenuButton.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{constrainedInBoundary.tsx → ConstrainedInBoundary.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{customMenuItem.tsx → CustomMenuItem.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{customSelectedState.tsx → CustomSelectedState.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{disableFocusOnClose.tsx → DisableFocusOnClose.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{groups.tsx → Groups.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{menuGroupRight.tsx → MenuGroupRight.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{nestedMenu.tsx → NestedMenu.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{onCloseMenuButton.tsx → OnCloseMenuButton.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{selectedItem.tsx → SelectedItem.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{shouldFocus.tsx → ShouldFocus.tsx} +0 -0
- /package/src/core/components/menu/__workshop__/{withoutArrow.tsx → WithoutArrow.tsx} +0 -0
- /package/src/core/components/tab/__workshop__/{example.tsx → Example.tsx} +0 -0
- /package/src/core/components/toast/__workshop__/{hook.tsx → Hook.tsx} +0 -0
- /package/src/core/components/tree/__workshop__/{basic.tsx → Basic.tsx} +0 -0
- /package/src/core/components/tree/__workshop__/{tabFromElement.tsx → TabFromElement.tsx} +0 -0
- /package/src/core/components/virtualList/__workshop__/{changingProps.tsx → ChangingProps.tsx} +0 -0
- /package/src/core/components/virtualList/__workshop__/{elementScroll.tsx → ElementScroll.tsx} +0 -0
- /package/src/core/components/virtualList/__workshop__/{infiniteList.tsx → InfiniteList.tsx} +0 -0
- /package/src/core/components/virtualList/__workshop__/{windowScrolll.tsx → WindowScrolll.tsx} +0 -0
- /package/src/core/hooks/useMediaIndex/__workshop__/{test.tsx → Test.tsx} +0 -0
- /package/src/core/primitives/arrow/{arrow.tsx → Arrow.tsx} +0 -0
- /package/src/core/primitives/avatar/__workshop__/{withinButton.tsx → WithinButton.tsx} +0 -0
- /package/src/core/primitives/avatar/__workshop__/{withinMenuItem.tsx → WithinMenuItem.tsx} +0 -0
- /package/src/core/primitives/badge/__workshop__/{tones.tsx → Tones.tsx} +0 -0
- /package/src/core/primitives/box/{box.tsx → Box.tsx} +0 -0
- /package/src/core/primitives/box/__workshop__/{responsive.tsx → Responsive.tsx} +0 -0
- /package/src/core/primitives/button/__workshop__/{custom.tsx → Custom.tsx} +0 -0
- /package/src/core/primitives/button/__workshop__/{customIcons.tsx → CustomIcons.tsx} +0 -0
- /package/src/core/primitives/button/__workshop__/{disabled.tsx → Disabled.tsx} +0 -0
- /package/src/core/primitives/button/__workshop__/{mixedChildren.tsx → MixedChildren.tsx} +0 -0
- /package/src/core/primitives/button/__workshop__/{textOverflow.tsx → TextOverflow.tsx} +0 -0
- /package/src/core/primitives/button/__workshop__/{uploadButton.tsx → UploadButton.tsx} +0 -0
- /package/src/core/primitives/card/__workshop__/{asButton.tsx → AsButton.tsx} +0 -0
- /package/src/core/primitives/card/__workshop__/{asComponent.tsx → AsComponent.tsx} +0 -0
- /package/src/core/primitives/card/__workshop__/{checkered.tsx → Checkered.tsx} +0 -0
- /package/src/core/primitives/card/__workshop__/{interactive.tsx → Interactive.tsx} +0 -0
- /package/src/core/primitives/card/__workshop__/{listNavigation.tsx → ListNavigation.tsx} +0 -0
- /package/src/core/primitives/card/__workshop__/{tones.tsx → Tones.tsx} +0 -0
- /package/src/core/primitives/checkbox/{checkbox.tsx → Checkbox.tsx} +0 -0
- /package/src/core/primitives/checkbox/__workshop__/{example.tsx → Example.tsx} +0 -0
- /package/src/core/primitives/checkbox/__workshop__/{props.tsx → Props.tsx} +0 -0
- /package/src/core/primitives/checkbox/__workshop__/{readOnly.tsx → ReadOnly.tsx} +0 -0
- /package/src/core/primitives/checkbox/__workshop__/{tones.tsx → Tones.tsx} +0 -0
- /package/src/core/primitives/code/{refractor.tsx → Refractor.tsx} +0 -0
- /package/src/core/primitives/code/__workshop__/{opticalAlignment.tsx → OpticalAlignment.tsx} +0 -0
- /package/src/core/primitives/flex/__workshop__/{gap.tsx → Gap.tsx} +0 -0
- /package/src/core/primitives/grid/__workshop__/{responsive.tsx → Responsive.tsx} +0 -0
- /package/src/core/primitives/heading/__workshop__/{opticalAlignment.tsx → OpticalAlignment.tsx} +0 -0
- /package/src/core/primitives/kbd/__workshop__/{plain.tsx → Plain.tsx} +0 -0
- /package/src/core/primitives/label/__workshop__/{opticalAlignment.tsx → OpticalAlignment.tsx} +0 -0
- /package/src/core/primitives/layer/__workshop__/{multipleRoots.tsx → MultipleRoots.tsx} +0 -0
- /package/src/core/primitives/layer/__workshop__/{nested.tsx → Nested.tsx} +0 -0
- /package/src/core/primitives/layer/__workshop__/{responsiveZOffset.tsx → ResponsiveZOffset.tsx} +0 -0
- /package/src/core/primitives/radio/__workshop__/{example.tsx → Example.tsx} +0 -0
- /package/src/core/primitives/radio/__workshop__/{plain.tsx → Plain.tsx} +0 -0
- /package/src/core/primitives/select/__workshop__/{readOnly.tsx → ReadOnly.tsx} +0 -0
- /package/src/core/primitives/spinner/{animatedSpinnerIcon.tsx → AnimatedSpinnerIcon.tsx} +0 -0
- /package/src/core/primitives/srOnly/{srOnly.tsx → SrOnly.tsx} +0 -0
- /package/src/core/primitives/switch/__workshop__/{example.tsx → Example.tsx} +0 -0
- /package/src/core/primitives/switch/__workshop__/{props.tsx → Props.tsx} +0 -0
- /package/src/core/primitives/text/__workshop__/{opticalAlignment.tsx → OpticalAlignment.tsx} +0 -0
- /package/src/core/primitives/textInput/__workshop__/{clearButton.tsx → ClearButton.tsx} +0 -0
- /package/src/core/primitives/textInput/__workshop__/{customValidity.tsx → CustomValidity.tsx} +0 -0
- /package/src/core/primitives/textInput/__workshop__/{readOnly.tsx → ReadOnly.tsx} +0 -0
- /package/src/core/primitives/textInput/__workshop__/{states.tsx → States.tsx} +0 -0
- /package/src/core/primitives/textInput/__workshop__/{tones.tsx → Tones.tsx} +0 -0
- /package/src/core/utils/boundaryElement/__workshop__/{plain.tsx → Plain.tsx} +0 -0
- /package/src/core/utils/elementQuery/{elementQuery.tsx → ElementQuery.tsx} +0 -0
- /package/src/core/utils/portal/__workshop__/{named.tsx → Named.tsx} +0 -0
|
@@ -4,8 +4,8 @@ import {useImperativeHandle, useRef} from 'react'
|
|
|
4
4
|
|
|
5
5
|
import {useCustomValidity} from '../../hooks/useCustomValidity'
|
|
6
6
|
import type {ComponentType, Props} from '../../types'
|
|
7
|
-
import {Box} from '../box/
|
|
8
|
-
import {Text} from '../text/
|
|
7
|
+
import {Box} from '../box/Box'
|
|
8
|
+
import {Text} from '../text/Text'
|
|
9
9
|
|
|
10
10
|
/** @public */
|
|
11
11
|
export const DEFAULT_SELECT_ELEMENT = 'select'
|
|
@@ -36,12 +36,14 @@ export function Select<E extends SelectElementType = typeof DEFAULT_SELECT_ELEME
|
|
|
36
36
|
children,
|
|
37
37
|
customValidity,
|
|
38
38
|
disabled,
|
|
39
|
+
flex,
|
|
39
40
|
fontSize = 2,
|
|
40
41
|
gap = 2,
|
|
41
42
|
padding = 3,
|
|
42
43
|
radius = 1,
|
|
43
44
|
readOnly,
|
|
44
45
|
ref: forwardedRef,
|
|
46
|
+
width = 'fill',
|
|
45
47
|
...rest
|
|
46
48
|
} = props as SelectProps<typeof DEFAULT_SELECT_ELEMENT>
|
|
47
49
|
|
|
@@ -55,9 +57,9 @@ export function Select<E extends SelectElementType = typeof DEFAULT_SELECT_ELEME
|
|
|
55
57
|
useCustomValidity(ref, customValidity)
|
|
56
58
|
|
|
57
59
|
return (
|
|
58
|
-
<
|
|
60
|
+
<span
|
|
59
61
|
data-ui="Select"
|
|
60
|
-
className={select({border, fontSize, gap, padding, radius})}
|
|
62
|
+
className={select({border, fontSize, flex, gap, padding, radius, width})}
|
|
61
63
|
data-icon-right=""
|
|
62
64
|
>
|
|
63
65
|
<Element {...rest} className={_inputElement()} disabled={disabled || readOnly} ref={ref}>
|
|
@@ -70,6 +72,6 @@ export function Select<E extends SelectElementType = typeof DEFAULT_SELECT_ELEME
|
|
|
70
72
|
</Text>
|
|
71
73
|
</Box>
|
|
72
74
|
</span>
|
|
73
|
-
</
|
|
75
|
+
</span>
|
|
74
76
|
)
|
|
75
77
|
}
|
|
@@ -6,7 +6,9 @@ import {WORKSHOP_RADIUS_OPTIONS, WORKSHOP_TEXT_FONT_SIZE_OPTIONS} from '$worksho
|
|
|
6
6
|
export default function PlainStory(): React.JSX.Element {
|
|
7
7
|
const border = useBoolean('Border', true)
|
|
8
8
|
const disabled = useBoolean('Disabled', false)
|
|
9
|
+
// @ts-expect-error - TODO: fix this
|
|
9
10
|
const fontSize = useSelect('Font size', WORKSHOP_TEXT_FONT_SIZE_OPTIONS)
|
|
11
|
+
// @ts-expect-error - TODO: fix this
|
|
10
12
|
const radius = useSelect('Radius', WORKSHOP_RADIUS_OPTIONS)
|
|
11
13
|
const readOnly = useBoolean('Read only', false)
|
|
12
14
|
|
|
@@ -21,8 +23,10 @@ export default function PlainStory(): React.JSX.Element {
|
|
|
21
23
|
<Select
|
|
22
24
|
border={border}
|
|
23
25
|
disabled={disabled}
|
|
26
|
+
// @ts-expect-error - TODO: fix this
|
|
24
27
|
fontSize={fontSize}
|
|
25
28
|
id="select-example"
|
|
29
|
+
// @ts-expect-error - TODO: fix this
|
|
26
30
|
radius={radius}
|
|
27
31
|
readOnly={readOnly}
|
|
28
32
|
>
|
|
@@ -5,8 +5,8 @@ const scope: WorkshopScope = {
|
|
|
5
5
|
name: 'primitives/select',
|
|
6
6
|
title: 'Select',
|
|
7
7
|
stories: [
|
|
8
|
-
{name: 'plain', title: 'Plain', component: lazy(() => import('./
|
|
9
|
-
{name: 'read-only', title: 'Read-only', component: lazy(() => import('./
|
|
8
|
+
{name: 'plain', title: 'Plain', component: lazy(() => import('./Plain'))},
|
|
9
|
+
{name: 'read-only', title: 'Read-only', component: lazy(() => import('./ReadOnly'))},
|
|
10
10
|
],
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -2,7 +2,7 @@ import {_selectable, type SelectableStyleProps} from '@sanity/ui/css'
|
|
|
2
2
|
import type {ElementTone} from '@sanity/ui/theme'
|
|
3
3
|
|
|
4
4
|
import type {ComponentType, Props} from '../../types'
|
|
5
|
-
import {Box, type BoxOwnProps} from '../box/
|
|
5
|
+
import {Box, type BoxOwnProps} from '../box/Box'
|
|
6
6
|
|
|
7
7
|
/** @internal */
|
|
8
8
|
export const DEFAULT_SELECTABLE_ELEMENT = 'button'
|
|
@@ -44,7 +44,7 @@ export function Selectable<E extends SelectableElementType = typeof DEFAULT_SELE
|
|
|
44
44
|
{...rest}
|
|
45
45
|
as={as}
|
|
46
46
|
className={_selectable({className, radius, tone})}
|
|
47
|
-
data-selected={selected ? '' :
|
|
47
|
+
data-selected={selected ? '' : props['data-selected']}
|
|
48
48
|
/>
|
|
49
49
|
)
|
|
50
50
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {Selectable, Stack, Text} from '@sanity/ui'
|
|
2
|
+
import type {ElementTone} from '@sanity/ui/theme'
|
|
3
|
+
import {useSelect} from '@sanity/ui-workshop'
|
|
4
|
+
|
|
5
|
+
import {WORKSHOP_BUTTON_TONE_OPTIONS} from '$workshop'
|
|
6
|
+
|
|
7
|
+
export default function DataPropsStory(): React.JSX.Element {
|
|
8
|
+
// @ts-expect-error - TODO: fix this
|
|
9
|
+
const tone = useSelect('Tone', WORKSHOP_BUTTON_TONE_OPTIONS, 'default') as ElementTone | undefined
|
|
10
|
+
|
|
11
|
+
return (
|
|
12
|
+
<Stack gap={4} padding={4}>
|
|
13
|
+
<Selectable data-enabled="" padding={3} tone={tone}>
|
|
14
|
+
<Text>Selectable</Text>
|
|
15
|
+
</Selectable>
|
|
16
|
+
<Selectable data-hovered="" padding={3} tone={tone}>
|
|
17
|
+
<Text>Selectable</Text>
|
|
18
|
+
</Selectable>
|
|
19
|
+
<Selectable data-pressed="" padding={3} tone={tone}>
|
|
20
|
+
<Text>Selectable</Text>
|
|
21
|
+
</Selectable>
|
|
22
|
+
<Selectable data-selected="" padding={3} tone={tone}>
|
|
23
|
+
<Text>Selectable</Text>
|
|
24
|
+
</Selectable>
|
|
25
|
+
</Stack>
|
|
26
|
+
)
|
|
27
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {defineScope} from '@sanity/ui-workshop'
|
|
2
|
+
import {lazy} from 'react'
|
|
3
|
+
|
|
4
|
+
export default defineScope({
|
|
5
|
+
name: 'primitives/selectable',
|
|
6
|
+
title: 'Selectable',
|
|
7
|
+
stories: [
|
|
8
|
+
{
|
|
9
|
+
name: 'data-props',
|
|
10
|
+
title: 'Data props',
|
|
11
|
+
component: lazy(() => import('./DataProps')),
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
})
|
|
@@ -2,7 +2,7 @@ import {codeSkeleton, type ResponsiveProp} from '@sanity/ui/css'
|
|
|
2
2
|
import type {FontCodeSize} from '@sanity/ui/theme'
|
|
3
3
|
|
|
4
4
|
import type {Props} from '../../types'
|
|
5
|
-
import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './
|
|
5
|
+
import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './Skeleton'
|
|
6
6
|
|
|
7
7
|
/** @beta */
|
|
8
8
|
export const DEFAULT_CODE_SKELETON_ELEMENT = 'div'
|
|
@@ -2,7 +2,7 @@ import {headingSkeleton, type ResponsiveProp} from '@sanity/ui/css'
|
|
|
2
2
|
import type {FontHeadingSize} from '@sanity/ui/theme'
|
|
3
3
|
|
|
4
4
|
import type {Props} from '../../types'
|
|
5
|
-
import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './
|
|
5
|
+
import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './Skeleton'
|
|
6
6
|
|
|
7
7
|
/** @beta */
|
|
8
8
|
export const DEFAULT_HEADING_SKELETON_ELEMENT = 'div'
|
|
@@ -2,7 +2,7 @@ import {labelSkeleton, type ResponsiveProp} from '@sanity/ui/css'
|
|
|
2
2
|
import type {FontLabelSize} from '@sanity/ui/theme'
|
|
3
3
|
|
|
4
4
|
import type {Props} from '../../types'
|
|
5
|
-
import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './
|
|
5
|
+
import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './Skeleton'
|
|
6
6
|
|
|
7
7
|
/** @beta */
|
|
8
8
|
export const DEFAULT_LABEL_SKELETON_ELEMENT = 'div'
|
|
@@ -43,7 +43,7 @@ export function Skeleton<E extends SkeletonElementType = typeof DEFAULT_SKELETON
|
|
|
43
43
|
|
|
44
44
|
useEffect(() => {
|
|
45
45
|
if (!delay) {
|
|
46
|
-
return
|
|
46
|
+
return undefined
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
const timeout = setTimeout(() => {
|
|
@@ -64,7 +64,7 @@ export function Skeleton<E extends SkeletonElementType = typeof DEFAULT_SKELETON
|
|
|
64
64
|
...rest,
|
|
65
65
|
})}
|
|
66
66
|
data-animated={animated ? '' : undefined}
|
|
67
|
-
data-visible={visible ? '' : undefined}
|
|
67
|
+
data-visible={(delay ? visible : true) ? '' : undefined}
|
|
68
68
|
/>
|
|
69
69
|
)
|
|
70
70
|
}
|
|
@@ -2,7 +2,7 @@ import {type ResponsiveProp, textSkeleton} from '@sanity/ui/css'
|
|
|
2
2
|
import type {FontTextSize} from '@sanity/ui/theme'
|
|
3
3
|
|
|
4
4
|
import type {Props} from '../../types'
|
|
5
|
-
import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './
|
|
5
|
+
import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './Skeleton'
|
|
6
6
|
|
|
7
7
|
/** @beta */
|
|
8
8
|
export const DEFAULT_TEXT_SKELETON_ELEMENT = 'div'
|
|
@@ -16,6 +16,7 @@ import {useBoolean, useSelect} from '@sanity/ui-workshop'
|
|
|
16
16
|
import {WORKSHOP_CARD_TONE_OPTIONS} from '$workshop'
|
|
17
17
|
|
|
18
18
|
export default function SkeletonDelayStory(): React.JSX.Element {
|
|
19
|
+
// @ts-expect-error - TODO: fix this
|
|
19
20
|
const tone = useSelect('Tone', WORKSHOP_CARD_TONE_OPTIONS)
|
|
20
21
|
const animated = useBoolean('Animated', true)
|
|
21
22
|
|
|
@@ -23,7 +24,14 @@ export default function SkeletonDelayStory(): React.JSX.Element {
|
|
|
23
24
|
<Box padding={[4, 5, 6]}>
|
|
24
25
|
<Container width={1}>
|
|
25
26
|
<Text muted>Delayed by 2000ms</Text>
|
|
26
|
-
<Card
|
|
27
|
+
<Card
|
|
28
|
+
// @ts-expect-error - TODO: fix this
|
|
29
|
+
tone={tone}
|
|
30
|
+
marginTop={4}
|
|
31
|
+
padding={2}
|
|
32
|
+
radius={2}
|
|
33
|
+
border
|
|
34
|
+
>
|
|
27
35
|
<Flex align="center">
|
|
28
36
|
<Skeleton
|
|
29
37
|
style={{width: 90, height: 90}}
|
|
@@ -16,6 +16,7 @@ import {useBoolean, useSelect} from '@sanity/ui-workshop'
|
|
|
16
16
|
import {WORKSHOP_CARD_TONE_OPTIONS} from '$workshop'
|
|
17
17
|
|
|
18
18
|
export default function SkeletonStory(): React.JSX.Element {
|
|
19
|
+
// @ts-expect-error - TODO: fix this
|
|
19
20
|
const tone = useSelect('Tone', WORKSHOP_CARD_TONE_OPTIONS)
|
|
20
21
|
const animated = useBoolean('Animated', true)
|
|
21
22
|
|
|
@@ -24,7 +25,14 @@ export default function SkeletonStory(): React.JSX.Element {
|
|
|
24
25
|
<Container width={1}>
|
|
25
26
|
<Stack gap={4}>
|
|
26
27
|
{[1, 2, 3].map((item) => (
|
|
27
|
-
<Card
|
|
28
|
+
<Card
|
|
29
|
+
key={item}
|
|
30
|
+
// @ts-expect-error - TODO: fix this
|
|
31
|
+
tone={tone}
|
|
32
|
+
padding={2}
|
|
33
|
+
radius={2}
|
|
34
|
+
border
|
|
35
|
+
>
|
|
28
36
|
<Flex align="center">
|
|
29
37
|
<Grid gap={2} gridTemplateColumns={2} marginRight={3}>
|
|
30
38
|
<Skeleton style={{width: 40, height: 40}} radius={2} animated={animated} />
|
|
@@ -5,8 +5,8 @@ const scope: WorkshopScope = {
|
|
|
5
5
|
name: 'primitives/skeleton',
|
|
6
6
|
title: 'Skeleton',
|
|
7
7
|
stories: [
|
|
8
|
-
{name: 'skeleton', title: 'Skeleton', component: lazy(() => import('./
|
|
9
|
-
{name: 'skeleton-delay', title: 'Skeleton delay', component: lazy(() => import('./
|
|
8
|
+
{name: 'skeleton', title: 'Skeleton', component: lazy(() => import('./Skeleton'))},
|
|
9
|
+
{name: 'skeleton-delay', title: 'Skeleton delay', component: lazy(() => import('./Delay'))},
|
|
10
10
|
],
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -2,8 +2,8 @@ import {type ResponsiveProp, spinner} from '@sanity/ui/css'
|
|
|
2
2
|
import type {FontTextSize} from '@sanity/ui/theme'
|
|
3
3
|
|
|
4
4
|
import type {ComponentType, Props} from '../../types'
|
|
5
|
-
import {Text} from '../text/
|
|
6
|
-
import {AnimatedSpinnerIcon} from './
|
|
5
|
+
import {Text} from '../text/Text'
|
|
6
|
+
import {AnimatedSpinnerIcon} from './AnimatedSpinnerIcon'
|
|
7
7
|
|
|
8
8
|
/** @public */
|
|
9
9
|
export const DEFAULT_SPINNER_ELEMENT = 'div'
|
|
@@ -5,11 +5,16 @@ import {WORKSHOP_TEXT_FONT_SIZE_OPTIONS} from '$workshop'
|
|
|
5
5
|
|
|
6
6
|
export default function Props(): React.JSX.Element {
|
|
7
7
|
const muted = useBoolean('Muted', false)
|
|
8
|
+
// @ts-expect-error - TODO: fix this
|
|
8
9
|
const size = useSelect('Size', WORKSHOP_TEXT_FONT_SIZE_OPTIONS, 2)
|
|
9
10
|
|
|
10
11
|
return (
|
|
11
12
|
<Flex align="center" height="fill" justify="center">
|
|
12
|
-
<Spinner
|
|
13
|
+
<Spinner
|
|
14
|
+
muted={muted}
|
|
15
|
+
// @ts-expect-error - TODO: fix this
|
|
16
|
+
size={size}
|
|
17
|
+
/>
|
|
13
18
|
</Flex>
|
|
14
19
|
)
|
|
15
20
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {stack} from '@sanity/ui/css'
|
|
2
2
|
|
|
3
3
|
import type {Props} from '../../types'
|
|
4
|
-
import {Box, type BoxElementType, type BoxOwnProps} from '../box/
|
|
4
|
+
import {Box, type BoxElementType, type BoxOwnProps} from '../box/Box'
|
|
5
5
|
|
|
6
6
|
/** @public */
|
|
7
7
|
export const DEFAULT_STACK_ELEMENT = 'div'
|
|
@@ -7,7 +7,10 @@ export default function PlainStory(): React.JSX.Element {
|
|
|
7
7
|
return (
|
|
8
8
|
<Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
|
|
9
9
|
<Container width={0}>
|
|
10
|
-
<Stack
|
|
10
|
+
<Stack
|
|
11
|
+
// @ts-expect-error - TODO: fix this
|
|
12
|
+
gap={useSelect('Gap', WORKSHOP_SPACE_OPTIONS, 0)}
|
|
13
|
+
>
|
|
11
14
|
<Card padding={[2, 3, 4]} shadow={1}>
|
|
12
15
|
<Text align="center" muted>
|
|
13
16
|
Stack item
|
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
import {useEffect, useImperativeHandle, useRef} from 'react'
|
|
9
9
|
|
|
10
10
|
import type {ComponentType, Props} from '../../types'
|
|
11
|
-
import {Box} from '../box/box'
|
|
12
11
|
|
|
13
12
|
/** @public */
|
|
14
13
|
export const DEFAULT_SWITCH_ELEMENT = 'input'
|
|
@@ -41,7 +40,6 @@ export function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEME
|
|
|
41
40
|
indeterminate,
|
|
42
41
|
readOnly,
|
|
43
42
|
ref: forwardedRef,
|
|
44
|
-
style,
|
|
45
43
|
...rest
|
|
46
44
|
} = props as SwitchProps<typeof DEFAULT_SWITCH_ELEMENT>
|
|
47
45
|
|
|
@@ -60,13 +58,7 @@ export function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEME
|
|
|
60
58
|
}, [indeterminate])
|
|
61
59
|
|
|
62
60
|
return (
|
|
63
|
-
<
|
|
64
|
-
className={_switch({className})}
|
|
65
|
-
data-ui="Switch"
|
|
66
|
-
display="block"
|
|
67
|
-
position="relative"
|
|
68
|
-
style={style}
|
|
69
|
-
>
|
|
61
|
+
<span className={_switch({className})} data-ui="Switch">
|
|
70
62
|
<Element
|
|
71
63
|
{...rest}
|
|
72
64
|
className={_switchElement()}
|
|
@@ -79,6 +71,6 @@ export function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEME
|
|
|
79
71
|
<span className={_switchTrack()} />
|
|
80
72
|
<span className={_switchThumb()} />
|
|
81
73
|
</span>
|
|
82
|
-
</
|
|
74
|
+
</span>
|
|
83
75
|
)
|
|
84
76
|
}
|
|
@@ -5,8 +5,8 @@ const scope: WorkshopScope = {
|
|
|
5
5
|
name: 'primitives/switch',
|
|
6
6
|
title: 'Switch',
|
|
7
7
|
stories: [
|
|
8
|
-
{name: 'props', title: 'Props', component: lazy(() => import('./
|
|
9
|
-
{name: 'example', title: 'Example', component: lazy(() => import('./
|
|
8
|
+
{name: 'props', title: 'Props', component: lazy(() => import('./Props'))},
|
|
9
|
+
{name: 'example', title: 'Example', component: lazy(() => import('./Example'))},
|
|
10
10
|
],
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -42,6 +42,13 @@ export function Text<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(
|
|
|
42
42
|
children,
|
|
43
43
|
className,
|
|
44
44
|
flex,
|
|
45
|
+
margin,
|
|
46
|
+
marginX,
|
|
47
|
+
marginY,
|
|
48
|
+
marginTop,
|
|
49
|
+
marginRight,
|
|
50
|
+
marginBottom,
|
|
51
|
+
marginLeft,
|
|
45
52
|
maxWidth = 'fill',
|
|
46
53
|
muted,
|
|
47
54
|
size = 2,
|
|
@@ -58,6 +65,13 @@ export function Text<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(
|
|
|
58
65
|
className,
|
|
59
66
|
align,
|
|
60
67
|
flex,
|
|
68
|
+
margin,
|
|
69
|
+
marginX,
|
|
70
|
+
marginY,
|
|
71
|
+
marginTop,
|
|
72
|
+
marginRight,
|
|
73
|
+
marginBottom,
|
|
74
|
+
marginLeft,
|
|
61
75
|
maxWidth,
|
|
62
76
|
muted,
|
|
63
77
|
size,
|
|
@@ -2,22 +2,24 @@ import {Flex, Text} from '@sanity/ui'
|
|
|
2
2
|
import {vars} from '@sanity/ui/css'
|
|
3
3
|
import type {AvatarColor} from '@sanity/ui/theme'
|
|
4
4
|
import {useSelect} from '@sanity/ui-workshop'
|
|
5
|
-
import {
|
|
5
|
+
import {assignInlineVars} from '@vanilla-extract/dynamic'
|
|
6
6
|
|
|
7
7
|
import {WORKSHOP_AVATAR_COLOR_OPTIONS} from '$workshop'
|
|
8
8
|
|
|
9
|
-
const ColoredText = styled(Text)<{$color: AvatarColor}>`
|
|
10
|
-
${vars.color.fg.slice(4, -1)}: ${({$color}) => vars.color.avatar[$color].bg};
|
|
11
|
-
`
|
|
12
|
-
|
|
13
9
|
export default function ColoredTextStory(): React.JSX.Element {
|
|
14
|
-
|
|
10
|
+
// @ts-expect-error - TODO: fix this
|
|
11
|
+
const color: AvatarColor = useSelect('Color', WORKSHOP_AVATAR_COLOR_OPTIONS, 'gray') ?? 'gray'
|
|
15
12
|
|
|
16
13
|
return (
|
|
17
14
|
<Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
|
|
18
|
-
<
|
|
15
|
+
<Text
|
|
16
|
+
align="center"
|
|
17
|
+
size={4}
|
|
18
|
+
weight="bold"
|
|
19
|
+
style={assignInlineVars({[vars.color.fg]: vars.color.avatar[color].bg})}
|
|
20
|
+
>
|
|
19
21
|
{color}
|
|
20
|
-
</
|
|
22
|
+
</Text>
|
|
21
23
|
</Flex>
|
|
22
24
|
)
|
|
23
25
|
}
|
|
@@ -9,17 +9,31 @@ import {
|
|
|
9
9
|
} from '$workshop'
|
|
10
10
|
|
|
11
11
|
export default function TextStory(): React.JSX.Element {
|
|
12
|
+
// @ts-expect-error - TODO: fix this
|
|
12
13
|
const align = useSelect('Align', WORKSHOP_TEXT_ALIGN_OPTIONS)
|
|
13
14
|
const muted = useBoolean('Muted', false)
|
|
15
|
+
// @ts-expect-error - TODO: fix this
|
|
14
16
|
const size = useSelect('Size', WORKSHOP_TEXT_FONT_SIZE_OPTIONS, 1)
|
|
15
17
|
const text = useText('Text', 'Hello, world')
|
|
18
|
+
// @ts-expect-error - TODO: fix this
|
|
16
19
|
const textOverflow = useSelect('Text overflow', WORKSHOP_TEXT_OVERFLOW_OPTIONS)
|
|
20
|
+
// @ts-expect-error - TODO: fix this
|
|
17
21
|
const weight = useSelect('Weight', WORKSHOP_TEXT_WEIGHT_OPTIONS)
|
|
18
22
|
|
|
19
23
|
return (
|
|
20
24
|
<Flex align="center" height="fill" justify="center" padding={4} sizing="border">
|
|
21
25
|
<Container width={0}>
|
|
22
|
-
<Text
|
|
26
|
+
<Text
|
|
27
|
+
// @ts-expect-error - TODO: fix this
|
|
28
|
+
align={align}
|
|
29
|
+
muted={muted}
|
|
30
|
+
// @ts-expect-error - TODO: fix this
|
|
31
|
+
size={size}
|
|
32
|
+
// @ts-expect-error - TODO: fix this
|
|
33
|
+
textOverflow={textOverflow}
|
|
34
|
+
// @ts-expect-error - TODO: fix this
|
|
35
|
+
weight={weight}
|
|
36
|
+
>
|
|
23
37
|
{text}
|
|
24
38
|
</Text>
|
|
25
39
|
</Container>
|
|
@@ -8,17 +8,17 @@ const scope: WorkshopScope = {
|
|
|
8
8
|
{
|
|
9
9
|
name: 'default',
|
|
10
10
|
title: 'Text',
|
|
11
|
-
component: lazy(() => import('./
|
|
11
|
+
component: lazy(() => import('./Example')),
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
name: 'colored',
|
|
15
15
|
title: 'Colored text',
|
|
16
|
-
component: lazy(() => import('./
|
|
16
|
+
component: lazy(() => import('./Colored')),
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
name: 'optical-alignment',
|
|
20
20
|
title: 'Optical alignment',
|
|
21
|
-
component: lazy(() => import('./
|
|
21
|
+
component: lazy(() => import('./OpticalAlignment')),
|
|
22
22
|
},
|
|
23
23
|
],
|
|
24
24
|
}
|
|
@@ -37,14 +37,17 @@ export function TextArea<E extends TextAreaElementType = typeof DEFAULT_TEXT_ARE
|
|
|
37
37
|
__unstable_disableFocusRing,
|
|
38
38
|
as: Element = DEFAULT_TEXT_AREA_ELEMENT,
|
|
39
39
|
border = true,
|
|
40
|
+
className,
|
|
40
41
|
customValidity,
|
|
41
42
|
disabled = false,
|
|
43
|
+
flex,
|
|
42
44
|
fontSize = 2,
|
|
43
45
|
gap = 3,
|
|
44
46
|
padding = 3,
|
|
45
47
|
radius = 2,
|
|
46
48
|
readOnly,
|
|
47
49
|
ref: forwardedRef,
|
|
50
|
+
width,
|
|
48
51
|
...rest
|
|
49
52
|
} = props as TextAreaProps<typeof DEFAULT_TEXT_AREA_ELEMENT>
|
|
50
53
|
|
|
@@ -60,11 +63,14 @@ export function TextArea<E extends TextAreaElementType = typeof DEFAULT_TEXT_ARE
|
|
|
60
63
|
return (
|
|
61
64
|
<span
|
|
62
65
|
className={textArea({
|
|
66
|
+
className,
|
|
63
67
|
border,
|
|
68
|
+
flex,
|
|
64
69
|
fontSize,
|
|
70
|
+
gap,
|
|
65
71
|
padding,
|
|
66
72
|
radius,
|
|
67
|
-
|
|
73
|
+
width,
|
|
68
74
|
})}
|
|
69
75
|
data-invalid={customValidity ? '' : undefined}
|
|
70
76
|
data-read-only={!disabled && readOnly ? '' : undefined}
|
|
@@ -10,15 +10,19 @@ import {
|
|
|
10
10
|
} from '$workshop'
|
|
11
11
|
|
|
12
12
|
export default function PlainStory(): React.JSX.Element {
|
|
13
|
+
// @ts-expect-error - TODO: fix this
|
|
13
14
|
const tone = useSelect('Tone', WORKSHOP_CARD_TONE_OPTIONS)
|
|
14
15
|
|
|
15
16
|
const border = useBoolean('Border', true)
|
|
16
17
|
const customValidity = useText('Custom validity')
|
|
17
18
|
const disableFocusRing = useBoolean('Disable focus ring (unstable)', false)
|
|
18
19
|
const disabled = useBoolean('Disabled', false)
|
|
20
|
+
// @ts-expect-error - TODO: fix this
|
|
19
21
|
const fontSize = useSelect('Font size', WORKSHOP_TEXT_FONT_SIZE_OPTIONS, 2)
|
|
22
|
+
// @ts-expect-error - TODO: fix this
|
|
20
23
|
const padding = useSelect('Padding', WORKSHOP_SPACE_OPTIONS, 3)
|
|
21
24
|
const placeholder = useText('Placeholder', 'Placeholder')
|
|
25
|
+
// @ts-expect-error - TODO: fix this
|
|
22
26
|
const radius = useSelect('Radius', WORKSHOP_RADIUS_OPTIONS, 2)
|
|
23
27
|
const readOnly = useBoolean('Read only', false)
|
|
24
28
|
|
|
@@ -32,6 +36,7 @@ export default function PlainStory(): React.JSX.Element {
|
|
|
32
36
|
justifyContent="center"
|
|
33
37
|
padding={[4, 5, 6]}
|
|
34
38
|
sizing="border"
|
|
39
|
+
// @ts-expect-error - TODO: fix this
|
|
35
40
|
tone={tone}
|
|
36
41
|
>
|
|
37
42
|
<Container width={0}>
|
|
@@ -44,11 +49,14 @@ export default function PlainStory(): React.JSX.Element {
|
|
|
44
49
|
border={border}
|
|
45
50
|
customValidity={customValidity}
|
|
46
51
|
disabled={disabled}
|
|
52
|
+
// @ts-expect-error - TODO: fix this
|
|
47
53
|
fontSize={fontSize}
|
|
48
54
|
id="text-area-example"
|
|
49
55
|
onChange={(e) => setValue(e.target.value)}
|
|
56
|
+
// @ts-expect-error - TODO: fix this
|
|
50
57
|
padding={padding}
|
|
51
58
|
placeholder={placeholder}
|
|
59
|
+
// @ts-expect-error - TODO: fix this
|
|
52
60
|
radius={radius}
|
|
53
61
|
readOnly={readOnly}
|
|
54
62
|
rows={10}
|