@sanity/ui 4.0.0-static.9 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +25 -7
- package/dist/_system-CTe2lb5l.d.ts +40 -0
- package/dist/_system-CTe2lb5l.d.ts.map +1 -0
- package/dist/arrow-CHE8-_G7.js +161 -0
- package/dist/arrow-CHE8-_G7.js.map +1 -0
- package/dist/autocomplete.d.ts +140 -0
- package/dist/autocomplete.d.ts.map +1 -0
- package/dist/autocomplete.js +475 -0
- package/dist/autocomplete.js.map +1 -0
- package/dist/breadcrumbs.d.ts +18 -0
- package/dist/breadcrumbs.d.ts.map +1 -0
- package/dist/breadcrumbs.js +116 -0
- package/dist/breadcrumbs.js.map +1 -0
- package/dist/button-dnqMFkWg.d.ts +76 -0
- package/dist/button-dnqMFkWg.d.ts.map +1 -0
- package/dist/button-mxfSqr0n.js +179 -0
- package/dist/button-mxfSqr0n.js.map +1 -0
- package/dist/card-C0a0wQTc.d.ts +7 -0
- package/dist/card-C0a0wQTc.d.ts.map +1 -0
- package/dist/code.d.ts +20 -0
- package/dist/code.d.ts.map +1 -0
- package/dist/code.js +90 -0
- package/dist/code.js.map +1 -0
- package/dist/codeFontStyle-DYUujk7K.js +11 -0
- package/dist/codeFontStyle-DYUujk7K.js.map +1 -0
- package/dist/component-DVlwaWB-.d.ts +25 -0
- package/dist/component-DVlwaWB-.d.ts.map +1 -0
- package/dist/element-BYgCE_iK.js +51 -0
- package/dist/element-BYgCE_iK.js.map +1 -0
- package/dist/factory-BA3gEfyI.js +3056 -0
- package/dist/factory-BA3gEfyI.js.map +1 -0
- package/dist/flex-C-5JHi1C.js +76 -0
- package/dist/flex-C-5JHi1C.js.map +1 -0
- package/dist/font-EtfxKPUz.d.ts +49 -0
- package/dist/font-EtfxKPUz.d.ts.map +1 -0
- package/dist/getElementRef-5HZQ-Owu.js +91 -0
- package/dist/getElementRef-5HZQ-Owu.js.map +1 -0
- package/dist/getScopedTheme-C-sZsyAz.js +267 -0
- package/dist/getScopedTheme-C-sZsyAz.js.map +1 -0
- package/dist/getTheme_v2-y09KqtEb.js +487 -0
- package/dist/getTheme_v2-y09KqtEb.js.map +1 -0
- package/dist/grid-BXHFJhf_.js +115 -0
- package/dist/grid-BXHFJhf_.js.map +1 -0
- package/dist/helpers-bwfx1e-Y.js +67 -0
- package/dist/helpers-bwfx1e-Y.js.map +1 -0
- package/dist/hotkeys-CmmTQZpn.js +165 -0
- package/dist/hotkeys-CmmTQZpn.js.map +1 -0
- package/dist/index.d.ts +1192 -2168
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2069 -4483
- package/dist/index.js.map +1 -1
- package/dist/layer-B98ynOf2.js +61 -0
- package/dist/layer-B98ynOf2.js.map +1 -0
- package/dist/layer-ChlP9Ik6.d.ts +242 -0
- package/dist/layer-ChlP9Ik6.d.ts.map +1 -0
- package/dist/menu.d.ts +146 -0
- package/dist/menu.d.ts.map +1 -0
- package/dist/menu.js +614 -0
- package/dist/menu.js.map +1 -0
- package/dist/popover-CMlQeKn0.d.ts +96 -0
- package/dist/popover-CMlQeKn0.d.ts.map +1 -0
- package/dist/popover-PorX5Jv9.js +419 -0
- package/dist/popover-PorX5Jv9.js.map +1 -0
- package/dist/popover.d.ts +2 -0
- package/dist/popover.js +3 -0
- package/dist/refractor-CC48DwHi.js +20 -0
- package/dist/refractor-CC48DwHi.js.map +1 -0
- package/dist/responsiveFont-hN1mZFjm.js +55 -0
- package/dist/responsiveFont-hN1mZFjm.js.map +1 -0
- package/dist/rgba-BSYaEUW6.d.ts +846 -0
- package/dist/rgba-BSYaEUW6.d.ts.map +1 -0
- package/dist/selectable-B0GUIL74.d.ts +7 -0
- package/dist/selectable-B0GUIL74.d.ts.map +1 -0
- package/dist/stack-iW9HuGLg.js +112 -0
- package/dist/stack-iW9HuGLg.js.map +1 -0
- package/dist/styles-css.d.ts +2 -0
- package/dist/styles-css.js +4 -0
- package/dist/styles.css +28 -0
- package/dist/textInput-udxyGbm1.js +321 -0
- package/dist/textInput-udxyGbm1.js.map +1 -0
- package/dist/theme.d.ts +240 -459
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +55 -870
- package/dist/theme.js.map +1 -1
- package/dist/toast.d.ts +73 -0
- package/dist/toast.d.ts.map +1 -0
- package/dist/toast.js +297 -0
- package/dist/toast.js.map +1 -0
- package/dist/tooltip.d.ts +88 -0
- package/dist/tooltip.d.ts.map +1 -0
- package/dist/tooltip.js +447 -0
- package/dist/tooltip.js.map +1 -0
- package/dist/useClickOutsideEvent-lEVhDFCQ.js +36 -0
- package/dist/useClickOutsideEvent-lEVhDFCQ.js.map +1 -0
- package/dist/useElementSize-BJvbGHq8.js +51 -0
- package/dist/useElementSize-BJvbGHq8.js.map +1 -0
- package/dist/useLayer-BAVfmbNN.js +712 -0
- package/dist/useLayer-BAVfmbNN.js.map +1 -0
- package/package.json +73 -208
- 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/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
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { n as _getArrayProp } from "./helpers-bwfx1e-Y.js";
|
|
3
|
+
import { y as Box } from "./useLayer-BAVfmbNN.js";
|
|
4
|
+
import { n as Text, t as Stack } from "./stack-iW9HuGLg.js";
|
|
5
|
+
import { t as Button } from "./button-mxfSqr0n.js";
|
|
6
|
+
import { t as Popover } from "./popover-PorX5Jv9.js";
|
|
7
|
+
import { t as useClickOutsideEvent } from "./useClickOutsideEvent-lEVhDFCQ.js";
|
|
8
|
+
import { c } from "react/compiler-runtime";
|
|
9
|
+
import { Children, Fragment, isValidElement, useRef, useState } from "react";
|
|
10
|
+
import { styled } from "styled-components";
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
const StyledBreadcrumbs = styled.ol.withConfig({
|
|
13
|
+
displayName: "StyledBreadcrumbs",
|
|
14
|
+
componentId: "sc-s3y9xo-0"
|
|
15
|
+
})`margin:0;padding:0;display:flex;list-style:none;align-items:center;white-space:nowrap;line-height:0;`, ExpandButton = styled(Button).withConfig({
|
|
16
|
+
displayName: "ExpandButton",
|
|
17
|
+
componentId: "sc-s3y9xo-1"
|
|
18
|
+
})`appearance:none;margin:-4px;`;
|
|
19
|
+
/**
|
|
20
|
+
* @beta
|
|
21
|
+
*/
|
|
22
|
+
function Breadcrumbs(props) {
|
|
23
|
+
let $ = c(30), children, maxLength, ref, restProps, separator, t0;
|
|
24
|
+
$[0] === props ? (children = $[1], maxLength = $[2], ref = $[3], restProps = $[4], separator = $[5], t0 = $[6]) : ({children, gap: t0, maxLength, ref, separator, ...restProps} = props, $[0] = props, $[1] = children, $[2] = maxLength, $[3] = ref, $[4] = restProps, $[5] = separator, $[6] = t0);
|
|
25
|
+
let gap = t0 === void 0 ? 2 : t0, t1;
|
|
26
|
+
$[7] === gap ? t1 = $[8] : (t1 = _getArrayProp(gap), $[7] = gap, $[8] = t1);
|
|
27
|
+
let space = t1, [open, setOpen] = useState(!1), expandElementRef = useRef(null), popoverElementRef = useRef(null), t2;
|
|
28
|
+
$[9] === Symbol.for("react.memo_cache_sentinel") ? (t2 = () => setOpen(!1), $[9] = t2) : t2 = $[9];
|
|
29
|
+
let collapse = t2, t3;
|
|
30
|
+
$[10] === Symbol.for("react.memo_cache_sentinel") ? (t3 = () => setOpen(!0), $[10] = t3) : t3 = $[10];
|
|
31
|
+
let expand = t3, t4;
|
|
32
|
+
$[11] === Symbol.for("react.memo_cache_sentinel") ? (t4 = () => [expandElementRef.current, popoverElementRef.current], $[11] = t4) : t4 = $[11], useClickOutsideEvent(collapse, t4);
|
|
33
|
+
let t5;
|
|
34
|
+
$[12] === children ? t5 = $[13] : (t5 = Children.toArray(children).filter(isValidElement), $[12] = children, $[13] = t5);
|
|
35
|
+
let rawItems = t5, t6;
|
|
36
|
+
$[14] !== maxLength || $[15] !== open || $[16] !== rawItems || $[17] !== space ? (t6 = {
|
|
37
|
+
collapse,
|
|
38
|
+
expand,
|
|
39
|
+
expandElementRef,
|
|
40
|
+
maxLength,
|
|
41
|
+
open,
|
|
42
|
+
popoverElementRef,
|
|
43
|
+
rawItems,
|
|
44
|
+
space
|
|
45
|
+
}, $[14] = maxLength, $[15] = open, $[16] = rawItems, $[17] = space, $[18] = t6) : t6 = $[18];
|
|
46
|
+
let items = useItems(t6), t7;
|
|
47
|
+
if ($[19] !== items || $[20] !== separator || $[21] !== space) {
|
|
48
|
+
let t8;
|
|
49
|
+
$[23] !== separator || $[24] !== space ? (t8 = (item, itemIndex) => /* @__PURE__ */ jsxs(Fragment, { children: [itemIndex > 0 && /* @__PURE__ */ jsx(Box, {
|
|
50
|
+
"aria-hidden": !0,
|
|
51
|
+
as: "li",
|
|
52
|
+
paddingX: space,
|
|
53
|
+
children: separator || /* @__PURE__ */ jsx(Text, {
|
|
54
|
+
muted: !0,
|
|
55
|
+
children: "/"
|
|
56
|
+
})
|
|
57
|
+
}), /* @__PURE__ */ jsx(Box, {
|
|
58
|
+
as: "li",
|
|
59
|
+
children: item
|
|
60
|
+
})] }, itemIndex), $[23] = separator, $[24] = space, $[25] = t8) : t8 = $[25], t7 = items.map(t8), $[19] = items, $[20] = separator, $[21] = space, $[22] = t7;
|
|
61
|
+
} else t7 = $[22];
|
|
62
|
+
let t8;
|
|
63
|
+
return $[26] !== ref || $[27] !== restProps || $[28] !== t7 ? (t8 = /* @__PURE__ */ jsx(StyledBreadcrumbs, {
|
|
64
|
+
"data-ui": "Breadcrumbs",
|
|
65
|
+
...restProps,
|
|
66
|
+
ref,
|
|
67
|
+
children: t7
|
|
68
|
+
}), $[26] = ref, $[27] = restProps, $[28] = t7, $[29] = t8) : t8 = $[29], t8;
|
|
69
|
+
}
|
|
70
|
+
function useItems(t0) {
|
|
71
|
+
let $ = c(28), { collapse, expand, expandElementRef, maxLength, open, popoverElementRef, rawItems, space } = t0, len = rawItems.length;
|
|
72
|
+
if (maxLength && len > maxLength) {
|
|
73
|
+
let beforeLength = Math.ceil(maxLength / 2), afterLength = Math.floor(maxLength / 2), t1;
|
|
74
|
+
if ($[0] !== afterLength || $[1] !== beforeLength || $[2] !== collapse || $[3] !== expand || $[4] !== expandElementRef || $[5] !== len || $[6] !== open || $[7] !== popoverElementRef || $[8] !== rawItems || $[9] !== space) {
|
|
75
|
+
let t2 = rawItems.slice(0, beforeLength - 1), t3;
|
|
76
|
+
$[11] !== afterLength || $[12] !== beforeLength || $[13] !== len || $[14] !== rawItems ? (t3 = rawItems.slice(beforeLength - 1, len - afterLength), $[11] = afterLength, $[12] = beforeLength, $[13] = len, $[14] = rawItems, $[15] = t3) : t3 = $[15];
|
|
77
|
+
let t4;
|
|
78
|
+
$[16] !== space || $[17] !== t3 ? (t4 = /* @__PURE__ */ jsx(Stack, {
|
|
79
|
+
as: "ol",
|
|
80
|
+
overflow: "auto",
|
|
81
|
+
padding: space,
|
|
82
|
+
gap: space,
|
|
83
|
+
children: t3
|
|
84
|
+
}), $[16] = space, $[17] = t3, $[18] = t4) : t4 = $[18];
|
|
85
|
+
let t5 = open ? collapse : expand, t6;
|
|
86
|
+
$[19] !== expandElementRef || $[20] !== open || $[21] !== t5 ? (t6 = /* @__PURE__ */ jsx(ExpandButton, {
|
|
87
|
+
fontSize: 1,
|
|
88
|
+
mode: "bleed",
|
|
89
|
+
onClick: t5,
|
|
90
|
+
padding: 1,
|
|
91
|
+
ref: expandElementRef,
|
|
92
|
+
selected: open,
|
|
93
|
+
text: "…"
|
|
94
|
+
}), $[19] = expandElementRef, $[20] = open, $[21] = t5, $[22] = t6) : t6 = $[22];
|
|
95
|
+
let t7;
|
|
96
|
+
$[23] !== open || $[24] !== popoverElementRef || $[25] !== t4 || $[26] !== t6 ? (t7 = /* @__PURE__ */ jsx(Popover, {
|
|
97
|
+
constrainSize: !0,
|
|
98
|
+
content: t4,
|
|
99
|
+
open,
|
|
100
|
+
placement: "top",
|
|
101
|
+
portal: !0,
|
|
102
|
+
ref: popoverElementRef,
|
|
103
|
+
children: t6
|
|
104
|
+
}, "button"), $[23] = open, $[24] = popoverElementRef, $[25] = t4, $[26] = t6, $[27] = t7) : t7 = $[27], t1 = [
|
|
105
|
+
...t2,
|
|
106
|
+
t7,
|
|
107
|
+
...rawItems.slice(len - afterLength)
|
|
108
|
+
], $[0] = afterLength, $[1] = beforeLength, $[2] = collapse, $[3] = expand, $[4] = expandElementRef, $[5] = len, $[6] = open, $[7] = popoverElementRef, $[8] = rawItems, $[9] = space, $[10] = t1;
|
|
109
|
+
} else t1 = $[10];
|
|
110
|
+
return t1;
|
|
111
|
+
}
|
|
112
|
+
return rawItems;
|
|
113
|
+
}
|
|
114
|
+
export { Breadcrumbs };
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=breadcrumbs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumbs.js","names":["styled","Button","StyledBreadcrumbs","ol","ExpandButton","Children","Fragment","isValidElement","useCallback","useMemo","useRef","useState","useClickOutsideEvent","Box","Popover","Stack","Text","_getArrayProp","ExpandButton","StyledBreadcrumbs","BreadcrumbsProps","maxLength","separator","React","ReactNode","gap","space","Breadcrumbs","props","$","_c","children","ref","restProps","t0","undefined","t1","open","setOpen","expandElementRef","popoverElementRef","t2","Symbol","for","collapse","t3","expand","t4","current","t5","toArray","filter","rawItems","t6","items","useItems","t7","t8","item","itemIndex","map","len","length","beforeLength","Math","ceil","afterLength","floor","slice"],"sources":["../src/core/components/breadcrumbs/breadcrumbs.styles.ts","../src/core/components/breadcrumbs/breadcrumbs.tsx"],"sourcesContent":["import {styled} from 'styled-components'\n\nimport {Button} from '../../primitives/button/button'\n\nexport const StyledBreadcrumbs = styled.ol`\n margin: 0;\n padding: 0;\n display: flex;\n list-style: none;\n align-items: center;\n white-space: nowrap;\n line-height: 0;\n`\n\nexport const ExpandButton = styled(Button)`\n appearance: none;\n margin: -4px;\n`\n","import {Children, Fragment, isValidElement, useCallback, useMemo, useRef, useState} from 'react'\n\nimport {useClickOutsideEvent} from '../../hooks/useClickOutsideEvent'\nimport {Box} from '../../primitives/box/box'\nimport {Popover} from '../../primitives/popover/popover'\nimport {Stack} from '../../primitives/stack/stack'\nimport {Text} from '../../primitives/text/text'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ExpandButton, StyledBreadcrumbs} from './breadcrumbs.styles'\n\n/**\n * @beta\n */\nexport interface BreadcrumbsProps {\n maxLength?: number\n separator?: React.ReactNode\n gap?: number | number[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n}\n\n/**\n * @beta\n */\nexport function Breadcrumbs(\n props: BreadcrumbsProps & Omit<React.HTMLProps<HTMLOListElement>, 'as' | 'type'>,\n) {\n const {children, gap = 2, maxLength, ref, separator, ...restProps} = props\n const space = _getArrayProp(gap)\n const [open, setOpen] = useState(false)\n const expandElementRef = useRef<HTMLButtonElement | null>(null)\n const popoverElementRef = useRef<HTMLDivElement | null>(null)\n\n const collapse = useCallback(() => setOpen(false), [])\n const expand = useCallback(() => setOpen(true), [])\n\n useClickOutsideEvent(collapse, () => [expandElementRef.current, popoverElementRef.current])\n\n const rawItems = useMemo(() => Children.toArray(children).filter(isValidElement), [children])\n\n const items = useItems({\n collapse,\n expand,\n expandElementRef,\n maxLength,\n open,\n popoverElementRef,\n rawItems,\n space,\n })\n\n return (\n <StyledBreadcrumbs data-ui=\"Breadcrumbs\" {...restProps} ref={ref}>\n {items.map((item, itemIndex) => (\n // oxlint-disable-next-line no-array-index-key\n <Fragment key={itemIndex}>\n {itemIndex > 0 && (\n <Box aria-hidden as=\"li\" paddingX={space}>\n {separator || <Text muted>/</Text>}\n </Box>\n )}\n <Box as=\"li\">{item}</Box>\n </Fragment>\n ))}\n </StyledBreadcrumbs>\n )\n}\n\nfunction useItems({\n collapse,\n expand,\n expandElementRef,\n maxLength,\n open,\n popoverElementRef,\n rawItems,\n space,\n}: {\n collapse: () => void\n expand: () => void\n expandElementRef: React.RefObject<HTMLButtonElement | null>\n maxLength: number | undefined\n open: boolean\n popoverElementRef: React.RefObject<HTMLDivElement | null>\n // oxlint-disable-next-line no-unnecessary-type-arguments\n rawItems: React.ReactElement<unknown, string | React.JSXElementConstructor<any>>[]\n space: number[]\n}) {\n const len = rawItems.length\n\n if (maxLength && len > maxLength) {\n const beforeLength = Math.ceil(maxLength / 2)\n const afterLength = Math.floor(maxLength / 2)\n\n return [\n ...rawItems.slice(0, beforeLength - 1),\n <Popover\n constrainSize\n content={\n <Stack as=\"ol\" overflow=\"auto\" padding={space} gap={space}>\n {rawItems.slice(beforeLength - 1, len - afterLength)}\n </Stack>\n }\n key=\"button\"\n open={open}\n placement=\"top\"\n portal\n ref={popoverElementRef}\n >\n <ExpandButton\n fontSize={1}\n mode=\"bleed\"\n onClick={open ? collapse : expand}\n padding={1}\n ref={expandElementRef}\n selected={open}\n text=\"…\"\n />\n </Popover>,\n ...rawItems.slice(len - afterLength),\n ]\n }\n\n return rawItems\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { a as Props, r as ElementType } from "./component-DVlwaWB-.js";
|
|
2
|
+
import { O as FlexJustify, d as ResponsiveMarginProps, f as ResponsivePaddingProps, l as ResponsiveGridItemProps, o as ResponsiveBoxProps, p as ResponsiveRadiusProps, s as ResponsiveFlexItemProps } from "./layer-ChlP9Ik6.js";
|
|
3
|
+
import { l as ThemeColorStateToneKey, r as ThemeColorButtonModeKey } from "./_system-CTe2lb5l.js";
|
|
4
|
+
import { a as ThemeFontWeightKey } from "./font-EtfxKPUz.js";
|
|
5
|
+
/**
|
|
6
|
+
* The props that `Box` adds on top of the element it renders as.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
interface BoxOwnProps extends ResponsiveFlexItemProps, ResponsiveBoxProps, ResponsiveGridItemProps, ResponsiveMarginProps, ResponsivePaddingProps {
|
|
11
|
+
forwardedAs?: ElementType;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
type BoxProps<E extends ElementType = 'div'> = Props<BoxOwnProps, E>;
|
|
17
|
+
/**
|
|
18
|
+
* The `Box` component is a basic layout wrapper component which provides utility properties
|
|
19
|
+
* for flex, margins and padding.
|
|
20
|
+
*
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
declare const Box: <E extends ElementType = 'div'>(props: BoxProps<E>) => React.JSX.Element;
|
|
24
|
+
/**
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
type ButtonMode = ThemeColorButtonModeKey;
|
|
28
|
+
/**
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
type ButtonTextAlign = 'left' | 'right' | 'center';
|
|
32
|
+
/**
|
|
33
|
+
* @public
|
|
34
|
+
*/
|
|
35
|
+
type ButtonTone = ThemeColorStateToneKey;
|
|
36
|
+
/**
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
type ButtonWidth = 'fill';
|
|
40
|
+
/**
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
interface ButtonOwnProps extends ResponsivePaddingProps, ResponsiveRadiusProps {
|
|
44
|
+
fontSize?: number | number[];
|
|
45
|
+
mode?: ButtonMode;
|
|
46
|
+
icon?: React.ElementType | React.ReactNode;
|
|
47
|
+
iconRight?: React.ElementType | React.ReactNode;
|
|
48
|
+
justify?: FlexJustify | FlexJustify[];
|
|
49
|
+
/**
|
|
50
|
+
* @beta Do not use in production, as this might change.
|
|
51
|
+
*/
|
|
52
|
+
loading?: boolean;
|
|
53
|
+
selected?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* @deprecated Use `gap` instead.
|
|
56
|
+
*/
|
|
57
|
+
space?: never;
|
|
58
|
+
gap?: number | number[];
|
|
59
|
+
muted?: boolean;
|
|
60
|
+
text?: React.ReactNode;
|
|
61
|
+
textAlign?: ButtonTextAlign;
|
|
62
|
+
textWeight?: ThemeFontWeightKey;
|
|
63
|
+
tone?: ButtonTone;
|
|
64
|
+
type?: 'button' | 'reset' | 'submit';
|
|
65
|
+
width?: ButtonWidth;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @public
|
|
69
|
+
*/
|
|
70
|
+
type ButtonProps<E extends ElementType = 'button'> = Props<ButtonOwnProps, E>;
|
|
71
|
+
/**
|
|
72
|
+
* @public
|
|
73
|
+
*/
|
|
74
|
+
declare const Button: <E extends ElementType = 'button'>(props: ButtonProps<E>) => React.JSX.Element;
|
|
75
|
+
export { ButtonTextAlign as a, Box as c, ButtonMode as i, BoxOwnProps as l, ButtonOwnProps as n, ButtonTone as o, ButtonProps as r, ButtonWidth as s, Button as t, BoxProps as u };
|
|
76
|
+
//# sourceMappingURL=button-dnqMFkWg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-dnqMFkWg.d.ts","names":[],"sources":["../src/core/primitives/box/box.tsx","../src/core/types/button.ts","../src/core/primitives/button/button.tsx"],"mappings":";;;;;;;;;UA2BiB,oBAEb,yBACA,oBACA,yBACA,uBACA;EACF,cAAc;;;;;KAMJ,SAAS,UAAU,uBAAuB,MAAM,aAAa;;;;;;;cAmG5D,MAAkC,UAAU,qBACvD,OAAO,SAAS,OACb,MAAM,IAAI;;;;KCxIH,aAAa;;;;KAKb;;;;KAKA,aAAa;;;;KAKb;;;;UCEK,uBAAuB,wBAAwB;EAC9D;EACA,OAAO;EAEP,OAAO,MAAM,cAAc,MAAM;EAEjC,YAAY,MAAM,cAAc,MAAM;EACtC,UAAU,cAAc;;;;EAIxB;EACA;;;;EAIA;EACA;EACA;EACA,OAAO,MAAM;EACb,YAAY;EACZ,aAAa;EACb,OAAO;EACP;EACA,QAAQ;;;;;KAME,YAAY,UAAU,0BAA0B,MAAM,gBAAgB;;;;cAsJrE,SAAwC,UAAU,wBAC7D,OAAO,YAAY,OAChB,MAAM,IAAI"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { n as _getArrayProp } from "./helpers-bwfx1e-Y.js";
|
|
2
|
+
import { t as getTheme_v2 } from "./getTheme_v2-y09KqtEb.js";
|
|
3
|
+
import { _ as useTheme_v2, h as _cardColorStyle, m as focusRingStyle, p as focusRingBorderStyle, v as responsiveRadiusStyle, y as Box } from "./useLayer-BAVfmbNN.js";
|
|
4
|
+
import { t as Flex } from "./flex-C-5JHi1C.js";
|
|
5
|
+
import { n as Text } from "./stack-iW9HuGLg.js";
|
|
6
|
+
import { c } from "react/compiler-runtime";
|
|
7
|
+
import { isValidElement } from "react";
|
|
8
|
+
import { css, styled } from "styled-components";
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { isValidElementType } from "react-is";
|
|
11
|
+
import { SpinnerIcon } from "@sanity/icons/Spinner";
|
|
12
|
+
var spinnerIcon = "_1b6o2se1";
|
|
13
|
+
/**
|
|
14
|
+
* Indicate that something is loading for an indeterminate amount of time.
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
function Spinner(props) {
|
|
19
|
+
let $ = c(3), t0;
|
|
20
|
+
$[0] === Symbol.for("react.memo_cache_sentinel") ? (t0 = /* @__PURE__ */ jsx(SpinnerIcon, { className: spinnerIcon }), $[0] = t0) : t0 = $[0];
|
|
21
|
+
let t1;
|
|
22
|
+
return $[1] === props ? t1 = $[2] : (t1 = /* @__PURE__ */ jsx(Text, {
|
|
23
|
+
"data-ui": "Spinner",
|
|
24
|
+
...props,
|
|
25
|
+
children: t0
|
|
26
|
+
}), $[1] = props, $[2] = t1), t1;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
function buttonBaseStyles(props) {
|
|
32
|
+
let { $width } = props, { style } = getTheme_v2(props.theme);
|
|
33
|
+
return css`${style?.button};-webkit-font-smoothing:inherit;appearance:none;display:inline-flex;align-items:center;font:inherit;border:0;outline:none;user-select:none;text-decoration:none;border:0;box-sizing:border-box;padding:0;margin:0;white-space:nowrap;text-align:left;position:relative;vertical-align:top;${$width === "fill" && css`width:-moz-available;width:-webkit-fill-available;width:stretch;`} & > span{display:block;flex:1;min-width:0;border-radius:inherit;}&::-moz-focus-inner{border:0;padding:0;}`;
|
|
34
|
+
}
|
|
35
|
+
function combineBoxShadow(...boxShadows) {
|
|
36
|
+
return boxShadows.filter(Boolean).join(",");
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
function buttonColorStyles(props) {
|
|
42
|
+
let { $mode } = props, { button, color: baseColor, style } = getTheme_v2(props.theme);
|
|
43
|
+
props.$mode;
|
|
44
|
+
let mode = baseColor.button[$mode] || baseColor.button.default, color = mode[props.$tone] || mode.default, border = {
|
|
45
|
+
width: button.border.width,
|
|
46
|
+
color: "var(--card-border-color)"
|
|
47
|
+
};
|
|
48
|
+
return [
|
|
49
|
+
_cardColorStyle(baseColor, color.enabled),
|
|
50
|
+
{
|
|
51
|
+
backgroundColor: "var(--card-bg-color)",
|
|
52
|
+
color: "var(--card-fg-color)",
|
|
53
|
+
boxShadow: focusRingBorderStyle(border),
|
|
54
|
+
"&:disabled, &[data-disabled=\"true\"]": _cardColorStyle(baseColor, color.disabled),
|
|
55
|
+
"&:not([data-disabled='true'])": {
|
|
56
|
+
boxShadow: combineBoxShadow(focusRingBorderStyle(border), void 0),
|
|
57
|
+
"&:focus": { boxShadow: focusRingStyle({
|
|
58
|
+
base: baseColor,
|
|
59
|
+
border: {
|
|
60
|
+
width: 2,
|
|
61
|
+
color: baseColor.bg
|
|
62
|
+
},
|
|
63
|
+
focusRing: button.focusRing
|
|
64
|
+
}) },
|
|
65
|
+
"&:focus:not(:focus-visible)": { boxShadow: combineBoxShadow(focusRingBorderStyle(border), void 0) },
|
|
66
|
+
"@media (hover: hover)": {
|
|
67
|
+
"&:hover": _cardColorStyle(baseColor, color.hovered),
|
|
68
|
+
"&:active": _cardColorStyle(baseColor, color.pressed),
|
|
69
|
+
"&[data-hovered]": _cardColorStyle(baseColor, color.hovered)
|
|
70
|
+
},
|
|
71
|
+
"&[data-selected]": _cardColorStyle(baseColor, color.pressed)
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
style?.button?.root
|
|
75
|
+
].filter(Boolean);
|
|
76
|
+
}
|
|
77
|
+
const StyledButton = /* @__PURE__ */ styled.button.withConfig({
|
|
78
|
+
displayName: "StyledButton",
|
|
79
|
+
componentId: "sc-qd71yy-0"
|
|
80
|
+
})(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles), LoadingBox = styled.div.withConfig({
|
|
81
|
+
displayName: "LoadingBox",
|
|
82
|
+
componentId: "sc-qd71yy-1"
|
|
83
|
+
})`position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:var(--card-bg-color);border-radius:inherit;z-index:1;box-shadow:inherit;`;
|
|
84
|
+
function ButtonComponent(props) {
|
|
85
|
+
let $ = c(87), IconComponent, IconRightComponent, children, disabled, loading, paddingBottomProp, paddingLeftProp, paddingRightProp, paddingTopProp, paddingXProp, paddingYProp, ref, restProps, selected, t0, t1, t2, t3, t4, t5, t6, t7, t8, text, textAlign, textWeight, width;
|
|
86
|
+
$[0] === props ? (IconComponent = $[1], IconRightComponent = $[2], children = $[3], disabled = $[4], loading = $[5], paddingBottomProp = $[6], paddingLeftProp = $[7], paddingRightProp = $[8], paddingTopProp = $[9], paddingXProp = $[10], paddingYProp = $[11], ref = $[12], restProps = $[13], selected = $[14], t0 = $[15], t1 = $[16], t2 = $[17], t3 = $[18], t4 = $[19], t5 = $[20], t6 = $[21], t7 = $[22], t8 = $[23], text = $[24], textAlign = $[25], textWeight = $[26], width = $[27]) : ({children, disabled, ref, fontSize: t0, icon: IconComponent, iconRight: IconRightComponent, justify: t1, loading, mode: t2, padding: t3, paddingX: paddingXProp, paddingY: paddingYProp, paddingTop: paddingTopProp, paddingBottom: paddingBottomProp, paddingLeft: paddingLeftProp, paddingRight: paddingRightProp, radius: t4, selected, gap: t5, text, textAlign, textWeight, tone: t6, type: t7, muted: t8, width, ...restProps} = props, $[0] = props, $[1] = IconComponent, $[2] = IconRightComponent, $[3] = children, $[4] = disabled, $[5] = loading, $[6] = paddingBottomProp, $[7] = paddingLeftProp, $[8] = paddingRightProp, $[9] = paddingTopProp, $[10] = paddingXProp, $[11] = paddingYProp, $[12] = ref, $[13] = restProps, $[14] = selected, $[15] = t0, $[16] = t1, $[17] = t2, $[18] = t3, $[19] = t4, $[20] = t5, $[21] = t6, $[22] = t7, $[23] = t8, $[24] = text, $[25] = textAlign, $[26] = textWeight, $[27] = width);
|
|
87
|
+
let fontSize = t0 === void 0 ? 1 : t0, justifyProp = t1 === void 0 ? "center" : t1, mode = t2 === void 0 ? "default" : t2, paddingProp = t3 === void 0 ? 3 : t3, radiusProp = t4 === void 0 ? 2 : t4, gap = t5 === void 0 ? 3 : t5, tone = t6 === void 0 ? "default" : t6, type = t7 === void 0 ? "button" : t7, muted = t8 !== void 0 && t8, { button } = useTheme_v2(), t9;
|
|
88
|
+
$[28] === justifyProp ? t9 = $[29] : (t9 = _getArrayProp(justifyProp), $[28] = justifyProp, $[29] = t9);
|
|
89
|
+
let justify = t9, t10;
|
|
90
|
+
$[30] === paddingProp ? t10 = $[31] : (t10 = _getArrayProp(paddingProp), $[30] = paddingProp, $[31] = t10);
|
|
91
|
+
let padding = t10, t11;
|
|
92
|
+
$[32] === paddingXProp ? t11 = $[33] : (t11 = _getArrayProp(paddingXProp), $[32] = paddingXProp, $[33] = t11);
|
|
93
|
+
let paddingX = t11, t12;
|
|
94
|
+
$[34] === paddingYProp ? t12 = $[35] : (t12 = _getArrayProp(paddingYProp), $[34] = paddingYProp, $[35] = t12);
|
|
95
|
+
let paddingY = t12, t13;
|
|
96
|
+
$[36] === paddingTopProp ? t13 = $[37] : (t13 = _getArrayProp(paddingTopProp), $[36] = paddingTopProp, $[37] = t13);
|
|
97
|
+
let paddingTop = t13, t14;
|
|
98
|
+
$[38] === paddingBottomProp ? t14 = $[39] : (t14 = _getArrayProp(paddingBottomProp), $[38] = paddingBottomProp, $[39] = t14);
|
|
99
|
+
let paddingBottom = t14, t15;
|
|
100
|
+
$[40] === paddingLeftProp ? t15 = $[41] : (t15 = _getArrayProp(paddingLeftProp), $[40] = paddingLeftProp, $[41] = t15);
|
|
101
|
+
let paddingLeft = t15, t16;
|
|
102
|
+
$[42] === paddingRightProp ? t16 = $[43] : (t16 = _getArrayProp(paddingRightProp), $[42] = paddingRightProp, $[43] = t16);
|
|
103
|
+
let paddingRight = t16, t17;
|
|
104
|
+
$[44] === radiusProp ? t17 = $[45] : (t17 = _getArrayProp(radiusProp), $[44] = radiusProp, $[45] = t17);
|
|
105
|
+
let radius = t17, t18;
|
|
106
|
+
$[46] === gap ? t18 = $[47] : (t18 = _getArrayProp(gap), $[46] = gap, $[47] = t18);
|
|
107
|
+
let spacing = t18, t19;
|
|
108
|
+
$[48] !== padding || $[49] !== paddingBottom || $[50] !== paddingLeft || $[51] !== paddingRight || $[52] !== paddingTop || $[53] !== paddingX || $[54] !== paddingY ? (t19 = {
|
|
109
|
+
padding,
|
|
110
|
+
paddingX,
|
|
111
|
+
paddingY,
|
|
112
|
+
paddingTop,
|
|
113
|
+
paddingBottom,
|
|
114
|
+
paddingLeft,
|
|
115
|
+
paddingRight
|
|
116
|
+
}, $[48] = padding, $[49] = paddingBottom, $[50] = paddingLeft, $[51] = paddingRight, $[52] = paddingTop, $[53] = paddingX, $[54] = paddingY, $[55] = t19) : t19 = $[55];
|
|
117
|
+
let boxProps = t19, t20 = !!(loading || disabled), t21 = selected ? "" : void 0, t22 = !!(loading || disabled), t23;
|
|
118
|
+
$[56] === loading ? t23 = $[57] : (t23 = !!loading && /* @__PURE__ */ jsx(LoadingBox, { children: /* @__PURE__ */ jsx(Spinner, {}) }), $[56] = loading, $[57] = t23);
|
|
119
|
+
let t24;
|
|
120
|
+
$[58] !== IconComponent || $[59] !== IconRightComponent || $[60] !== boxProps || $[61] !== button || $[62] !== fontSize || $[63] !== justify || $[64] !== muted || $[65] !== spacing || $[66] !== text || $[67] !== textAlign || $[68] !== textWeight ? (t24 = (IconComponent || text || IconRightComponent) && /* @__PURE__ */ jsx(Box, {
|
|
121
|
+
as: "span",
|
|
122
|
+
...boxProps,
|
|
123
|
+
children: /* @__PURE__ */ jsxs(Flex, {
|
|
124
|
+
as: "span",
|
|
125
|
+
justify,
|
|
126
|
+
gap: spacing,
|
|
127
|
+
children: [
|
|
128
|
+
IconComponent && /* @__PURE__ */ jsxs(Text, {
|
|
129
|
+
size: fontSize,
|
|
130
|
+
children: [isValidElement(IconComponent) && IconComponent, isValidElementType(IconComponent) && /* @__PURE__ */ jsx(IconComponent, {})]
|
|
131
|
+
}),
|
|
132
|
+
text && /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(Text, {
|
|
133
|
+
muted,
|
|
134
|
+
align: textAlign,
|
|
135
|
+
size: fontSize,
|
|
136
|
+
textOverflow: "ellipsis",
|
|
137
|
+
weight: textWeight ?? button.textWeight,
|
|
138
|
+
children: text
|
|
139
|
+
}) }),
|
|
140
|
+
IconRightComponent && /* @__PURE__ */ jsxs(Text, {
|
|
141
|
+
size: fontSize,
|
|
142
|
+
children: [isValidElement(IconRightComponent) && IconRightComponent, isValidElementType(IconRightComponent) && /* @__PURE__ */ jsx(IconRightComponent, {})]
|
|
143
|
+
})
|
|
144
|
+
]
|
|
145
|
+
})
|
|
146
|
+
}), $[58] = IconComponent, $[59] = IconRightComponent, $[60] = boxProps, $[61] = button, $[62] = fontSize, $[63] = justify, $[64] = muted, $[65] = spacing, $[66] = text, $[67] = textAlign, $[68] = textWeight, $[69] = t24) : t24 = $[69];
|
|
147
|
+
let t25;
|
|
148
|
+
$[70] !== boxProps || $[71] !== children ? (t25 = children && /* @__PURE__ */ jsx(Box, {
|
|
149
|
+
as: "span",
|
|
150
|
+
...boxProps,
|
|
151
|
+
children
|
|
152
|
+
}), $[70] = boxProps, $[71] = children, $[72] = t25) : t25 = $[72];
|
|
153
|
+
let t26;
|
|
154
|
+
return $[73] !== mode || $[74] !== radius || $[75] !== ref || $[76] !== restProps || $[77] !== t20 || $[78] !== t21 || $[79] !== t22 || $[80] !== t23 || $[81] !== t24 || $[82] !== t25 || $[83] !== tone || $[84] !== type || $[85] !== width ? (t26 = /* @__PURE__ */ jsxs(StyledButton, {
|
|
155
|
+
"data-ui": "Button",
|
|
156
|
+
...restProps,
|
|
157
|
+
$mode: mode,
|
|
158
|
+
$radius: radius,
|
|
159
|
+
$tone: tone,
|
|
160
|
+
"data-disabled": t20,
|
|
161
|
+
"data-selected": t21,
|
|
162
|
+
disabled: t22,
|
|
163
|
+
ref,
|
|
164
|
+
type,
|
|
165
|
+
$width: width,
|
|
166
|
+
children: [
|
|
167
|
+
t23,
|
|
168
|
+
t24,
|
|
169
|
+
t25
|
|
170
|
+
]
|
|
171
|
+
}), $[73] = mode, $[74] = radius, $[75] = ref, $[76] = restProps, $[77] = t20, $[78] = t21, $[79] = t22, $[80] = t23, $[81] = t24, $[82] = t25, $[83] = tone, $[84] = type, $[85] = width, $[86] = t26) : t26 = $[86], t26;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* @public
|
|
175
|
+
*/
|
|
176
|
+
const Button = ButtonComponent;
|
|
177
|
+
export { Spinner as n, Button as t };
|
|
178
|
+
|
|
179
|
+
//# sourceMappingURL=button-mxfSqr0n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-mxfSqr0n.js","names":["SpinnerIcon","Text","spinnerIcon","SpinnerProps","muted","size","Spinner","props","$","_c","t0","Symbol","for","t1","css","CSSObject","getTheme_v2","_cardColorStyle","focusRingBorderStyle","focusRingStyle","ThemeProps","ButtonMode","ButtonTone","ButtonWidth","buttonBaseStyles","props","$width","ReturnType","style","theme","button","combineBoxShadow","boxShadows","filter","Boolean","join","buttonColorStyles","$mode","$tone","color","baseColor","shadow","mode","default","border","width","defaultBoxShadow","undefined","enabled","disabled","boxShadow","base","bg","focusRing","hovered","pressed","root","isValidElement","useMemo","isValidElementType","styled","ThemeFontWeightKey","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","useTheme_v2","ButtonMode","ButtonTextAlign","ButtonTone","ButtonWidth","ElementType","Props","FlexJustify","Box","Flex","Spinner","Text","ResponsivePaddingProps","ResponsiveRadiusProps","buttonBaseStyles","buttonColorStyles","ButtonOwnProps","fontSize","mode","icon","React","ReactNode","iconRight","justify","loading","selected","space","gap","muted","text","textAlign","textWeight","tone","type","width","ButtonProps","E","StyledButton","button","$mode","$tone","$width","LoadingBox","div","ButtonComponent","props","$","_c","IconComponent","IconRightComponent","children","disabled","paddingBottomProp","paddingLeftProp","paddingRightProp","paddingTopProp","paddingXProp","paddingYProp","ref","restProps","t0","t1","t2","t3","t4","t5","t6","t7","t8","padding","paddingX","paddingY","paddingTop","paddingBottom","paddingLeft","paddingRight","radius","undefined","justifyProp","paddingProp","radiusProp","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","spacing","t19","boxProps","t20","Boolean","t21","t22","t23","t24","t25","t26","Button","JSX","Element"],"sources":["../src/core/primitives/spinner/spinner.css.ts","../src/core/primitives/spinner/spinner.tsx","../src/core/primitives/button/styles.ts","../src/core/primitives/button/button.tsx"],"sourcesContent":["import {keyframes, style} from '@vanilla-extract/css'\n\nconst rotate = keyframes({\n from: {transform: 'rotate(0deg)'},\n to: {transform: 'rotate(360deg)'},\n})\n\nexport const spinnerIcon = style({\n animation: `${rotate} 500ms linear infinite`,\n})\n","import {SpinnerIcon} from '@sanity/icons/Spinner'\n\nimport {Text} from '../text/text'\n\nimport {spinnerIcon} from './spinner.css'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: number | number[]\n}\n\n/**\n * Indicate that something is loading for an indeterminate amount of time.\n *\n * @public\n */\nexport function Spinner(\n props: SpinnerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n) {\n return (\n <Text data-ui=\"Spinner\" {...props}>\n <SpinnerIcon className={spinnerIcon} />\n </Text>\n )\n}\n","import {css} from 'styled-components'\n\nimport {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_cardColorStyle} from '../../styles/card/_cardColorStyle'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {ThemeProps} from '../../styles/types'\nimport {ButtonMode, ButtonTone, ButtonWidth} from '../../types/button'\n\n/**\n * @internal\n */\nexport function buttonBaseStyles(\n props: {$width?: ButtonWidth} & ThemeProps,\n): ReturnType<typeof css> {\n const {$width} = props\n const {style} = getTheme_v2(props.theme)\n\n return css`\n ${style?.button};\n\n -webkit-font-smoothing: inherit;\n appearance: none;\n display: inline-flex;\n align-items: center;\n font: inherit;\n border: 0;\n outline: none;\n user-select: none;\n text-decoration: none;\n border: 0;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n text-align: left;\n position: relative;\n vertical-align: top;\n\n ${\n $width === 'fill' &&\n css`\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n `\n }\n\n & > span {\n display: block;\n flex: 1;\n min-width: 0;\n border-radius: inherit;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n `\n}\n\nfunction combineBoxShadow(...boxShadows: (string | undefined)[]): string {\n return boxShadows.filter(Boolean).join(',')\n}\n\n/**\n * @internal\n */\nexport function buttonColorStyles(\n props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps,\n): CSSObject[] {\n const {$mode} = props\n const {button, color: baseColor, style} = getTheme_v2(props.theme)\n const shadow = props.$mode === 'ghost'\n const mode = baseColor.button[$mode] || baseColor.button.default\n const color = mode[props.$tone] || mode.default\n const border = {\n width: button.border.width,\n color: 'var(--card-border-color)',\n }\n // const defaultBoxShadow = `inset 0px -1.5px 0px ${buttonTheme.border.width}px color-mix(in srgb, var(--card-border-color) 25%, var(--card-bg-color))`\n const defaultBoxShadow = undefined\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n return [\n _cardColorStyle(baseColor, color.enabled),\n {\n 'backgroundColor': 'var(--card-bg-color)',\n 'color': 'var(--card-fg-color)',\n 'boxShadow': focusRingBorderStyle(border),\n '&:disabled, &[data-disabled=\"true\"]': _cardColorStyle(baseColor, color.disabled),\n \"&:not([data-disabled='true'])\": {\n 'boxShadow': combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n '&:focus': {\n boxShadow: focusRingStyle({\n base: baseColor,\n border: {width: 2, color: baseColor.bg},\n focusRing: button.focusRing,\n }),\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n },\n '@media (hover: hover)': {\n '&:hover': _cardColorStyle(baseColor, color.hovered),\n '&:active': _cardColorStyle(baseColor, color.pressed),\n '&[data-hovered]': _cardColorStyle(baseColor, color.hovered),\n },\n '&[data-selected]': _cardColorStyle(baseColor, color.pressed),\n },\n },\n style?.button?.root,\n ].filter(Boolean) as CSSObject[]\n}\n","import {isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {ButtonMode, ButtonTextAlign, ButtonTone, ButtonWidth} from '../../types/button'\nimport {ElementType, Props} from '../../types/component'\nimport {FlexJustify} from '../../types/flex'\nimport {Box} from '../box/box'\nimport {Flex} from '../flex/flex'\nimport {Spinner} from '../spinner/spinner'\nimport {Text} from '../text/text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../types'\nimport {buttonBaseStyles, buttonColorStyles} from './styles'\n\n/**\n * @public\n */\nexport interface ButtonOwnProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n fontSize?: number | number[]\n mode?: ButtonMode\n // oxlint-disable-next-line no-redundant-type-constituents\n icon?: React.ElementType | React.ReactNode\n // oxlint-disable-next-line no-redundant-type-constituents\n iconRight?: React.ElementType | React.ReactNode\n justify?: FlexJustify | FlexJustify[]\n /**\n * @beta Do not use in production, as this might change.\n */\n loading?: boolean\n selected?: boolean\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n gap?: number | number[]\n muted?: boolean\n text?: React.ReactNode\n textAlign?: ButtonTextAlign\n textWeight?: ThemeFontWeightKey\n tone?: ButtonTone\n type?: 'button' | 'reset' | 'submit'\n width?: ButtonWidth\n}\n\n/**\n * @public\n */\nexport type ButtonProps<E extends ElementType = 'button'> = Props<ButtonOwnProps, E>\n\nconst StyledButton = styled.button<\n {$mode: ButtonMode; $tone: ButtonTone; $width?: ButtonWidth} & ResponsiveRadiusStyleProps\n>(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles)\n\nconst LoadingBox = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--card-bg-color);\n border-radius: inherit;\n z-index: 1;\n box-shadow: inherit;\n`\n\nfunction ButtonComponent(\n props: ButtonOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLButtonElement>,\n 'as' | 'width'\n >,\n) {\n const {\n children,\n disabled,\n ref,\n fontSize = 1,\n icon: IconComponent,\n iconRight: IconRightComponent,\n justify: justifyProp = 'center',\n loading,\n mode = 'default',\n padding: paddingProp = 3,\n paddingX: paddingXProp,\n paddingY: paddingYProp,\n paddingTop: paddingTopProp,\n paddingBottom: paddingBottomProp,\n paddingLeft: paddingLeftProp,\n paddingRight: paddingRightProp,\n radius: radiusProp = 2,\n selected,\n gap = 3,\n text,\n textAlign,\n textWeight,\n tone = 'default',\n type = 'button',\n muted = false,\n width,\n ...restProps\n } = props\n const {button} = useTheme_v2()\n\n const justify = _getArrayProp(justifyProp)\n const padding = _getArrayProp(paddingProp)\n const paddingX = _getArrayProp(paddingXProp)\n const paddingY = _getArrayProp(paddingYProp)\n const paddingTop = _getArrayProp(paddingTopProp)\n const paddingBottom = _getArrayProp(paddingBottomProp)\n const paddingLeft = _getArrayProp(paddingLeftProp)\n const paddingRight = _getArrayProp(paddingRightProp)\n const radius = _getArrayProp(radiusProp)\n const spacing = _getArrayProp(gap)\n\n const boxProps = useMemo(\n () => ({\n // flex: 1,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingLeft, paddingRight],\n )\n\n return (\n <StyledButton\n data-ui=\"Button\"\n {...restProps}\n $mode={mode}\n $radius={radius}\n $tone={tone}\n data-disabled={Boolean(loading || disabled)}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n ref={ref}\n type={type}\n $width={width}\n >\n {Boolean(loading) && (\n <LoadingBox>\n <Spinner />\n </LoadingBox>\n )}\n\n {(IconComponent || text || IconRightComponent) && (\n <Box as=\"span\" {...boxProps}>\n <Flex as=\"span\" justify={justify} gap={spacing}>\n {IconComponent && (\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n {text && (\n <Box>\n <Text\n muted={muted}\n align={textAlign}\n size={fontSize}\n textOverflow=\"ellipsis\"\n weight={textWeight ?? button.textWeight}\n >\n {text}\n </Text>\n </Box>\n )}\n\n {IconRightComponent && (\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...boxProps}>\n {children}\n </Box>\n )}\n </StyledButton>\n )\n}\n\n/**\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Button = ButtonComponent as unknown as <E extends ElementType = 'button'>(\n props: ButtonProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-C0a0wQTc.d.ts","names":[],"sources":["../src/core/types/card.ts"],"mappings":";;;;KAKY,WAAW"}
|
package/dist/code.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { a as Props, r as ElementType } from "./component-DVlwaWB-.js";
|
|
2
|
+
/**
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
interface CodeOwnProps {
|
|
6
|
+
/** Define the language to use for syntax highlighting. */
|
|
7
|
+
language?: string;
|
|
8
|
+
size?: number | number[];
|
|
9
|
+
weight?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
type CodeProps<E extends ElementType = 'pre'> = Props<CodeOwnProps, E>;
|
|
15
|
+
/**
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
declare const Code: <E extends ElementType = 'pre'>(props: CodeProps<E>) => React.JSX.Element;
|
|
19
|
+
export { Code, type CodeOwnProps, type CodeProps };
|
|
20
|
+
//# sourceMappingURL=code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code.d.ts","names":[],"sources":["../src/core/primitives/code/code.tsx"],"mappings":";;;;UAeiB;;EAEf;EACA;EACA;;;;;KAMU,UAAU,UAAU,uBAAuB,MAAM,cAAc;;;;cAgC9D,OAAoC,UAAU,qBACzD,OAAO,UAAU,OACd,MAAM,IAAI"}
|
package/dist/code.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { n as _getArrayProp } from "./helpers-bwfx1e-Y.js";
|
|
3
|
+
import { t as getTheme_v2 } from "./getTheme_v2-y09KqtEb.js";
|
|
4
|
+
import { t as responsiveCodeFontStyle } from "./codeFontStyle-DYUujk7K.js";
|
|
5
|
+
import { c } from "react/compiler-runtime";
|
|
6
|
+
import { Suspense, lazy } from "react";
|
|
7
|
+
import { css, styled } from "styled-components";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
function codeSyntaxHighlightingStyle({ theme }) {
|
|
10
|
+
let { color: { syntax: color } } = getTheme_v2(theme);
|
|
11
|
+
return {
|
|
12
|
+
"&.atrule": { color: color.atrule },
|
|
13
|
+
"&.attr-name": { color: color.attrName },
|
|
14
|
+
"&.attr-value": { color: color.attrValue },
|
|
15
|
+
"&.attribute": { color: color.attribute },
|
|
16
|
+
"&.boolean": { color: color.boolean },
|
|
17
|
+
"&.builtin": { color: color.builtin },
|
|
18
|
+
"&.cdata": { color: color.cdata },
|
|
19
|
+
"&.char": { color: color.char },
|
|
20
|
+
"&.class": { color: color.class },
|
|
21
|
+
"&.class-name": { color: color.className },
|
|
22
|
+
"&.comment": { color: color.comment },
|
|
23
|
+
"&.constant": { color: color.constant },
|
|
24
|
+
"&.deleted": { color: color.deleted },
|
|
25
|
+
"&.doctype": { color: color.doctype },
|
|
26
|
+
"&.entity": { color: color.entity },
|
|
27
|
+
"&.function": { color: color.function },
|
|
28
|
+
"&.hexcode": { color: color.hexcode },
|
|
29
|
+
"&.id": { color: color.id },
|
|
30
|
+
"&.important": { color: color.important },
|
|
31
|
+
"&.inserted": { color: color.inserted },
|
|
32
|
+
"&.keyword": { color: color.keyword },
|
|
33
|
+
"&.number": { color: color.number },
|
|
34
|
+
"&.operator": { color: color.operator },
|
|
35
|
+
"&.prolog": { color: color.prolog },
|
|
36
|
+
"&.property": { color: color.property },
|
|
37
|
+
"&.pseudo-class": { color: color.pseudoClass },
|
|
38
|
+
"&.pseudo-element": { color: color.pseudoElement },
|
|
39
|
+
"&.punctuation": { color: color.punctuation },
|
|
40
|
+
"&.regex": { color: color.regex },
|
|
41
|
+
"&.selector": { color: color.selector },
|
|
42
|
+
"&.string": { color: color.string },
|
|
43
|
+
"&.symbol": { color: color.symbol },
|
|
44
|
+
"&.tag": { color: color.tag },
|
|
45
|
+
"&.unit": { color: color.unit },
|
|
46
|
+
"&.url": { color: color.url },
|
|
47
|
+
"&.variable": { color: color.variable }
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function codeBaseStyle() {
|
|
51
|
+
return css`color:var(--card-code-fg-color);& code{font-family:inherit;&.refractor .token{${codeSyntaxHighlightingStyle}}}& a{color:inherit;text-decoration:underline;border-radius:1px;}& svg{display:inline;}& [data-sanity-icon]{vertical-align:baseline;}`;
|
|
52
|
+
}
|
|
53
|
+
const LazyRefractor = lazy(() => import("./refractor-CC48DwHi.js")), StyledCode = /* @__PURE__ */ styled.pre.withConfig({
|
|
54
|
+
displayName: "StyledCode",
|
|
55
|
+
componentId: "sc-bzkmdd-0"
|
|
56
|
+
})(codeBaseStyle, responsiveCodeFontStyle);
|
|
57
|
+
function CodeComponent(props) {
|
|
58
|
+
let $ = c(23), children, language, ref, restProps, t0, weight;
|
|
59
|
+
$[0] === props ? (children = $[1], language = $[2], ref = $[3], restProps = $[4], t0 = $[5], weight = $[6]) : ({children, language, ref, size: t0, weight, ...restProps} = props, $[0] = props, $[1] = children, $[2] = language, $[3] = ref, $[4] = restProps, $[5] = t0, $[6] = weight);
|
|
60
|
+
let size = t0 === void 0 ? 2 : t0, t1;
|
|
61
|
+
$[7] === size ? t1 = $[8] : (t1 = _getArrayProp(size), $[7] = size, $[8] = t1);
|
|
62
|
+
let t2 = weight, t3;
|
|
63
|
+
$[9] === children ? t3 = $[10] : (t3 = /* @__PURE__ */ jsx("code", { children }), $[9] = children, $[10] = t3);
|
|
64
|
+
let t4;
|
|
65
|
+
$[11] !== children || $[12] !== language ? (t4 = /* @__PURE__ */ jsx(LazyRefractor, {
|
|
66
|
+
language,
|
|
67
|
+
value: children
|
|
68
|
+
}), $[11] = children, $[12] = language, $[13] = t4) : t4 = $[13];
|
|
69
|
+
let t5;
|
|
70
|
+
$[14] !== t3 || $[15] !== t4 ? (t5 = /* @__PURE__ */ jsx(Suspense, {
|
|
71
|
+
fallback: t3,
|
|
72
|
+
children: t4
|
|
73
|
+
}), $[14] = t3, $[15] = t4, $[16] = t5) : t5 = $[16];
|
|
74
|
+
let t6;
|
|
75
|
+
return $[17] !== ref || $[18] !== restProps || $[19] !== t1 || $[20] !== t2 || $[21] !== t5 ? (t6 = /* @__PURE__ */ jsx(StyledCode, {
|
|
76
|
+
"data-ui": "Code",
|
|
77
|
+
...restProps,
|
|
78
|
+
$size: t1,
|
|
79
|
+
$weight: t2,
|
|
80
|
+
ref,
|
|
81
|
+
children: t5
|
|
82
|
+
}), $[17] = ref, $[18] = restProps, $[19] = t1, $[20] = t2, $[21] = t5, $[22] = t6) : t6 = $[22], t6;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @public
|
|
86
|
+
*/
|
|
87
|
+
const Code = CodeComponent;
|
|
88
|
+
export { Code };
|
|
89
|
+
|
|
90
|
+
//# sourceMappingURL=code.js.map
|
package/dist/code.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code.js","names":["css","ExecutionContext","getTheme_v2","codeSyntaxHighlightingStyle","theme","color","syntax","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","doctype","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","codeBaseStyle","ReturnType","lazy","Suspense","styled","ThemeFontWeightKey","responsiveCodeFontStyle","FontWeightStyleProps","ResponsiveFontSizeStyleProps","_getArrayProp","ElementType","Props","codeBaseStyle","LazyRefractor","CodeOwnProps","language","size","weight","CodeProps","E","StyledCode","pre","CodeComponent","props","$","_c","children","ref","restProps","t0","undefined","t1","t2","t3","t4","t5","t6","Code","React","JSX","Element"],"sources":["../src/core/primitives/code/styles.ts","../src/core/primitives/code/code.tsx"],"sourcesContent":["import {css, ExecutionContext} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\n\nfunction codeSyntaxHighlightingStyle({theme}: ExecutionContext) {\n const {\n color: {syntax: color},\n } = getTheme_v2(theme)\n\n return {\n '&.atrule': {color: color.atrule},\n '&.attr-name': {color: color.attrName},\n '&.attr-value': {color: color.attrValue},\n '&.attribute': {color: color.attribute},\n '&.boolean': {color: color.boolean},\n '&.builtin': {color: color.builtin},\n '&.cdata': {color: color.cdata},\n '&.char': {color: color.char},\n '&.class': {color: color.class},\n '&.class-name': {color: color.className},\n '&.comment': {color: color.comment},\n '&.constant': {color: color.constant},\n '&.deleted': {color: color.deleted},\n '&.doctype': {color: color.doctype},\n '&.entity': {color: color.entity},\n '&.function': {color: color.function},\n '&.hexcode': {color: color.hexcode},\n '&.id': {color: color.id},\n '&.important': {color: color.important},\n '&.inserted': {color: color.inserted},\n '&.keyword': {color: color.keyword},\n '&.number': {color: color.number},\n '&.operator': {color: color.operator},\n '&.prolog': {color: color.prolog},\n '&.property': {color: color.property},\n '&.pseudo-class': {color: color.pseudoClass},\n '&.pseudo-element': {color: color.pseudoElement},\n '&.punctuation': {color: color.punctuation},\n '&.regex': {color: color.regex},\n '&.selector': {color: color.selector},\n '&.string': {color: color.string},\n '&.symbol': {color: color.symbol},\n '&.tag': {color: color.tag},\n '&.unit': {color: color.unit},\n '&.url': {color: color.url},\n '&.variable': {color: color.variable},\n }\n}\n\nexport function codeBaseStyle(): ReturnType<typeof css> {\n return css`\n color: var(--card-code-fg-color);\n\n & code {\n font-family: inherit;\n\n &.refractor .token {\n ${codeSyntaxHighlightingStyle}\n }\n }\n\n & a {\n color: inherit;\n text-decoration: underline;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {lazy, Suspense} from 'react'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {responsiveCodeFontStyle} from '../../styles/font/codeFontStyle'\nimport {FontWeightStyleProps, ResponsiveFontSizeStyleProps} from '../../styles/font/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {codeBaseStyle} from './styles'\n\nconst LazyRefractor = lazy(() => import('./refractor'))\n\n/**\n * @public\n */\nexport interface CodeOwnProps {\n /** Define the language to use for syntax highlighting. */\n language?: string\n size?: number | number[]\n weight?: string\n}\n\n/**\n * @public\n */\nexport type CodeProps<E extends ElementType = 'pre'> = Props<CodeOwnProps, E>\n\nconst StyledCode = styled.pre<FontWeightStyleProps & ResponsiveFontSizeStyleProps>(\n codeBaseStyle,\n responsiveCodeFontStyle,\n)\n\nfunction CodeComponent(\n props: CodeOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLPreElement>, 'as' | 'size'>,\n) {\n const {children, language, ref, size = 2, weight, ...restProps} = props\n\n return (\n <StyledCode\n data-ui=\"Code\"\n {...restProps}\n $size={_getArrayProp(size)}\n // oxlint-disable-next-line no-unsafe-type-assertion -- `weight` is typed as `string` in the public API; unknown weights fall back to `regular` at runtime\n $weight={weight as ThemeFontWeightKey | undefined}\n ref={ref}\n >\n <Suspense fallback={<code>{children}</code>}>\n <LazyRefractor language={language} value={children} />\n </Suspense>\n </StyledCode>\n )\n}\n\n/**\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Code = CodeComponent as unknown as <E extends ElementType = 'pre'>(\n props: CodeProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { t as responsiveFont } from "./responsiveFont-hN1mZFjm.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get responsive CSS for the `code` font style.
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
function responsiveCodeFontStyle(props) {
|
|
7
|
+
return responsiveFont("code", props);
|
|
8
|
+
}
|
|
9
|
+
export { responsiveCodeFontStyle as t };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=codeFontStyle-DYUujk7K.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codeFontStyle-DYUujk7K.js","names":["CSSObject","ThemeProps","responsiveFont","FontWeightStyleProps","ResponsiveFontSizeStyleProps","responsiveCodeFontStyle","props"],"sources":["../src/core/styles/font/codeFontStyle.ts"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {FontWeightStyleProps, ResponsiveFontSizeStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `code` font style.\n * @internal\n */\nexport function responsiveCodeFontStyle(\n props: FontWeightStyleProps & ResponsiveFontSizeStyleProps & ThemeProps,\n): CSSObject[] {\n return responsiveFont('code', props)\n}\n"],"mappings":";;;;;AASA,SAAgBK,wBACdC,OACa;CACb,OAAOJ,eAAe,QAAQI,KAAK;AACrC"}
|