38 lines
1.2 KiB
Plaintext
38 lines
1.2 KiB
Plaintext
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.hasValue = hasValue;
|
|
exports.isAdornedStart = isAdornedStart;
|
|
exports.isFilled = isFilled;
|
|
// Supports determination of isControlled().
|
|
// Controlled input accepts its current value as a prop.
|
|
//
|
|
// @see https://facebook.github.io/react/docs/forms.html#controlled-components
|
|
// @param value
|
|
// @returns {boolean} true if string (including '') or number (including zero)
|
|
function hasValue(value) {
|
|
return value != null && !(Array.isArray(value) && value.length === 0);
|
|
}
|
|
|
|
// Determine if field is empty or filled.
|
|
// Response determines if label is presented above field or as placeholder.
|
|
//
|
|
// @param obj
|
|
// @param SSR
|
|
// @returns {boolean} False when not present or empty string.
|
|
// True when any number or string with length.
|
|
function isFilled(obj, SSR = false) {
|
|
return obj && (hasValue(obj.value) && obj.value !== '' || SSR && hasValue(obj.defaultValue) && obj.defaultValue !== '');
|
|
}
|
|
|
|
// Determine if an Input is adorned on start.
|
|
// It's corresponding to the left with LTR.
|
|
//
|
|
// @param obj
|
|
// @returns {boolean} False when no adornments.
|
|
// True when adorned at the start.
|
|
function isAdornedStart(obj) {
|
|
return obj.startAdornment;
|
|
} |