@sanity/ui 4.0.0-static.9 → 5.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +201 -17
- package/bin/sanity-ui.js +14 -0
- package/dist/_chunks-es/LazyRefractor.js +20 -0
- package/dist/_chunks-es/LazyRefractor.js.map +1 -0
- package/dist/cli/checks.js +148 -0
- package/dist/cli/config.js +23 -0
- package/dist/cli/detect.js +181 -0
- package/dist/cli/doctor.js +49 -0
- package/dist/cli/index.js +69 -0
- package/dist/cli/init.js +189 -0
- package/dist/cli/install.js +78 -0
- package/dist/cli/log.js +66 -0
- package/dist/cli/selfPackage.js +11 -0
- package/dist/cli/styles.js +185 -0
- package/dist/cli/test-utils.js +8 -0
- package/dist/cli/tsconfig.js +236 -0
- package/dist/cli/types.js +1 -0
- package/dist/cli/versions.js +45 -0
- package/dist/index.d.ts +744 -2272
- package/dist/index.js +1743 -4395
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -0
- package/package.json +66 -206
- package/src/cli/checks.test.ts +38 -0
- package/src/cli/checks.ts +200 -0
- package/src/cli/config.ts +44 -0
- package/src/cli/detect.test.ts +191 -0
- package/src/cli/detect.ts +205 -0
- package/src/cli/doctor.test.ts +52 -0
- package/src/cli/doctor.ts +65 -0
- package/src/cli/index.ts +77 -0
- package/src/cli/init.ts +225 -0
- package/src/cli/install.test.ts +52 -0
- package/src/cli/install.ts +107 -0
- package/src/cli/log.ts +79 -0
- package/src/cli/selfPackage.ts +14 -0
- package/src/cli/styles.test.ts +130 -0
- package/src/cli/styles.ts +205 -0
- package/src/cli/test-utils.ts +10 -0
- package/src/cli/tsconfig.test.ts +174 -0
- package/src/cli/tsconfig.ts +282 -0
- package/src/cli/types.ts +77 -0
- package/src/cli/versions.test.ts +35 -0
- package/src/cli/versions.ts +41 -0
- package/src/components/box/Box.tsx +25 -0
- package/src/components/box/box.css +4 -0
- package/src/components/box/box.props.ts +24 -0
- package/src/components/button/Button.tsx +78 -0
- package/src/components/button/button.css +72 -0
- package/src/components/button/button.props.ts +104 -0
- package/src/components/card/Card.tsx +31 -0
- package/src/components/card/card.css +4 -0
- package/src/components/card/card.props.ts +54 -0
- package/src/components/checkbox/Checkbox.tsx +63 -0
- package/src/components/checkbox/checkbox.css +100 -0
- package/src/components/checkbox/checkbox.props.ts +25 -0
- package/src/components/code/Code.tsx +38 -0
- package/src/components/code/LazyRefractor.tsx +9 -0
- package/src/components/code/code.css +40 -0
- package/src/components/code/code.props.ts +37 -0
- package/src/components/container/Container.tsx +30 -0
- package/src/components/container/container.css +4 -0
- package/src/components/container/container.props.ts +24 -0
- package/src/components/divider/Divider.tsx +23 -0
- package/src/components/divider/divider.props.ts +9 -0
- package/src/components/eyebrow/Eyebrow.tsx +54 -0
- package/src/components/eyebrow/eyebrow.css +11 -0
- package/src/components/eyebrow/eyebrow.props.ts +24 -0
- package/src/components/flex/Flex.tsx +25 -0
- package/src/components/flex/flex.css +4 -0
- package/src/components/flex/flex.props.ts +29 -0
- package/src/components/grid/Grid.tsx +25 -0
- package/src/components/grid/grid.css +4 -0
- package/src/components/grid/grid.props.ts +29 -0
- package/src/components/h-stack/HStack.tsx +34 -0
- package/src/components/h-stack/hStack.props.ts +15 -0
- package/src/components/heading/Heading.tsx +54 -0
- package/src/components/heading/heading.css +9 -0
- package/src/components/heading/heading.props.ts +25 -0
- package/src/components/icon/Icon.tsx +24 -0
- package/src/components/icon/icon.css +17 -0
- package/src/components/icon/icon.props.ts +31 -0
- package/src/components/icon-button/IconButton.tsx +32 -0
- package/src/components/icon-button/iconButton.props.ts +26 -0
- package/src/components/index.css +25 -0
- package/src/components/indicator/Indicator.tsx +42 -0
- package/src/components/indicator/indicator.css +4 -0
- package/src/components/indicator/indicator.props.ts +20 -0
- package/src/components/indicator-stack/IndicatorStack.tsx +31 -0
- package/src/components/indicator-stack/indicator-stack.css +7 -0
- package/src/components/indicator-stack/indicatorStack.props.ts +13 -0
- package/src/components/inline/Inline.tsx +38 -0
- package/src/components/inline/inline.css +4 -0
- package/src/components/inline/inline.props.ts +96 -0
- package/src/components/label/Label.tsx +34 -0
- package/src/components/label/label.css +3 -0
- package/src/components/label/label.props.ts +19 -0
- package/src/components/link/Link.tsx +29 -0
- package/src/components/link/link.css +12 -0
- package/src/components/link/link.props.ts +23 -0
- package/src/components/list/List.tsx +167 -0
- package/src/components/list/list.css +25 -0
- package/src/components/list/list.props.ts +112 -0
- package/src/components/press-area/PressArea.tsx +29 -0
- package/src/components/press-area/press-area.css +22 -0
- package/src/components/press-area/pressArea.props.ts +14 -0
- package/src/components/radio/Radio.tsx +48 -0
- package/src/components/radio/radio.css +97 -0
- package/src/components/radio/radio.props.ts +20 -0
- package/src/components/skip-to-content/SkipToContent.tsx +35 -0
- package/src/components/skip-to-content/skip-to-content.css +9 -0
- package/src/components/skip-to-content/skipToContent.props.ts +19 -0
- package/src/components/spinner/Spinner.tsx +28 -0
- package/src/components/spinner/spinner.css +10 -0
- package/src/components/spinner/spinner.props.ts +16 -0
- package/src/components/switch/Switch.tsx +48 -0
- package/src/components/switch/switch.css +119 -0
- package/src/components/switch/switch.props.ts +20 -0
- package/src/components/text/Text.tsx +53 -0
- package/src/components/text/text.css +9 -0
- package/src/components/text/text.props.ts +24 -0
- package/src/components/tooltip/Tooltip.tsx +93 -0
- package/src/components/tooltip/tooltip.css +52 -0
- package/src/components/tooltip/tooltip.props.ts +20 -0
- package/src/components/tooltip-group/TooltipGroup.tsx +67 -0
- package/src/components/tooltip-group/tooltipGroup.props.ts +13 -0
- package/src/components/v-stack/VStack.tsx +32 -0
- package/src/components/v-stack/vStack.props.ts +15 -0
- package/src/components/visually-hidden/VisuallyHidden.tsx +29 -0
- package/src/components/visually-hidden/visually-hidden.css +9 -0
- package/src/components/visually-hidden/visuallyHidden.props.ts +19 -0
- package/src/css/classes/dynamic/flex-child.css +5 -0
- package/src/css/classes/dynamic/grid-child.css +8 -0
- package/src/css/classes/dynamic/grid-parent.css +6 -0
- package/src/css/classes/dynamic/height.css +5 -0
- package/src/css/classes/dynamic/index.css +7 -0
- package/src/css/classes/dynamic/line-clamp.css +5 -0
- package/src/css/classes/dynamic/readme.md +3 -0
- package/src/css/classes/dynamic/width.css +7 -0
- package/src/css/classes/dynamic/z-index.css +3 -0
- package/src/css/classes/generic/display.css +10 -0
- package/src/css/classes/generic/flex.css +24 -0
- package/src/css/classes/generic/grid.css +7 -0
- package/src/css/classes/generic/index.css +7 -0
- package/src/css/classes/generic/overflow.css +19 -0
- package/src/css/classes/generic/placement.css +171 -0
- package/src/css/classes/generic/position.css +7 -0
- package/src/css/classes/generic/readme.md +3 -0
- package/src/css/classes/generic/text-align.css +5 -0
- package/src/css/classes/index.css +4 -0
- package/src/css/classes/local/border.css +20 -0
- package/src/css/classes/local/index.css +4 -0
- package/src/css/classes/local/readme.md +3 -0
- package/src/css/classes/local/text-overflow.css +5 -0
- package/src/css/classes/local/text-trim.css +45 -0
- package/src/css/classes/local/tone.css +75 -0
- package/src/css/classes/system/color.css +223 -0
- package/src/css/classes/system/container.css +8 -0
- package/src/css/classes/system/font-family.css +2 -0
- package/src/css/classes/system/font-weight.css +4 -0
- package/src/css/classes/system/gap.css +37 -0
- package/src/css/classes/system/index.css +10 -0
- package/src/css/classes/system/inset.css +56 -0
- package/src/css/classes/system/margin.css +148 -0
- package/src/css/classes/system/padding.css +78 -0
- package/src/css/classes/system/radius.css +10 -0
- package/src/css/classes/system/readme.md +3 -0
- package/src/css/classes/system/shadow.css +6 -0
- package/src/css/classes/system/typography.css +31 -0
- package/src/css/global/font-face.css +20 -0
- package/src/css/global/index.css +2 -0
- package/src/css/global/reset.css +74 -0
- package/src/css/tokens/index.css +3 -0
- package/src/css/tokens/opacity.css +6 -0
- package/src/css/tokens/semantic.css +21 -0
- package/src/css/tokens/surface.css +27 -0
- package/src/index.css +18 -0
- package/src/index.ts +60 -0
- package/src/props/border.ts +51 -0
- package/src/props/flexChild.ts +29 -0
- package/src/props/flexParent.ts +47 -0
- package/src/props/gap.ts +31 -0
- package/src/props/gridChild.ts +50 -0
- package/src/props/gridParent.ts +45 -0
- package/src/props/height.ts +29 -0
- package/src/props/layout.ts +44 -0
- package/src/props/margin.ts +59 -0
- package/src/props/overflow.ts +30 -0
- package/src/props/padding.ts +59 -0
- package/src/props/placement.ts +16 -0
- package/src/props/position.ts +52 -0
- package/src/props/shadow.ts +15 -0
- package/src/props/tone.ts +15 -0
- package/src/props/typography.ts +62 -0
- package/src/props/width.ts +29 -0
- package/src/props/zIndex.ts +15 -0
- package/src/styles.css.d.ts +1 -0
- package/src/styles.css.node.js +2 -0
- package/src/styles.css.test.ts +24 -0
- package/src/types/Button.ts +8 -0
- package/src/types/Code.ts +6 -0
- package/src/types/Container.ts +3 -0
- package/src/types/Density.ts +3 -0
- package/src/types/Display.ts +11 -0
- package/src/types/Eyebrow.ts +3 -0
- package/src/types/Flex.ts +22 -0
- package/src/types/FontWeight.ts +3 -0
- package/src/types/Grid.ts +3 -0
- package/src/types/Heading.ts +6 -0
- package/src/types/Icon.ts +3 -0
- package/src/types/Interactive.ts +8 -0
- package/src/types/List.ts +2 -0
- package/src/types/Overflow.ts +3 -0
- package/src/types/Placement.ts +16 -0
- package/src/types/Position.ts +3 -0
- package/src/types/PropDef.ts +73 -0
- package/src/types/Radius.ts +3 -0
- package/src/types/Responsive.ts +10 -0
- package/src/types/Shadow.ts +3 -0
- package/src/types/Space.ts +15 -0
- package/src/types/Text.ts +3 -0
- package/src/types/TextAlign.ts +3 -0
- package/src/types/Tone.ts +3 -0
- package/src/utils/getProps.test.ts +156 -0
- package/src/utils/getProps.ts +156 -0
- package/src/utils/suffixClassName.ts +5 -0
- package/src/version.ts +3 -0
- package/LICENSE +0 -21
- package/dist/_chunks-cjs/refractor.cjs +0 -22
- package/dist/_chunks-cjs/refractor.cjs.map +0 -1
- package/dist/_chunks-es/refractor.js +0 -25
- package/dist/_chunks-es/refractor.js.map +0 -1
- package/dist/css/index.cjs +0 -966
- package/dist/css/index.cjs.map +0 -1
- package/dist/css/index.css +0 -23387
- package/dist/css/index.css.map +0 -1
- package/dist/css/index.d.cts +0 -1394
- package/dist/css/index.d.ts +0 -1394
- package/dist/css/index.js +0 -967
- package/dist/css/index.js.map +0 -1
- 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/dist/theme.d.ts +0 -499
- package/dist/theme.js +0 -870
- package/dist/theme.js.map +0 -1
- package/exports/css.ts +0 -1
- package/exports/index.ts +0 -1
- package/exports/theme.ts +0 -1
- package/src/core/Root.tsx +0 -88
- package/src/core/RootProvider.tsx +0 -40
- package/src/core/__workshop__/boundary.tsx +0 -28
- package/src/core/__workshop__/index.ts +0 -16
- package/src/core/components/autocomplete/__workshop__/async.tsx +0 -156
- package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -131
- package/src/core/components/autocomplete/__workshop__/custom.tsx +0 -91
- package/src/core/components/autocomplete/__workshop__/example.tsx +0 -80
- package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -36
- package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +0 -292
- package/src/core/components/autocomplete/__workshop__/index.ts +0 -41
- package/src/core/components/autocomplete/__workshop__/mock/apiStore.ts +0 -49
- package/src/core/components/autocomplete/__workshop__/mock/countries.ts +0 -245
- package/src/core/components/autocomplete/__workshop__/types.ts +0 -4
- package/src/core/components/autocomplete/autocomplete.tsx +0 -690
- package/src/core/components/autocomplete/autocompleteOption.tsx +0 -45
- package/src/core/components/autocomplete/autocompleteReducer.ts +0 -47
- package/src/core/components/autocomplete/constants.ts +0 -28
- package/src/core/components/autocomplete/types.ts +0 -103
- package/src/core/components/breadcrumbs/__workshop__/example.tsx +0 -61
- package/src/core/components/breadcrumbs/__workshop__/index.ts +0 -16
- package/src/core/components/breadcrumbs/breadcrumbs.tsx +0 -131
- package/src/core/components/dialog/__workshop__/activate.tsx +0 -141
- package/src/core/components/dialog/__workshop__/autoFocus.tsx +0 -29
- package/src/core/components/dialog/__workshop__/index.ts +0 -21
- package/src/core/components/dialog/__workshop__/layering.tsx +0 -41
- package/src/core/components/dialog/__workshop__/nested.tsx +0 -71
- package/src/core/components/dialog/__workshop__/onScroll.tsx +0 -51
- package/src/core/components/dialog/__workshop__/panes.tsx +0 -89
- package/src/core/components/dialog/__workshop__/position.tsx +0 -30
- package/src/core/components/dialog/__workshop__/props.tsx +0 -77
- package/src/core/components/dialog/__workshop__/provider.tsx +0 -11
- package/src/core/components/dialog/__workshop__/wrapped.tsx +0 -76
- package/src/core/components/dialog/dialog.tsx +0 -232
- package/src/core/components/dialog/dialogCard.tsx +0 -233
- package/src/core/components/dialog/dialogContext.ts +0 -21
- package/src/core/components/dialog/dialogProvider.tsx +0 -34
- package/src/core/components/dialog/isTargetWithinScope.ts +0 -14
- package/src/core/components/dialog/types.ts +0 -2
- package/src/core/components/dialog/useDialog.ts +0 -11
- package/src/core/components/hotkeys/__workshop__/index.ts +0 -16
- package/src/core/components/hotkeys/__workshop__/plain.tsx +0 -9
- package/src/core/components/hotkeys/hotkeys.tsx +0 -60
- package/src/core/components/menu/__workshop__/asComponent.tsx +0 -45
- package/src/core/components/menu/__workshop__/avatarMenu.tsx +0 -57
- package/src/core/components/menu/__workshop__/closableMenuButton.tsx +0 -47
- package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +0 -133
- package/src/core/components/menu/__workshop__/customMenuItem.tsx +0 -45
- package/src/core/components/menu/__workshop__/customSelectedState.tsx +0 -35
- package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +0 -40
- package/src/core/components/menu/__workshop__/groups.tsx +0 -156
- package/src/core/components/menu/__workshop__/index.ts +0 -91
- package/src/core/components/menu/__workshop__/menuButton.tsx +0 -80
- package/src/core/components/menu/__workshop__/menuGroupRight.tsx +0 -65
- package/src/core/components/menu/__workshop__/nestedMenu.tsx +0 -22
- package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +0 -50
- package/src/core/components/menu/__workshop__/selectedItem.tsx +0 -69
- package/src/core/components/menu/__workshop__/shouldFocus.tsx +0 -42
- package/src/core/components/menu/__workshop__/tones.tsx +0 -25
- package/src/core/components/menu/__workshop__/withoutArrow.tsx +0 -32
- package/src/core/components/menu/helpers.ts +0 -82
- package/src/core/components/menu/menu.test.tsx +0 -129
- package/src/core/components/menu/menu.tsx +0 -179
- package/src/core/components/menu/menuButton.tsx +0 -225
- package/src/core/components/menu/menuContext.ts +0 -19
- package/src/core/components/menu/menuDivider.tsx +0 -32
- package/src/core/components/menu/menuGroup.tsx +0 -233
- package/src/core/components/menu/menuItem.tsx +0 -184
- package/src/core/components/menu/useMenu.ts +0 -21
- package/src/core/components/menu/useMenuController.ts +0 -241
- package/src/core/components/tab/__workshop__/example.tsx +0 -79
- package/src/core/components/tab/__workshop__/index.ts +0 -16
- package/src/core/components/tab/tab.tsx +0 -109
- package/src/core/components/tab/tabList.tsx +0 -90
- package/src/core/components/tab/tabPanel.tsx +0 -47
- package/src/core/components/toast/__workshop__/hook.tsx +0 -71
- package/src/core/components/toast/__workshop__/index.ts +0 -21
- package/src/core/components/toast/__workshop__/toast.tsx +0 -26
- package/src/core/components/toast/toast.test.tsx +0 -103
- package/src/core/components/toast/toast.tsx +0 -191
- package/src/core/components/toast/toastContext.ts +0 -7
- package/src/core/components/toast/toastLayer.tsx +0 -54
- package/src/core/components/toast/toastProvider.tsx +0 -112
- package/src/core/components/toast/toastState.ts +0 -6
- package/src/core/components/toast/types.ts +0 -24
- package/src/core/components/toast/useToast.ts +0 -23
- package/src/core/components/tree/__workshop__/basic.perf.ts +0 -19
- package/src/core/components/tree/__workshop__/basic.tsx +0 -105
- package/src/core/components/tree/__workshop__/index.ts +0 -23
- package/src/core/components/tree/__workshop__/tabFromElement.tsx +0 -84
- package/src/core/components/tree/helpers.ts +0 -105
- package/src/core/components/tree/tree.tsx +0 -248
- package/src/core/components/tree/treeContext.ts +0 -10
- package/src/core/components/tree/treeGroup.tsx +0 -46
- package/src/core/components/tree/treeItem.tsx +0 -237
- package/src/core/components/tree/types.ts +0 -24
- package/src/core/components/tree/useTree.ts +0 -17
- package/src/core/components/virtualList/__workshop__/changingProps.tsx +0 -36
- package/src/core/components/virtualList/__workshop__/elementScroll.tsx +0 -24
- package/src/core/components/virtualList/__workshop__/index.ts +0 -31
- package/src/core/components/virtualList/__workshop__/infiniteList.tsx +0 -48
- package/src/core/components/virtualList/__workshop__/windowScrolll.tsx +0 -22
- package/src/core/components/virtualList/virtualList.tsx +0 -209
- package/src/core/constants.ts +0 -67
- package/src/core/helpers/animation.ts +0 -27
- package/src/core/helpers/element.ts +0 -55
- package/src/core/helpers/focus.ts +0 -92
- package/src/core/helpers/props.ts +0 -28
- package/src/core/helpers/scroll.ts +0 -15
- package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -114
- package/src/core/hooks/useClickOutsideEvent.ts +0 -67
- package/src/core/hooks/useCustomValidity.ts +0 -13
- package/src/core/hooks/useDelayed.test.ts +0 -67
- package/src/core/hooks/useDelayedState.ts +0 -28
- package/src/core/hooks/useElementSize.ts +0 -19
- package/src/core/hooks/useGlobalKeyDown.ts +0 -17
- package/src/core/hooks/useMatchMedia.ts +0 -28
- package/src/core/hooks/useMediaIndex/__workshop__/index.ts +0 -16
- package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +0 -14
- package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -21
- package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -107
- package/src/core/hooks/useMounted.ts +0 -15
- package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -56
- package/src/core/hooks/usePrefersDark.test.tsx +0 -20
- package/src/core/hooks/usePrefersDark.ts +0 -16
- package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
- package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -20
- package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
- package/src/core/hooks/useResponsiveProp.ts +0 -28
- package/src/core/index.ts +0 -115
- package/src/core/lib/createGlobalScopedContext.ts +0 -37
- package/src/core/lib/globalScope.ts +0 -19
- package/src/core/lib/isArray.ts +0 -3
- package/src/core/lib/isRecord.ts +0 -3
- package/src/core/middleware/origin.ts +0 -47
- package/src/core/observers/elementSize.ts +0 -116
- package/src/core/observers/resize.ts +0 -9
- package/src/core/primitives/arrow/arrow.tsx +0 -74
- package/src/core/primitives/arrow/cmds.ts +0 -91
- package/src/core/primitives/avatar/__workshop__/asButton.tsx +0 -14
- package/src/core/primitives/avatar/__workshop__/index.ts +0 -31
- package/src/core/primitives/avatar/__workshop__/stack.tsx +0 -25
- package/src/core/primitives/avatar/__workshop__/withinButton.tsx +0 -55
- package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -72
- package/src/core/primitives/avatar/avatar.tsx +0 -147
- package/src/core/primitives/avatar/avatarCounter.tsx +0 -69
- package/src/core/primitives/avatar/avatarStack.tsx +0 -79
- package/src/core/primitives/avatar/types.ts +0 -2
- package/src/core/primitives/badge/__workshop__/index.ts +0 -21
- package/src/core/primitives/badge/__workshop__/props.tsx +0 -19
- package/src/core/primitives/badge/__workshop__/tones.tsx +0 -16
- package/src/core/primitives/badge/badge.test.tsx +0 -16
- package/src/core/primitives/badge/badge.tsx +0 -61
- package/src/core/primitives/box/__workshop__/index.ts +0 -21
- package/src/core/primitives/box/__workshop__/props.tsx +0 -20
- package/src/core/primitives/box/__workshop__/responsive.tsx +0 -20
- package/src/core/primitives/box/box.tsx +0 -222
- package/src/core/primitives/button/__workshop__/custom.tsx +0 -27
- package/src/core/primitives/button/__workshop__/customIcons.tsx +0 -30
- package/src/core/primitives/button/__workshop__/disabled.tsx +0 -54
- package/src/core/primitives/button/__workshop__/index.ts +0 -66
- package/src/core/primitives/button/__workshop__/mixedChildren.tsx +0 -12
- package/src/core/primitives/button/__workshop__/props.tsx +0 -55
- package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +0 -36
- package/src/core/primitives/button/__workshop__/stacked.tsx +0 -58
- package/src/core/primitives/button/__workshop__/styled1.tsx +0 -17
- package/src/core/primitives/button/__workshop__/styled2.tsx +0 -19
- package/src/core/primitives/button/__workshop__/textOverflow.tsx +0 -13
- package/src/core/primitives/button/__workshop__/uploadButton.tsx +0 -29
- package/src/core/primitives/button/button.test.tsx +0 -30
- package/src/core/primitives/button/button.tsx +0 -193
- package/src/core/primitives/button/types.ts +0 -2
- package/src/core/primitives/card/__workshop__/asButton.tsx +0 -107
- package/src/core/primitives/card/__workshop__/asComponent.tsx +0 -27
- package/src/core/primitives/card/__workshop__/checkered.tsx +0 -26
- package/src/core/primitives/card/__workshop__/index.ts +0 -20
- package/src/core/primitives/card/__workshop__/interactive.tsx +0 -29
- package/src/core/primitives/card/__workshop__/listNavigation.tsx +0 -78
- package/src/core/primitives/card/__workshop__/props.tsx +0 -52
- package/src/core/primitives/card/__workshop__/selected.tsx +0 -62
- package/src/core/primitives/card/__workshop__/styled.tsx +0 -14
- package/src/core/primitives/card/__workshop__/tones.tsx +0 -27
- package/src/core/primitives/card/card.tsx +0 -109
- package/src/core/primitives/card/cardContext.ts +0 -10
- package/src/core/primitives/card/cardProvider.tsx +0 -27
- package/src/core/primitives/card/types.ts +0 -17
- package/src/core/primitives/card/useCard.ts +0 -15
- package/src/core/primitives/checkbox/__workshop__/example.tsx +0 -25
- package/src/core/primitives/checkbox/__workshop__/index.ts +0 -15
- package/src/core/primitives/checkbox/__workshop__/props.tsx +0 -35
- package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +0 -16
- package/src/core/primitives/checkbox/__workshop__/tones.tsx +0 -27
- package/src/core/primitives/checkbox/checkbox.tsx +0 -80
- package/src/core/primitives/code/__workshop__/index.ts +0 -21
- package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +0 -23
- package/src/core/primitives/code/__workshop__/props.tsx +0 -18
- package/src/core/primitives/code/code.tsx +0 -48
- package/src/core/primitives/code/refractor.tsx +0 -18
- package/src/core/primitives/container/__workshop__/example.tsx +0 -20
- package/src/core/primitives/container/__workshop__/index.ts +0 -10
- package/src/core/primitives/container/container.tsx +0 -37
- package/src/core/primitives/container/types.ts +0 -6
- package/src/core/primitives/flex/__workshop__/example.tsx +0 -34
- package/src/core/primitives/flex/__workshop__/gap.tsx +0 -25
- package/src/core/primitives/flex/__workshop__/index.ts +0 -13
- package/src/core/primitives/flex/flex.tsx +0 -58
- package/src/core/primitives/grid/__workshop__/index.ts +0 -12
- package/src/core/primitives/grid/__workshop__/responsive.tsx +0 -54
- package/src/core/primitives/grid/grid.tsx +0 -35
- package/src/core/primitives/heading/__workshop__/index.ts +0 -21
- package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +0 -54
- package/src/core/primitives/heading/__workshop__/plain.tsx +0 -29
- package/src/core/primitives/heading/heading.tsx +0 -78
- package/src/core/primitives/inline/__workshop__/index.ts +0 -10
- package/src/core/primitives/inline/__workshop__/plain.tsx +0 -24
- package/src/core/primitives/inline/inline.tsx +0 -62
- package/src/core/primitives/kbd/__workshop__/index.ts +0 -10
- package/src/core/primitives/kbd/__workshop__/plain.tsx +0 -9
- package/src/core/primitives/kbd/kbd.tsx +0 -57
- package/src/core/primitives/label/__workshop__/index.ts +0 -21
- package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +0 -54
- package/src/core/primitives/label/__workshop__/plain.tsx +0 -28
- package/src/core/primitives/label/label.tsx +0 -75
- package/src/core/primitives/layer/__workshop__/_debug.tsx +0 -17
- package/src/core/primitives/layer/__workshop__/index.ts +0 -26
- package/src/core/primitives/layer/__workshop__/multipleRoots.tsx +0 -49
- package/src/core/primitives/layer/__workshop__/nested.tsx +0 -98
- package/src/core/primitives/layer/__workshop__/responsiveZOffset.tsx +0 -17
- package/src/core/primitives/layer/getLayerContext.test.ts +0 -32
- package/src/core/primitives/layer/getLayerContext.ts +0 -21
- package/src/core/primitives/layer/layer.test.tsx +0 -110
- package/src/core/primitives/layer/layer.tsx +0 -42
- package/src/core/primitives/layer/layerCard.tsx +0 -90
- package/src/core/primitives/layer/layerContext.ts +0 -7
- package/src/core/primitives/layer/layerProvider.tsx +0 -106
- package/src/core/primitives/layer/types.ts +0 -9
- package/src/core/primitives/layer/useLayer.ts +0 -24
- package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +0 -77
- package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
- package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
- package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
- package/src/core/primitives/popover/__workshop__/PlainStory.tsx +0 -71
- package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +0 -69
- package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +0 -96
- package/src/core/primitives/popover/__workshop__/TestStory.tsx +0 -100
- package/src/core/primitives/popover/__workshop__/index.ts +0 -51
- package/src/core/primitives/popover/constants.ts +0 -22
- package/src/core/primitives/popover/floating-ui/size.ts +0 -83
- package/src/core/primitives/popover/helpers.ts +0 -32
- package/src/core/primitives/popover/popover.tsx +0 -443
- package/src/core/primitives/popover/popoverLayer.tsx +0 -149
- package/src/core/primitives/popover/types.ts +0 -12
- package/src/core/primitives/radio/__workshop__/example.tsx +0 -63
- package/src/core/primitives/radio/__workshop__/index.ts +0 -13
- package/src/core/primitives/radio/__workshop__/plain.tsx +0 -28
- package/src/core/primitives/radio/radio.tsx +0 -64
- package/src/core/primitives/select/__workshop__/index.ts +0 -13
- package/src/core/primitives/select/__workshop__/plain.tsx +0 -39
- package/src/core/primitives/select/__workshop__/readOnly.tsx +0 -23
- package/src/core/primitives/select/select.tsx +0 -75
- package/src/core/primitives/selectable/selectable.tsx +0 -50
- package/src/core/primitives/skeleton/__workshop__/delay.tsx +0 -70
- package/src/core/primitives/skeleton/__workshop__/index.ts +0 -13
- package/src/core/primitives/skeleton/__workshop__/skeleton.tsx +0 -64
- package/src/core/primitives/skeleton/codeSkeleton.tsx +0 -49
- package/src/core/primitives/skeleton/headingSkeleton.tsx +0 -48
- package/src/core/primitives/skeleton/labelSkeleton.tsx +0 -47
- package/src/core/primitives/skeleton/skeleton.tsx +0 -70
- package/src/core/primitives/skeleton/textSkeleton.tsx +0 -49
- package/src/core/primitives/spinner/__workshop__/Props.tsx +0 -15
- package/src/core/primitives/spinner/__workshop__/index.ts +0 -16
- package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +0 -14
- package/src/core/primitives/spinner/spinner.tsx +0 -45
- package/src/core/primitives/srOnly/srOnly.tsx +0 -33
- package/src/core/primitives/stack/__workshop__/index.ts +0 -16
- package/src/core/primitives/stack/__workshop__/plain.tsx +0 -32
- package/src/core/primitives/stack/stack.tsx +0 -60
- package/src/core/primitives/switch/__workshop__/example.tsx +0 -23
- package/src/core/primitives/switch/__workshop__/index.ts +0 -13
- package/src/core/primitives/switch/__workshop__/props.tsx +0 -21
- package/src/core/primitives/switch/switch.tsx +0 -84
- package/src/core/primitives/text/__workshop__/colored.tsx +0 -23
- package/src/core/primitives/text/__workshop__/example.tsx +0 -28
- package/src/core/primitives/text/__workshop__/index.ts +0 -26
- package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +0 -23
- package/src/core/primitives/text/text.tsx +0 -76
- package/src/core/primitives/textArea/__workshop__/index.ts +0 -16
- package/src/core/primitives/textArea/__workshop__/plain.tsx +0 -61
- package/src/core/primitives/textArea/textArea.tsx +0 -84
- package/src/core/primitives/textInput/__workshop__/clearButton.tsx +0 -30
- package/src/core/primitives/textInput/__workshop__/customValidity.tsx +0 -17
- package/src/core/primitives/textInput/__workshop__/index.ts +0 -46
- package/src/core/primitives/textInput/__workshop__/plain.tsx +0 -110
- package/src/core/primitives/textInput/__workshop__/readOnly.tsx +0 -9
- package/src/core/primitives/textInput/__workshop__/states.tsx +0 -53
- package/src/core/primitives/textInput/__workshop__/tones.tsx +0 -277
- package/src/core/primitives/textInput/__workshop__/typed.tsx +0 -23
- package/src/core/primitives/textInput/textInput.tsx +0 -258
- package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +0 -102
- package/src/core/primitives/tooltip/__workshop__/index.ts +0 -31
- package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -74
- package/src/core/primitives/tooltip/__workshop__/props.tsx +0 -112
- package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -86
- package/src/core/primitives/tooltip/constants.ts +0 -23
- package/src/core/primitives/tooltip/tooltip.test.tsx +0 -452
- package/src/core/primitives/tooltip/tooltip.tsx +0 -482
- package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
- package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -13
- package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -55
- package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -10
- package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
- package/src/core/primitives/tooltip/tooltipLayer.tsx +0 -106
- package/src/core/types.ts +0 -56
- package/src/core/utils/boundaryElement/__workshop__/index.ts +0 -16
- package/src/core/utils/boundaryElement/__workshop__/plain.tsx +0 -19
- package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -102
- package/src/core/utils/boundaryElement/boundaryElementContext.ts +0 -10
- package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -18
- package/src/core/utils/boundaryElement/types.ts +0 -5
- package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -24
- package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +0 -41
- package/src/core/utils/elementQuery/__workshop__/index.ts +0 -16
- package/src/core/utils/elementQuery/elementQuery.tsx +0 -75
- package/src/core/utils/elementQuery/helpers.ts +0 -27
- package/src/core/utils/errorBoundary.tsx +0 -50
- package/src/core/utils/getElementRef.ts +0 -29
- package/src/core/utils/portal/__workshop__/index.ts +0 -16
- package/src/core/utils/portal/__workshop__/named.tsx +0 -63
- package/src/core/utils/portal/portal.test.tsx +0 -105
- package/src/core/utils/portal/portal.tsx +0 -36
- package/src/core/utils/portal/portalContext.ts +0 -37
- package/src/core/utils/portal/portalProvider.tsx +0 -70
- package/src/core/utils/portal/types.ts +0 -7
- package/src/core/utils/portal/usePortal.ts +0 -23
- package/src/css/_assign.ts +0 -3
- package/src/css/_composeClassNames.ts +0 -12
- package/src/css/_fromEntries.ts +0 -3
- package/src/css/_getClassNames.ts +0 -9
- package/src/css/_responsiveClassName.ts +0 -45
- package/src/css/_responsiveStyle.css.ts +0 -34
- package/src/css/_style.css.ts +0 -9
- package/src/css/components/breadcrumbs/breadcrumbs.css.ts +0 -6
- package/src/css/components/breadcrumbs/breadcrumbs.ts +0 -7
- package/src/css/components/dialog/dialog.css.ts +0 -98
- package/src/css/components/dialog/dialog.ts +0 -58
- package/src/css/components/menu/menu.css.ts +0 -14
- package/src/css/components/menu/menu.ts +0 -12
- package/src/css/components/skeleton/skeleton.css.ts +0 -128
- package/src/css/components/skeleton/skeleton.ts +0 -38
- package/src/css/components/skeleton/types.ts +0 -36
- package/src/css/components/toast/toast.css.ts +0 -17
- package/src/css/components/toast/toast.ts +0 -11
- package/src/css/components/tree/tree.css.ts +0 -65
- package/src/css/components/tree/tree.ts +0 -7
- package/src/css/constants.ts +0 -10
- package/src/css/getVarName.ts +0 -27
- package/src/css/index.ts +0 -146
- package/src/css/layers.css.ts +0 -12
- package/src/css/primitives/_arrow/_arrow.css.ts +0 -68
- package/src/css/primitives/_arrow/_arrow.ts +0 -26
- package/src/css/primitives/_input/_input.css.ts +0 -261
- package/src/css/primitives/_input/input.ts +0 -29
- package/src/css/primitives/_input/types.ts +0 -13
- package/src/css/primitives/avatar/avatar.css.ts +0 -201
- package/src/css/primitives/avatar/avatar.ts +0 -68
- package/src/css/primitives/avatar/types.ts +0 -10
- package/src/css/primitives/badge/badge.css.ts +0 -27
- package/src/css/primitives/badge/badge.ts +0 -8
- package/src/css/primitives/badge/types.ts +0 -13
- package/src/css/primitives/box/box.css.ts +0 -19
- package/src/css/primitives/box/box.ts +0 -82
- package/src/css/primitives/box/types.ts +0 -75
- package/src/css/primitives/button/button.css.ts +0 -287
- package/src/css/primitives/button/button.ts +0 -26
- package/src/css/primitives/button/types.ts +0 -12
- package/src/css/primitives/card/__workshop__/color.tsx +0 -75
- package/src/css/primitives/card/__workshop__/index.ts +0 -16
- package/src/css/primitives/card/card.css.ts +0 -387
- package/src/css/primitives/card/card.ts +0 -13
- package/src/css/primitives/card/types.ts +0 -9
- package/src/css/primitives/checkbox/checkbox.css.ts +0 -193
- package/src/css/primitives/checkbox/checkbox.ts +0 -17
- package/src/css/primitives/code/code.css.ts +0 -272
- package/src/css/primitives/code/code.ts +0 -19
- package/src/css/primitives/code/types.ts +0 -11
- package/src/css/primitives/container/container.css.ts +0 -4
- package/src/css/primitives/container/container.ts +0 -17
- package/src/css/primitives/container/types.ts +0 -9
- package/src/css/primitives/heading/heading.css.ts +0 -86
- package/src/css/primitives/heading/heading.ts +0 -22
- package/src/css/primitives/heading/types.ts +0 -14
- package/src/css/primitives/kbd/kbd.css.ts +0 -16
- package/src/css/primitives/kbd/kbd.ts +0 -9
- package/src/css/primitives/kbd/types.ts +0 -6
- package/src/css/primitives/label/label.css.ts +0 -87
- package/src/css/primitives/label/label.ts +0 -22
- package/src/css/primitives/label/types.ts +0 -14
- package/src/css/primitives/popover/popover.css.ts +0 -6
- package/src/css/primitives/popover/popover.ts +0 -12
- package/src/css/primitives/radio/radio.css.ts +0 -78
- package/src/css/primitives/radio/radio.ts +0 -17
- package/src/css/primitives/root/root.css.ts +0 -19
- package/src/css/primitives/root/root.ts +0 -17
- package/src/css/primitives/root/types.ts +0 -10
- package/src/css/primitives/select/select.css.ts +0 -24
- package/src/css/primitives/select/select.ts +0 -14
- package/src/css/primitives/select/types.ts +0 -5
- package/src/css/primitives/selectable/selectable.css.ts +0 -131
- package/src/css/primitives/selectable/selectable.ts +0 -9
- package/src/css/primitives/selectable/types.ts +0 -9
- package/src/css/primitives/spinner/spinner.css.ts +0 -19
- package/src/css/primitives/spinner/spinner.ts +0 -13
- package/src/css/primitives/spinner/types.ts +0 -4
- package/src/css/primitives/srOnly/srOnly.css.ts +0 -10
- package/src/css/primitives/srOnly/srOnly.ts +0 -7
- package/src/css/primitives/stack/stack.css.ts +0 -6
- package/src/css/primitives/stack/stack.ts +0 -7
- package/src/css/primitives/switch/switch.css.ts +0 -98
- package/src/css/primitives/switch/switch.ts +0 -27
- package/src/css/primitives/text/text.css.ts +0 -86
- package/src/css/primitives/text/text.ts +0 -24
- package/src/css/primitives/text/types.ts +0 -18
- package/src/css/primitives/textArea/textArea.css.ts +0 -4
- package/src/css/primitives/textArea/textArea.ts +0 -9
- package/src/css/primitives/textArea/types.ts +0 -7
- package/src/css/primitives/textInput/textInput.css.ts +0 -43
- package/src/css/primitives/textInput/textInput.ts +0 -24
- package/src/css/primitives/textInput/types.ts +0 -7
- package/src/css/primitives/tooltip/tooltip.css.ts +0 -4
- package/src/css/primitives/tooltip/tooltip.ts +0 -8
- package/src/css/primitives/tooltip/types.ts +0 -4
- package/src/css/props/alignItems/alignItems.css.ts +0 -22
- package/src/css/props/alignItems/alignItems.ts +0 -8
- package/src/css/props/alignItems/types.ts +0 -9
- package/src/css/props/border/border.css.ts +0 -65
- package/src/css/props/border/border.ts +0 -21
- package/src/css/props/border/types.ts +0 -13
- package/src/css/props/boxSizing/boxSizing.css.ts +0 -12
- package/src/css/props/boxSizing/boxSizing.ts +0 -7
- package/src/css/props/boxSizing/types.ts +0 -7
- package/src/css/props/display/display.css.ts +0 -56
- package/src/css/props/display/display.ts +0 -8
- package/src/css/props/display/types.ts +0 -16
- package/src/css/props/flex/flex.css.ts +0 -52
- package/src/css/props/flex/flex.ts +0 -8
- package/src/css/props/flex/types.ts +0 -9
- package/src/css/props/flexDirection/flexDirection.css.ts +0 -19
- package/src/css/props/flexDirection/flexDirection.ts +0 -8
- package/src/css/props/flexDirection/types.ts +0 -9
- package/src/css/props/flexWrap/flexWrap.css.ts +0 -16
- package/src/css/props/flexWrap/flexWrap.ts +0 -8
- package/src/css/props/flexWrap/types.ts +0 -9
- package/src/css/props/font/font.css.ts +0 -94
- package/src/css/props/font/font.ts +0 -8
- package/src/css/props/font/types.ts +0 -6
- package/src/css/props/gap/gap.css.ts +0 -40
- package/src/css/props/gap/gap.ts +0 -13
- package/src/css/props/gap/types.ts +0 -10
- package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +0 -19
- package/src/css/props/gridAutoColumns/gridAutoColumns.ts +0 -8
- package/src/css/props/gridAutoColumns/types.ts +0 -9
- package/src/css/props/gridAutoFlow/gridAutoFlow.css.ts +0 -19
- package/src/css/props/gridAutoFlow/gridAutoFlow.ts +0 -8
- package/src/css/props/gridAutoFlow/types.ts +0 -9
- package/src/css/props/gridAutoRows/gridAutoRows.css.ts +0 -19
- package/src/css/props/gridAutoRows/gridAutoRows.ts +0 -8
- package/src/css/props/gridAutoRows/types.ts +0 -9
- package/src/css/props/gridColumn/gridColumn.css.ts +0 -49
- package/src/css/props/gridColumn/gridColumn.ts +0 -8
- package/src/css/props/gridColumn/types.ts +0 -9
- package/src/css/props/gridColumnEnd/gridColumnEnd.css.ts +0 -46
- package/src/css/props/gridColumnEnd/gridColumnEnd.ts +0 -8
- package/src/css/props/gridColumnEnd/types.ts +0 -9
- package/src/css/props/gridColumnStart/gridColumnStart.css.ts +0 -46
- package/src/css/props/gridColumnStart/gridColumnStart.ts +0 -8
- package/src/css/props/gridColumnStart/types.ts +0 -9
- package/src/css/props/gridRow/gridRow.css.ts +0 -49
- package/src/css/props/gridRow/gridRow.ts +0 -8
- package/src/css/props/gridRow/types.ts +0 -9
- package/src/css/props/gridRowEnd/gridRowEnd.css.ts +0 -46
- package/src/css/props/gridRowEnd/gridRowEnd.ts +0 -8
- package/src/css/props/gridRowEnd/types.ts +0 -9
- package/src/css/props/gridRowStart/gridRowStart.css.ts +0 -46
- package/src/css/props/gridRowStart/gridRowStart.ts +0 -8
- package/src/css/props/gridRowStart/types.ts +0 -9
- package/src/css/props/gridTemplateColumns/gridTemplateColumns.css.ts +0 -43
- package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +0 -8
- package/src/css/props/gridTemplateColumns/types.ts +0 -9
- package/src/css/props/gridTemplateRows/gridTemplateRows.css.ts +0 -43
- package/src/css/props/gridTemplateRows/gridTemplateRows.ts +0 -8
- package/src/css/props/gridTemplateRows/types.ts +0 -9
- package/src/css/props/height/height.css.ts +0 -25
- package/src/css/props/height/height.ts +0 -8
- package/src/css/props/height/types.ts +0 -9
- package/src/css/props/inset/inset.css.ts +0 -37
- package/src/css/props/inset/inset.ts +0 -21
- package/src/css/props/inset/types.ts +0 -13
- package/src/css/props/justifyContent/justifyContent.css.ts +0 -25
- package/src/css/props/justifyContent/justifyContent.ts +0 -8
- package/src/css/props/justifyContent/types.ts +0 -15
- package/src/css/props/margin/margin.css.ts +0 -117
- package/src/css/props/margin/margin.ts +0 -25
- package/src/css/props/margin/types.ts +0 -17
- package/src/css/props/maxWidth/maxWidth.css.ts +0 -32
- package/src/css/props/maxWidth/maxWidth.ts +0 -8
- package/src/css/props/maxWidth/types.ts +0 -11
- package/src/css/props/minHeight/minHeight.css.ts +0 -13
- package/src/css/props/minHeight/minHeight.ts +0 -8
- package/src/css/props/minHeight/types.ts +0 -9
- package/src/css/props/minWidth/minWidth.css.ts +0 -25
- package/src/css/props/minWidth/minWidth.ts +0 -8
- package/src/css/props/minWidth/types.ts +0 -9
- package/src/css/props/outline/outline.css.ts +0 -10
- package/src/css/props/outline/outline.ts +0 -8
- package/src/css/props/outline/types.ts +0 -7
- package/src/css/props/overflow/overflow.css.ts +0 -16
- package/src/css/props/overflow/overflow.ts +0 -8
- package/src/css/props/overflow/types.ts +0 -11
- package/src/css/props/padding/padding.css.ts +0 -87
- package/src/css/props/padding/padding.ts +0 -25
- package/src/css/props/padding/types.ts +0 -17
- package/src/css/props/pointerEvents/pointerEvents.css.ts +0 -13
- package/src/css/props/pointerEvents/pointerEvents.ts +0 -8
- package/src/css/props/pointerEvents/types.ts +0 -7
- package/src/css/props/position/position.css.ts +0 -22
- package/src/css/props/position/position.ts +0 -8
- package/src/css/props/position/types.ts +0 -9
- package/src/css/props/radius/radius.css.ts +0 -21
- package/src/css/props/radius/radius.ts +0 -8
- package/src/css/props/radius/types.ts +0 -8
- package/src/css/props/shadow/shadow.css.ts +0 -23
- package/src/css/props/shadow/shadow.ts +0 -8
- package/src/css/props/shadow/types.ts +0 -8
- package/src/css/props/textAlign/textAlign.css.ts +0 -22
- package/src/css/props/textAlign/textAlign.ts +0 -8
- package/src/css/props/textAlign/types.ts +0 -7
- package/src/css/props/textOverflow/textOverflow.css.ts +0 -19
- package/src/css/props/textOverflow/textOverflow.ts +0 -8
- package/src/css/props/textOverflow/types.ts +0 -12
- package/src/css/props/width/types.ts +0 -11
- package/src/css/props/width/width.css.ts +0 -31
- package/src/css/props/width/width.ts +0 -8
- package/src/css/theme/buildCSSTheme.ts +0 -488
- package/src/css/theme/defaultTheme.css.ts +0 -64
- package/src/css/types.ts +0 -427
- package/src/css/vars.css.ts +0 -676
- package/src/theme/_parseColorToken.ts +0 -180
- package/src/theme/buildTheme.ts +0 -32
- package/src/theme/constants.ts +0 -90
- package/src/theme/defaults/color.ts +0 -197
- package/src/theme/defaults/common.ts +0 -71
- package/src/theme/defaults/fonts.ts +0 -250
- package/src/theme/index.ts +0 -5
- package/src/theme/merge.ts +0 -24
- package/src/theme/resolveTokens.ts +0 -204
- package/src/theme/types.ts +0 -366
package/dist/theme.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sources":["../src/theme/constants.ts","../src/theme/_parseColorToken.ts","../src/theme/defaults/color.ts","../src/theme/defaults/common.ts","../src/theme/defaults/fonts.ts","../src/theme/merge.ts","../src/theme/resolveTokens.ts","../src/theme/buildTheme.ts"],"sourcesContent":["/** @public */\nexport const HUES = [\n 'gray',\n 'blue',\n 'purple',\n 'magenta',\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'cyan',\n] as const\n\n/** @public */\nexport const TINTS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950] as const\n\n/** @public */\nexport const AVATAR_SIZE = [0, 1, 2, 3] as const\n\n/** @public */\nexport const CONTAINER_SCALE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const CONTAINER: [...typeof CONTAINER_SCALE, 'auto'] = [...CONTAINER_SCALE, 'auto']\n\n/** @public */\nexport const RADIUS = [0, 1, 2, 3, 4, 5, 6] as const\n\n/** @public */\nexport const SPACE = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] as const\n\n/** @public */\nexport const FONT_CODE_SIZE = [0, 1, 2, 3, 4] as const\n\n/** @public */\nexport const FONT_HEADING_SIZE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const FONT_LABEL_SIZE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const FONT_TEXT_SIZE = [0, 1, 2, 3, 4] as const\n\n/** @public */\nexport const SHADOW = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const COLOR_SCHEMES = ['light', 'dark'] as const\n\n/** @public */\nexport const COLOR_VARIANTS = ['tinted', 'solid'] as const\n\n/** @public */\nexport const AVATAR_COLORS = [\n 'gray',\n 'blue',\n 'purple',\n 'magenta',\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'cyan',\n] as const\n\n/** @public */\nexport const CARD_TONES = [\n 'transparent',\n 'default',\n 'neutral',\n 'primary', // selections\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const ELEMENT_TONES = [\n 'default',\n 'neutral',\n 'primary', // selections\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const BUTTON_MODES = ['default', 'ghost', 'bleed'] as const\n","import {HUES, TINTS} from './constants'\nimport type {ColorToken, Hue, Tint} from './types'\n\nconst RE_PERCENTAGE = /^([0-9]+)%/\nconst RE_OPACITY = /^(1|0\\.[0-9]+)?/\n\n/** @internal */\nexport interface ColorNode {\n type: 'color'\n name: 'black' | 'white'\n /** Between 0 and 1 */\n opacity: number\n /** Between 0 and 1 */\n mix: number\n}\n\n/** @internal */\nexport interface ColorTintNode {\n type: 'tint'\n hue: Hue\n tint: Tint\n /** Between 0 and 1 */\n opacity: number\n /** Between 0 and 1 */\n mix: number\n}\n\n/** @internal */\nexport interface ColorInheritNode {\n type: 'inherit'\n}\n\n/** @internal */\nexport type TokenizeColorResult = ColorNode | ColorTintNode | ColorInheritNode\n\n/** @internal */\nexport function _parseColorToken(str: ColorToken, options: {defaultHue: Hue}): TokenizeColorResult {\n const {defaultHue} = options\n\n let cursor = 0\n\n return parseColorNode()\n\n function _consume(s: string) {\n if (str.startsWith(s, cursor)) {\n cursor += s.length\n\n return s\n }\n\n return undefined\n }\n\n function _peek() {\n return str[cursor]\n }\n\n function parseColorNode(): ColorNode | ColorTintNode | ColorInheritNode {\n ignoreWhitespace()\n\n let v = _consume('black') || _consume('white')\n\n if (v) {\n return {\n type: 'color',\n name: v as 'black' | 'white',\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n\n for (const hue of HUES) {\n v = _consume(String(hue))\n\n if (v) {\n if (_peek() !== '-') {\n throw new Error(`Expected \"-\" after hue key`)\n }\n\n cursor += 1\n\n const tint = parseTint()\n\n if (!tint) {\n throw new Error(`Expected tint after hue`)\n }\n\n return {\n type: 'tint',\n hue,\n tint,\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n }\n\n const tint = parseTint()\n\n if (tint) {\n return {\n type: 'tint',\n hue: defaultHue,\n tint,\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n\n if (str === 'inherit') {\n return {\n type: 'inherit',\n }\n }\n\n throw new Error(`Invalid color: ${str}`)\n }\n\n function parseTint() {\n ignoreWhitespace()\n\n let v = Number(str.slice(cursor, cursor + 3)) as Tint\n\n if (TINTS.includes(v)) {\n cursor += 3\n\n return v\n }\n\n v = Number(str.slice(cursor, cursor + 2)) as Tint\n\n if (TINTS.includes(v)) {\n cursor += 2\n\n return v\n }\n\n return undefined\n }\n\n function parseMix() {\n ignoreWhitespace()\n\n const match = RE_PERCENTAGE.exec(str.slice(cursor))\n\n if (match) {\n cursor += match[0].length\n\n return parseFloat(match[1]) / 100\n }\n\n return undefined\n }\n\n function parseOpacity() {\n ignoreWhitespace()\n\n if (_peek() === '/') {\n cursor += 1\n\n const match = RE_OPACITY.exec(str.slice(cursor))\n\n if (match) {\n cursor += match[0].length\n\n return parseFloat(match[1])\n }\n\n cursor -= 1\n }\n\n return undefined\n }\n\n function ignoreWhitespace() {\n while (_peek() === ' ') {\n cursor++\n }\n }\n}\n","import type {ColorTokens, PartialTokens} from '../types'\n\n/** @internal */\nexport const defaultColor: PartialTokens<ColorTokens> = {\n '*': {\n backdrop: ['gray-100/0.5', 'black/0.5'],\n code: {\n bg: ['50', '950'],\n fg: ['700', '300'],\n token: {\n atrule: ['purple-600', 'purple-400'],\n attrName: ['green-600', 'green-400'],\n attrValue: ['yellow-600', 'yellow-400'],\n attribute: ['yellow-600', 'yellow-400'],\n boolean: ['purple-600', 'purple-400'],\n builtin: ['purple-600', 'purple-400'],\n cdata: ['yellow-600', 'yellow-400'],\n char: ['yellow-600', 'yellow-400'],\n class: ['orange-600', 'orange-400'],\n className: ['cyan-600', 'cyan-400'],\n comment: ['gray-400', 'gray-600'],\n constant: ['purple-600', 'purple-400'],\n deleted: ['red-600', 'red-400'],\n entity: ['red-600', 'red-400'],\n function: ['green-600', 'green-400'],\n hexcode: ['blue-600', 'blue-400'],\n id: ['purple-600', 'purple-400'],\n important: ['purple-600', 'purple-400'],\n inserted: ['green-600', 'green-400'],\n keyword: ['magenta-600', 'magenta-400'],\n number: ['purple-600', 'purple-400'],\n operator: ['magenta-600', 'magenta-400'],\n prolog: ['gray-600', 'gray-400'],\n property: ['blue-600', 'blue-400'],\n pseudoClass: ['yellow-600', 'yellow-400'],\n pseudoElement: ['yellow-600', 'yellow-400'],\n punctuation: ['gray-600', 'gray-400'],\n regex: ['blue-600', 'blue-400'],\n selector: ['red-600', 'red-400'],\n string: ['yellow-600', 'yellow-400'],\n symbol: ['purple-600', 'purple-400'],\n tag: ['red-600', 'red-400'],\n unit: ['orange-600', 'orange-400'],\n url: ['red-600', 'red-400'],\n variable: ['red-600', 'red-400'],\n },\n },\n focusRing: ['blue-500', 'blue-500'],\n link: {\n fg: ['blue-600', 'blue-400'],\n },\n shadow: {\n outline: ['600/0.3', '500/0.4'],\n umbra: ['600/0.1', 'black/0.2'],\n penumbra: ['600/0.07', 'black/0.14'],\n ambient: ['600/0.06', 'black/0.12'],\n },\n skeleton: {\n from: ['200 70%', '800 35%'],\n to: ['200 40%', '800 50%'],\n },\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['100 75%', '900 75%'],\n 4: ['300', '700'],\n },\n border: {\n 0: ['200', '700 50%'],\n 4: ['300 75%', '500'],\n },\n fg: {\n 0: ['900', '100'],\n 4: ['700', '300'],\n },\n },\n 'primary': {\n _hue: 'blue',\n bg: {0: ['inherit', 'inherit']},\n },\n 'suggest': {\n _hue: 'purple',\n bg: {0: ['inherit', 'inherit']},\n },\n 'positive': {\n _hue: 'green',\n bg: {0: ['inherit', 'inherit']},\n },\n 'caution': {\n _hue: 'yellow',\n bg: {0: ['inherit', 'inherit']},\n },\n 'critical': {\n _hue: 'red',\n bg: {0: ['inherit', 'inherit']},\n },\n },\n solid: {\n '*': {\n bg: {\n 0: ['500', '400'],\n 4: ['600', '300'],\n },\n border: {\n 0: ['400', '200'],\n 4: ['500', '100'],\n },\n fg: {\n 0: ['white', 'black'],\n 4: ['200', '700'],\n },\n },\n 'default': {\n bg: {\n 0: ['800', '200'],\n 4: ['black', 'white'],\n },\n border: {\n 0: ['700', '300'],\n 4: ['800', '200'],\n },\n },\n 'primary': {\n _hue: 'blue',\n },\n 'suggest': {\n _hue: 'purple',\n },\n 'positive': {\n _hue: 'green',\n },\n 'caution': {\n _hue: 'yellow',\n },\n 'critical': {\n _hue: 'red',\n },\n },\n },\n },\n 'transparent': {\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['gray-50', 'black'],\n 4: ['300 75%', '700 75%'],\n },\n border: {\n 0: ['200', '800 75%'],\n 4: ['400', '700'],\n },\n fg: {\n 0: ['black', '100'],\n 4: ['700', '400'],\n },\n },\n },\n },\n },\n 'default': {\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['white', '950'],\n 4: ['300 75%', '700'],\n },\n border: {\n 0: ['100', '800 75%'],\n 4: ['300', '700'],\n },\n fg: {\n 0: ['black', 'white'],\n 4: ['600', '400'],\n },\n },\n },\n },\n },\n 'primary': {\n _hue: 'blue',\n },\n 'suggest': {\n _hue: 'purple',\n },\n 'positive': {\n _hue: 'green',\n },\n 'caution': {\n _hue: 'yellow',\n },\n 'critical': {\n _hue: 'red',\n },\n}\n","import type {Theme} from '../types'\n\nconst BORDER_WIDTH = 1\nconst OUTLINE_WIDTH = 0.5\n\nexport const defaultTheme: Omit<Theme, '_version' | '_tokens' | 'color' | 'font' | 'palette'> = {\n avatar: {\n sizes: [\n {distance: -4, size: 19},\n {distance: -4, size: 25},\n {distance: -8, size: 33},\n {distance: -12, size: 49},\n ],\n focusRing: {offset: 1, width: 1},\n },\n button: {\n textWeight: 'medium',\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n },\n card: {\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n shadow: {outline: OUTLINE_WIDTH},\n },\n container: [320, 640, 960, 1280, 1600, 1920],\n media: [360, 600, 900, 1200, 1800, 2400],\n layer: {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n },\n radius: [0, 1, 3, 7, 11, 15, 23, 43, 75, 127],\n shadow: [\n undefined,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -2], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 1]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n border: {\n width: BORDER_WIDTH,\n },\n checkbox: {\n size: 17,\n focusRing: {offset: -1, width: 1},\n },\n radio: {\n size: 17,\n markSize: 9,\n focusRing: {offset: -1, width: 1},\n },\n switch: {\n width: 25,\n height: 17,\n padding: 5,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n focusRing: {offset: 1, width: 1},\n },\n select: {\n focusRing: {offset: -1, width: 1},\n },\n text: {\n focusRing: {offset: -1, width: 1},\n },\n },\n}\n","import type {Fonts} from '../types'\n\nexport const defaultFonts: Fonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n scale: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 16,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18.75,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n customIconSize: 24,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 21.5,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n customIconSize: 28,\n },\n ],\n },\n heading: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n featureSettings: `'liga' 1, 'calt' 1, 'ss01' 1, 'ss03' 1, 'zero' 1`,\n weight: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n scale: [\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 17,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: -0.25,\n customIconSize: 28,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 35,\n letterSpacing: -0.5,\n customIconSize: 36,\n },\n {\n ascenderHeight: 9.5,\n descenderHeight: 8.5,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 41,\n letterSpacing: -1,\n customIconSize: 44,\n },\n {\n ascenderHeight: 10.5,\n descenderHeight: 9.5,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 47,\n letterSpacing: -1,\n customIconSize: 48,\n },\n ],\n },\n label: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weight: {\n regular: 500,\n medium: 600,\n semibold: 700,\n bold: 800,\n },\n scale: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 8.1,\n iconSize: 13,\n lineHeight: 10,\n letterSpacing: 0.5,\n customIconSize: 8,\n },\n {\n ascenderHeight: 1.5,\n descenderHeight: 2.5,\n fontSize: 9.5,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n customIconSize: 10,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 10.8,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n customIconSize: 12,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.25,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n customIconSize: 14,\n },\n {\n ascenderHeight: 1.5,\n descenderHeight: 2.5,\n fontSize: 13.6,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n customIconSize: 16,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n customIconSize: 18,\n },\n ],\n },\n text: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n scale: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 9.75,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 12.5,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 16,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 15.25,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n customIconSize: 24,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 20.75,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n customIconSize: 28,\n },\n ],\n },\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport function merge<T extends Record<string, any>>(...records: (T | undefined)[]): T {\n return (records.filter(Boolean) as T[]).reduce(_merge, {} as T)\n}\n\nfunction _merge<T extends Record<string, any>>(acc: T, source: T): T {\n for (const key of Object.keys(source)) {\n const prevValue = acc[key]\n const nextValue = source[key]\n\n if (isRecord(prevValue) && isRecord(nextValue)) {\n ;(acc as any)[key] = merge(prevValue, nextValue)\n } else {\n ;(acc as any)[key] = nextValue\n }\n }\n\n return acc\n}\n\nfunction isRecord(value: unknown): value is Record<string, any> {\n return value !== null && typeof value === 'object' && !Array.isArray(value)\n}\n","import {CARD_TONES, ELEMENT_TONES} from './constants'\nimport {merge} from './merge'\nimport type {\n CardColorTokens,\n CardTone,\n ElementColorTokens,\n ElementTone,\n PartialTokens,\n Tokens,\n} from './types'\n\nconst defaultElementTokens: ElementColorTokens = {\n _hue: 'gray',\n bg: {\n 0: ['950', '50'],\n 4: ['700', '300'],\n },\n border: {\n 0: ['700', '300'],\n 4: ['400', '600'],\n },\n fg: {\n 0: ['100', '900'],\n 4: ['400', '600'],\n },\n}\n\n/** @internal */\nexport function resolveTokens(tokens: PartialTokens<Tokens> = {}): Tokens {\n return {\n color: {\n '*': resolveCardColorTokens(tokens.color?.['*']),\n\n ...CARD_TONES.reduce(\n (acc, tone) => {\n return {\n ...acc,\n [tone]: resolveCardColorTokens(merge(tokens.color?.['*'], tokens.color?.[tone])),\n }\n },\n {} as Record<CardTone, CardColorTokens>,\n ),\n },\n }\n}\n\nfunction resolveCardColorTokens(\n tokens: PartialTokens<CardColorTokens> | undefined,\n): CardColorTokens {\n return {\n _hue: tokens?._hue ?? 'gray',\n avatar: {\n gray: {\n _hue: tokens?.avatar?.gray?._hue ?? 'gray',\n bg: tokens?.avatar?.gray?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.gray?.fg ?? ['white', '900'],\n },\n blue: {\n _hue: tokens?.avatar?.blue?._hue ?? 'blue',\n bg: tokens?.avatar?.blue?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.blue?.fg ?? ['white', '900'],\n },\n purple: {\n _hue: tokens?.avatar?.purple?._hue ?? 'purple',\n bg: tokens?.avatar?.purple?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.purple?.fg ?? ['white', '900'],\n },\n magenta: {\n _hue: tokens?.avatar?.magenta?._hue ?? 'magenta',\n bg: tokens?.avatar?.magenta?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.magenta?.fg ?? ['white', '900'],\n },\n red: {\n _hue: tokens?.avatar?.red?._hue ?? 'red',\n bg: tokens?.avatar?.red?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.red?.fg ?? ['white', '900'],\n },\n orange: {\n _hue: tokens?.avatar?.orange?._hue ?? 'orange',\n bg: tokens?.avatar?.orange?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.orange?.fg ?? ['white', '900'],\n },\n yellow: {\n _hue: tokens?.avatar?.yellow?._hue ?? 'yellow',\n bg: tokens?.avatar?.yellow?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.yellow?.fg ?? ['white', '900'],\n },\n green: {\n _hue: tokens?.avatar?.green?._hue ?? 'green',\n bg: tokens?.avatar?.green?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.green?.fg ?? ['white', '900'],\n },\n cyan: {\n _hue: tokens?.avatar?.cyan?._hue ?? 'cyan',\n bg: tokens?.avatar?.cyan?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.cyan?.fg ?? ['white', '900'],\n },\n },\n backdrop: tokens?.backdrop ?? ['100', '900'],\n code: {\n bg: tokens?.code?.bg ?? ['50', '950'],\n fg: tokens?.code?.fg ?? ['600', '400'],\n token: {\n atrule: tokens?.code?.token?.atrule ?? ['600', '400'],\n attribute: tokens?.code?.token?.attribute ?? ['600', '400'],\n attrName: tokens?.code?.token?.attrName ?? ['600', '400'],\n attrValue: tokens?.code?.token?.attrValue ?? ['600', '400'],\n boolean: tokens?.code?.token?.boolean ?? ['600', '400'],\n builtin: tokens?.code?.token?.builtin ?? ['600', '400'],\n cdata: tokens?.code?.token?.cdata ?? ['600', '400'],\n char: tokens?.code?.token?.char ?? ['600', '400'],\n class: tokens?.code?.token?.class ?? ['600', '400'],\n className: tokens?.code?.token?.className ?? ['600', '400'],\n comment: tokens?.code?.token?.comment ?? ['400', '600'],\n constant: tokens?.code?.token?.constant ?? ['600', '400'],\n deleted: tokens?.code?.token?.deleted ?? ['600', '400'],\n doctype: tokens?.code?.token?.doctype ?? ['600', '400'],\n entity: tokens?.code?.token?.entity ?? ['600', '400'],\n function: tokens?.code?.token?.function ?? ['600', '400'],\n hexcode: tokens?.code?.token?.hexcode ?? ['600', '400'],\n id: tokens?.code?.token?.id ?? ['600', '400'],\n important: tokens?.code?.token?.important ?? ['600', '400'],\n inserted: tokens?.code?.token?.inserted ?? ['600', '400'],\n keyword: tokens?.code?.token?.keyword ?? ['600', '400'],\n number: tokens?.code?.token?.number ?? ['600', '400'],\n operator: tokens?.code?.token?.operator ?? ['600', '400'],\n prolog: tokens?.code?.token?.prolog ?? ['600', '400'],\n property: tokens?.code?.token?.property ?? ['600', '400'],\n pseudoClass: tokens?.code?.token?.pseudoClass ?? ['600', '400'],\n pseudoElement: tokens?.code?.token?.pseudoElement ?? ['600', '400'],\n punctuation: tokens?.code?.token?.punctuation ?? ['600', '400'],\n regex: tokens?.code?.token?.regex ?? ['600', '400'],\n selector: tokens?.code?.token?.selector ?? ['600', '400'],\n string: tokens?.code?.token?.string ?? ['600', '400'],\n symbol: tokens?.code?.token?.symbol ?? ['600', '400'],\n tag: tokens?.code?.token?.tag ?? ['600', '400'],\n unit: tokens?.code?.token?.unit ?? ['600', '400'],\n url: tokens?.code?.token?.url ?? ['600', '400'],\n variable: tokens?.code?.token?.variable ?? ['600', '400'],\n },\n },\n focusRing: tokens?.focusRing ?? ['500', '500'],\n link: {\n fg: tokens?.link?.fg ?? ['600', '400'],\n },\n shadow: {\n outline: tokens?.shadow?.outline ?? ['500', '500'],\n umbra: tokens?.shadow?.umbra ?? ['500', '500'],\n penumbra: tokens?.shadow?.penumbra ?? ['500', '500'],\n ambient: tokens?.shadow?.ambient ?? ['500', '500'],\n },\n skeleton: {\n from: tokens?.skeleton?.from ?? ['100', '900'],\n to: tokens?.skeleton?.to ?? ['50', '950'],\n },\n\n variant: {\n solid: {\n '*': resolveElementTokens(tokens?.variant?.solid?.['*']),\n ...ELEMENT_TONES.reduce(\n (acc, tone) => {\n acc[tone] = resolveElementTokens(\n merge(tokens, tokens?.variant?.solid?.['*'], tokens?.variant?.solid?.[tone]),\n )\n\n return acc\n },\n {} as Record<ElementTone, ElementColorTokens>,\n ),\n },\n tinted: {\n '*': resolveElementTokens(tokens?.variant?.tinted?.['*']),\n ...ELEMENT_TONES.reduce(\n (acc, tone) => {\n acc[tone] = resolveElementTokens(\n merge(tokens, tokens?.variant?.tinted?.['*'], tokens?.variant?.tinted?.[tone]),\n )\n\n return acc\n },\n {} as Record<ElementTone, ElementColorTokens>,\n ),\n },\n },\n }\n}\n\nfunction resolveElementTokens(tokens?: PartialTokens<ElementColorTokens>): ElementColorTokens {\n return {\n _hue: tokens?._hue ?? 'gray',\n bg: {\n 0: tokens?.bg?.[0] ?? defaultElementTokens.bg[0],\n 4: tokens?.bg?.[4] ?? defaultElementTokens.bg[4],\n },\n border: {\n 0: tokens?.border?.[0] ?? defaultElementTokens.border[0],\n 4: tokens?.border?.[4] ?? defaultElementTokens.border[4],\n },\n fg: {\n 0: tokens?.fg?.[0] ?? defaultElementTokens.fg[0],\n 4: tokens?.fg?.[4] ?? defaultElementTokens.fg[4],\n },\n }\n}\n","import {black, hues, white} from '@sanity/color'\n\nimport {defaultColor} from './defaults/color'\nimport {defaultTheme} from './defaults/common'\nimport {defaultFonts} from './defaults/fonts'\nimport {resolveTokens} from './resolveTokens'\nimport type {Theme, ThemeOptions} from './types'\n\n/** @public */\nexport function buildTheme(options?: ThemeOptions): Theme {\n const tokens = resolveTokens({\n color: options?.color ?? defaultColor,\n })\n\n return {\n _version: 3,\n _tokens: tokens,\n avatar: defaultTheme.avatar,\n button: defaultTheme.button,\n card: defaultTheme.card,\n color: tokens.color,\n container: defaultTheme.container,\n font: defaultFonts,\n input: defaultTheme.input,\n layer: defaultTheme.layer,\n media: defaultTheme.media,\n palette: {black, white, hues},\n radius: defaultTheme.radius,\n shadow: defaultTheme.shadow,\n space: defaultTheme.space,\n }\n}\n"],"names":["HUES","TINTS","AVATAR_SIZE","CONTAINER_SCALE","CONTAINER","RADIUS","SPACE","FONT_CODE_SIZE","FONT_HEADING_SIZE","FONT_LABEL_SIZE","FONT_TEXT_SIZE","SHADOW","COLOR_SCHEMES","COLOR_VARIANTS","AVATAR_COLORS","CARD_TONES","ELEMENT_TONES","BUTTON_MODES","RE_PERCENTAGE","RE_OPACITY","_parseColorToken","str","options","defaultHue","cursor","parseColorNode","_consume","s","startsWith","length","_peek","ignoreWhitespace","v","type","name","opacity","parseOpacity","mix","parseMix","hue","String","Error","tint","parseTint","Number","slice","includes","match","exec","parseFloat","defaultColor","backdrop","code","bg","fg","token","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","focusRing","link","shadow","outline","umbra","penumbra","ambient","skeleton","from","to","variant","tinted","border","_hue","solid","defaultTheme","avatar","sizes","distance","size","offset","width","button","textWeight","BORDER_WIDTH","card","OUTLINE_WIDTH","container","media","layer","dialog","zOffset","popover","tooltip","radius","undefined","space","input","checkbox","radio","markSize","switch","height","padding","transitionDurationMs","transitionTimingFunction","select","text","defaultFonts","family","weight","regular","medium","semibold","bold","scale","ascenderHeight","descenderHeight","fontSize","iconSize","lineHeight","letterSpacing","customIconSize","heading","featureSettings","label","merge","records","filter","Boolean","reduce","_merge","acc","source","key","Object","keys","prevValue","nextValue","isRecord","value","Array","isArray","defaultElementTokens","resolveTokens","tokens","color","resolveCardColorTokens","tone","gray","blue","purple","magenta","red","orange","yellow","green","cyan","doctype","resolveElementTokens","buildTheme","_version","_tokens","font","palette","black","white","hues"],"mappings":"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"}
|
package/exports/css.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '../src/css'
|
package/exports/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '../src/core'
|
package/exports/theme.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '../src/theme'
|
package/src/core/Root.tsx
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import {box, root, type RootStyleProps} from '@sanity/ui/css'
|
|
2
|
-
import {useCallback, useImperativeHandle, useRef, useState} from 'react'
|
|
3
|
-
|
|
4
|
-
import {Box, type BoxOwnProps} from './primitives/box/box'
|
|
5
|
-
import {RootProvider} from './RootProvider'
|
|
6
|
-
import type {Props} from './types'
|
|
7
|
-
|
|
8
|
-
/** @public */
|
|
9
|
-
export const DEFAULT_ROOT_ELEMENT = 'html'
|
|
10
|
-
|
|
11
|
-
/** @public */
|
|
12
|
-
export interface RootOwnProps extends BoxOwnProps, RootStyleProps {}
|
|
13
|
-
|
|
14
|
-
/** @public */
|
|
15
|
-
export type RootElementType = 'html' | 'body' | 'div'
|
|
16
|
-
|
|
17
|
-
/** @public */
|
|
18
|
-
export type RootProps<E extends RootElementType = RootElementType> = Props<RootOwnProps, E>
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* The `Root` component.
|
|
22
|
-
*
|
|
23
|
-
* @public
|
|
24
|
-
*/
|
|
25
|
-
export function Root<E extends RootElementType = typeof DEFAULT_ROOT_ELEMENT>(
|
|
26
|
-
props: RootProps<E>,
|
|
27
|
-
): React.JSX.Element {
|
|
28
|
-
const {
|
|
29
|
-
as: as = DEFAULT_ROOT_ELEMENT,
|
|
30
|
-
children,
|
|
31
|
-
className,
|
|
32
|
-
height,
|
|
33
|
-
overflow = 'hidden',
|
|
34
|
-
ref: forwardedRef,
|
|
35
|
-
scheme = 'light',
|
|
36
|
-
tone = 'default',
|
|
37
|
-
...rest
|
|
38
|
-
} = props as RootProps<typeof DEFAULT_ROOT_ELEMENT>
|
|
39
|
-
|
|
40
|
-
const ref = useRef<HTMLHtmlElement | null>(null)
|
|
41
|
-
|
|
42
|
-
useImperativeHandle<HTMLHtmlElement | null, HTMLHtmlElement | null>(
|
|
43
|
-
forwardedRef,
|
|
44
|
-
() => ref.current,
|
|
45
|
-
)
|
|
46
|
-
|
|
47
|
-
const [portalElement, setPortalElement] = useState<HTMLElement | null>(null)
|
|
48
|
-
const [boundaryElement, setBoundaryElement] = useState<HTMLElement | null>(null)
|
|
49
|
-
|
|
50
|
-
const handleRef = useCallback((el: HTMLHtmlElement | null) => {
|
|
51
|
-
setBoundaryElement(el)
|
|
52
|
-
ref.current = el
|
|
53
|
-
}, [])
|
|
54
|
-
|
|
55
|
-
let node = (
|
|
56
|
-
<RootProvider
|
|
57
|
-
boundaryElement={boundaryElement}
|
|
58
|
-
portalElement={portalElement}
|
|
59
|
-
scheme={scheme}
|
|
60
|
-
tone={tone}
|
|
61
|
-
>
|
|
62
|
-
{children}
|
|
63
|
-
<div data-portal="" ref={setPortalElement} />
|
|
64
|
-
</RootProvider>
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
if (as === 'html') {
|
|
68
|
-
node = <body className={box({height, margin: 0})}>{node}</body>
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return (
|
|
72
|
-
<Box
|
|
73
|
-
as={as}
|
|
74
|
-
data-ui="Root"
|
|
75
|
-
{...rest}
|
|
76
|
-
className={root({
|
|
77
|
-
className,
|
|
78
|
-
height,
|
|
79
|
-
scheme,
|
|
80
|
-
tone,
|
|
81
|
-
})}
|
|
82
|
-
overflow={overflow}
|
|
83
|
-
ref={handleRef}
|
|
84
|
-
>
|
|
85
|
-
{node}
|
|
86
|
-
</Box>
|
|
87
|
-
)
|
|
88
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type {CardTone, ColorScheme} from '@sanity/ui/theme'
|
|
2
|
-
import type {ReactNode} from 'react'
|
|
3
|
-
|
|
4
|
-
import {ToastProvider} from './components/toast/toastProvider'
|
|
5
|
-
import {CardProvider} from './primitives/card/cardProvider'
|
|
6
|
-
import {LayerProvider} from './primitives/layer/layerProvider'
|
|
7
|
-
import {BoundaryElementProvider} from './utils/boundaryElement/boundaryElementProvider'
|
|
8
|
-
import {PortalProvider} from './utils/portal/portalProvider'
|
|
9
|
-
|
|
10
|
-
/** @public */
|
|
11
|
-
export interface RootProviderProps {
|
|
12
|
-
boundaryElement?: HTMLElement | null
|
|
13
|
-
children?: ReactNode
|
|
14
|
-
portalElement?: HTMLElement | null
|
|
15
|
-
scheme?: ColorScheme
|
|
16
|
-
tone?: CardTone
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/** @public */
|
|
20
|
-
export function RootProvider(props: RootProviderProps): React.JSX.Element {
|
|
21
|
-
const {
|
|
22
|
-
boundaryElement = null,
|
|
23
|
-
children,
|
|
24
|
-
portalElement = null,
|
|
25
|
-
scheme = 'light',
|
|
26
|
-
tone = 'transparent',
|
|
27
|
-
} = props
|
|
28
|
-
|
|
29
|
-
return (
|
|
30
|
-
<LayerProvider>
|
|
31
|
-
<CardProvider scheme={scheme} tone={tone}>
|
|
32
|
-
<ToastProvider>
|
|
33
|
-
<BoundaryElementProvider element={boundaryElement}>
|
|
34
|
-
<PortalProvider element={portalElement}>{children}</PortalProvider>
|
|
35
|
-
</BoundaryElementProvider>
|
|
36
|
-
</ToastProvider>
|
|
37
|
-
</CardProvider>
|
|
38
|
-
</LayerProvider>
|
|
39
|
-
)
|
|
40
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import {Box, Button, Root, Stack, Text, useCard, useToast} from '@sanity/ui'
|
|
2
|
-
|
|
3
|
-
export default function BoundaryStory(): React.JSX.Element {
|
|
4
|
-
const {scheme} = useCard()
|
|
5
|
-
|
|
6
|
-
return (
|
|
7
|
-
<Box padding={5}>
|
|
8
|
-
<Root as="div" padding={5} radius={4} scheme={scheme}>
|
|
9
|
-
<Layout />
|
|
10
|
-
</Root>
|
|
11
|
-
</Box>
|
|
12
|
-
)
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function Layout() {
|
|
16
|
-
const toast = useToast()
|
|
17
|
-
|
|
18
|
-
return (
|
|
19
|
-
<Stack gap={4}>
|
|
20
|
-
<Text size={1}>
|
|
21
|
-
Testing the root component. Toast messages will be rendered here, and should be contained
|
|
22
|
-
within the root element.
|
|
23
|
-
</Text>
|
|
24
|
-
|
|
25
|
-
<Button onClick={() => toast.push({title: 'Hello!'})} text="Push toast message" width="min" />
|
|
26
|
-
</Stack>
|
|
27
|
-
)
|
|
28
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type {WorkshopScope} from '@sanity/ui-workshop'
|
|
2
|
-
import {lazy} from 'react'
|
|
3
|
-
|
|
4
|
-
const scope: WorkshopScope = {
|
|
5
|
-
name: 'root',
|
|
6
|
-
title: 'Root',
|
|
7
|
-
stories: [
|
|
8
|
-
{
|
|
9
|
-
name: 'boundary',
|
|
10
|
-
title: 'Boundary',
|
|
11
|
-
component: lazy(() => import('./boundary')),
|
|
12
|
-
},
|
|
13
|
-
],
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export default scope
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import {EarthAmericasIcon, SearchIcon} from '@sanity/icons'
|
|
2
|
-
import {
|
|
3
|
-
Autocomplete,
|
|
4
|
-
type BaseAutocompleteOption,
|
|
5
|
-
Box,
|
|
6
|
-
Card,
|
|
7
|
-
Code,
|
|
8
|
-
Flex,
|
|
9
|
-
LayerProvider,
|
|
10
|
-
Stack,
|
|
11
|
-
Text,
|
|
12
|
-
} from '@sanity/ui'
|
|
13
|
-
import {useCallback, useEffect, useRef, useState} from 'react'
|
|
14
|
-
|
|
15
|
-
import {countriesStore} from './mock/apiStore'
|
|
16
|
-
|
|
17
|
-
export default function AsyncStory(): React.JSX.Element {
|
|
18
|
-
const [options, setOptions] = useState<BaseAutocompleteOption[]>([])
|
|
19
|
-
const [loading, setLoading] = useState(false)
|
|
20
|
-
const searchRef = useRef<{cancel: () => void} | null>(null)
|
|
21
|
-
const fetchRef = useRef<{cancel: () => void} | null>(null)
|
|
22
|
-
const [query, setQuery] = useState<string | null>(null)
|
|
23
|
-
const [value, setValue] = useState('')
|
|
24
|
-
const [optionTitle, setOptionTitle] = useState<string | null>(null)
|
|
25
|
-
const [loadingCurrentRef, setLoadingCurrentRef] = useState(false)
|
|
26
|
-
|
|
27
|
-
const doSearch = useCallback((query: string | null) => {
|
|
28
|
-
if (searchRef.current) searchRef.current.cancel()
|
|
29
|
-
searchRef.current = countriesStore.search(query || '', setOptions, setLoading)
|
|
30
|
-
}, [])
|
|
31
|
-
|
|
32
|
-
const filterOption = useCallback(() => true, [])
|
|
33
|
-
|
|
34
|
-
const handleQueryChange = useCallback(
|
|
35
|
-
(query: string | null) => {
|
|
36
|
-
setQuery(query)
|
|
37
|
-
|
|
38
|
-
if (query !== null) {
|
|
39
|
-
doSearch(query)
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
[doSearch],
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
const handleOpenButtonClick = useCallback(() => {
|
|
46
|
-
if (!value) {
|
|
47
|
-
doSearch('')
|
|
48
|
-
}
|
|
49
|
-
}, [doSearch, value])
|
|
50
|
-
|
|
51
|
-
const renderValue = useCallback(() => {
|
|
52
|
-
if (loadingCurrentRef) {
|
|
53
|
-
return 'Loading…'
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return optionTitle || ''
|
|
57
|
-
}, [loadingCurrentRef, optionTitle])
|
|
58
|
-
|
|
59
|
-
const renderOption = useCallback((option: BaseAutocompleteOption) => {
|
|
60
|
-
return <AsyncOption documentId={option.value} />
|
|
61
|
-
}, [])
|
|
62
|
-
|
|
63
|
-
useEffect(() => {
|
|
64
|
-
if (fetchRef.current) fetchRef.current.cancel()
|
|
65
|
-
|
|
66
|
-
if (value) {
|
|
67
|
-
fetchRef.current = countriesStore.fetchDocument(
|
|
68
|
-
value,
|
|
69
|
-
(data) => setOptionTitle(data?.title || null),
|
|
70
|
-
setLoadingCurrentRef,
|
|
71
|
-
)
|
|
72
|
-
} else {
|
|
73
|
-
setOptionTitle(null)
|
|
74
|
-
setLoadingCurrentRef(false)
|
|
75
|
-
}
|
|
76
|
-
}, [value])
|
|
77
|
-
|
|
78
|
-
useEffect(() => {
|
|
79
|
-
if (optionTitle) doSearch(optionTitle)
|
|
80
|
-
}, [doSearch, optionTitle])
|
|
81
|
-
|
|
82
|
-
return (
|
|
83
|
-
<Box paddingX={[4, 5, 6]} paddingY={[5, 6, 7]}>
|
|
84
|
-
<Stack gap={[3, 3, 4]}>
|
|
85
|
-
<Text as="label" htmlFor="async" size={[1, 1, 2]} weight="medium">
|
|
86
|
-
Country
|
|
87
|
-
</Text>
|
|
88
|
-
<LayerProvider zOffset={100}>
|
|
89
|
-
<Autocomplete
|
|
90
|
-
disabled={loadingCurrentRef}
|
|
91
|
-
filterOption={filterOption}
|
|
92
|
-
icon={value ? EarthAmericasIcon : SearchIcon}
|
|
93
|
-
id="async"
|
|
94
|
-
loading={loading}
|
|
95
|
-
onChange={setValue}
|
|
96
|
-
onQueryChange={handleQueryChange}
|
|
97
|
-
openButton={{onClick: handleOpenButtonClick}}
|
|
98
|
-
options={options}
|
|
99
|
-
placeholder="Search"
|
|
100
|
-
renderOption={renderOption}
|
|
101
|
-
renderValue={renderValue}
|
|
102
|
-
value={value}
|
|
103
|
-
/>
|
|
104
|
-
</LayerProvider>
|
|
105
|
-
|
|
106
|
-
<Box muted overflow="auto" padding={3} radius={2}>
|
|
107
|
-
<Code language="json" size={1}>
|
|
108
|
-
{JSON.stringify({loading, options, query, value}, null, 2)}
|
|
109
|
-
</Code>
|
|
110
|
-
</Box>
|
|
111
|
-
</Stack>
|
|
112
|
-
</Box>
|
|
113
|
-
)
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
function AsyncOption(props: {
|
|
117
|
-
documentId: string
|
|
118
|
-
disabled?: boolean
|
|
119
|
-
selected?: boolean
|
|
120
|
-
tabIndex?: number
|
|
121
|
-
}) {
|
|
122
|
-
const {documentId, disabled, selected, tabIndex} = props
|
|
123
|
-
const [data, setData] = useState<{title: string} | null>(null)
|
|
124
|
-
const [loading, setLoading] = useState(false)
|
|
125
|
-
const ref = useRef<{cancel: () => void} | null>(null)
|
|
126
|
-
|
|
127
|
-
useEffect(() => {
|
|
128
|
-
if (ref.current) ref.current.cancel()
|
|
129
|
-
ref.current = countriesStore.fetchDocument(documentId, setData, setLoading)
|
|
130
|
-
}, [documentId])
|
|
131
|
-
|
|
132
|
-
return (
|
|
133
|
-
<Card
|
|
134
|
-
as="button"
|
|
135
|
-
disabled={disabled}
|
|
136
|
-
padding={3}
|
|
137
|
-
radius={1}
|
|
138
|
-
selected={selected}
|
|
139
|
-
tabIndex={tabIndex}
|
|
140
|
-
>
|
|
141
|
-
<Flex gap={3}>
|
|
142
|
-
<Text>
|
|
143
|
-
<EarthAmericasIcon />
|
|
144
|
-
</Text>
|
|
145
|
-
|
|
146
|
-
{loading && (
|
|
147
|
-
<Text muted>
|
|
148
|
-
<>Loading…</>
|
|
149
|
-
</Text>
|
|
150
|
-
)}
|
|
151
|
-
|
|
152
|
-
{!loading && <Text muted={!data}>{data ? data.title : <>Untitled</>}</Text>}
|
|
153
|
-
</Flex>
|
|
154
|
-
</Card>
|
|
155
|
-
)
|
|
156
|
-
}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Autocomplete,
|
|
3
|
-
type AutocompleteProps,
|
|
4
|
-
BoundaryElementProvider,
|
|
5
|
-
Box,
|
|
6
|
-
Card,
|
|
7
|
-
Container,
|
|
8
|
-
LayerProvider,
|
|
9
|
-
Popover,
|
|
10
|
-
Stack,
|
|
11
|
-
Text,
|
|
12
|
-
} from '@sanity/ui'
|
|
13
|
-
import {useCallback, useState} from 'react'
|
|
14
|
-
|
|
15
|
-
import {countries} from './mock/countries'
|
|
16
|
-
import type {ExampleOption} from './types'
|
|
17
|
-
|
|
18
|
-
export default function ConstrainedHeightStory(): React.JSX.Element {
|
|
19
|
-
const [boundaryElement, setBoundaryElement] = useState<HTMLDivElement | null>(null)
|
|
20
|
-
|
|
21
|
-
return (
|
|
22
|
-
<Card height="fill" tone="transparent">
|
|
23
|
-
<Container height="fill" padding={3} sizing="border" width={1}>
|
|
24
|
-
<Card height="fill" ref={setBoundaryElement} radius={4} shadow={3} tone="default">
|
|
25
|
-
<Box height="fill" overflow="auto" padding={[4, 4, 5]} sizing="border">
|
|
26
|
-
<Stack gap={5}>
|
|
27
|
-
<BoundaryElementProvider element={boundaryElement}>
|
|
28
|
-
<ConstrainedHeightExampleField id="example-1" label="Example 1" />
|
|
29
|
-
<ConstrainedHeightExampleField id="example-2" label="Example 2" />
|
|
30
|
-
<ConstrainedHeightExampleField id="example-3" label="Example 3" />
|
|
31
|
-
<ConstrainedHeightExampleField id="example-4" label="Example 4" />
|
|
32
|
-
<ConstrainedHeightExampleField id="example-5" label="Example 5" />
|
|
33
|
-
<ConstrainedHeightExampleField id="example-6" label="Example 6" />
|
|
34
|
-
<ConstrainedHeightExampleField id="example-7" label="Example 7" />
|
|
35
|
-
<ConstrainedHeightExampleField id="example-8" label="Example 8" />
|
|
36
|
-
<ConstrainedHeightExampleField id="example-9" label="Example 9" />
|
|
37
|
-
</BoundaryElementProvider>
|
|
38
|
-
</Stack>
|
|
39
|
-
</Box>
|
|
40
|
-
</Card>
|
|
41
|
-
</Container>
|
|
42
|
-
</Card>
|
|
43
|
-
)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function ConstrainedHeightExampleField({id, label}: {id: string; label: string}) {
|
|
47
|
-
const [value, setValue] = useState('')
|
|
48
|
-
|
|
49
|
-
const renderOption = useCallback((option: ExampleOption) => {
|
|
50
|
-
return (
|
|
51
|
-
<Card
|
|
52
|
-
as="a"
|
|
53
|
-
data-qa={`option-${option.value}`}
|
|
54
|
-
href="#"
|
|
55
|
-
key={option.value}
|
|
56
|
-
onClick={(event) => event.preventDefault()}
|
|
57
|
-
padding={3}
|
|
58
|
-
radius={2}
|
|
59
|
-
>
|
|
60
|
-
<Text textOverflow="ellipsis">{option.title}</Text>
|
|
61
|
-
</Card>
|
|
62
|
-
)
|
|
63
|
-
}, [])
|
|
64
|
-
|
|
65
|
-
const renderValue = useCallback((currentValue: string, option?: ExampleOption) => {
|
|
66
|
-
return option ? option.title : currentValue
|
|
67
|
-
}, [])
|
|
68
|
-
|
|
69
|
-
const filterOption = useCallback((query: string, option: ExampleOption) => {
|
|
70
|
-
return option.title.toLowerCase().indexOf(query.toLowerCase()) > -1
|
|
71
|
-
}, [])
|
|
72
|
-
|
|
73
|
-
const options = countries.map((item) => ({value: item.code, title: item.name}))
|
|
74
|
-
|
|
75
|
-
const renderPopover: AutocompleteProps['renderPopover'] = useCallback(
|
|
76
|
-
(
|
|
77
|
-
popoverProps: {
|
|
78
|
-
content: React.JSX.Element | null
|
|
79
|
-
hidden: boolean
|
|
80
|
-
inputElement: HTMLInputElement | null
|
|
81
|
-
onMouseEnter: () => void
|
|
82
|
-
onMouseLeave: () => void
|
|
83
|
-
},
|
|
84
|
-
popoverRef: React.Ref<HTMLDivElement>,
|
|
85
|
-
) => {
|
|
86
|
-
const {hidden, inputElement, ...rest} = popoverProps
|
|
87
|
-
|
|
88
|
-
if (hidden) return null
|
|
89
|
-
|
|
90
|
-
return (
|
|
91
|
-
<Popover
|
|
92
|
-
{...rest}
|
|
93
|
-
arrow={false}
|
|
94
|
-
constrainSize
|
|
95
|
-
matchReferenceWidth
|
|
96
|
-
open
|
|
97
|
-
overflow="auto"
|
|
98
|
-
placement="bottom-start"
|
|
99
|
-
portal
|
|
100
|
-
radius={3}
|
|
101
|
-
ref={popoverRef}
|
|
102
|
-
referenceElement={inputElement}
|
|
103
|
-
/>
|
|
104
|
-
)
|
|
105
|
-
},
|
|
106
|
-
[],
|
|
107
|
-
)
|
|
108
|
-
|
|
109
|
-
return (
|
|
110
|
-
<Stack gap={3}>
|
|
111
|
-
<Text size={1} weight="medium">
|
|
112
|
-
{label}
|
|
113
|
-
</Text>
|
|
114
|
-
<LayerProvider zOffset={100}>
|
|
115
|
-
<Autocomplete
|
|
116
|
-
filterOption={filterOption}
|
|
117
|
-
id={id}
|
|
118
|
-
onChange={setValue}
|
|
119
|
-
openButton
|
|
120
|
-
options={options}
|
|
121
|
-
placeholder="Search"
|
|
122
|
-
radius={2}
|
|
123
|
-
renderOption={renderOption}
|
|
124
|
-
renderPopover={renderPopover}
|
|
125
|
-
renderValue={renderValue}
|
|
126
|
-
value={value}
|
|
127
|
-
/>
|
|
128
|
-
</LayerProvider>
|
|
129
|
-
</Stack>
|
|
130
|
-
)
|
|
131
|
-
}
|