@bloom-housing/ui-components 12.0.10 → 12.0.12

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.
@@ -11,6 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import React, { useMemo } from "react";
13
13
  import { ErrorMessage } from "../notifications/ErrorMessage";
14
+ import { httpsRegex, urlRegex } from "../helpers/validators";
14
15
  var Field = function (props) {
15
16
  var classes = ["field"];
16
17
  if (props.error) {
@@ -53,6 +54,19 @@ var Field = function (props) {
53
54
  if (props.type === "currency") {
54
55
  inputProps = __assign(__assign({}, inputProps), { onBlur: function () { return formatValue(); }, onFocus: function () { return formatValue(true); }, onChange: filterNumbers });
55
56
  }
57
+ if (props.type === "url") {
58
+ inputProps = __assign(__assign({}, inputProps), { ref: props.register &&
59
+ props.register(props.validation || {
60
+ validate: {
61
+ https: function (value) {
62
+ return httpsRegex.test(value);
63
+ },
64
+ invalid: function (value) {
65
+ return urlRegex.test(value);
66
+ },
67
+ },
68
+ }) });
69
+ }
56
70
  var type = (props.type === "currency" && "text") || props.type || "text";
57
71
  var isRadioOrCheckbox = ["radio", "checkbox"].includes(type);
58
72
  var label = useMemo(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/forms/Field.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/forms/Field.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export declare const emailRegex: RegExp;
2
2
  export declare const passwordRegex: RegExp;
3
+ export declare const httpsRegex: RegExp;
3
4
  export declare const urlRegex: RegExp;
@@ -1,4 +1,5 @@
1
1
  export var emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
2
2
  export var passwordRegex = /^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+).{7,}$/;
3
+ export var httpsRegex = /^https?:\/\//i;
3
4
  export var urlRegex = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})$/;
4
5
  //# sourceMappingURL=validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/helpers/validators.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,UAAU,GAAG,sJAAsJ,CAAA;AAChL,MAAM,CAAC,IAAM,aAAa,GAAG,gDAAgD,CAAA;AAC7E,MAAM,CAAC,IAAM,QAAQ,GAAG,oNAAoN,CAAA"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/helpers/validators.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,UAAU,GACrB,sJAAsJ,CAAA;AACxJ,MAAM,CAAC,IAAM,aAAa,GAAG,gDAAgD,CAAA;AAC7E,MAAM,CAAC,IAAM,UAAU,GAAG,eAAe,CAAA;AACzC,MAAM,CAAC,IAAM,QAAQ,GACnB,oNAAoN,CAAA"}
@@ -1,15 +1,17 @@
1
- import React, { useRef } from "react";
1
+ import React, { useEffect, useRef } from "react";
2
2
  import "./Modal.scss";
3
3
  import { Icon, IconFillColors } from "../icons/Icon";
4
4
  import { Overlay } from "./Overlay";
5
5
  import { nanoid } from "nanoid";
6
6
  var ModalHeader = function (props) {
7
+ var modalHeader = useRef(null);
8
+ useEffect(function () { var _a; return (_a = modalHeader === null || modalHeader === void 0 ? void 0 : modalHeader.current) === null || _a === void 0 ? void 0 : _a.focus(); }, [props.title]);
7
9
  var classNames = ["modal__title"];
8
10
  if (props.className)
9
11
  classNames.push(props.className);
10
12
  return (React.createElement(React.Fragment, null,
11
13
  React.createElement("header", { className: "modal__header" },
12
- React.createElement("h1", { className: classNames.join(" "), id: props.uniqueId }, props.title))));
14
+ React.createElement("h1", { ref: modalHeader, tabIndex: -1, className: classNames.join(" "), id: props.uniqueId }, props.title))));
13
15
  };
14
16
  var ModalFooter = function (props) {
15
17
  var classNames = ["modal__footer"];
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/overlays/Modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/overlays/Modal.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bloom-housing/ui-components",
3
- "version": "12.0.10",
3
+ "version": "12.0.12",
4
4
  "author": "Sean Albert <sean.albert@exygy.com>",
5
5
  "description": "Shared user interface components for Bloom affordable housing system",
6
6
  "homepage": "https://github.com/bloom-housing/ui-components",
@@ -1,6 +1,7 @@
1
1
  import React, { ChangeEvent, useMemo } from "react"
2
2
  import { ErrorMessage } from "../notifications/ErrorMessage"
3
3
  import { UseFormMethods, RegisterOptions } from "react-hook-form"
4
+ import { httpsRegex, urlRegex } from "../helpers/validators"
4
5
 
5
6
  export interface FieldProps {
6
7
  error?: boolean
@@ -93,6 +94,26 @@ const Field = (props: FieldProps) => {
93
94
  }
94
95
  }
95
96
 
97
+ if (props.type === "url") {
98
+ inputProps = {
99
+ ...inputProps,
100
+ ref:
101
+ props.register &&
102
+ props.register(
103
+ props.validation || {
104
+ validate: {
105
+ https: (value) => {
106
+ return httpsRegex.test(value)
107
+ },
108
+ invalid: (value) => {
109
+ return urlRegex.test(value)
110
+ },
111
+ },
112
+ }
113
+ ),
114
+ }
115
+ }
116
+
96
117
  const type = (props.type === "currency" && "text") || props.type || "text"
97
118
  const isRadioOrCheckbox = ["radio", "checkbox"].includes(type)
98
119
 
@@ -1,3 +1,6 @@
1
- export const emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
1
+ export const emailRegex =
2
+ /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
2
3
  export const passwordRegex = /^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+).{7,}$/
3
- export const urlRegex = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})$/
4
+ export const httpsRegex = /^https?:\/\//i
5
+ export const urlRegex =
6
+ /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})$/
@@ -1,4 +1,4 @@
1
- import React, { useRef } from "react"
1
+ import React, { useEffect, useRef } from "react"
2
2
  import "./Modal.scss"
3
3
  import { Icon, IconFillColors } from "../icons/Icon"
4
4
  import { Overlay, OverlayProps } from "./Overlay"
@@ -22,12 +22,15 @@ export interface ModalProps extends Omit<OverlayProps, "children"> {
22
22
  }
23
23
 
24
24
  const ModalHeader = (props: { title: string; uniqueId?: string; className?: string }) => {
25
+ const modalHeader = useRef<HTMLHeadingElement>(null)
26
+ useEffect(() => modalHeader?.current?.focus(), [props.title])
27
+
25
28
  const classNames = ["modal__title"]
26
29
  if (props.className) classNames.push(props.className)
27
30
  return (
28
31
  <>
29
32
  <header className="modal__header">
30
- <h1 className={classNames.join(" ")} id={props.uniqueId}>
33
+ <h1 ref={modalHeader} tabIndex={-1} className={classNames.join(" ")} id={props.uniqueId}>
31
34
  {props.title}
32
35
  </h1>
33
36
  </header>