@wordpress/components
Version:
UI components for WordPress.
8 lines (7 loc) • 5.57 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/input-control/input-base.tsx"],
"sourcesContent": ["/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Backdrop from './backdrop';\nimport Label from './label';\nimport { Container, Root, Prefix, Suffix } from './styles/input-control-styles';\nimport { ContextSystemProvider, contextConnect, useContextSystem } from '../context';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction useUniqueId(idProp) {\n const instanceId = useInstanceId(InputBase);\n const id = `input-base-control-${instanceId}`;\n return idProp || id;\n}\n\n// Adapter to map props for the new ui/flex component.\nfunction getUIFlexProps(labelPosition) {\n const props = {};\n switch (labelPosition) {\n case 'top':\n props.direction = 'column';\n props.expanded = false;\n props.gap = 0;\n break;\n case 'bottom':\n props.direction = 'column-reverse';\n props.expanded = false;\n props.gap = 0;\n break;\n case 'edge':\n props.justify = 'space-between';\n break;\n }\n return props;\n}\nfunction InputBase(props, ref) {\n const {\n __next40pxDefaultSize,\n __unstableInputWidth,\n children,\n className,\n disabled = false,\n hideLabelFromVision = false,\n labelPosition,\n id: idProp,\n isBorderless = false,\n label,\n prefix,\n size = 'default',\n suffix,\n ...restProps\n } = useDeprecated36pxDefaultSizeProp(useContextSystem(props, 'InputBase'));\n const id = useUniqueId(idProp);\n const hideLabel = hideLabelFromVision || !label;\n const prefixSuffixContextValue = useMemo(() => {\n return {\n InputControlPrefixWrapper: {\n __next40pxDefaultSize,\n size\n },\n InputControlSuffixWrapper: {\n __next40pxDefaultSize,\n size\n }\n };\n }, [__next40pxDefaultSize, size]);\n return (\n /*#__PURE__*/\n // @ts-expect-error The `direction` prop from Flex (FlexDirection) conflicts with legacy SVGAttributes `direction` (string) that come from React intrinsic prop definitions.\n _jsxs(Root, {\n ...restProps,\n ...getUIFlexProps(labelPosition),\n className: className,\n gap: 2,\n ref: ref,\n children: [/*#__PURE__*/_jsx(Label, {\n className: \"components-input-control__label\",\n hideLabelFromVision: hideLabelFromVision,\n labelPosition: labelPosition,\n htmlFor: id,\n children: label\n }), /*#__PURE__*/_jsxs(Container, {\n __unstableInputWidth: __unstableInputWidth,\n className: \"components-input-control__container\",\n disabled: disabled,\n hideLabel: hideLabel,\n labelPosition: labelPosition,\n children: [/*#__PURE__*/_jsxs(ContextSystemProvider, {\n value: prefixSuffixContextValue,\n children: [prefix && /*#__PURE__*/_jsx(Prefix, {\n className: \"components-input-control__prefix\",\n children: prefix\n }), children, suffix && /*#__PURE__*/_jsx(Suffix, {\n className: \"components-input-control__suffix\",\n children: suffix\n })]\n }), /*#__PURE__*/_jsx(Backdrop, {\n disabled: disabled,\n isBorderless: isBorderless\n })]\n })]\n })\n );\n}\n\n/**\n * `InputBase` is an internal component used to style the standard borders for an input,\n * as well as handle the layout for prefix/suffix elements.\n */\nexport default contextConnect(InputBase, 'InputBase');"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,qBAA8B;AAC9B,qBAAwB;AAKxB,sBAAqB;AACrB,mBAAkB;AAClB,kCAAgD;AAChD,qBAAwE;AACxE,kCAAiD;AACjD,yBAA2C;AAC3C,SAAS,YAAY,QAAQ;AAC3B,QAAM,iBAAa,8BAAc,SAAS;AAC1C,QAAM,KAAK,sBAAsB,UAAU;AAC3C,SAAO,UAAU;AACnB;AAGA,SAAS,eAAe,eAAe;AACrC,QAAM,QAAQ,CAAC;AACf,UAAQ,eAAe;AAAA,IACrB,KAAK;AACH,YAAM,YAAY;AAClB,YAAM,WAAW;AACjB,YAAM,MAAM;AACZ;AAAA,IACF,KAAK;AACH,YAAM,YAAY;AAClB,YAAM,WAAW;AACjB,YAAM,MAAM;AACZ;AAAA,IACF,KAAK;AACH,YAAM,UAAU;AAChB;AAAA,EACJ;AACA,SAAO;AACT;AACA,SAAS,UAAU,OAAO,KAAK;AAC7B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,sBAAsB;AAAA,IACtB;AAAA,IACA,IAAI;AAAA,IACJ,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA,GAAG;AAAA,EACL,QAAI,kEAAiC,iCAAiB,OAAO,WAAW,CAAC;AACzE,QAAM,KAAK,YAAY,MAAM;AAC7B,QAAM,YAAY,uBAAuB,CAAC;AAC1C,QAAM,+BAA2B,wBAAQ,MAAM;AAC7C,WAAO;AAAA,MACL,2BAA2B;AAAA,QACzB;AAAA,QACA;AAAA,MACF;AAAA,MACA,2BAA2B;AAAA,QACzB;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,uBAAuB,IAAI,CAAC;AAChC;AAAA;AAAA,IAGE,uCAAAA,MAAM,kCAAM;AAAA,MACV,GAAG;AAAA,MACH,GAAG,eAAe,aAAa;AAAA,MAC/B;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA,UAAU,CAAc,uCAAAC,KAAK,aAAAC,SAAO;AAAA,QAClC,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,UAAU;AAAA,MACZ,CAAC,GAAgB,uCAAAF,MAAM,uCAAW;AAAA,QAChC;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,CAAc,uCAAAA,MAAM,sCAAuB;AAAA,UACnD,OAAO;AAAA,UACP,UAAU,CAAC,UAAuB,uCAAAC,KAAK,oCAAQ;AAAA,YAC7C,WAAW;AAAA,YACX,UAAU;AAAA,UACZ,CAAC,GAAG,UAAU,UAAuB,uCAAAA,KAAK,oCAAQ;AAAA,YAChD,WAAW;AAAA,YACX,UAAU;AAAA,UACZ,CAAC,CAAC;AAAA,QACJ,CAAC,GAAgB,uCAAAA,KAAK,gBAAAE,SAAU;AAAA,UAC9B;AAAA,UACA;AAAA,QACF,CAAC,CAAC;AAAA,MACJ,CAAC,CAAC;AAAA,IACJ,CAAC;AAAA;AAEL;AAMA,IAAO,yBAAQ,+BAAe,WAAW,WAAW;",
"names": ["_jsxs", "_jsx", "Label", "Backdrop"]
}