@ballistix.digital/react-components 0.4.1 → 0.4.3

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/dist/index.d.ts CHANGED
@@ -133,15 +133,20 @@ type TInputGroupStyles = DeepPartial$1<typeof base$d>;
133
133
  type TProps$b = {
134
134
  name: string;
135
135
  htmlType: HTMLInputTypeAttribute;
136
- label?: string;
136
+ label?: string | ReactNode;
137
137
  description?: string;
138
138
  placeholder?: string;
139
- leading?: string;
140
- trailing?: string;
139
+ leading?: string | ReactNode;
140
+ trailing?: string | ReactNode;
141
+ required?: ({ isRequired }: {
142
+ isRequired: boolean;
143
+ }) => string | ReactNode;
141
144
  value: string;
142
145
  error?: string;
143
- mask?: string;
144
- replacementCharacter?: string;
146
+ mask?: string | {
147
+ mask: string;
148
+ replacementCharacter?: string;
149
+ };
145
150
  type: 'normal' | 'inset' | 'overlapping' | 'pill' | 'floored';
146
151
  isValid?: boolean;
147
152
  isDisabled?: boolean;
package/dist/index.esm.js CHANGED
@@ -518,20 +518,26 @@ var i,s={},c={};var u,f,l={};
518
518
 
519
519
  var InputGroupForm = function (props) {
520
520
  var _a;
521
- var name = props.name, _b = props.htmlType, htmlType = _b === void 0 ? 'text' : _b, label = props.label, description = props.description, placeholder = props.placeholder, leading = props.leading, trailing = props.trailing, value = props.value, mask = props.mask, _c = props.replacementCharacter, replacementCharacter = _c === void 0 ? 'X' : _c, error = props.error, _d = props.type, type = _d === void 0 ? 'normal' : _d, isDisabled = props.isDisabled, isRequired = props.isRequired, isTouched = props.isTouched, _e = props.isSolo, isSolo = _e === void 0 ? false : _e, onChange = props.onChange, onBlur = props.onBlur, stylesOverrides = props.styles;
521
+ var _b;
522
+ var name = props.name, _c = props.htmlType, htmlType = _c === void 0 ? 'text' : _c, label = props.label, description = props.description, placeholder = props.placeholder, leading = props.leading, trailing = props.trailing, required = props.required, value = props.value, mask = props.mask, error = props.error, _d = props.type, type = _d === void 0 ? 'normal' : _d, isDisabled = props.isDisabled, _e = props.isRequired, isRequired = _e === void 0 ? false : _e, isTouched = props.isTouched, _f = props.isSolo, isSolo = _f === void 0 ? false : _f, onChange = props.onChange, onBlur = props.onBlur, stylesOverrides = props.styles;
522
523
  var isValid = error === undefined;
523
- var ref = y({ mask: mask, replacement: (_a = {}, _a[replacementCharacter] = /\d/, _a) });
524
+ var ref = y({
525
+ mask: typeof mask === 'string' ? mask : mask === null || mask === void 0 ? void 0 : mask.mask,
526
+ replacement: typeof mask === 'string'
527
+ ? { X: /\d/ }
528
+ : (_a = {}, _a[(_b = mask === null || mask === void 0 ? void 0 : mask.replacementCharacter) !== null && _b !== void 0 ? _b : 'X'] = /\d/, _a),
529
+ });
524
530
  var handleGenerateStyle = function () {
525
531
  var result = deepCopyObject(styles$e.base);
526
532
  var keys = calculateNestedKeys(styles$e.base);
527
533
  keys.forEach(function (key) {
528
- set(result, key, toClassName(get(styles$e.base, key), leading && get(styles$e.leading, key), trailing && get(styles$e.trailing, key), type && get(styles$e[type], key), !isValid && get(styles$e.invalid, key), isDisabled && get(styles$e.disabled, key), get(stylesOverrides, key)));
534
+ set(result, key, toClassName(get(styles$e.base, key), leading !== undefined && get(styles$e.leading, key), trailing !== undefined && get(styles$e.trailing, key), type && get(styles$e[type], key), !isValid && get(styles$e.invalid, key), isDisabled && get(styles$e.disabled, key), get(stylesOverrides, key)));
529
535
  });
530
536
  return result;
531
537
  };
532
538
  var styles = handleGenerateStyle();
533
539
  var invalidIcon = (jsx(ExclamationCircleIcon, { className: "h-5 w-5 text-red-500", "aria-hidden": "true" }));
534
- return (jsxs("div", __assign({ className: styles.container }, { children: [jsxs("div", __assign({ className: styles.head }, { children: [label && (jsx("label", __assign({ htmlFor: name, className: styles.label }, { children: label }))), !isRequired && jsx("span", __assign({ className: styles.hint }, { children: "Optional" }))] })), jsxs("div", __assign({ className: styles.body }, { children: [leading && jsx("div", __assign({ className: styles.leading }, { children: leading })), jsx("input", { type: mask !== '' ? 'text' : htmlType, ref: mask && ref, name: name, id: name, className: styles.input, placeholder: placeholder, defaultValue: isSolo ? value : undefined, value: isSolo ? undefined : value, disabled: isDisabled, onChange: onChange, onBlur: onBlur }), type === 'floored' && (jsx("div", { className: "absolute inset-x-0 bottom-0 border-t border-gray-300 peer-focus:border-t-2 peer-focus:border-primary-600", "aria-hidden": "true" })), trailing && isValid && (jsx("div", __assign({ className: styles.trailing }, { children: trailing }))), !isValid && jsx("div", __assign({ className: styles.trailing }, { children: invalidIcon }))] })), jsxs("div", __assign({ className: styles.foot }, { children: [description && !error && (jsx("p", __assign({ className: styles.description }, { children: description }))), error && isTouched && jsx("p", __assign({ className: styles.error }, { children: error }))] }))] })));
540
+ return (jsxs("div", __assign({ className: styles.container }, { children: [jsxs("div", __assign({ className: styles.head }, { children: [label && (jsx("label", __assign({ htmlFor: name, className: styles.label }, { children: label }))), !required && !isRequired && typeof label === 'string' && (jsx("span", __assign({ className: styles.hint }, { children: "Optional" }))), required && required({ isRequired: isRequired })] })), jsxs("div", __assign({ className: styles.body }, { children: [leading && jsx("div", __assign({ className: styles.leading }, { children: leading })), jsx("input", { type: mask !== '' ? 'text' : htmlType, ref: mask && ref, name: name, id: name, className: styles.input, placeholder: placeholder, defaultValue: isSolo ? value : undefined, value: isSolo ? undefined : value, disabled: isDisabled, onChange: onChange, onBlur: onBlur }), type === 'floored' && (jsx("div", { className: "absolute inset-x-0 bottom-0 border-t border-gray-300 peer-focus:border-t-2 peer-focus:border-primary-600", "aria-hidden": "true" })), trailing && isValid && (jsx("div", __assign({ className: styles.trailing }, { children: trailing }))), !isValid && jsx("div", __assign({ className: styles.trailing }, { children: invalidIcon }))] })), jsxs("div", __assign({ className: styles.foot }, { children: [description && !error && (jsx("p", __assign({ className: styles.description }, { children: description }))), error && isTouched && jsx("p", __assign({ className: styles.error }, { children: error }))] }))] })));
535
541
  };
536
542
 
537
543
  var base$d = {
@@ -540,7 +546,7 @@ var base$d = {
540
546
  body: 'relative rounded-md',
541
547
  foot: '',
542
548
  label: 'block font-medium text-gray-900',
543
- hint: 'text-sm text-gray-500',
549
+ hint: 'text-xs text-gray-500',
544
550
  leading: 'pointer-events-none absolute inset-y-0 left-0 flex items-center',
545
551
  input: 'block w-full',
546
552
  trailing: 'pointer-events-none absolute inset-y-0 right-0 flex items-center',