@kubit-ui-web/react-components
Version:
Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience
26 lines • 2.42 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.InputCounterStandAlone = exports.InputCounterStandAloneComponent = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = __importDefault(require("react"));
const textCount_1 = require("../../components/textCount/textCount");
const inputControlled_1 = require("../input/inputControlled");
const screenReaderOnly_1 = require("../screenReaderOnly/screenReaderOnly");
const counter_utils_1 = require("./utils/counter.utils");
const InputCounterStandAloneComponent = (props, ref) => {
const screenReaderCurrentCharactersId = 'screenReaderCurrentCharactersId';
const renderTextCounter = () => {
if (!props.styles?.[props.state]?.textCountVariant) {
return null;
}
return ((0, jsx_runtime_1.jsx)(textCount_1.TextCount, { currentCharacters: (0, counter_utils_1.getCharactersLength)(props.value, ref), id: `${props.id}Counter`, leftColor: props.styles?.[props.state]?.textCountLeftColor, leftWeight: props.styles?.[props.state]?.textCountLeftWeight, maxLength: props.maxLength, rightColor: props.styles?.[props.state]?.textCountRightColor, rightWeight: props.styles?.[props.state]?.textCountRightWeight, screenReaderText: props.screenReaderTextCount, textVariant: props.styles?.[props.state]?.textCountTextVariant, variant: props.styles?.[props.state]?.textCountVariant, ...props.textCount }));
};
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(inputControlled_1.InputControlled, { ...props, ref: ref, "aria-describedby": props.showMessage ? screenReaderCurrentCharactersId : undefined, id: props.id, overrideStyles: props.styles, textCounter: renderTextCounter(), variant: props.inputVariant ?? props.styles?.[props.state]?.inputVariant }), (0, jsx_runtime_1.jsx)(screenReaderOnly_1.ScreenReaderOnly, { id: screenReaderCurrentCharactersId, children: props.screenReaderCurrentCharacters })] }));
};
exports.InputCounterStandAloneComponent = InputCounterStandAloneComponent;
const InputCounterStandAlone = react_1.default.forwardRef(exports.InputCounterStandAloneComponent);
exports.InputCounterStandAlone = InputCounterStandAlone;
//# sourceMappingURL=inputCounterStandAlone.js.map