react-native-better-html 1.0.26 → 1.0.27

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.mts CHANGED
@@ -207,9 +207,11 @@ type CheckBoxProps = {
207
207
  required?: boolean;
208
208
  /** @default false */
209
209
  disabled?: boolean;
210
+ infoMessage?: string;
211
+ errorMessage?: string;
210
212
  onChange?: (isChecked: boolean) => void;
211
213
  };
212
- declare function CheckBox({ isChecked, defaultIsChecked, size, text, required, disabled, onChange, }: CheckBoxProps): react_jsx_runtime.JSX.Element;
214
+ declare function CheckBox({ isChecked, defaultIsChecked, size, text, required, disabled, infoMessage, errorMessage, onChange, }: CheckBoxProps): react_jsx_runtime.JSX.Element;
213
215
  declare const _default$3: react.MemoExoticComponent<typeof CheckBox>;
214
216
 
215
217
  declare function useDevice(): {
package/dist/index.d.ts CHANGED
@@ -207,9 +207,11 @@ type CheckBoxProps = {
207
207
  required?: boolean;
208
208
  /** @default false */
209
209
  disabled?: boolean;
210
+ infoMessage?: string;
211
+ errorMessage?: string;
210
212
  onChange?: (isChecked: boolean) => void;
211
213
  };
212
- declare function CheckBox({ isChecked, defaultIsChecked, size, text, required, disabled, onChange, }: CheckBoxProps): react_jsx_runtime.JSX.Element;
214
+ declare function CheckBox({ isChecked, defaultIsChecked, size, text, required, disabled, infoMessage, errorMessage, onChange, }: CheckBoxProps): react_jsx_runtime.JSX.Element;
213
215
  declare const _default$3: react.MemoExoticComponent<typeof CheckBox>;
214
216
 
215
217
  declare function useDevice(): {
package/dist/index.js CHANGED
@@ -517,13 +517,15 @@ function useForm(options) {
517
517
  setFieldValue(field, value);
518
518
  }
519
519
  } : {
520
+ required: requiredFields?.includes(field),
520
521
  isChecked: values[field],
522
+ errorMessage: errors[field],
521
523
  onChange: (value) => {
522
524
  setFieldValue(field, value);
523
525
  }
524
526
  };
525
527
  },
526
- [values, setFieldValue]
528
+ [values, setFieldValue, errors, requiredFields]
527
529
  );
528
530
  const reset = (0, import_react.useCallback)(() => {
529
531
  setValues(defaultValues);
@@ -538,7 +540,9 @@ function useForm(options) {
538
540
  return Object.keys(validationErrors).length === 0;
539
541
  }, [validate, values]);
540
542
  const canSubmit = (0, import_react.useMemo)(() => {
541
- const requiredFieldsHaveValues = requiredFields?.every((field) => values[field] !== void 0 && values[field] !== "") ?? true;
543
+ const requiredFieldsHaveValues = requiredFields?.every(
544
+ (field) => values[field] !== void 0 && values[field] !== "" && values[field] !== false
545
+ ) ?? true;
542
546
  return isValid && requiredFieldsHaveValues;
543
547
  }, [isValid, requiredFields]);
544
548
  return {
@@ -2308,6 +2312,8 @@ function CheckBox({
2308
2312
  text,
2309
2313
  required,
2310
2314
  disabled,
2315
+ infoMessage,
2316
+ errorMessage,
2311
2317
  onChange
2312
2318
  }) {
2313
2319
  const theme2 = (0, import_react_better_core16.useTheme)();
@@ -2368,23 +2374,49 @@ function CheckBox({
2368
2374
  )
2369
2375
  }
2370
2376
  );
2371
- return text ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(View_default, { isRow: true, alignItems: "center", gap: theme2.styles.gap, children: [
2372
- checkBox,
2373
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2374
- View_default,
2377
+ return text ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(View_default, { gap: theme2.styles.gap / 3, children: [
2378
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(View_default, { isRow: true, alignItems: "center", gap: theme2.styles.gap, children: [
2379
+ checkBox,
2380
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2381
+ View_default,
2382
+ {
2383
+ width: "100%",
2384
+ flexShrink: 1,
2385
+ pressType: "opacity",
2386
+ pressStrength: pressStrength().p3,
2387
+ onPress: !disabled ? onPressElement : void 0,
2388
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Animate_default.View, { initialOpacity: 1, animateOpacity: disabled ? 0.6 : 1, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(View_default, { isRow: true, alignItems: "flex-start", gap: 2, children: [
2389
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(View_default, { flexShrink: 1, children: typeof text === "string" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { children: text }) : text }),
2390
+ required && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Label_default, { required: true })
2391
+ ] }) })
2392
+ }
2393
+ )
2394
+ ] }),
2395
+ infoMessage && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2396
+ Animate_default.Text,
2397
+ {
2398
+ fontSize: 14,
2399
+ color: theme2.colors.textSecondary,
2400
+ initialHeight: 0,
2401
+ initialOpacity: 0,
2402
+ animateHeight: 17,
2403
+ animateOpacity: 1,
2404
+ children: infoMessage
2405
+ }
2406
+ ),
2407
+ errorMessage && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2408
+ Animate_default.Text,
2375
2409
  {
2376
- width: "100%",
2377
- flexShrink: 1,
2378
- pressType: "opacity",
2379
- pressStrength: pressStrength().p3,
2380
- onPress: onPressElement,
2381
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(View_default, { isRow: true, alignItems: "flex-start", gap: 2, children: [
2382
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(View_default, { flexShrink: 1, children: typeof text === "string" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { children: text }) : text }),
2383
- required && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Label_default, { required: true })
2384
- ] })
2410
+ fontSize: 14,
2411
+ color: theme2.colors.error,
2412
+ initialHeight: 0,
2413
+ initialOpacity: 0,
2414
+ animateHeight: 17,
2415
+ animateOpacity: 1,
2416
+ children: errorMessage
2385
2417
  }
2386
2418
  )
2387
- ] }) }) : checkBox;
2419
+ ] }) : checkBox;
2388
2420
  }
2389
2421
  var CheckBox_default = (0, import_react17.memo)(CheckBox);
2390
2422