@bloom-housing/ui-components 12.0.11 → 12.0.13
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/src/actions/ExpandableText.js +1 -1
- package/dist/src/actions/ExpandableText.js.map +1 -1
- package/dist/src/forms/Field.js +14 -0
- package/dist/src/forms/Field.js.map +1 -1
- package/dist/src/helpers/validators.d.ts +1 -0
- package/dist/src/helpers/validators.js +1 -0
- package/dist/src/helpers/validators.js.map +1 -1
- package/package.json +1 -1
- package/src/actions/ExpandableText.tsx +1 -0
- package/src/forms/Field.tsx +21 -0
- package/src/helpers/validators.ts +5 -2
|
@@ -16,7 +16,7 @@ var moreLessButton = function (expanded, setExpanded, strings, buttonClassName)
|
|
|
16
16
|
if (buttonClassName) {
|
|
17
17
|
classes.push(buttonClassName);
|
|
18
18
|
}
|
|
19
|
-
return (React.createElement("button", { className: classes.join(" "), onClick: function () { return setExpanded(!expanded); }, "aria-label": strings.buttonAriaLabel }, expanded ? strings === null || strings === void 0 ? void 0 : strings.readLess : strings === null || strings === void 0 ? void 0 : strings.readMore));
|
|
19
|
+
return (React.createElement("button", { className: classes.join(" "), onClick: function () { return setExpanded(!expanded); }, "aria-label": strings.buttonAriaLabel, "aria-expanded": expanded }, expanded ? strings === null || strings === void 0 ? void 0 : strings.readLess : strings === null || strings === void 0 ? void 0 : strings.readMore));
|
|
20
20
|
};
|
|
21
21
|
var ExpandableText = function (props) {
|
|
22
22
|
var _a = useState(props.expand || false), expanded = _a[0], setExpanded = _a[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandableText.js","sourceRoot":"","sources":["../../../src/actions/ExpandableText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,QAA2B,MAAM,iBAAiB,CAAA;AACzD,OAAO,uBAAuB,CAAA;AAgB9B,IAAM,OAAO,GAAG,UAAC,IAAY,EAAE,QAAiB,EAAE,SAAiB;IACjE,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;QACxC,OAAO,IAAI,CAAA;KACZ;IAED,IAAI,QAAQ,GAAG,SAAS,CAAA;IACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,QAAQ,GAAG,CAAC,EAAE;QAC5C,QAAQ,IAAI,CAAC,CAAA;KACd;IACD,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAA;AAClG,CAAC,CAAA;AAED,IAAM,cAAc,GAAG,UACrB,QAAiB,EACjB,WAAwC,EACxC,OAAuC,EACvC,eAAuD;IAEvD,IAAM,OAAO,GAAG,CAAC,eAAe,CAAC,CAAA;IACjC,IAAI,eAAe,EAAE;QACnB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;KAC9B;IAED,OAAO,CACL,gCACE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAC5B,OAAO,EAAE,cAAM,OAAA,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAtB,CAAsB,gBACzB,OAAO,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"ExpandableText.js","sourceRoot":"","sources":["../../../src/actions/ExpandableText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,QAA2B,MAAM,iBAAiB,CAAA;AACzD,OAAO,uBAAuB,CAAA;AAgB9B,IAAM,OAAO,GAAG,UAAC,IAAY,EAAE,QAAiB,EAAE,SAAiB;IACjE,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;QACxC,OAAO,IAAI,CAAA;KACZ;IAED,IAAI,QAAQ,GAAG,SAAS,CAAA;IACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,QAAQ,GAAG,CAAC,EAAE;QAC5C,QAAQ,IAAI,CAAC,CAAA;KACd;IACD,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAA;AAClG,CAAC,CAAA;AAED,IAAM,cAAc,GAAG,UACrB,QAAiB,EACjB,WAAwC,EACxC,OAAuC,EACvC,eAAuD;IAEvD,IAAM,OAAO,GAAG,CAAC,eAAe,CAAC,CAAA;IACjC,IAAI,eAAe,EAAE;QACnB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;KAC9B;IAED,OAAO,CACL,gCACE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAC5B,OAAO,EAAE,cAAM,OAAA,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAtB,CAAsB,gBACzB,OAAO,CAAC,eAAe,mBACpB,QAAQ,IAEtB,QAAQ,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAC1C,CACV,CAAA;AACH,CAAC,CAAA;AAED,IAAM,cAAc,GAAG,UAAC,KAA0B;IAC1C,IAAA,KAA0B,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,EAAxD,QAAQ,QAAA,EAAE,WAAW,QAAmC,CAAA;IAC/D,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,GAAG,CAAA;IACxC,IAAI,MAAM,CAAA;IAEV,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAEhC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,EAAE;QACrC,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;KACrF;IACD,OAAO,CACL,6BAAK,SAAS,EAAE,0BAAmB,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,KAAI,EAAE,CAAE;QACxD,GAAG;QACJ,oBAAC,QAAQ,IACP,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EACtD,OAAO,EAAE,KAAK,CAAC,aAAa,GAC5B;QACD,MAAM,CACH,CACP,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
package/dist/src/forms/Field.js
CHANGED
|
@@ -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":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAe,OAAO,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/forms/Field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bloom-housing/ui-components",
|
|
3
|
-
"version": "12.0.
|
|
3
|
+
"version": "12.0.13",
|
|
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",
|
package/src/forms/Field.tsx
CHANGED
|
@@ -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 =
|
|
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
|
|
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,})$/
|