@basic-ui/material 0.1.15 → 0.1.16
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 +58 -43
- package/build/cjs/index.js.map +1 -1
- package/build/esm/Combobox/Combobox.d.ts +7 -7
- package/build/esm/Combobox/Combobox.js +1 -0
- package/build/esm/Combobox/Combobox.js.map +1 -1
- package/build/esm/FloatingLabel/FloatingLabel.d.ts +0 -1
- package/build/esm/FloatingLabel/FloatingLabel.js +1 -3
- package/build/esm/FloatingLabel/FloatingLabel.js.map +1 -1
- package/build/esm/Menu/Menu.d.ts +4 -4
- package/build/esm/Menu/Menu.js +1 -0
- package/build/esm/Menu/Menu.js.map +1 -1
- package/build/esm/NotchedOutline/styledComponents.js +2 -2
- package/build/esm/NotchedOutline/styledComponents.js.map +1 -1
- package/build/esm/Select/Select.d.ts +3 -3
- package/build/esm/Select/Select.js +3 -12
- package/build/esm/Select/Select.js.map +1 -1
- package/build/esm/Select/SelectIcon.d.ts +1 -1
- package/build/esm/Select/SelectIcon.js +3 -1
- package/build/esm/Select/SelectIcon.js.map +1 -1
- package/build/esm/Select/styledComponents.js +9 -5
- package/build/esm/Select/styledComponents.js.map +1 -1
- package/build/esm/SelectItem/SelectItem.d.ts +1 -1
- package/build/esm/TextField/FilledContainer.d.ts +1 -1
- package/build/esm/TextField/FilledContainer.js +11 -5
- package/build/esm/TextField/FilledContainer.js.map +1 -1
- package/build/esm/TextField/IconContainer.d.ts +2 -2
- package/build/esm/TextField/IconContainer.js +4 -2
- package/build/esm/TextField/IconContainer.js.map +1 -1
- package/build/esm/TextField/Input.d.ts +1 -1
- package/build/esm/TextField/Input.js +17 -9
- package/build/esm/TextField/Input.js.map +1 -1
- package/build/esm/TextField/OutlinedContainer.d.ts +1 -1
- package/build/esm/TextField/OutlinedContainer.js +7 -4
- package/build/esm/TextField/OutlinedContainer.js.map +1 -1
- package/build/esm/TextField/TextField.d.ts +1 -1
- package/build/esm/TextField/consts.d.ts +5 -0
- package/build/esm/TextField/consts.js +6 -0
- package/build/esm/TextField/consts.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/Combobox/Combobox.tsx +1 -0
- package/src/FloatingLabel/FloatingLabel.tsx +0 -3
- package/src/Menu/Menu.tsx +1 -0
- package/src/NotchedOutline/styledComponents.ts +1 -1
- package/src/Select/PaymentMethodSelect.story.tsx +321 -0
- package/src/Select/Select.story.tsx +26 -1
- package/src/Select/Select.tsx +12 -34
- package/src/Select/SelectIcon.tsx +2 -1
- package/src/Select/styledComponents.tsx +8 -4
- package/src/TextField/FilledContainer.tsx +22 -5
- package/src/TextField/IconContainer.tsx +5 -4
- package/src/TextField/Input.tsx +29 -9
- package/src/TextField/OutlinedContainer.tsx +18 -4
- package/src/TextField/TextField.story.tsx +14 -1
- package/src/TextField/consts.ts +7 -0
|
@@ -2,7 +2,9 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
4
|
import { Box } from '../Box';
|
|
5
|
+
import { rem } from 'polished';
|
|
5
6
|
import { alpha } from '../color';
|
|
7
|
+
import { PADDING_RIGHT_WITH_ICON } from '../TextField/consts';
|
|
6
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
9
|
export const SelectIcon = /*#__PURE__*/forwardRef(function SelectIcon(props, forwardedRef) {
|
|
8
10
|
const {
|
|
@@ -18,7 +20,7 @@ export const SelectIcon = /*#__PURE__*/forwardRef(function SelectIcon(props, for
|
|
|
18
20
|
__css: {
|
|
19
21
|
position: 'absolute',
|
|
20
22
|
top: "calc(50% - ".concat("0.75rem", ")"),
|
|
21
|
-
right:
|
|
23
|
+
right: rem(PADDING_RIGHT_WITH_ICON),
|
|
22
24
|
width: "1.5rem",
|
|
23
25
|
height: "1.5rem",
|
|
24
26
|
color: open ? 'primary' : alpha('on.surface', 0.54),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Select/SelectIcon.tsx"],"names":["forwardRef","Box","alpha","SelectIcon","props","forwardedRef","open","otherProps","position","top","right","width","height","color","pointerEvents","transform","undefined","transition"],"mappings":";;AAAA,SAASA,UAAT,QAA0C,OAA1C;AAEA,SAASC,GAAT,QAA8B,QAA9B;
|
|
1
|
+
{"version":3,"sources":["../../../src/Select/SelectIcon.tsx"],"names":["forwardRef","Box","rem","alpha","PADDING_RIGHT_WITH_ICON","SelectIcon","props","forwardedRef","open","otherProps","position","top","right","width","height","color","pointerEvents","transform","undefined","transition"],"mappings":";;AAAA,SAASA,UAAT,QAA0C,OAA1C;AAEA,SAASC,GAAT,QAA8B,QAA9B;AACA,SAASC,GAAT,QAAoB,UAApB;AACA,SAASC,KAAT,QAAsB,UAAtB;AACA,SAASC,uBAAT,QAAwC,qBAAxC;;AAOA,OAAO,MAAMC,UAAU,gBAAGL,UAAU,CAClC,SAASK,UAAT,CAAoBC,KAApB,EAA2BC,YAA3B,EAAyC;AACvC,QAAM;AAAEC,IAAAA;AAAF,MAA0BF,KAAhC;AAAA,QAAiBG,UAAjB,iCAAgCH,KAAhC;;AAEA,sBACE,KAAC,GAAD;AACE,IAAA,GAAG,EAAEC,YADP;AAEE,IAAA,EAAE,EAAC,KAFL;AAGE,mBAAa,IAHf;AAIE,IAAA,OAAO,EAAC,WAJV;AAKE,IAAA,KAAK,EAAE;AACLG,MAAAA,QAAQ,EAAE,UADL;AAELC,MAAAA,GAAG,sCAFE;AAGLC,MAAAA,KAAK,EAAEV,GAAG,CAACE,uBAAD,CAHL;AAILS,MAAAA,KAAK,UAJA;AAKLC,MAAAA,MAAM,UALD;AAMLC,MAAAA,KAAK,EAAEP,IAAI,GAAG,SAAH,GAAeL,KAAK,CAAC,YAAD,EAAe,IAAf,CAN1B;AAOLa,MAAAA,aAAa,EAAE,MAPV;AAQLC,MAAAA,SAAS,EAAET,IAAI,GAAG,gBAAH,GAAsBU,SARhC;AASLC,MAAAA,UAAU,EACR;AAVG;AALT,KAiBMV,UAjBN;AAAA,2BAmBE;AAAM,MAAA,IAAI,EAAC,cAAX;AAA0B,MAAA,CAAC,EAAC;AAA5B;AAnBF,KADF;AAuBD,CA3BiC,CAA7B","sourcesContent":["import { forwardRef, SVGAttributes } from 'react';\nimport type * as React from 'react';\nimport { Box, BoxProps } from '../Box';\nimport { rem } from 'polished';\nimport { alpha } from '../color';\nimport { PADDING_RIGHT_WITH_ICON } from '../TextField/consts';\n\nexport type SelectIconProps = BoxProps<\n SVGElement,\n React.SVGAttributes<SVGElement>\n> & { open?: boolean };\n\nexport const SelectIcon = forwardRef<SVGElement, SelectIconProps>(\n function SelectIcon(props, forwardedRef) {\n const { open, ...otherProps } = props;\n\n return (\n <Box<BoxProps<SVGElement, SVGAttributes<SVGElement>>>\n ref={forwardedRef}\n as=\"svg\"\n aria-hidden={true}\n viewBox=\"0 0 24 24\"\n __css={{\n position: 'absolute',\n top: `calc(50% - ${rem(12)})`,\n right: rem(PADDING_RIGHT_WITH_ICON),\n width: rem(24),\n height: rem(24),\n color: open ? 'primary' : alpha('on.surface', 0.54),\n pointerEvents: 'none',\n transform: open ? 'rotate(180deg)' : undefined,\n transition:\n 'transform .15s cubic-bezier(.4,0,.2,1), color .15s cubic-bezier(.4,0,.2,1)',\n }}\n {...otherProps}\n >\n <path fill=\"currentColor\" d=\"M7 10l5 5 5-5z\" />\n </Box>\n );\n }\n);\n"],"file":"SelectIcon.js"}
|
|
@@ -18,26 +18,30 @@ export const Select = /*#__PURE__*/forwardRef((_ref, forwardedRef) => {
|
|
|
18
18
|
});
|
|
19
19
|
const SelectButtonInner = /*#__PURE__*/forwardRef((_ref2, forwardedRef) => {
|
|
20
20
|
let {
|
|
21
|
-
innerAs = '
|
|
21
|
+
innerAs = 'div'
|
|
22
22
|
} = _ref2,
|
|
23
23
|
props = _objectWithoutPropertiesLoose(_ref2, ["innerAs"]);
|
|
24
24
|
|
|
25
25
|
const InputButton = Input;
|
|
26
26
|
return /*#__PURE__*/_jsx(InputButton, _extends({
|
|
27
27
|
as: innerAs,
|
|
28
|
-
ref: forwardedRef
|
|
28
|
+
ref: forwardedRef,
|
|
29
|
+
tabIndex: 0
|
|
29
30
|
}, props));
|
|
30
31
|
});
|
|
31
32
|
export const SelectButton = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
32
33
|
let {
|
|
33
|
-
as
|
|
34
|
+
as,
|
|
35
|
+
children
|
|
34
36
|
} = _ref3,
|
|
35
|
-
props = _objectWithoutPropertiesLoose(_ref3, ["as"]);
|
|
37
|
+
props = _objectWithoutPropertiesLoose(_ref3, ["as", "children"]);
|
|
36
38
|
|
|
37
39
|
return /*#__PURE__*/_jsx(BaseMenuButton, _extends({
|
|
38
40
|
as: SelectButtonInner,
|
|
39
41
|
innerAs: as,
|
|
40
42
|
ref: ref
|
|
41
|
-
}, props
|
|
43
|
+
}, props, {
|
|
44
|
+
children: children
|
|
45
|
+
}));
|
|
42
46
|
});
|
|
43
47
|
//# sourceMappingURL=styledComponents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Select/styledComponents.tsx"],"names":["forwardRef","MenuButton","BaseMenuButton","Input","Select","forwardedRef","as","asProp","props","InputSelect","SelectButtonInner","innerAs","InputButton","SelectButton","ref"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,UAAU,IAAIC,cAAvB,QAA8D,gBAA9D;AAEA,SAASC,KAAT,QAAsB,oBAAtB;;AAWA,OAAO,MAAMC,MAAM,gBAAGJ,UAAU,CAC9B,OAAsCK,YAAtC,KAAuD;AAAA,MAAtD;AAAEC,IAAAA,EAAE,EAAEC,MAAM,GAAG;AAAf,GAAsD;AAAA,MAA1BC,KAA0B;;AACrD,QAAMC,WAEL,GAAGN,KAFJ;AAIA,sBAAO,KAAC,WAAD;AAAa,IAAA,EAAE,EAAEI,MAAjB;AAAyB,IAAA,GAAG,EAAEF;AAA9B,KAAgDG,KAAhD,EAAP;AACD,CAP6B,CAAzB;AAUP,MAAME,iBAAiB,gBAAGV,UAAU,CAGlC,
|
|
1
|
+
{"version":3,"sources":["../../../src/Select/styledComponents.tsx"],"names":["forwardRef","MenuButton","BaseMenuButton","Input","Select","forwardedRef","as","asProp","props","InputSelect","SelectButtonInner","innerAs","InputButton","SelectButton","ref","children"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,UAAU,IAAIC,cAAvB,QAA8D,gBAA9D;AAEA,SAASC,KAAT,QAAsB,oBAAtB;;AAWA,OAAO,MAAMC,MAAM,gBAAGJ,UAAU,CAC9B,OAAsCK,YAAtC,KAAuD;AAAA,MAAtD;AAAEC,IAAAA,EAAE,EAAEC,MAAM,GAAG;AAAf,GAAsD;AAAA,MAA1BC,KAA0B;;AACrD,QAAMC,WAEL,GAAGN,KAFJ;AAIA,sBAAO,KAAC,WAAD;AAAa,IAAA,EAAE,EAAEI,MAAjB;AAAyB,IAAA,GAAG,EAAEF;AAA9B,KAAgDG,KAAhD,EAAP;AACD,CAP6B,CAAzB;AAUP,MAAME,iBAAiB,gBAAGV,UAAU,CAGlC,QAAgCK,YAAhC,KAAiD;AAAA,MAAhD;AAAEM,IAAAA,OAAO,GAAG;AAAZ,GAAgD;AAAA,MAA1BH,KAA0B;;AACjD,QAAMI,WAEL,GAAGT,KAFJ;AAIA,sBACE,KAAC,WAAD;AAAa,IAAA,EAAE,EAAEQ,OAAjB;AAA0B,IAAA,GAAG,EAAEN,YAA/B;AAA6C,IAAA,QAAQ,EAAE;AAAvD,KAA8DG,KAA9D,EADF;AAGD,CAXmC,CAApC;AAaA,OAAO,MAAMK,YAAY,gBAAGb,UAAU,CAGpC,QAA6Bc,GAA7B;AAAA,MAAC;AAAER,IAAAA,EAAF;AAAMS,IAAAA;AAAN,GAAD;AAAA,MAAoBP,KAApB;;AAAA,sBACA,KAAC,cAAD;AAAgB,IAAA,EAAE,EAAEE,iBAApB;AAAuC,IAAA,OAAO,EAAEJ,EAAhD;AAAoD,IAAA,GAAG,EAAEQ;AAAzD,KAAkEN,KAAlE;AAAA,cACGO;AADH,KADA;AAAA,CAHoC,CAA/B","sourcesContent":["import { forwardRef } from 'react';\nimport type * as React from 'react';\nimport { MenuButton as BaseMenuButton, MenuButtonProps } from '@basic-ui/core';\nimport { Theme } from '../theme';\nimport { Input } from '../TextField/Input';\n\nexport interface SelectProps\n extends React.SelectHTMLAttributes<HTMLSelectElement> {\n as?: React.ElementType<any>;\n variant?: 'filled' | 'outlined';\n hasLabel?: boolean;\n theme: Theme;\n leadingIcon?: boolean;\n}\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n ({ as: asProp = 'select', ...props }, forwardedRef) => {\n const InputSelect: React.FC<\n SelectProps & React.RefAttributes<HTMLSelectElement>\n > = Input as any;\n\n return <InputSelect as={asProp} ref={forwardedRef} {...props} />;\n }\n);\n\nconst SelectButtonInner = forwardRef<\n HTMLButtonElement,\n SelectProps & { innerAs?: React.ElementType<any> }\n>(({ innerAs = 'div', ...props }, forwardedRef) => {\n const InputButton: React.FC<\n SelectProps & React.RefAttributes<HTMLButtonElement>\n > = Input as any;\n\n return (\n <InputButton as={innerAs} ref={forwardedRef} tabIndex={0} {...props} />\n );\n});\n\nexport const SelectButton = forwardRef<\n HTMLButtonElement,\n SelectProps & MenuButtonProps\n>(({ as, children, ...props }, ref) => (\n <BaseMenuButton as={SelectButtonInner} innerAs={as} ref={ref} {...props}>\n {children}\n </BaseMenuButton>\n));\n"],"file":"styledComponents.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { MenuItemProps } from '../Menu';
|
|
3
3
|
export declare type SelectItemProps = MenuItemProps;
|
|
4
|
-
export declare const SelectItem: import("react").ForwardRefExoticComponent<Pick<MenuItemProps, "
|
|
4
|
+
export declare const SelectItem: import("react").ForwardRefExoticComponent<Pick<MenuItemProps, "bottom" | "top" | "hidden" | "left" | "right" | "as" | "sx" | "__css" | "variant" | "tx" | "theme" | "m" | "margin" | "mt" | "marginTop" | "mr" | "marginRight" | "mb" | "marginBottom" | "ml" | "marginLeft" | "mx" | "marginX" | "my" | "marginY" | "p" | "padding" | "pt" | "paddingTop" | "pr" | "paddingRight" | "pb" | "paddingBottom" | "pl" | "paddingLeft" | "px" | "paddingX" | "py" | "paddingY" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "display" | "verticalAlign" | "size" | "overflow" | "overflowX" | "overflowY" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontStyle" | "textAlign" | "color" | "bg" | "backgroundColor" | "opacity" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "flexWrap" | "flexDirection" | "flex" | "flexGrow" | "flexShrink" | "flexBasis" | "justifySelf" | "alignSelf" | "order" | "border" | "borderX" | "borderY" | "borderWidth" | "borderTopWidth" | "borderBottomWidth" | "borderLeftWidth" | "borderRightWidth" | "borderStyle" | "borderTopStyle" | "borderBottomStyle" | "borderLeftStyle" | "borderRightStyle" | "borderColor" | "borderTopColor" | "borderBottomColor" | "borderLeftColor" | "borderRightColor" | "borderRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "gridGap" | "gridColumnGap" | "gridRowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "background" | "backgroundImage" | "backgroundSize" | "backgroundPosition" | "backgroundRepeat" | "position" | "zIndex" | "boxShadow" | "textShadow" | "className" | "id" | "lang" | "style" | "role" | "tabIndex" | "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" | "onKeyDown" | "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" | "onPointerDown" | "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" | "slot" | "title" | "translate" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "disabled" | "value" | "innerAs" | "selected" | "rippleColor"> & import("react").RefAttributes<HTMLLIElement>>;
|
|
@@ -12,4 +12,4 @@ export interface FilledContainerProps extends Omit<BoxProps, 'color'> {
|
|
|
12
12
|
forceActive?: boolean;
|
|
13
13
|
leadingIcon?: boolean;
|
|
14
14
|
}
|
|
15
|
-
export declare const FilledContainer: React.ForwardRefExoticComponent<Pick<FilledContainerProps, "
|
|
15
|
+
export declare const FilledContainer: React.ForwardRefExoticComponent<Pick<FilledContainerProps, "bottom" | "top" | "hidden" | "left" | "right" | "as" | "sx" | "__css" | "variant" | "tx" | "theme" | "m" | "margin" | "mt" | "marginTop" | "mr" | "marginRight" | "mb" | "marginBottom" | "ml" | "marginLeft" | "mx" | "marginX" | "my" | "marginY" | "p" | "padding" | "pt" | "paddingTop" | "pr" | "paddingRight" | "pb" | "paddingBottom" | "pl" | "paddingLeft" | "px" | "paddingX" | "py" | "paddingY" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "display" | "verticalAlign" | "size" | "overflow" | "overflowX" | "overflowY" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontStyle" | "textAlign" | "color" | "bg" | "backgroundColor" | "opacity" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "flexWrap" | "flexDirection" | "flex" | "flexGrow" | "flexShrink" | "flexBasis" | "justifySelf" | "alignSelf" | "order" | "border" | "borderX" | "borderY" | "borderWidth" | "borderTopWidth" | "borderBottomWidth" | "borderLeftWidth" | "borderRightWidth" | "borderStyle" | "borderTopStyle" | "borderBottomStyle" | "borderLeftStyle" | "borderRightStyle" | "borderColor" | "borderTopColor" | "borderBottomColor" | "borderLeftColor" | "borderRightColor" | "borderRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "gridGap" | "gridColumnGap" | "gridRowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "background" | "backgroundImage" | "backgroundSize" | "backgroundPosition" | "backgroundRepeat" | "position" | "zIndex" | "boxShadow" | "textShadow" | "className" | "id" | "lang" | "style" | "role" | "tabIndex" | "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" | "onKeyDown" | "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" | "onPointerDown" | "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" | "label" | "slot" | "title" | "translate" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "error" | "labelIsFloating" | "hasFocus" | "inputId" | "disabled" | "forceActive" | "leadingIcon"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -7,6 +7,7 @@ import { FloatingLabel } from '../FloatingLabel';
|
|
|
7
7
|
import { LineRipple } from '../LineRipple';
|
|
8
8
|
import { alpha } from '../color';
|
|
9
9
|
import { Box } from '../Box';
|
|
10
|
+
import { ICON_WIDTH, PADDING_LEFT_WITHOUT_ICON, PADDING_LEFT_WITH_ICON } from './consts';
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
12
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
13
|
|
|
@@ -74,7 +75,8 @@ export const FilledContainer = /*#__PURE__*/forwardRef(function FilledContainer(
|
|
|
74
75
|
} = props,
|
|
75
76
|
otherProps = _objectWithoutPropertiesLoose(props, ["label", "labelIsFloating", "inputId", "hasFocus", "color", "children", "error", "disabled", "forceActive", "leadingIcon"]);
|
|
76
77
|
|
|
77
|
-
const
|
|
78
|
+
const finalLabelHeight = 16;
|
|
79
|
+
const labelHeight = finalLabelHeight / 0.75;
|
|
78
80
|
const inputHeight = 56;
|
|
79
81
|
const color = error ? 'error' : colorProp;
|
|
80
82
|
const active = hasFocus || forceActive;
|
|
@@ -84,6 +86,7 @@ export const FilledContainer = /*#__PURE__*/forwardRef(function FilledContainer(
|
|
|
84
86
|
active: active || error,
|
|
85
87
|
__css: _extends({
|
|
86
88
|
position: 'relative',
|
|
89
|
+
lineHeight: 0,
|
|
87
90
|
width: '100%',
|
|
88
91
|
backgroundColor: 'surface',
|
|
89
92
|
overflow: 'hidden',
|
|
@@ -98,11 +101,14 @@ export const FilledContainer = /*#__PURE__*/forwardRef(function FilledContainer(
|
|
|
98
101
|
})
|
|
99
102
|
}, otherProps, {
|
|
100
103
|
children: [label && /*#__PURE__*/_jsx(FloatingLabel, {
|
|
101
|
-
height:
|
|
102
|
-
|
|
103
|
-
offsetX: leadingIcon ? 48 : 16,
|
|
104
|
+
height: inputHeight,
|
|
105
|
+
offsetX: leadingIcon ? PADDING_LEFT_WITH_ICON + ICON_WIDTH + PADDING_LEFT_WITHOUT_ICON : PADDING_LEFT_WITHOUT_ICON,
|
|
104
106
|
translateX: 0,
|
|
105
|
-
translateY:
|
|
107
|
+
translateY: // To debug, delete these lines one by one to see it doing its work
|
|
108
|
+
-(inputHeight * 0.5) + // Put it at the top, crossing middle label
|
|
109
|
+
labelHeight * 0.75 * 0.5 + // Put it at position 0
|
|
110
|
+
8 // Add a 8px padding to the top
|
|
111
|
+
,
|
|
106
112
|
active: labelIsFloating,
|
|
107
113
|
htmlFor: inputId,
|
|
108
114
|
color: active || error ? color : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/TextField/FilledContainer.tsx"],"names":["forwardRef","get","useTheme","FloatingLabel","LineRipple","alpha","Box","makeSelector","state","Overlay","props","forceActive","theme","position","top","bottom","left","right","backgroundColor","pointerEvents","opacity","cursor","color","BorderBottom","width","height","FilledContainer","forwardedRef","label","labelIsFloating","inputId","hasFocus","colorProp","children","error","disabled","leadingIcon","otherProps","labelHeight","inputHeight","active","overflow","boxSizing","borderTopRightRadius","borderTopLeftRadius","undefined"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,GAAT,QAAoB,oBAApB;AACA,SAASC,QAAT,QAAyB,UAAzB;AACA,SAASC,aAAT,QAA8B,kBAA9B;AACA,SAASC,UAAT,QAA2B,eAA3B;AAEA,SAASC,KAAT,QAAsB,UAAtB;AACA,SAASC,GAAT,QAA8B,QAA9B;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/TextField/FilledContainer.tsx"],"names":["forwardRef","get","useTheme","FloatingLabel","LineRipple","alpha","Box","ICON_WIDTH","PADDING_LEFT_WITHOUT_ICON","PADDING_LEFT_WITH_ICON","makeSelector","state","Overlay","props","forceActive","theme","position","top","bottom","left","right","backgroundColor","pointerEvents","opacity","cursor","color","BorderBottom","width","height","FilledContainer","forwardedRef","label","labelIsFloating","inputId","hasFocus","colorProp","children","error","disabled","leadingIcon","otherProps","finalLabelHeight","labelHeight","inputHeight","active","lineHeight","overflow","boxSizing","borderTopRightRadius","borderTopLeftRadius","undefined"],"mappings":"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","sourcesContent":["import { forwardRef } from 'react';\nimport type * as React from 'react';\nimport { get } from '@styled-system/css';\nimport { useTheme } from '../theme';\nimport { FloatingLabel } from '../FloatingLabel';\nimport { LineRipple } from '../LineRipple';\nimport { rem } from 'polished';\nimport { alpha } from '../color';\nimport { Box, BoxProps } from '../Box';\nimport {\n ICON_WIDTH,\n PADDING_LEFT_WITHOUT_ICON,\n PADDING_LEFT_WITH_ICON,\n} from './consts';\n\nconst makeSelector = (\n state:\n | 'hover:not([disabled]):not(:focus)'\n | 'focus:not([disabled])'\n | 'disabled'\n) =>\n `input:${state} ~ &,` +\n `select:${state} ~ &,` +\n `button:${state} ~ &,` +\n `textarea:${state} ~ &`;\n\nconst Overlay = (props: { forceActive?: boolean }) => {\n const { forceActive } = props;\n const theme = useTheme();\n\n return (\n <Box\n __css={{\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: 'on.surface',\n pointerEvents: 'none',\n opacity: 0.04,\n [makeSelector('hover:not([disabled]):not(:focus)')]: !forceActive && {\n opacity: get(theme, `buttons.overlays.filled.hover.opacity`),\n },\n [makeSelector('focus:not([disabled])')]: {\n opacity: get(theme, `buttons.overlays.transparent.focus.opacity`),\n },\n [makeSelector('disabled')]: {\n cursor: 'default',\n color: alpha('on.surface', 0.6),\n opacity: 0.02,\n },\n ...(forceActive && {\n opacity: get(theme, `buttons.overlays.transparent.focus.opacity`),\n }),\n }}\n />\n );\n};\n\nconst BorderBottom = () => (\n <Box\n __css={{\n position: 'absolute',\n bottom: 0,\n left: 0,\n width: '100%',\n height: rem(1),\n backgroundColor: alpha('on.surface', 0.6),\n pointerEvents: 'none',\n [makeSelector('disabled')]: {\n backgroundColor: 'transparent',\n },\n }}\n />\n);\n\nexport interface FilledContainerProps extends Omit<BoxProps, 'color'> {\n children?: React.ReactNode;\n color?: string;\n hasFocus?: boolean;\n label?: React.ReactNode;\n labelIsFloating: boolean;\n inputId: string;\n error?: boolean;\n disabled?: boolean;\n forceActive?: boolean;\n leadingIcon?: boolean;\n}\n\nexport const FilledContainer = forwardRef<HTMLDivElement, FilledContainerProps>(\n function FilledContainer(props, forwardedRef) {\n const {\n label,\n labelIsFloating,\n inputId,\n hasFocus,\n color: colorProp,\n children,\n error = false,\n disabled = false,\n forceActive = false,\n leadingIcon,\n ...otherProps\n } = props;\n\n const finalLabelHeight = 16;\n const labelHeight = finalLabelHeight / 0.75;\n const inputHeight = 56;\n\n const color = error ? 'error' : colorProp;\n const active = hasFocus || forceActive;\n\n return (\n <Box\n ref={forwardedRef}\n disabled={disabled}\n active={active || error}\n __css={{\n position: 'relative',\n lineHeight: 0,\n width: '100%',\n backgroundColor: 'surface',\n overflow: 'hidden',\n boxSizing: 'border-box',\n borderTopRightRadius: rem(4),\n borderTopLeftRadius: rem(4),\n color: alpha('on.surface', 0.54),\n ...(disabled && { color: alpha('on.surface', 0.38) }),\n ...(active && { color: alpha('primary', 0.87) }),\n }}\n {...otherProps}\n >\n {label && (\n <FloatingLabel\n height={inputHeight}\n offsetX={\n leadingIcon\n ? PADDING_LEFT_WITH_ICON +\n ICON_WIDTH +\n PADDING_LEFT_WITHOUT_ICON\n : PADDING_LEFT_WITHOUT_ICON\n }\n translateX={0}\n translateY={\n // To debug, delete these lines one by one to see it doing its work\n -(inputHeight * 0.5) + // Put it at the top, crossing middle label\n labelHeight * 0.75 * 0.5 + // Put it at position 0\n 8 // Add a 8px padding to the top\n }\n active={labelIsFloating}\n htmlFor={inputId}\n color={active || error ? color : undefined}\n >\n {label}\n </FloatingLabel>\n )}\n\n {children}\n\n <Overlay forceActive={active} />\n <BorderBottom />\n <LineRipple active={active || error} color={color} />\n </Box>\n );\n }\n);\n"],"file":"FilledContainer.js"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { rem } from 'polished';
|
|
1
2
|
import { Box } from '../Box';
|
|
2
3
|
import { alpha } from '../color';
|
|
4
|
+
import { ICON_WIDTH, PADDING_LEFT_WITH_ICON } from './consts';
|
|
3
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
6
|
export const IconContainer = ({
|
|
5
7
|
position,
|
|
@@ -8,8 +10,8 @@ export const IconContainer = ({
|
|
|
8
10
|
position: "absolute",
|
|
9
11
|
__css: {
|
|
10
12
|
top: 0,
|
|
11
|
-
[position === 'start' ? 'left' : 'right']:
|
|
12
|
-
minWidth:
|
|
13
|
+
[position === 'start' ? 'left' : 'right']: rem(PADDING_LEFT_WITH_ICON),
|
|
14
|
+
minWidth: rem(ICON_WIDTH),
|
|
13
15
|
display: 'inline-flex',
|
|
14
16
|
alignItems: 'center',
|
|
15
17
|
justifyContent: 'center',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/TextField/IconContainer.tsx"],"names":["Box","alpha","IconContainer","position","children","top","minWidth","display","alignItems","justifyContent","height","pointerEvents","color","zIndex","fontFamily","lineHeight","fontWeight","fontSize"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/TextField/IconContainer.tsx"],"names":["rem","Box","alpha","ICON_WIDTH","PADDING_LEFT_WITH_ICON","IconContainer","position","children","top","minWidth","display","alignItems","justifyContent","height","pointerEvents","color","zIndex","fontFamily","lineHeight","fontWeight","fontSize"],"mappings":"AAAA,SAASA,GAAT,QAAoB,UAApB;AAGA,SAASC,GAAT,QAAoB,QAApB;AACA,SAASC,KAAT,QAAsB,UAAtB;AACA,SAASC,UAAT,EAAqBC,sBAArB,QAAmD,UAAnD;;AAEA,OAAO,MAAMC,aAGX,GAAG,CAAC;AAAEC,EAAAA,QAAF;AAAYC,EAAAA;AAAZ,CAAD,kBACH,KAAC,GAAD;AACE,EAAA,QAAQ,EAAC,UADX;AAEE,EAAA,KAAK,EAAE;AACLC,IAAAA,GAAG,EAAE,CADA;AAEL,KAACF,QAAQ,KAAK,OAAb,GAAuB,MAAvB,GAAgC,OAAjC,GAA2CN,GAAG,CAACI,sBAAD,CAFzC;AAGLK,IAAAA,QAAQ,EAAET,GAAG,CAACG,UAAD,CAHR;AAILO,IAAAA,OAAO,EAAE,aAJJ;AAKLC,IAAAA,UAAU,EAAE,QALP;AAMLC,IAAAA,cAAc,EAAE,QANX;AAOLC,IAAAA,MAAM,EAAE,MAPH;AAQLC,IAAAA,aAAa,EAAE,MARV;AASLC,IAAAA,KAAK,EAAEb,KAAK,CAAC,YAAD,EAAe,IAAf,CATP;AAULc,IAAAA,MAAM,EAAE,CAVH;AAWLC,IAAAA,UAAU,EAAE,MAXP;AAYLC,IAAAA,UAAU,EAAE,MAZP;AAaLC,IAAAA,UAAU,EAAE,SAbP;AAcLC,IAAAA,QAAQ,EAAE;AAdL,GAFT;AAAA,YAmBGb;AAnBH,EAJK","sourcesContent":["import { rem } from 'polished';\nimport { FC } from 'react';\nimport type * as React from 'react';\nimport { Box } from '../Box';\nimport { alpha } from '../color';\nimport { ICON_WIDTH, PADDING_LEFT_WITH_ICON } from './consts';\n\nexport const IconContainer: FC<{\n children?: React.ReactNode;\n position: 'start' | 'end';\n}> = ({ position, children }) => (\n <Box\n position=\"absolute\"\n __css={{\n top: 0,\n [position === 'start' ? 'left' : 'right']: rem(PADDING_LEFT_WITH_ICON),\n minWidth: rem(ICON_WIDTH),\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n pointerEvents: 'none',\n color: alpha('on.surface', 0.54),\n zIndex: 1,\n fontFamily: 'body',\n lineHeight: 'body',\n fontWeight: 'regular',\n fontSize: 3,\n }}\n >\n {children}\n </Box>\n);\n"],"file":"IconContainer.js"}
|
|
@@ -8,4 +8,4 @@ export interface InputProps extends BoxProps<HTMLInputElement, InputHTMLAttribut
|
|
|
8
8
|
leadingIcon?: React.ReactNode;
|
|
9
9
|
trailingIcon?: React.ReactNode;
|
|
10
10
|
}
|
|
11
|
-
export declare const Input: import("react").ForwardRefExoticComponent<Pick<InputProps, "
|
|
11
|
+
export declare const Input: import("react").ForwardRefExoticComponent<Pick<InputProps, "bottom" | "top" | "hidden" | "left" | "right" | "as" | "sx" | "__css" | "variant" | "tx" | "theme" | "m" | "margin" | "mt" | "marginTop" | "mr" | "marginRight" | "mb" | "marginBottom" | "ml" | "marginLeft" | "mx" | "marginX" | "my" | "marginY" | "p" | "padding" | "pt" | "paddingTop" | "pr" | "paddingRight" | "pb" | "paddingBottom" | "pl" | "paddingLeft" | "px" | "paddingX" | "py" | "paddingY" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "display" | "verticalAlign" | "size" | "overflow" | "overflowX" | "overflowY" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontStyle" | "textAlign" | "color" | "bg" | "backgroundColor" | "opacity" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "flexWrap" | "flexDirection" | "flex" | "flexGrow" | "flexShrink" | "flexBasis" | "justifySelf" | "alignSelf" | "order" | "border" | "borderX" | "borderY" | "borderWidth" | "borderTopWidth" | "borderBottomWidth" | "borderLeftWidth" | "borderRightWidth" | "borderStyle" | "borderTopStyle" | "borderBottomStyle" | "borderLeftStyle" | "borderRightStyle" | "borderColor" | "borderTopColor" | "borderBottomColor" | "borderLeftColor" | "borderRightColor" | "borderRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "gridGap" | "gridColumnGap" | "gridRowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "background" | "backgroundImage" | "backgroundSize" | "backgroundPosition" | "backgroundRepeat" | "position" | "zIndex" | "boxShadow" | "textShadow" | "className" | "id" | "lang" | "max" | "min" | "name" | "style" | "type" | "role" | "tabIndex" | "crossOrigin" | "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" | "onKeyDown" | "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" | "onPointerDown" | "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" | "form" | "list" | "key" | "slot" | "title" | "pattern" | "translate" | "step" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "disabled" | "leadingIcon" | "autoComplete" | "autoFocus" | "multiple" | "required" | "value" | "hasLabel" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "accept" | "alt" | "capture" | "checked" | "enterKeyHint" | "maxLength" | "minLength" | "readOnly" | "src" | "multiline" | "trailingIcon"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -4,6 +4,7 @@ import { rem } from 'polished';
|
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
5
|
import { Box } from '../Box';
|
|
6
6
|
import { alpha } from '../color';
|
|
7
|
+
import { ICON_WIDTH, PADDING_LEFT_WITHOUT_ICON, PADDING_LEFT_WITH_ICON, PADDING_RIGHT_WITHOUT_ICON, PADDING_RIGHT_WITH_ICON } from './consts';
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
export const Input = /*#__PURE__*/forwardRef(function Input(props, forwardedRef) {
|
|
9
10
|
const {
|
|
@@ -24,7 +25,6 @@ export const Input = /*#__PURE__*/forwardRef(function Input(props, forwardedRef)
|
|
|
24
25
|
}, otherProps, {
|
|
25
26
|
__css: _extends({
|
|
26
27
|
WebkitTapHighlightColor: 'transparent',
|
|
27
|
-
boxSizing: 'border-box',
|
|
28
28
|
appearance: 'none',
|
|
29
29
|
outline: 'none',
|
|
30
30
|
width: '100%',
|
|
@@ -38,6 +38,14 @@ export const Input = /*#__PURE__*/forwardRef(function Input(props, forwardedRef)
|
|
|
38
38
|
color: alpha('on.surface', 0.87),
|
|
39
39
|
letterSpacing: "0.03125rem",
|
|
40
40
|
textAlign: 'left',
|
|
41
|
+
display: 'flex',
|
|
42
|
+
alignItems: 'center'
|
|
43
|
+
}, !multiline && {
|
|
44
|
+
lineHeight: 1,
|
|
45
|
+
overflow: 'hidden',
|
|
46
|
+
whiteSpace: 'nowrap',
|
|
47
|
+
textOverflow: 'ellipsis'
|
|
48
|
+
}, {
|
|
41
49
|
'::placeholder': {
|
|
42
50
|
opacity: 0,
|
|
43
51
|
color: alpha('on.surface', 0.54),
|
|
@@ -52,7 +60,7 @@ export const Input = /*#__PURE__*/forwardRef(function Input(props, forwardedRef)
|
|
|
52
60
|
':disabled': {
|
|
53
61
|
cursor: 'default'
|
|
54
62
|
},
|
|
55
|
-
'select&,button&': {
|
|
63
|
+
'select&,[role="button"]&': {
|
|
56
64
|
cursor: 'pointer'
|
|
57
65
|
},
|
|
58
66
|
'select&': {
|
|
@@ -61,18 +69,18 @@ export const Input = /*#__PURE__*/forwardRef(function Input(props, forwardedRef)
|
|
|
61
69
|
color: 'on.surface'
|
|
62
70
|
}
|
|
63
71
|
},
|
|
64
|
-
paddingLeft: leadingIcon ? rem(
|
|
65
|
-
paddingRight: trailingIcon ? rem(
|
|
72
|
+
paddingLeft: leadingIcon ? rem(PADDING_LEFT_WITH_ICON + ICON_WIDTH + PADDING_LEFT_WITHOUT_ICON) : rem(PADDING_LEFT_WITHOUT_ICON),
|
|
73
|
+
paddingRight: trailingIcon ? rem(PADDING_RIGHT_WITH_ICON + ICON_WIDTH + PADDING_RIGHT_WITHOUT_ICON) : rem(PADDING_RIGHT_WITHOUT_ICON)
|
|
66
74
|
}, variant === 'outlined' && {
|
|
67
|
-
paddingTop:
|
|
68
|
-
paddingBottom:
|
|
75
|
+
paddingTop: "1rem",
|
|
76
|
+
paddingBottom: "1rem"
|
|
69
77
|
}, variant === 'filled' && {
|
|
70
|
-
paddingTop: hasLabel ? "1.
|
|
71
|
-
paddingBottom: hasLabel ? "0.
|
|
78
|
+
paddingTop: hasLabel ? "1.5rem" : "1rem",
|
|
79
|
+
paddingBottom: hasLabel ? "0.5rem" : "1rem"
|
|
72
80
|
}, multiline && {
|
|
73
81
|
resize: 'vertical',
|
|
74
82
|
paddingTop: 0,
|
|
75
|
-
marginTop: variant === 'outlined' || !hasLabel ? "
|
|
83
|
+
marginTop: variant === 'outlined' || !hasLabel ? "1.125rem" : "1.625rem"
|
|
76
84
|
}, __css)
|
|
77
85
|
}));
|
|
78
86
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/TextField/Input.tsx"],"names":["rem","forwardRef","Box","alpha","Input","props","forwardedRef","__css","as","variant","hasLabel","leadingIcon","trailingIcon","multiline","otherProps","WebkitTapHighlightColor","
|
|
1
|
+
{"version":3,"sources":["../../../src/TextField/Input.tsx"],"names":["rem","forwardRef","Box","alpha","ICON_WIDTH","PADDING_LEFT_WITHOUT_ICON","PADDING_LEFT_WITH_ICON","PADDING_RIGHT_WITHOUT_ICON","PADDING_RIGHT_WITH_ICON","Input","props","forwardedRef","__css","as","variant","hasLabel","leadingIcon","trailingIcon","multiline","otherProps","WebkitTapHighlightColor","appearance","outline","width","minHeight","backgroundColor","border","fontFamily","lineHeight","fontWeight","fontSize","color","letterSpacing","textAlign","display","alignItems","overflow","whiteSpace","textOverflow","opacity","transition","cursor","paddingLeft","paddingRight","paddingTop","paddingBottom","resize","marginTop"],"mappings":"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","sourcesContent":["import { rem } from 'polished';\nimport { InputHTMLAttributes, forwardRef } from 'react';\nimport { Box, BoxProps } from '../Box';\nimport { alpha } from '../color';\nimport {\n ICON_WIDTH,\n PADDING_LEFT_WITHOUT_ICON,\n PADDING_LEFT_WITH_ICON,\n PADDING_RIGHT_WITHOUT_ICON,\n PADDING_RIGHT_WITH_ICON,\n} from './consts';\n\nexport interface InputProps\n extends BoxProps<HTMLInputElement, InputHTMLAttributes<HTMLInputElement>> {\n as?: 'input' | 'textarea' | 'select' | 'button';\n multiline?: boolean;\n variant?: 'filled' | 'outlined';\n hasLabel?: boolean;\n leadingIcon?: React.ReactNode;\n trailingIcon?: React.ReactNode;\n}\n\nexport const Input = forwardRef<HTMLDivElement, InputProps>(function Input(\n props,\n forwardedRef\n) {\n const {\n __css,\n as = 'input',\n variant = 'outlined',\n hasLabel = true,\n leadingIcon,\n trailingIcon,\n multiline,\n ...otherProps\n } = props;\n\n return (\n <Box\n as={as}\n ref={forwardedRef}\n multiline={multiline}\n {...otherProps}\n __css={{\n WebkitTapHighlightColor: 'transparent',\n appearance: 'none',\n outline: 'none',\n width: '100%',\n minHeight: rem(56),\n backgroundColor: 'transparent',\n border: 'none',\n fontFamily: 'body',\n lineHeight: 'body',\n fontWeight: 'regular',\n fontSize: 3,\n color: alpha('on.surface', 0.87),\n letterSpacing: rem(0.5),\n textAlign: 'left',\n display: 'flex',\n alignItems: 'center',\n ...(!multiline && {\n lineHeight: 1,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }),\n '::placeholder': {\n opacity: 0,\n color: alpha('on.surface', 0.54),\n transition: `opacity .18s cubic-bezier(.4,0,.2,1)`,\n },\n ':disabled::placeholder': {\n color: alpha('on.surface', 0.38),\n },\n ':focus::placeholder': {\n opacity: 1,\n },\n ':disabled': {\n cursor: 'default',\n },\n 'select&,[role=\"button\"]&': {\n cursor: 'pointer',\n },\n 'select&': {\n '> option': {\n backgroundColor: 'surface',\n color: 'on.surface',\n },\n },\n paddingLeft: leadingIcon\n ? rem(PADDING_LEFT_WITH_ICON + ICON_WIDTH + PADDING_LEFT_WITHOUT_ICON)\n : rem(PADDING_LEFT_WITHOUT_ICON),\n paddingRight: trailingIcon\n ? rem(\n PADDING_RIGHT_WITH_ICON + ICON_WIDTH + PADDING_RIGHT_WITHOUT_ICON\n )\n : rem(PADDING_RIGHT_WITHOUT_ICON),\n ...(variant === 'outlined' && {\n paddingTop: rem(16),\n paddingBottom: rem(16),\n }),\n ...(variant === 'filled' && {\n paddingTop: hasLabel ? rem(24) : rem(16),\n paddingBottom: hasLabel ? rem(8) : rem(16),\n }),\n ...(multiline && {\n resize: 'vertical',\n paddingTop: 0,\n marginTop: variant === 'outlined' || !hasLabel ? rem(18) : rem(26),\n }),\n ...__css,\n }}\n />\n );\n});\n"],"file":"Input.js"}
|
|
@@ -14,4 +14,4 @@ export interface OutlinedContainerProps extends BoxProps {
|
|
|
14
14
|
forceActive?: boolean;
|
|
15
15
|
leadingIcon?: boolean;
|
|
16
16
|
}
|
|
17
|
-
export declare const OutlinedContainer: React.ForwardRefExoticComponent<Pick<OutlinedContainerProps, "
|
|
17
|
+
export declare const OutlinedContainer: React.ForwardRefExoticComponent<Pick<OutlinedContainerProps, "bottom" | "top" | "hidden" | "left" | "right" | "as" | "sx" | "__css" | "variant" | "tx" | "theme" | "m" | "margin" | "mt" | "marginTop" | "mr" | "marginRight" | "mb" | "marginBottom" | "ml" | "marginLeft" | "mx" | "marginX" | "my" | "marginY" | "p" | "padding" | "pt" | "paddingTop" | "pr" | "paddingRight" | "pb" | "paddingBottom" | "pl" | "paddingLeft" | "px" | "paddingX" | "py" | "paddingY" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "display" | "verticalAlign" | "size" | "overflow" | "overflowX" | "overflowY" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontStyle" | "textAlign" | "color" | "bg" | "backgroundColor" | "opacity" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "flexWrap" | "flexDirection" | "flex" | "flexGrow" | "flexShrink" | "flexBasis" | "justifySelf" | "alignSelf" | "order" | "border" | "borderX" | "borderY" | "borderWidth" | "borderTopWidth" | "borderBottomWidth" | "borderLeftWidth" | "borderRightWidth" | "borderStyle" | "borderTopStyle" | "borderBottomStyle" | "borderLeftStyle" | "borderRightStyle" | "borderColor" | "borderTopColor" | "borderBottomColor" | "borderLeftColor" | "borderRightColor" | "borderRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "gridGap" | "gridColumnGap" | "gridRowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "background" | "backgroundImage" | "backgroundSize" | "backgroundPosition" | "backgroundRepeat" | "position" | "zIndex" | "boxShadow" | "textShadow" | "className" | "id" | "lang" | "style" | "role" | "tabIndex" | "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" | "onKeyDown" | "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" | "onPointerDown" | "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" | "label" | "slot" | "title" | "translate" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "error" | "labelIsFloating" | "hasFocus" | "inputId" | "disabled" | "forceActive" | "leadingIcon"> & React.RefAttributes<HTMLDivElement>>;
|