@sanity/ui 4.0.0-static.3 → 4.0.0-static.31
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 +12 -17
- package/dist/index.js +596 -608
- package/dist/index.js.map +1 -1
- package/exports/css/index.css +1 -0
- package/package.json +36 -46
- 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} +10 -10
- 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} +6 -6
- package/src/core/components/breadcrumbs/__workshop__/index.ts +1 -1
- package/src/core/components/dialog/{dialog.tsx → Dialog.tsx} +4 -4
- package/src/core/components/dialog/{dialogCard.tsx → DialogCard.tsx} +5 -5
- package/src/core/components/dialog/{dialogProvider.tsx → DialogProvider.tsx} +1 -1
- package/src/core/components/dialog/__workshop__/{panes.tsx → Panes.tsx} +4 -0
- 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/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} +1 -1
- package/src/core/components/menu/{menu.tsx → Menu.tsx} +4 -8
- package/src/core/components/menu/{menuButton.tsx → MenuButton.tsx} +14 -9
- package/src/core/components/menu/{menuContext.ts → MenuContext.ts} +1 -1
- package/src/core/components/menu/{menuGroup.tsx → MenuGroup.tsx} +14 -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 +3 -3
- 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} +1 -1
- package/src/core/components/toast/{toast.tsx → Toast.tsx} +6 -6
- package/src/core/components/toast/{toastLayer.tsx → ToastLayer.tsx} +1 -1
- package/src/core/components/toast/{toastProvider.tsx → ToastProvider.tsx} +4 -4
- 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} +2 -2
- package/src/core/components/tree/{treeGroup.tsx → TreeGroup.tsx} +1 -1
- package/src/core/components/tree/{treeItem.tsx → TreeItem.tsx} +7 -7
- 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} +1 -1
- package/src/core/components/virtualList/__workshop__/index.ts +4 -4
- package/src/core/hooks/useMediaIndex/__workshop__/index.ts +1 -1
- package/src/core/index.ts +65 -62
- package/src/core/primitives/avatar/{avatar.tsx → Avatar.tsx} +4 -4
- 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} +10 -10
- 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__/{stacked.tsx → Stacked.tsx} +16 -0
- package/src/core/primitives/button/__workshop__/index.ts +16 -11
- package/src/core/primitives/card/{card.tsx → Card.tsx} +10 -10
- package/src/core/primitives/card/{cardProvider.tsx → CardProvider.tsx} +1 -1
- 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__/index.ts +10 -9
- package/src/core/primitives/card/useCard.ts +3 -3
- 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} +7 -1
- package/src/core/primitives/flex/__workshop__/index.ts +2 -2
- 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} +1 -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} +1 -1
- 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/{layerProvider.tsx → LayerProvider.tsx} +3 -3
- 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} +4 -5
- 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/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/{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} +8 -1
- 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} +22 -21
- 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} +6 -5
- 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/{tooltipDelayGroupProvider.tsx → TooltipDelayGroupProvider.tsx} +1 -1
- 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/{boundaryElement.test.tsx → BoundaryElement.test.tsx} +1 -1
- package/src/core/utils/boundaryElement/{boundaryElementProvider.tsx → BoundaryElementProvider.tsx} +1 -1
- package/src/core/utils/boundaryElement/__workshop__/index.ts +1 -1
- package/src/core/utils/boundaryElement/useBoundaryElement.ts +3 -3
- package/src/core/utils/elementQuery/__workshop__/index.ts +1 -1
- package/src/core/utils/portal/{portal.test.tsx → Portal.test.tsx} +1 -1
- package/src/core/utils/portal/{portal.tsx → Portal.tsx} +1 -1
- package/src/core/utils/portal/{portalProvider.tsx → PortalProvider.tsx} +3 -3
- package/src/core/utils/portal/__workshop__/index.ts +1 -1
- package/src/core/utils/portal/usePortal.ts +3 -3
- package/src/css/_responsiveStyle.css.ts +2 -2
- package/src/css/primitives/_input/_input.css.ts +8 -8
- 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/popover/helpers.ts +0 -32
- package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
- /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/{dialogContext.ts → DialogContext.ts} +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/{toastContext.ts → ToastContext.ts} +0 -0
- /package/src/core/components/toast/__workshop__/{hook.tsx → Hook.tsx} +0 -0
- /package/src/core/components/tree/{treeContext.ts → TreeContext.ts} +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__/{sanityUploadButton.tsx → SanityUploadButton.tsx} +0 -0
- /package/src/core/primitives/button/__workshop__/{styled1.tsx → Styled1.tsx} +0 -0
- /package/src/core/primitives/button/__workshop__/{styled2.tsx → Styled2.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/{cardContext.ts → CardContext.ts} +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__/{styled.tsx → Styled.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/{layerContext.ts → LayerContext.ts} +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/skeleton/{skeleton.tsx → Skeleton.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/primitives/tooltip/tooltipDelayGroup/{tooltipDelayGroupContext.tsx → TooltipDelayGroupContext.tsx} +0 -0
- /package/src/core/utils/boundaryElement/{boundaryElementContext.ts → BoundaryElementContext.ts} +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/elementQuery/__workshop__/{customMedia.tsx → CustomMedia.tsx} +0 -0
- /package/src/core/utils/portal/{portalContext.ts → PortalContext.ts} +0 -0
- /package/src/core/utils/portal/__workshop__/{named.tsx → Named.tsx} +0 -0
|
@@ -9,17 +9,31 @@ import {
|
|
|
9
9
|
} from '$workshop'
|
|
10
10
|
|
|
11
11
|
export default function PlainStory(): 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_LABEL_FONT_SIZE_OPTIONS)
|
|
15
17
|
const textChild = useText('Text', 'Label text')
|
|
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_FONT_WEIGHT_OPTIONS)
|
|
18
22
|
|
|
19
23
|
return (
|
|
20
24
|
<Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
|
|
21
25
|
<Container width={0}>
|
|
22
|
-
<Label
|
|
26
|
+
<Label
|
|
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
|
{textChild}
|
|
24
38
|
</Label>
|
|
25
39
|
</Container>
|
|
@@ -8,12 +8,12 @@ const scope: WorkshopScope = {
|
|
|
8
8
|
{
|
|
9
9
|
name: 'plain',
|
|
10
10
|
title: 'Plain',
|
|
11
|
-
component: lazy(() => import('./
|
|
11
|
+
component: lazy(() => import('./Plain')),
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
name: 'optical-alignment',
|
|
15
15
|
title: 'Optical alignment',
|
|
16
|
-
component: lazy(() => import('./
|
|
16
|
+
component: lazy(() => import('./OpticalAlignment')),
|
|
17
17
|
},
|
|
18
18
|
],
|
|
19
19
|
}
|
|
@@ -2,7 +2,7 @@ import {describe, expect, it, vi} from 'vitest'
|
|
|
2
2
|
|
|
3
3
|
import {render} from '$test/utils'
|
|
4
4
|
|
|
5
|
-
import {LayerContext} from './
|
|
5
|
+
import {LayerContext} from './LayerContext'
|
|
6
6
|
import type {LayerContextValue} from './types'
|
|
7
7
|
import {useLayer} from './useLayer'
|
|
8
8
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type {ResponsiveProp} from '@sanity/ui/css'
|
|
2
2
|
|
|
3
|
-
import type {CardElementType, CardOwnProps} from '../../primitives/card/
|
|
3
|
+
import type {CardElementType, CardOwnProps} from '../../primitives/card/Card'
|
|
4
4
|
import type {Props} from '../../types'
|
|
5
|
-
import {LayerCard} from './
|
|
6
|
-
import {LayerProvider} from './
|
|
5
|
+
import {LayerCard} from './LayerCard'
|
|
6
|
+
import {LayerProvider} from './LayerProvider'
|
|
7
7
|
|
|
8
8
|
/** @public */
|
|
9
9
|
export const DEFAULT_LAYER_ELEMENT = 'div'
|
|
@@ -2,9 +2,9 @@ import {type FocusEvent, useCallback, useEffect, useImperativeHandle, useRef} fr
|
|
|
2
2
|
|
|
3
3
|
import {EMPTY_RECORD} from '../../constants'
|
|
4
4
|
import {containsOrEqualsElement, isHTMLElement} from '../../helpers/element'
|
|
5
|
-
import {Card, type CardElementType} from '../../primitives/card/
|
|
5
|
+
import {Card, type CardElementType} from '../../primitives/card/Card'
|
|
6
6
|
import type {Props} from '../../types'
|
|
7
|
-
import type {LayerElementType, LayerOwnProps} from './
|
|
7
|
+
import type {LayerElementType, LayerOwnProps} from './Layer'
|
|
8
8
|
import {useLayer} from './useLayer'
|
|
9
9
|
|
|
10
10
|
/** @internal */
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type {Breakpoint, ResponsiveProp} from '@sanity/ui/css'
|
|
2
|
-
import {type ReactNode,
|
|
2
|
+
import {type ReactNode, use, useCallback, useEffect, useMemo, useState} from 'react'
|
|
3
3
|
|
|
4
4
|
import {useMediaIndex} from '../../hooks/useMediaIndex/useMediaIndex'
|
|
5
5
|
import {useResponsiveProp} from '../../hooks/useResponsiveProp'
|
|
6
6
|
import {getLayerContext} from './getLayerContext'
|
|
7
|
-
import {LayerContext} from './
|
|
7
|
+
import {LayerContext} from './LayerContext'
|
|
8
8
|
import type {LayerContextValue} from './types'
|
|
9
9
|
|
|
10
10
|
/** @public */
|
|
@@ -18,7 +18,7 @@ export function LayerProvider(props: LayerProviderProps): React.JSX.Element {
|
|
|
18
18
|
const {children, zOffset: zOffsetProp = 0} = props
|
|
19
19
|
|
|
20
20
|
// Get parent context values
|
|
21
|
-
const parentContextValue =
|
|
21
|
+
const parentContextValue = use(LayerContext)
|
|
22
22
|
const parent = parentContextValue && getLayerContext(parentContextValue)
|
|
23
23
|
const parentRegisterChild = parent?.registerChild
|
|
24
24
|
const parentLevel = parent?.level ?? 0
|
|
@@ -8,17 +8,17 @@ const scope: WorkshopScope = {
|
|
|
8
8
|
{
|
|
9
9
|
name: 'nested',
|
|
10
10
|
title: 'Nested',
|
|
11
|
-
component: lazy(() => import('./
|
|
11
|
+
component: lazy(() => import('./Nested')),
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
name: 'multiple-roots',
|
|
15
15
|
title: 'Multiple roots',
|
|
16
|
-
component: lazy(() => import('./
|
|
16
|
+
component: lazy(() => import('./MultipleRoots')),
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
name: 'responsive-z-offset',
|
|
20
20
|
title: 'Responsive z-offset',
|
|
21
|
-
component: lazy(() => import('./
|
|
21
|
+
component: lazy(() => import('./ResponsiveZOffset')),
|
|
22
22
|
},
|
|
23
23
|
],
|
|
24
24
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {use} from 'react'
|
|
2
2
|
|
|
3
3
|
import {getLayerContext} from './getLayerContext'
|
|
4
|
-
import {LayerContext} from './
|
|
4
|
+
import {LayerContext} from './LayerContext'
|
|
5
5
|
import type {LayerContextValue} from './types'
|
|
6
6
|
|
|
7
7
|
/** @public */
|
|
8
8
|
export function useLayer(): LayerContextValue {
|
|
9
|
-
const value =
|
|
9
|
+
const value = use(LayerContext)
|
|
10
10
|
|
|
11
11
|
if (!value) {
|
|
12
12
|
throw new Error('useLayer(): missing context value')
|
|
@@ -32,10 +32,10 @@ import {origin} from '../../middleware/origin'
|
|
|
32
32
|
import type {ComponentType, Placement, Props} from '../../types'
|
|
33
33
|
import {useBoundaryElement} from '../../utils/boundaryElement/useBoundaryElement'
|
|
34
34
|
import {getElementRef} from '../../utils/getElementRef'
|
|
35
|
-
import {Portal} from '../../utils/portal/
|
|
36
|
-
import {CardProvider} from '../card/
|
|
35
|
+
import {Portal} from '../../utils/portal/Portal'
|
|
36
|
+
import {CardProvider} from '../card/CardProvider'
|
|
37
37
|
import {useCard} from '../card/useCard'
|
|
38
|
-
import {type LayerOwnProps} from '../layer/
|
|
38
|
+
import {type LayerOwnProps} from '../layer/Layer'
|
|
39
39
|
import {useLayer} from '../layer/useLayer'
|
|
40
40
|
import {
|
|
41
41
|
DEFAULT_FALLBACK_PLACEMENTS,
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
DEFAULT_POPOVER_PADDING,
|
|
45
45
|
} from './constants'
|
|
46
46
|
import {size} from './floating-ui/size'
|
|
47
|
-
import {PopoverLayer} from './
|
|
47
|
+
import {PopoverLayer} from './PopoverLayer'
|
|
48
48
|
import type {PopoverMargins, PopoverUpdateCallback} from './types'
|
|
49
49
|
|
|
50
50
|
/** @public */
|
|
@@ -171,7 +171,6 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
|
|
|
171
171
|
matchReferenceWidth,
|
|
172
172
|
floatingBoundary = boundaryElementContext.element,
|
|
173
173
|
modal,
|
|
174
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
175
174
|
onActivate,
|
|
176
175
|
open,
|
|
177
176
|
overflow = 'hidden',
|
|
@@ -5,9 +5,9 @@ import {type CSSProperties, type ForwardedRef, useMemo} from 'react'
|
|
|
5
5
|
|
|
6
6
|
import {POPOVER_MOTION_PROPS} from '../../constants'
|
|
7
7
|
import type {Placement} from '../../types'
|
|
8
|
-
import {Arrow} from '../arrow/
|
|
9
|
-
import {Flex} from '../flex/
|
|
10
|
-
import {Layer, type LayerOwnProps, type LayerProps} from '../layer/
|
|
8
|
+
import {Arrow} from '../arrow/Arrow'
|
|
9
|
+
import {Flex} from '../flex/Flex'
|
|
10
|
+
import {Layer, type LayerOwnProps, type LayerProps} from '../layer/Layer'
|
|
11
11
|
import {
|
|
12
12
|
DEFAULT_POPOVER_ARROW_HEIGHT,
|
|
13
13
|
DEFAULT_POPOVER_ARROW_RADIUS,
|
|
@@ -12,11 +12,15 @@ import {
|
|
|
12
12
|
|
|
13
13
|
export default function AlignedStory(): React.JSX.Element {
|
|
14
14
|
const constrainSize = useBoolean('Constrain size', false)
|
|
15
|
+
// @ts-expect-error - TODO: fix this
|
|
15
16
|
const placement = useSelect('Placement', WORKSHOP_PLACEMENT_OPTIONS)
|
|
16
17
|
const portal = useBoolean('Portal', true)
|
|
18
|
+
// @ts-expect-error - TODO: fix this
|
|
17
19
|
const width = useSelect('Width', WORKSHOP_CONTAINER_WIDTH_OPTIONS, 'auto')
|
|
18
20
|
|
|
21
|
+
// @ts-expect-error - TODO: fix this
|
|
19
22
|
const flexAlign = useSelect('Align', WORKSHOP_FLEX_ALIGN_OPTIONS)
|
|
23
|
+
// @ts-expect-error - TODO: fix this
|
|
20
24
|
const flexJustify = useSelect('Justify', WORKSHOP_FLEX_JUSTIFY_OPTIONS)
|
|
21
25
|
|
|
22
26
|
const [open, setOpen] = useState(false)
|
|
@@ -49,7 +53,13 @@ export default function AlignedStory(): React.JSX.Element {
|
|
|
49
53
|
return (
|
|
50
54
|
<Card height="fill" padding={[4, 5, 6]} sizing="border" tone="transparent">
|
|
51
55
|
<Card height="fill" padding={2} ref={setBoundaryElement} shadow={1} sizing="border">
|
|
52
|
-
<Flex
|
|
56
|
+
<Flex
|
|
57
|
+
// @ts-expect-error - TODO: fix this
|
|
58
|
+
align={flexAlign}
|
|
59
|
+
height="fill"
|
|
60
|
+
// @ts-expect-error - TODO: fix this
|
|
61
|
+
justify={flexJustify}
|
|
62
|
+
>
|
|
53
63
|
<Popover
|
|
54
64
|
constrainSize={constrainSize}
|
|
55
65
|
content={content}
|
|
@@ -58,8 +68,10 @@ export default function AlignedStory(): React.JSX.Element {
|
|
|
58
68
|
overflow="auto"
|
|
59
69
|
padding={3}
|
|
60
70
|
portal={portal}
|
|
71
|
+
// @ts-expect-error - TODO: fix this
|
|
61
72
|
placement={placement}
|
|
62
73
|
ref={popoverElementRef}
|
|
74
|
+
// @ts-expect-error - TODO: fix this
|
|
63
75
|
width={width}
|
|
64
76
|
>
|
|
65
77
|
<Button
|
|
@@ -5,6 +5,7 @@ import {WORKSHOP_PLACEMENT_OPTIONS} from '$workshop'
|
|
|
5
5
|
|
|
6
6
|
export default function MatchReferenceWidthStory(): React.JSX.Element {
|
|
7
7
|
const arrow = useBoolean('Arrow', true)
|
|
8
|
+
// @ts-expect-error - TODO: fix this
|
|
8
9
|
const placement = useSelect('Placement', WORKSHOP_PLACEMENT_OPTIONS, 'bottom')
|
|
9
10
|
|
|
10
11
|
return (
|
|
@@ -18,6 +19,7 @@ export default function MatchReferenceWidthStory(): React.JSX.Element {
|
|
|
18
19
|
}
|
|
19
20
|
matchReferenceWidth
|
|
20
21
|
open
|
|
22
|
+
// @ts-expect-error - TODO: fix this
|
|
21
23
|
placement={placement}
|
|
22
24
|
radius={2}
|
|
23
25
|
>
|
|
@@ -15,11 +15,15 @@ export default function PlainStory(): React.JSX.Element {
|
|
|
15
15
|
const constrainSize = useBoolean('Constrain size', true)
|
|
16
16
|
const matchReferenceWidth = useBoolean('Match reference width', false)
|
|
17
17
|
const open = useBoolean('Open', true)
|
|
18
|
+
// @ts-expect-error - TODO: fix this
|
|
18
19
|
const padding = useSelect('Padding', WORKSHOP_SPACE_OPTIONS, 3)
|
|
20
|
+
// @ts-expect-error - TODO: fix this
|
|
19
21
|
const placement = useSelect('Placement', WORKSHOP_PLACEMENT_OPTIONS, 'bottom')
|
|
20
22
|
const portal = useBoolean('Portal', true)
|
|
21
23
|
const preventOverflow = useBoolean('Prevent overflow', true)
|
|
24
|
+
// @ts-expect-error - TODO: fix this
|
|
22
25
|
const radius = useSelect('Radius', WORKSHOP_RADIUS_OPTIONS, 2)
|
|
26
|
+
// @ts-expect-error - TODO: fix this
|
|
23
27
|
const width = useSelect('Width', WORKSHOP_CONTAINER_WIDTH_OPTIONS, 'auto')
|
|
24
28
|
const [portalElement, setPortalElement] = useState<HTMLDivElement | null>(null)
|
|
25
29
|
const [boundaryElement, setBoundaryElement] = useState<HTMLDivElement | null>(null)
|
|
@@ -53,11 +57,15 @@ export default function PlainStory(): React.JSX.Element {
|
|
|
53
57
|
floatingBoundary={boundaryElementFlag ? boundaryElement : undefined}
|
|
54
58
|
matchReferenceWidth={matchReferenceWidth}
|
|
55
59
|
open={open}
|
|
60
|
+
// @ts-expect-error - TODO: fix this
|
|
56
61
|
padding={padding}
|
|
62
|
+
// @ts-expect-error - TODO: fix this
|
|
57
63
|
placement={placement}
|
|
58
64
|
portal={portal}
|
|
59
65
|
preventOverflow={preventOverflow}
|
|
66
|
+
// @ts-expect-error - TODO: fix this
|
|
60
67
|
radius={radius}
|
|
68
|
+
// @ts-expect-error - TODO: fix this
|
|
61
69
|
width={width}
|
|
62
70
|
>
|
|
63
71
|
<Button text="This button is the popover reference" />
|
|
@@ -26,6 +26,7 @@ export default function SidePanelStory(): React.JSX.Element {
|
|
|
26
26
|
const sidePanelWidth = useSelect('Side panel width', SIDE_PANEL_WIDTH, SIDE_PANEL_WIDTH.md)
|
|
27
27
|
const [sidePanel, setSidePanel] = useState<HTMLDivElement | null>(null)
|
|
28
28
|
const updateRef = useRef<PopoverUpdateCallback>(undefined)
|
|
29
|
+
// @ts-expect-error - TODO: fix this
|
|
29
30
|
const tone = useSelect('Tone', WORKSHOP_CARD_TONE_OPTIONS) ?? 'inherit'
|
|
30
31
|
|
|
31
32
|
useEffect(() => updateRef.current?.(), [sidePanelWidth])
|
|
@@ -48,7 +49,12 @@ export default function SidePanelStory(): React.JSX.Element {
|
|
|
48
49
|
|
|
49
50
|
<Card border padding={3}>
|
|
50
51
|
<Text size={1}>
|
|
51
|
-
Some editor
|
|
52
|
+
Some editor{' '}
|
|
53
|
+
<InlineObject
|
|
54
|
+
// @ts-expect-error - TODO: fix this
|
|
55
|
+
tone={tone}
|
|
56
|
+
updateRef={updateRef}
|
|
57
|
+
/>
|
|
52
58
|
</Text>
|
|
53
59
|
</Card>
|
|
54
60
|
</Stack>
|
|
@@ -25,11 +25,14 @@ export default function TestStory(): React.JSX.Element {
|
|
|
25
25
|
const constrainSize = useBoolean('Constrain size', true)
|
|
26
26
|
const matchReferenceWidth = useBoolean('Match reference width', false)
|
|
27
27
|
const open = useBoolean('Open', true)
|
|
28
|
+
// @ts-expect-error - TODO: fix this
|
|
28
29
|
const placement = useSelect('Placement', WORKSHOP_PLACEMENT_OPTIONS, 'bottom')
|
|
29
30
|
const portal = useBoolean('Render in portal', true)
|
|
30
31
|
const preventOverflow = useBoolean('Prevent overflow', true)
|
|
32
|
+
// @ts-expect-error - TODO: fix this
|
|
31
33
|
const radius = useSelect('Radius', WORKSHOP_RADIUS_OPTIONS, 2)
|
|
32
34
|
const referenceWide = useBoolean('Reference wide?', false)
|
|
35
|
+
// @ts-expect-error - TODO: fix this
|
|
33
36
|
const width = useSelect('Width', WORKSHOP_CONTAINER_WIDTH_OPTIONS, 'auto')
|
|
34
37
|
|
|
35
38
|
const text = useText('Text', 'Test')
|
|
@@ -81,11 +84,14 @@ export default function TestStory(): React.JSX.Element {
|
|
|
81
84
|
open={open}
|
|
82
85
|
overflow="hidden"
|
|
83
86
|
padding={3}
|
|
87
|
+
// @ts-expect-error - TODO: fix this
|
|
84
88
|
placement={placement}
|
|
85
89
|
portal={portal}
|
|
86
90
|
preventOverflow={preventOverflow}
|
|
91
|
+
// @ts-expect-error - TODO: fix this
|
|
87
92
|
radius={radius}
|
|
88
93
|
updateRef={updateRef}
|
|
94
|
+
// @ts-expect-error - TODO: fix this
|
|
89
95
|
width={width}
|
|
90
96
|
>
|
|
91
97
|
{button}
|
|
@@ -47,7 +47,7 @@ export function Radio<E extends RadioElementType = typeof DEFAULT_RADIO_ELEMENT>
|
|
|
47
47
|
useCustomValidity(ref, customValidity)
|
|
48
48
|
|
|
49
49
|
return (
|
|
50
|
-
<
|
|
50
|
+
<span className={radio({className})} data-ui="Radio" style={style}>
|
|
51
51
|
<Element
|
|
52
52
|
{...rest}
|
|
53
53
|
className={radioInput()}
|
|
@@ -59,6 +59,6 @@ export function Radio<E extends RadioElementType = typeof DEFAULT_RADIO_ELEMENT>
|
|
|
59
59
|
type="radio"
|
|
60
60
|
/>
|
|
61
61
|
<span className={radioPresentation()} />
|
|
62
|
-
</
|
|
62
|
+
</span>
|
|
63
63
|
)
|
|
64
64
|
}
|
|
@@ -5,8 +5,8 @@ const scope: WorkshopScope = {
|
|
|
5
5
|
name: 'primitives/radio',
|
|
6
6
|
title: 'Radio',
|
|
7
7
|
stories: [
|
|
8
|
-
{name: 'plain', title: 'Plain', component: lazy(() => import('./
|
|
9
|
-
{name: 'example', title: 'Example', component: lazy(() => import('./
|
|
8
|
+
{name: 'plain', title: 'Plain', component: lazy(() => import('./Plain'))},
|
|
9
|
+
{name: 'example', title: 'Example', component: lazy(() => import('./Example'))},
|
|
10
10
|
],
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -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'
|
|
@@ -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
|
}
|