@primer/react
Version:
An implementation of GitHub's Primer Design System using React
31 lines (28 loc) • 1.67 kB
JavaScript
import styled from 'styled-components';
import sx from '../../sx.js';
import { toggleStyledComponent } from '../utils/toggleStyledComponent.js';
import React from 'react';
import '../../FeatureFlags/FeatureFlags.js';
import { useFeatureFlag } from '../../FeatureFlags/useFeatureFlag.js';
import '../../FeatureFlags/DefaultFeatureFlags.js';
import styles from './UnstyledTextInput.module.css.js';
import { clsx } from 'clsx';
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
const TEXT_INPUT_CSS_MODULES_FEATURE_FLAG = 'primer_react_css_modules_ga';
const ToggledUnstyledTextInput = toggleStyledComponent(TEXT_INPUT_CSS_MODULES_FEATURE_FLAG, 'input', styled.input.withConfig({
displayName: "UnstyledTextInput__ToggledUnstyledTextInput",
componentId: "sc-14ypya-0"
})(["border:0;font-size:inherit;font-family:inherit;background-color:transparent;-webkit-appearance:none;color:inherit;width:100%;&:focus{outline:0;}", ";"], sx));
const UnstyledTextInput = /*#__PURE__*/React.forwardRef(function UnstyledTextInput({
className,
...rest
}, forwardRef) {
const enabled = useFeatureFlag(TEXT_INPUT_CSS_MODULES_FEATURE_FLAG);
return /*#__PURE__*/React.createElement(ToggledUnstyledTextInput, _extends({
ref: forwardRef
}, rest, {
className: clsx(className, enabled && styles.Input)
}));
});
UnstyledTextInput.displayName = 'UnstyledTextInput';
export { TEXT_INPUT_CSS_MODULES_FEATURE_FLAG, UnstyledTextInput as default };