@basic-ui/material 1.0.0-alpha.15 → 1.0.0-alpha.18
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/build/cjs/index.js +296 -52
- package/build/cjs/index.js.map +1 -1
- package/build/esm/Alert/Alert.d.ts +1 -1
- package/build/esm/AppBar/AppBarButton.d.ts +1 -1
- package/build/esm/BottomSheet/BottomSheet.d.ts +1 -1
- package/build/esm/BottomSheet/BottomSheetSurface.d.ts +1 -1
- package/build/esm/Button/BaseButton.d.ts +1 -1
- package/build/esm/Button/BaseButton.js +1 -0
- package/build/esm/Button/BaseButton.js.map +1 -1
- package/build/esm/Button/Button.d.ts +1 -1
- package/build/esm/Button/ButtonGroup.d.ts +1 -1
- package/build/esm/Button/FilledButton.d.ts +1 -1
- package/build/esm/Button/OutlinedButton.d.ts +1 -1
- package/build/esm/Button/TransparentButton.d.ts +1 -1
- package/build/esm/CheckBox/CheckBox.d.ts +1 -1
- package/build/esm/Chip/ButtonChip.d.ts +1 -1
- package/build/esm/Chip/ChipBase.d.ts +1 -1
- package/build/esm/Chip/ChoiceChip.d.ts +1 -1
- package/build/esm/Combobox/Combobox.d.ts +7 -7
- package/build/esm/Combobox/Combobox.js +4 -3
- package/build/esm/Combobox/Combobox.js.map +1 -1
- package/build/esm/Dialog/Dialog.d.ts +1 -1
- package/build/esm/Dialog/DialogBackdrop.d.ts +1 -1
- package/build/esm/Dialog/DialogSurface.d.ts +1 -1
- package/build/esm/Dialog/Scrim.d.ts +1 -1
- package/build/esm/Divider/Divider.d.ts +1 -1
- package/build/esm/Link/Link.d.ts +1 -1
- package/build/esm/Link/Link.js +12 -0
- package/build/esm/Link/Link.js.map +1 -1
- package/build/esm/ListItem/ListItem.d.ts +3 -1
- package/build/esm/ListItem/ListItem.js +46 -43
- package/build/esm/ListItem/ListItem.js.map +1 -1
- package/build/esm/Menu/Menu.d.ts +4 -4
- package/build/esm/NavRail/NavRailItem.d.ts +3 -3
- package/build/esm/Paper/Paper.d.ts +1 -1
- package/build/esm/RadioButton/RadioGroup.d.ts +1 -1
- package/build/esm/Ripple/useRippleSurface.d.ts +1 -0
- package/build/esm/Ripple/useRippleSurface.js +17 -16
- package/build/esm/Ripple/useRippleSurface.js.map +1 -1
- package/build/esm/Select/Select.d.ts +1 -1
- package/build/esm/Select/Select.js +4 -0
- package/build/esm/Select/Select.js.map +1 -1
- package/build/esm/Select/SelectIcon.d.ts +1 -1
- package/build/esm/SelectItem/SelectItem.d.ts +5 -2
- package/build/esm/SelectItem/SelectItem.js +17 -4
- package/build/esm/SelectItem/SelectItem.js.map +1 -1
- package/build/esm/SelectionControl/SelectionControlText.d.ts +1 -1
- package/build/esm/Skeleton/Skeleton.d.ts +1 -1
- package/build/esm/Slider/Slider.d.ts +17 -0
- package/build/esm/Slider/Slider.js +224 -0
- package/build/esm/Slider/Slider.js.map +1 -0
- package/build/esm/Slider/index.d.ts +1 -0
- package/build/esm/Slider/index.js +2 -0
- package/build/esm/Slider/index.js.map +1 -0
- package/build/esm/Snackbar/Snackbar.d.ts +1 -1
- package/build/esm/Switch/Switch.d.ts +1 -1
- package/build/esm/Tab/Tab.d.ts +1 -1
- package/build/esm/Tab/TabList.d.ts +1 -1
- package/build/esm/Tab/TabPanel.d.ts +1 -1
- package/build/esm/TabIndicator/TabIndicator.d.ts +1 -1
- package/build/esm/Table/TableHead.d.ts +1 -1
- package/build/esm/Table/TableRow.d.ts +1 -1
- package/build/esm/TextField/FilledContainer.d.ts +1 -1
- package/build/esm/TextField/HelperText.d.ts +1 -1
- package/build/esm/TextField/Input.d.ts +1 -1
- package/build/esm/TextField/OutlinedContainer.d.ts +1 -1
- package/build/esm/TextField/OutlinedContainer.js +13 -5
- package/build/esm/TextField/OutlinedContainer.js.map +1 -1
- package/build/esm/TextField/TextField.d.ts +1 -1
- package/build/esm/ThemeExplorer/BorderSlider.d.ts +7 -0
- package/build/esm/ThemeExplorer/BorderSlider.js +78 -0
- package/build/esm/ThemeExplorer/BorderSlider.js.map +1 -0
- package/build/esm/ThemeExplorer/ColorSchemePicker.d.ts +10 -0
- package/build/esm/ThemeExplorer/ColorSchemePicker.js +54 -0
- package/build/esm/ThemeExplorer/ColorSchemePicker.js.map +1 -0
- package/build/esm/ThemeExplorer/FontAutoComplete.d.ts +9 -0
- package/build/esm/ThemeExplorer/FontAutoComplete.js +128 -0
- package/build/esm/ThemeExplorer/FontAutoComplete.js.map +1 -0
- package/build/esm/ThemeExplorer/ThemeBuilder.d.ts +2 -0
- package/build/esm/ThemeExplorer/ThemeBuilder.js +231 -93
- package/build/esm/ThemeExplorer/ThemeBuilder.js.map +1 -1
- package/build/esm/ThemeExplorer/components.js +4 -4
- package/build/esm/ThemeExplorer/components.js.map +1 -1
- package/build/esm/ThemeExplorer/googleFonts.d.ts +1 -0
- package/build/esm/ThemeExplorer/googleFonts.js +7 -0
- package/build/esm/ThemeExplorer/googleFonts.js.map +1 -0
- package/build/esm/ThemeExplorer/updateGoogleFonts.js +70 -0
- package/build/esm/ThemeExplorer/updateGoogleFonts.js.map +1 -0
- package/build/esm/ThemeExplorer/useDeferredColor.js +3 -4
- package/build/esm/ThemeExplorer/useDeferredColor.js.map +1 -1
- package/build/esm/Tooltip/Tooltip.d.ts +1 -1
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/tsconfig-build.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/src/Button/BaseButton.tsx +1 -0
- package/src/Combobox/Combobox.tsx +5 -2
- package/src/Link/Link.tsx +12 -0
- package/src/ListItem/ListItem.tsx +48 -42
- package/src/Ripple/useRippleSurface.ts +8 -2
- package/src/Select/PaymentMethodSelect.story.tsx +17 -24
- package/src/Select/Select.tsx +6 -0
- package/src/SelectItem/SelectItem.tsx +13 -3
- package/src/Slider/Slider.story.tsx +36 -0
- package/src/Slider/Slider.tsx +275 -0
- package/src/Slider/index.ts +1 -0
- package/src/TextField/OutlinedContainer.tsx +8 -3
- package/src/ThemeExplorer/BorderSlider.tsx +73 -0
- package/src/ThemeExplorer/ColorSchemePicker.tsx +55 -0
- package/src/ThemeExplorer/FontAutoComplete.tsx +139 -0
- package/src/ThemeExplorer/ThemeBuilder.story.tsx +2 -1
- package/src/ThemeExplorer/ThemeBuilder.tsx +218 -82
- package/src/ThemeExplorer/components.tsx +4 -4
- package/src/ThemeExplorer/googleFonts.ts +1436 -0
- package/src/ThemeExplorer/updateGoogleFonts.js +33 -0
- package/src/ThemeExplorer/useDeferredColor.tsx +3 -6
- package/src/index.ts +1 -0
|
@@ -16,4 +16,4 @@ export declare type TextFieldProps = Omit<InputProps, 'value' | 'defaultValue'>
|
|
|
16
16
|
leadingIcon?: ReactNode;
|
|
17
17
|
trailingIcon?: ReactNode;
|
|
18
18
|
};
|
|
19
|
-
export declare const TextField: import("react").ForwardRefExoticComponent<Pick<TextFieldProps, "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "backgroundImage" | "backgroundPosition" | "backgroundRepeat" | "backgroundSize" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "
|
|
19
|
+
export declare const TextField: import("react").ForwardRefExoticComponent<Pick<TextFieldProps, "onKeyDown" | "onPointerDown" | "style" | "hidden" | "color" | "bottom" | "left" | "right" | "top" | "size" | "flex" | "border" | "padding" | "multiple" | "disabled" | "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "backgroundImage" | "backgroundPosition" | "backgroundRepeat" | "backgroundSize" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "letterSpacing" | "lineHeight" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "order" | "overflowX" | "overflowY" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "textAlign" | "textShadow" | "translate" | "verticalAlign" | "width" | "background" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderStyle" | "borderTop" | "borderWidth" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "overflow" | "bg" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "gridColumnGap" | "gridGap" | "gridRowGap" | "as" | "sx" | "__css" | "variant" | "tx" | "theme" | "borderX" | "borderY" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "form" | "label" | "pattern" | "list" | "step" | "error" | "leadingIcon" | "autoComplete" | "autoFocus" | "name" | "required" | "value" | "helperText" | "hasLabel" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "type" | "max" | "min" | "crossOrigin" | "accept" | "alt" | "capture" | "checked" | "enterKeyHint" | "maxLength" | "minLength" | "readOnly" | "src" | "multiline" | "trailingIcon" | "containerProps" | "hideCharacterCounter"> & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { startTransition, useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { Box } from '../Box';
|
|
4
|
+
import { Link as BaseLink } from '../Link';
|
|
5
|
+
import { Slider, SliderMarker } from '../Slider';
|
|
6
|
+
import { Text } from '../Text';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
var Link = BaseLink;
|
|
10
|
+
export function BorderSlider(props) {
|
|
11
|
+
var _useState = useState(props.defaultValue),
|
|
12
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
13
|
+
value = _useState2[0],
|
|
14
|
+
setValue = _useState2[1];
|
|
15
|
+
|
|
16
|
+
var resetting = useRef(false);
|
|
17
|
+
useEffect(function () {
|
|
18
|
+
if (resetting.current) {
|
|
19
|
+
setValue(props.defaultValue);
|
|
20
|
+
resetting.current = false;
|
|
21
|
+
}
|
|
22
|
+
}, [props.defaultValue]);
|
|
23
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
24
|
+
width: "100%",
|
|
25
|
+
display: "flex",
|
|
26
|
+
flexDirection: "column",
|
|
27
|
+
children: [/*#__PURE__*/_jsxs(Text, {
|
|
28
|
+
display: "flex",
|
|
29
|
+
justifyContent: "space-between",
|
|
30
|
+
width: "100%",
|
|
31
|
+
pb: 2,
|
|
32
|
+
children: [/*#__PURE__*/_jsxs("span", {
|
|
33
|
+
children: [props.label, ' ', /*#__PURE__*/_jsx(Link, {
|
|
34
|
+
as: "button",
|
|
35
|
+
disabled: props.resetDisabled ? true : undefined,
|
|
36
|
+
onClick: function onClick() {
|
|
37
|
+
resetting.current = true;
|
|
38
|
+
props.onReset();
|
|
39
|
+
},
|
|
40
|
+
children: "Reset"
|
|
41
|
+
})]
|
|
42
|
+
}), /*#__PURE__*/_jsxs("span", {
|
|
43
|
+
children: [value, "px"]
|
|
44
|
+
})]
|
|
45
|
+
}), /*#__PURE__*/_jsxs(Slider, {
|
|
46
|
+
value: value,
|
|
47
|
+
onChange: function onChange(e, v) {
|
|
48
|
+
setValue(v);
|
|
49
|
+
startTransition(function () {
|
|
50
|
+
props.onChange(v);
|
|
51
|
+
});
|
|
52
|
+
},
|
|
53
|
+
min: 0,
|
|
54
|
+
max: 64,
|
|
55
|
+
step: 2,
|
|
56
|
+
children: [/*#__PURE__*/_jsx(SliderMarker, {
|
|
57
|
+
value: 2
|
|
58
|
+
}), /*#__PURE__*/_jsx(SliderMarker, {
|
|
59
|
+
value: 4
|
|
60
|
+
}), /*#__PURE__*/_jsx(SliderMarker, {
|
|
61
|
+
value: 8
|
|
62
|
+
}), /*#__PURE__*/_jsx(SliderMarker, {
|
|
63
|
+
value: 12
|
|
64
|
+
}), /*#__PURE__*/_jsx(SliderMarker, {
|
|
65
|
+
value: 16
|
|
66
|
+
}), /*#__PURE__*/_jsx(SliderMarker, {
|
|
67
|
+
value: 24
|
|
68
|
+
}), /*#__PURE__*/_jsx(SliderMarker, {
|
|
69
|
+
value: 32
|
|
70
|
+
}), /*#__PURE__*/_jsx(SliderMarker, {
|
|
71
|
+
value: 40
|
|
72
|
+
}), /*#__PURE__*/_jsx(SliderMarker, {
|
|
73
|
+
value: 48
|
|
74
|
+
})]
|
|
75
|
+
})]
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=BorderSlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BorderSlider.js","names":["startTransition","useEffect","useRef","useState","Box","Link","BaseLink","Slider","SliderMarker","Text","BorderSlider","props","defaultValue","value","setValue","resetting","current","label","resetDisabled","undefined","onReset","e","v","onChange"],"sources":["../../../src/ThemeExplorer/BorderSlider.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes, FC } from 'react';\nimport { startTransition, useEffect, useRef, useState } from 'react';\n\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\nimport { Link as BaseLink } from '../Link';\nimport { Slider, SliderMarker } from '../Slider';\nimport { Text } from '../Text';\n\nconst Link: FC<\n BoxProps<HTMLButtonElement, ButtonHTMLAttributes<HTMLButtonElement>>\n> = BaseLink as any;\n\nexport function BorderSlider(props: {\n label: string;\n defaultValue: number;\n onChange: (value: number) => void;\n onReset: () => void;\n resetDisabled: boolean;\n}) {\n const [value, setValue] = useState(props.defaultValue);\n\n const resetting = useRef(false);\n useEffect(() => {\n if (resetting.current) {\n setValue(props.defaultValue);\n resetting.current = false;\n }\n }, [props.defaultValue]);\n\n return (\n <Box width=\"100%\" display=\"flex\" flexDirection=\"column\">\n <Text display=\"flex\" justifyContent=\"space-between\" width=\"100%\" pb={2}>\n <span>\n {props.label}{' '}\n <Link\n as=\"button\"\n disabled={props.resetDisabled ? true : undefined}\n onClick={() => {\n resetting.current = true;\n props.onReset();\n }}\n >\n Reset\n </Link>\n </span>\n <span>{value}px</span>\n </Text>\n <Slider\n value={value}\n onChange={(e, v) => {\n setValue(v);\n startTransition(() => {\n props.onChange(v);\n });\n }}\n min={0}\n max={64}\n step={2}\n >\n <SliderMarker value={2} />\n <SliderMarker value={4} />\n <SliderMarker value={8} />\n <SliderMarker value={12} />\n <SliderMarker value={16} />\n <SliderMarker value={24} />\n <SliderMarker value={32} />\n <SliderMarker value={40} />\n <SliderMarker value={48} />\n </Slider>\n </Box>\n );\n}\n"],"mappings":";AACA,SAASA,eAAT,EAA0BC,SAA1B,EAAqCC,MAArC,EAA6CC,QAA7C,QAA6D,OAA7D;AAGA,SAASC,GAAT,QAAoB,QAApB;AACA,SAASC,IAAI,IAAIC,QAAjB,QAAiC,SAAjC;AACA,SAASC,MAAT,EAAiBC,YAAjB,QAAqC,WAArC;AACA,SAASC,IAAT,QAAqB,SAArB;;;AAEA,IAAMJ,IAEL,GAAGC,QAFJ;AAIA,OAAO,SAASI,YAAT,CAAsBC,KAAtB,EAMJ;EACD,gBAA0BR,QAAQ,CAACQ,KAAK,CAACC,YAAP,CAAlC;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EAEA,IAAMC,SAAS,GAAGb,MAAM,CAAC,KAAD,CAAxB;EACAD,SAAS,CAAC,YAAM;IACd,IAAIc,SAAS,CAACC,OAAd,EAAuB;MACrBF,QAAQ,CAACH,KAAK,CAACC,YAAP,CAAR;MACAG,SAAS,CAACC,OAAV,GAAoB,KAApB;IACD;EACF,CALQ,EAKN,CAACL,KAAK,CAACC,YAAP,CALM,CAAT;EAOA,oBACE,MAAC,GAAD;IAAK,KAAK,EAAC,MAAX;IAAkB,OAAO,EAAC,MAA1B;IAAiC,aAAa,EAAC,QAA/C;IAAA,wBACE,MAAC,IAAD;MAAM,OAAO,EAAC,MAAd;MAAqB,cAAc,EAAC,eAApC;MAAoD,KAAK,EAAC,MAA1D;MAAiE,EAAE,EAAE,CAArE;MAAA,wBACE;QAAA,WACGD,KAAK,CAACM,KADT,EACgB,GADhB,eAEE,KAAC,IAAD;UACE,EAAE,EAAC,QADL;UAEE,QAAQ,EAAEN,KAAK,CAACO,aAAN,GAAsB,IAAtB,GAA6BC,SAFzC;UAGE,OAAO,EAAE,mBAAM;YACbJ,SAAS,CAACC,OAAV,GAAoB,IAApB;YACAL,KAAK,CAACS,OAAN;UACD,CANH;UAAA;QAAA,EAFF;MAAA,EADF,eAcE;QAAA,WAAOP,KAAP;MAAA,EAdF;IAAA,EADF,eAiBE,MAAC,MAAD;MACE,KAAK,EAAEA,KADT;MAEE,QAAQ,EAAE,kBAACQ,CAAD,EAAIC,CAAJ,EAAU;QAClBR,QAAQ,CAACQ,CAAD,CAAR;QACAtB,eAAe,CAAC,YAAM;UACpBW,KAAK,CAACY,QAAN,CAAeD,CAAf;QACD,CAFc,CAAf;MAGD,CAPH;MAQE,GAAG,EAAE,CARP;MASE,GAAG,EAAE,EATP;MAUE,IAAI,EAAE,CAVR;MAAA,wBAYE,KAAC,YAAD;QAAc,KAAK,EAAE;MAArB,EAZF,eAaE,KAAC,YAAD;QAAc,KAAK,EAAE;MAArB,EAbF,eAcE,KAAC,YAAD;QAAc,KAAK,EAAE;MAArB,EAdF,eAeE,KAAC,YAAD;QAAc,KAAK,EAAE;MAArB,EAfF,eAgBE,KAAC,YAAD;QAAc,KAAK,EAAE;MAArB,EAhBF,eAiBE,KAAC,YAAD;QAAc,KAAK,EAAE;MAArB,EAjBF,eAkBE,KAAC,YAAD;QAAc,KAAK,EAAE;MAArB,EAlBF,eAmBE,KAAC,YAAD;QAAc,KAAK,EAAE;MAArB,EAnBF,eAoBE,KAAC,YAAD;QAAc,KAAK,EAAE;MAArB,EApBF;IAAA,EAjBF;EAAA,EADF;AA0CD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Color } from '@basic-ui/color-picker';
|
|
2
|
+
interface ColorSchemePickerProps {
|
|
3
|
+
label: string;
|
|
4
|
+
initialValue: Color;
|
|
5
|
+
onChange: (c: Color) => void;
|
|
6
|
+
onReset: () => void;
|
|
7
|
+
resetDisabled: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function ColorSchemePicker(props: ColorSchemePickerProps): JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { startTransition, useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { Box } from '../Box';
|
|
4
|
+
import { Button } from '../Button';
|
|
5
|
+
import { TextFieldColorPicker } from './TextFieldColorPicker';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
export function ColorSchemePicker(props) {
|
|
9
|
+
var label = props.label,
|
|
10
|
+
initialValue = props.initialValue,
|
|
11
|
+
_onChange = props.onChange,
|
|
12
|
+
onReset = props.onReset,
|
|
13
|
+
resetDisabled = props.resetDisabled;
|
|
14
|
+
|
|
15
|
+
var _useState = useState(initialValue),
|
|
16
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
17
|
+
value = _useState2[0],
|
|
18
|
+
setValue = _useState2[1];
|
|
19
|
+
|
|
20
|
+
var remountKey = useRef(0);
|
|
21
|
+
var resetting = useRef(false);
|
|
22
|
+
useEffect(function () {
|
|
23
|
+
if (resetting.current) {
|
|
24
|
+
remountKey.current++;
|
|
25
|
+
resetting.current = false;
|
|
26
|
+
setValue(props.initialValue);
|
|
27
|
+
}
|
|
28
|
+
}, [props.initialValue]);
|
|
29
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
30
|
+
display: "flex",
|
|
31
|
+
minWidth: "300px",
|
|
32
|
+
flex: "1",
|
|
33
|
+
alignItems: "center",
|
|
34
|
+
children: [/*#__PURE__*/_jsx(TextFieldColorPicker, {
|
|
35
|
+
label: label,
|
|
36
|
+
value: value,
|
|
37
|
+
onChange: function onChange(c) {
|
|
38
|
+
setValue(c);
|
|
39
|
+
startTransition(function () {
|
|
40
|
+
_onChange(c);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}, remountKey.current), /*#__PURE__*/_jsx(Button, {
|
|
44
|
+
variant: "text",
|
|
45
|
+
disabled: resetDisabled,
|
|
46
|
+
onClick: function onClick() {
|
|
47
|
+
resetting.current = true;
|
|
48
|
+
onReset();
|
|
49
|
+
},
|
|
50
|
+
children: "Reset"
|
|
51
|
+
})]
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ColorSchemePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorSchemePicker.js","names":["startTransition","useEffect","useRef","useState","Box","Button","TextFieldColorPicker","ColorSchemePicker","props","label","initialValue","onChange","onReset","resetDisabled","value","setValue","remountKey","resetting","current","c"],"sources":["../../../src/ThemeExplorer/ColorSchemePicker.tsx"],"sourcesContent":["import type { Color } from '@basic-ui/color-picker';\nimport { startTransition, useEffect, useRef, useState } from 'react';\n\nimport { Box } from '../Box';\nimport { Button } from '../Button';\nimport { TextFieldColorPicker } from './TextFieldColorPicker';\n\ninterface ColorSchemePickerProps {\n label: string;\n initialValue: Color;\n onChange: (c: Color) => void;\n onReset: () => void;\n resetDisabled: boolean;\n}\n\nexport function ColorSchemePicker(props: ColorSchemePickerProps) {\n const { label, initialValue, onChange, onReset, resetDisabled } = props;\n const [value, setValue] = useState(initialValue);\n\n const remountKey = useRef(0);\n const resetting = useRef(false);\n useEffect(() => {\n if (resetting.current) {\n remountKey.current++;\n resetting.current = false;\n setValue(props.initialValue);\n }\n }, [props.initialValue]);\n\n return (\n <Box display=\"flex\" minWidth=\"300px\" flex=\"1\" alignItems=\"center\">\n <TextFieldColorPicker\n key={remountKey.current}\n label={label}\n value={value}\n onChange={(c) => {\n setValue(c);\n startTransition(() => {\n onChange(c);\n });\n }}\n />\n <Button\n variant=\"text\"\n disabled={resetDisabled}\n onClick={() => {\n resetting.current = true;\n onReset();\n }}\n >\n Reset\n </Button>\n </Box>\n );\n}\n"],"mappings":";AACA,SAASA,eAAT,EAA0BC,SAA1B,EAAqCC,MAArC,EAA6CC,QAA7C,QAA6D,OAA7D;AAEA,SAASC,GAAT,QAAoB,QAApB;AACA,SAASC,MAAT,QAAuB,WAAvB;AACA,SAASC,oBAAT,QAAqC,wBAArC;;;AAUA,OAAO,SAASC,iBAAT,CAA2BC,KAA3B,EAA0D;EAC/D,IAAQC,KAAR,GAAkED,KAAlE,CAAQC,KAAR;EAAA,IAAeC,YAAf,GAAkEF,KAAlE,CAAeE,YAAf;EAAA,IAA6BC,SAA7B,GAAkEH,KAAlE,CAA6BG,QAA7B;EAAA,IAAuCC,OAAvC,GAAkEJ,KAAlE,CAAuCI,OAAvC;EAAA,IAAgDC,aAAhD,GAAkEL,KAAlE,CAAgDK,aAAhD;;EACA,gBAA0BV,QAAQ,CAACO,YAAD,CAAlC;EAAA;EAAA,IAAOI,KAAP;EAAA,IAAcC,QAAd;;EAEA,IAAMC,UAAU,GAAGd,MAAM,CAAC,CAAD,CAAzB;EACA,IAAMe,SAAS,GAAGf,MAAM,CAAC,KAAD,CAAxB;EACAD,SAAS,CAAC,YAAM;IACd,IAAIgB,SAAS,CAACC,OAAd,EAAuB;MACrBF,UAAU,CAACE,OAAX;MACAD,SAAS,CAACC,OAAV,GAAoB,KAApB;MACAH,QAAQ,CAACP,KAAK,CAACE,YAAP,CAAR;IACD;EACF,CANQ,EAMN,CAACF,KAAK,CAACE,YAAP,CANM,CAAT;EAQA,oBACE,MAAC,GAAD;IAAK,OAAO,EAAC,MAAb;IAAoB,QAAQ,EAAC,OAA7B;IAAqC,IAAI,EAAC,GAA1C;IAA8C,UAAU,EAAC,QAAzD;IAAA,wBACE,KAAC,oBAAD;MAEE,KAAK,EAAED,KAFT;MAGE,KAAK,EAAEK,KAHT;MAIE,QAAQ,EAAE,kBAACK,CAAD,EAAO;QACfJ,QAAQ,CAACI,CAAD,CAAR;QACAnB,eAAe,CAAC,YAAM;UACpBW,SAAQ,CAACQ,CAAD,CAAR;QACD,CAFc,CAAf;MAGD;IATH,GACOH,UAAU,CAACE,OADlB,CADF,eAYE,KAAC,MAAD;MACE,OAAO,EAAC,MADV;MAEE,QAAQ,EAAEL,aAFZ;MAGE,OAAO,EAAE,mBAAM;QACbI,SAAS,CAACC,OAAV,GAAoB,IAApB;QACAN,OAAO;MACR,CANH;MAAA;IAAA,EAZF;EAAA,EADF;AAyBD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface FontAutoCompleteProps {
|
|
2
|
+
label?: string;
|
|
3
|
+
initialValue?: string;
|
|
4
|
+
onSelect?: (font: string) => void;
|
|
5
|
+
onReset: () => void;
|
|
6
|
+
resetDisabled: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function parseMainFont(fontStr: string): string | undefined;
|
|
9
|
+
export declare function FontAutoComplete({ initialValue, onSelect, label, onReset, resetDisabled, }: FontAutoCompleteProps): JSX.Element;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useState, useMemo, useEffect, useRef, useDeferredValue, memo } from 'react';
|
|
3
|
+
import { Box } from '../Box';
|
|
4
|
+
import { Button } from '../Button';
|
|
5
|
+
import { Combobox, ComboboxOption, ComboboxList, ComboboxPopover, ComboboxInput, ComboboxButton } from '../Combobox';
|
|
6
|
+
import { Text } from '../Text';
|
|
7
|
+
import { googleFonts } from './googleFonts';
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
|
|
11
|
+
function useFontMatch(searchTerm) {
|
|
12
|
+
return useMemo(function () {
|
|
13
|
+
var term = searchTerm.trim().toLowerCase();
|
|
14
|
+
return term === '' ? googleFonts : googleFonts.filter(function (font) {
|
|
15
|
+
return font.toLowerCase().indexOf(term) !== -1;
|
|
16
|
+
});
|
|
17
|
+
}, [searchTerm]);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function parseMainFont(fontStr) {
|
|
21
|
+
var fonts = fontStr.split(/, */).map(function (f) {
|
|
22
|
+
return f.replace(/"([^"]+)"/, '$1');
|
|
23
|
+
});
|
|
24
|
+
return fonts.length > 0 ? fonts[0] : undefined;
|
|
25
|
+
}
|
|
26
|
+
export function FontAutoComplete(_ref) {
|
|
27
|
+
var _ref$initialValue = _ref.initialValue,
|
|
28
|
+
initialValue = _ref$initialValue === void 0 ? '' : _ref$initialValue,
|
|
29
|
+
_onSelect = _ref.onSelect,
|
|
30
|
+
label = _ref.label,
|
|
31
|
+
onReset = _ref.onReset,
|
|
32
|
+
resetDisabled = _ref.resetDisabled;
|
|
33
|
+
|
|
34
|
+
var _useState = useState(undefined),
|
|
35
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
+
term = _useState2[0],
|
|
37
|
+
setTerm = _useState2[1];
|
|
38
|
+
|
|
39
|
+
var filterTerm = useDeferredValue(term);
|
|
40
|
+
|
|
41
|
+
var _useState3 = useState(initialValue),
|
|
42
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
43
|
+
selected = _useState4[0],
|
|
44
|
+
setSelected = _useState4[1];
|
|
45
|
+
|
|
46
|
+
var resetting = useRef(false);
|
|
47
|
+
useEffect(function () {
|
|
48
|
+
if (resetting.current) {
|
|
49
|
+
setSelected(initialValue);
|
|
50
|
+
setTerm(undefined);
|
|
51
|
+
resetting.current = false;
|
|
52
|
+
}
|
|
53
|
+
}, [initialValue]);
|
|
54
|
+
var results = useFontMatch(filterTerm || '');
|
|
55
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
56
|
+
display: "flex",
|
|
57
|
+
minWidth: "300px",
|
|
58
|
+
flex: "1",
|
|
59
|
+
alignItems: "center",
|
|
60
|
+
children: [/*#__PURE__*/_jsxs(Combobox, {
|
|
61
|
+
onSelect: function onSelect(text) {
|
|
62
|
+
setSelected(text);
|
|
63
|
+
setTerm(text);
|
|
64
|
+
_onSelect === null || _onSelect === void 0 ? void 0 : _onSelect(text);
|
|
65
|
+
},
|
|
66
|
+
selectOnBlur: true,
|
|
67
|
+
width: "100%",
|
|
68
|
+
children: [/*#__PURE__*/_jsxs(Box, {
|
|
69
|
+
position: "relative",
|
|
70
|
+
width: "100%",
|
|
71
|
+
children: [/*#__PURE__*/_jsx(ComboboxInput, {
|
|
72
|
+
onChange: function onChange(e) {
|
|
73
|
+
setTerm(e.target.value);
|
|
74
|
+
},
|
|
75
|
+
value: term === undefined ? selected : term,
|
|
76
|
+
label: label
|
|
77
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
78
|
+
height: 56,
|
|
79
|
+
width: 56,
|
|
80
|
+
position: "absolute",
|
|
81
|
+
justifyContent: "center",
|
|
82
|
+
alignItems: "center",
|
|
83
|
+
display: "flex",
|
|
84
|
+
top: 0,
|
|
85
|
+
right: 0,
|
|
86
|
+
bottom: 0,
|
|
87
|
+
children: /*#__PURE__*/_jsx(ComboboxButton, {})
|
|
88
|
+
})]
|
|
89
|
+
}), /*#__PURE__*/_jsx(SearchResults, {
|
|
90
|
+
results: results
|
|
91
|
+
})]
|
|
92
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
93
|
+
variant: "text",
|
|
94
|
+
onClick: function onClick() {
|
|
95
|
+
resetting.current = true;
|
|
96
|
+
onReset();
|
|
97
|
+
},
|
|
98
|
+
disabled: resetDisabled,
|
|
99
|
+
children: "Reset"
|
|
100
|
+
})]
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
var SearchResults = /*#__PURE__*/memo(function SearchResults(props) {
|
|
104
|
+
if (!props.results) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return /*#__PURE__*/_jsx(ComboboxPopover, {
|
|
109
|
+
zIndex: 100,
|
|
110
|
+
children: /*#__PURE__*/_jsxs(ComboboxList, {
|
|
111
|
+
persistSelection: true,
|
|
112
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
113
|
+
variant: "label-medium",
|
|
114
|
+
opacity: 0.6,
|
|
115
|
+
px: 3,
|
|
116
|
+
py: 2,
|
|
117
|
+
children: "Sorted by popularity"
|
|
118
|
+
}), props.results.map(function (result) {
|
|
119
|
+
return /*#__PURE__*/_jsx(ComboboxOption, {
|
|
120
|
+
id: result,
|
|
121
|
+
text: result,
|
|
122
|
+
value: result
|
|
123
|
+
}, result);
|
|
124
|
+
})]
|
|
125
|
+
})
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
//# sourceMappingURL=FontAutoComplete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FontAutoComplete.js","names":["useState","useMemo","useEffect","useRef","useDeferredValue","memo","Box","Button","Combobox","ComboboxOption","ComboboxList","ComboboxPopover","ComboboxInput","ComboboxButton","Text","googleFonts","useFontMatch","searchTerm","term","trim","toLowerCase","filter","font","indexOf","parseMainFont","fontStr","fonts","split","map","f","replace","length","undefined","FontAutoComplete","initialValue","onSelect","label","onReset","resetDisabled","setTerm","filterTerm","selected","setSelected","resetting","current","results","text","e","target","value","SearchResults","props","result"],"sources":["../../../src/ThemeExplorer/FontAutoComplete.tsx"],"sourcesContent":["import {\n useState,\n useMemo,\n useEffect,\n useRef,\n useDeferredValue,\n memo,\n} from 'react';\n\nimport { Box } from '../Box';\nimport { Button } from '../Button';\nimport {\n Combobox,\n ComboboxOption,\n ComboboxList,\n ComboboxPopover,\n ComboboxInput,\n ComboboxButton,\n} from '../Combobox';\nimport { Text } from '../Text';\nimport { googleFonts } from './googleFonts';\n\nexport interface FontAutoCompleteProps {\n label?: string;\n initialValue?: string;\n onSelect?: (font: string) => void;\n onReset: () => void;\n resetDisabled: boolean;\n}\n\nfunction useFontMatch(searchTerm: string) {\n return useMemo(() => {\n const term = searchTerm.trim().toLowerCase();\n return term === ''\n ? googleFonts\n : googleFonts.filter((font) => font.toLowerCase().indexOf(term) !== -1);\n }, [searchTerm]);\n}\n\nexport function parseMainFont(fontStr: string): string | undefined {\n const fonts = fontStr.split(/, */).map((f) => f.replace(/\"([^\"]+)\"/, '$1'));\n return fonts.length > 0 ? fonts[0] : undefined;\n}\n\nexport function FontAutoComplete({\n initialValue = '',\n onSelect,\n label,\n onReset,\n resetDisabled,\n}: FontAutoCompleteProps) {\n const [term, setTerm] = useState<undefined | string>(undefined);\n const filterTerm = useDeferredValue(term);\n const [selected, setSelected] = useState(initialValue);\n\n const resetting = useRef(false);\n useEffect(() => {\n if (resetting.current) {\n setSelected(initialValue);\n setTerm(undefined);\n resetting.current = false;\n }\n }, [initialValue]);\n\n const results = useFontMatch(filterTerm || '');\n return (\n <Box display=\"flex\" minWidth=\"300px\" flex=\"1\" alignItems=\"center\">\n <Combobox\n onSelect={(text) => {\n setSelected(text);\n setTerm(text);\n onSelect?.(text);\n }}\n selectOnBlur\n width=\"100%\"\n >\n <Box position=\"relative\" width=\"100%\">\n <ComboboxInput\n onChange={(e) => {\n setTerm(e.target.value);\n }}\n value={term === undefined ? selected : term}\n label={label}\n />\n <Box\n height={56}\n width={56}\n position=\"absolute\"\n justifyContent=\"center\"\n alignItems=\"center\"\n display=\"flex\"\n top={0}\n right={0}\n bottom={0}\n >\n <ComboboxButton />\n </Box>\n </Box>\n <SearchResults results={results} />\n </Combobox>\n <Button\n variant=\"text\"\n onClick={() => {\n resetting.current = true;\n onReset();\n }}\n disabled={resetDisabled}\n >\n Reset\n </Button>\n </Box>\n );\n}\n\nconst SearchResults = memo(function SearchResults(props: {\n results: string[];\n}) {\n if (!props.results) {\n return null;\n }\n\n return (\n <ComboboxPopover zIndex={100}>\n <ComboboxList persistSelection={true}>\n <Text variant=\"label-medium\" opacity={0.6} px={3} py={2}>\n Sorted by popularity\n </Text>\n {props.results.map((result) => (\n <ComboboxOption\n key={result}\n id={result}\n text={result}\n value={result}\n />\n ))}\n </ComboboxList>\n </ComboboxPopover>\n );\n});\n"],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { ComponentType } from 'react';
|
|
2
|
+
import type { Theme } from '../theme/theme';
|
|
2
3
|
export interface ThemeBuilderProps {
|
|
3
4
|
CodeHighlightingComponent?: ComponentType<{
|
|
4
5
|
children: string;
|
|
5
6
|
className: string;
|
|
6
7
|
showButtons?: boolean;
|
|
7
8
|
}>;
|
|
9
|
+
baseTheme: Theme;
|
|
8
10
|
}
|
|
9
11
|
export declare const ThemeBuilder: (props: ThemeBuilderProps) => JSX.Element | null;
|