@bloom-housing/ui-components 14.0.0 → 14.0.2

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.
@@ -25,6 +25,7 @@ interface FieldGroupProps {
25
25
  fieldLabelClassName?: string;
26
26
  fields?: FieldSingle[];
27
27
  groupLabel?: string | React.ReactNode;
28
+ groupLabelClassName?: string;
28
29
  groupNote?: string;
29
30
  groupSubNote?: string;
30
31
  name: string;
@@ -37,5 +38,5 @@ interface FieldGroupProps {
37
38
  readMore?: string;
38
39
  };
39
40
  }
40
- declare const FieldGroup: ({ name, groupLabel, fields, type, validation, error, errorMessage, groupNote, register, fieldGroupClassName, fieldClassName, fieldLabelClassName, groupSubNote, dataTestId, strings, }: FieldGroupProps) => React.JSX.Element;
41
+ declare const FieldGroup: ({ name, groupLabel, groupLabelClassName, fields, type, validation, error, errorMessage, groupNote, register, fieldGroupClassName, fieldClassName, fieldLabelClassName, groupSubNote, dataTestId, strings, }: FieldGroupProps) => React.JSX.Element;
41
42
  export { FieldGroup as default, FieldGroup };
@@ -24,7 +24,7 @@ import { ErrorMessage } from "../notifications/ErrorMessage";
24
24
  import { Field } from "./Field";
25
25
  import { t } from "../helpers/translator";
26
26
  var FieldGroup = function (_a) {
27
- var name = _a.name, groupLabel = _a.groupLabel, fields = _a.fields, _b = _a.type, type = _b === void 0 ? "checkbox" : _b, _c = _a.validation, validation = _c === void 0 ? {} : _c, error = _a.error, errorMessage = _a.errorMessage, groupNote = _a.groupNote, register = _a.register, fieldGroupClassName = _a.fieldGroupClassName, fieldClassName = _a.fieldClassName, fieldLabelClassName = _a.fieldLabelClassName, groupSubNote = _a.groupSubNote, dataTestId = _a.dataTestId, strings = _a.strings;
27
+ var name = _a.name, groupLabel = _a.groupLabel, groupLabelClassName = _a.groupLabelClassName, fields = _a.fields, _b = _a.type, type = _b === void 0 ? "checkbox" : _b, _c = _a.validation, validation = _c === void 0 ? {} : _c, error = _a.error, errorMessage = _a.errorMessage, groupNote = _a.groupNote, register = _a.register, fieldGroupClassName = _a.fieldGroupClassName, fieldClassName = _a.fieldClassName, fieldLabelClassName = _a.fieldLabelClassName, groupSubNote = _a.groupSubNote, dataTestId = _a.dataTestId, strings = _a.strings;
28
28
  // Always default align two-option radio groups side by side
29
29
  if ((fields === null || fields === void 0 ? void 0 : fields.length) === 2) {
30
30
  fieldGroupClassName = "".concat(fieldGroupClassName || "", " flex");
@@ -36,8 +36,8 @@ var FieldGroup = function (_a) {
36
36
  };
37
37
  var getIndividualInput = function (item) {
38
38
  var _a, _b, _c;
39
- return (React.createElement("div", { key: item.value },
40
- React.createElement("input", __assign({ "aria-describedby": "".concat(name, "-error"), "aria-invalid": !!error || false, type: type, id: item.id, defaultValue: item.value || item.id, name: subfieldsExist() || item.uniqueName ? "".concat(name, "-").concat(item.value || "") : name, onClick: function (e) {
39
+ return (React.createElement(React.Fragment, null,
40
+ React.createElement("input", __assign({ "aria-describedby": "".concat(name, "-error ").concat(item.note ? "".concat(item.id, "-note") : ""), "aria-invalid": !!error || false, type: type, id: item.id, defaultValue: item.value || item.id, name: subfieldsExist() || item.uniqueName ? "".concat(name, "-").concat(item.value || "") : name, onClick: function (e) {
41
41
  var _a;
42
42
  // We cannot reliably target an individual checkbox in a field group since they have the same name, so we keep track on our own
43
43
  if (e.currentTarget.checked) {
@@ -48,7 +48,7 @@ var FieldGroup = function (_a) {
48
48
  }
49
49
  }, defaultChecked: item.defaultChecked || false, disabled: item.disabled, ref: register(validation) }, item.inputProps, { "data-testid": (_a = item.dataTestId) !== null && _a !== void 0 ? _a : dataTestId })),
50
50
  React.createElement("label", { htmlFor: item.id, className: "font-semibold ".concat(fieldLabelClassName || "", " ").concat(item.disabled ? "text-gray-600 cursor-not-allowed" : "") }, item.label),
51
- item.note && React.createElement("span", { className: "field-note font-normal" }, item.note),
51
+ item.note && (React.createElement("span", { id: "".concat(item.id, "-note"), className: "field-note font-normal" }, item.note)),
52
52
  item.description && (React.createElement("div", { className: "ml-8 -mt-1 mb-5" },
53
53
  React.createElement(ExpandableContent, { strings: {
54
54
  readMore: (_b = strings === null || strings === void 0 ? void 0 : strings.readMore) !== null && _b !== void 0 ? _b : t("t.readMore"),
@@ -74,12 +74,15 @@ var FieldGroup = function (_a) {
74
74
  }, [checkSelected, setCheckedInputs, fields]);
75
75
  var getInputSet = function (item) {
76
76
  var _a, _b;
77
- return (React.createElement("div", { key: item.value },
77
+ return (React.createElement(React.Fragment, null,
78
78
  getIndividualInput(item),
79
79
  item.additionalText && checkedInputs.indexOf(((_a = item.label) === null || _a === void 0 ? void 0 : _a.toString()) || "") >= 0 && (React.createElement(Field, { id: item.id, key: "".concat(item.value || "", "-additionalText"), name: "".concat(name, "-").concat(item.value || ""), register: register, defaultValue: item.defaultText, placeholder: (_b = strings === null || strings === void 0 ? void 0 : strings.description) !== null && _b !== void 0 ? _b : t("t.description"), className: "mb-4", disabled: item.disabled, dataTestId: item.dataTestId }))));
80
80
  };
81
- return (React.createElement("fieldset", { "aria-describedby": "".concat(groupSubNote ? "".concat(name, "-group-sub-note") : "", " ").concat(error ? "".concat(name, "-error") : "") },
82
- groupLabel && (React.createElement("legend", { className: "text__caps-spaced ".concat(error ? "text-alert" : "") }, groupLabel)),
81
+ var describedBy = [groupSubNote ? "".concat(name, "-group-sub-note") : "", error ? "".concat(name, "-error") : ""]
82
+ .filter(Boolean)
83
+ .join(" ");
84
+ return (React.createElement("fieldset", __assign({}, (describedBy ? { "aria-describedby": describedBy } : {})),
85
+ groupLabel && (React.createElement("legend", { className: "text__caps-spaced ".concat(error ? "text-alert" : "", " ").concat(groupLabelClassName || "") }, groupLabel)),
83
86
  groupNote && React.createElement("p", { className: "field-note mb-4" }, groupNote),
84
87
  React.createElement("div", { className: "field ".concat(error ? "error" : "", " ").concat(fieldGroupClassName || "", " mb-0") }, fields === null || fields === void 0 ? void 0 : fields.map(function (item) {
85
88
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldGroup.js","sourceRoot":"","sources":["../../../src/forms/FieldGroup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FieldGroup.js","sourceRoot":"","sources":["../../../src/forms/FieldGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,uBAAuB,CAAA;AA0CzC,IAAM,UAAU,GAAG,UAAC,EAiBF;QAhBhB,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,mBAAmB,yBAAA,EACnB,MAAM,YAAA,EACN,YAAiB,EAAjB,IAAI,mBAAG,UAAU,KAAA,EACjB,kBAAe,EAAf,UAAU,mBAAG,EAAE,KAAA,EACf,KAAK,WAAA,EACL,YAAY,kBAAA,EACZ,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,mBAAmB,yBAAA,EACnB,cAAc,oBAAA,EACd,mBAAmB,yBAAA,EACnB,YAAY,kBAAA,EACZ,UAAU,gBAAA,EACV,OAAO,aAAA;IAEP,4DAA4D;IAC5D,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,MAAK,CAAC,EAAE;QACxB,mBAAmB,GAAG,UAAG,mBAAmB,IAAI,EAAE,UAAO,CAAA;QACzD,cAAc,GAAG,UAAG,cAAc,IAAI,EAAE,uBAAoB,CAAA;KAC7D;IAEK,IAAA,KAAoC,QAAQ,CAAW,EAAE,CAAC,EAAzD,aAAa,QAAA,EAAE,gBAAgB,QAA0B,CAAA;IAEhE,IAAM,cAAc,GAAG;QACrB,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,SAAS,EAAf,CAAe,EAAE,MAAM,CAAA;IAC1D,CAAC,CAAA;IAED,IAAM,kBAAkB,GAAG,UAAC,IAAiB;;QAC3C,OAAO,CACL;YACE,4DACoB,UAAG,IAAI,oBAAU,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAG,IAAI,CAAC,EAAE,UAAO,CAAC,CAAC,CAAC,EAAE,CAAE,kBACzD,CAAC,CAAC,KAAK,IAAI,KAAK,EAC9B,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,YAAY,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,EACnC,IAAI,EAAE,cAAc,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAG,IAAI,cAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAE,CAAC,CAAC,CAAC,IAAI,EAChF,OAAO,EAAE,UAAC,CAAC;;oBACT,+HAA+H;oBAC/H,IAAI,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE;wBAC3B,gBAAgB,iCAAK,aAAa,UAAE,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,EAAE,KAAI,EAAE,UAAE,CAAA;qBACnE;yBAAM;wBACL,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,UAAC,MAAM,IAAK,OAAA,IAAI,CAAC,KAAK,KAAK,MAAM,EAArB,CAAqB,CAAC,CAAC,CAAA;qBAC1E;gBACH,CAAC,EACD,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,EAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,IACrB,IAAI,CAAC,UAAU,mBACN,MAAA,IAAI,CAAC,UAAU,mCAAI,UAAU,IAC1C;YACF,+BACE,OAAO,EAAE,IAAI,CAAC,EAAE,EAChB,SAAS,EAAE,wBAAiB,mBAAmB,IAAI,EAAE,cACnD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,CACvD,IAED,IAAI,CAAC,KAAK,CACL;YACP,IAAI,CAAC,IAAI,IAAI,CACZ,8BAAM,EAAE,EAAE,UAAG,IAAI,CAAC,EAAE,UAAO,EAAE,SAAS,EAAE,wBAAwB,IAC7D,IAAI,CAAC,IAAI,CACL,CACR;YAEA,IAAI,CAAC,WAAW,IAAI,CACnB,6BAAK,SAAS,EAAC,iBAAiB;gBAC9B,oBAAC,iBAAiB,IAChB,OAAO,EAAE;wBACP,QAAQ,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,CAAC,CAAC,YAAY,CAAC;wBAC9C,QAAQ,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,CAAC,CAAC,YAAY,CAAC;qBAC/C;oBAED,2BAAG,SAAS,EAAC,uBAAuB,IAAE,IAAI,CAAC,WAAW,CAAK,CACzC,CAChB,CACP,CACA,CACJ,CAAA;IACH,CAAC,CAAA;IAED,IAAM,aAAa,GAAG,WAAW,CAC/B,UAAC,UAAqC,EAAE,aAAuB;QAC7D,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC,UAAC,KAAK;;YACxB,IAAI,KAAK,CAAC,cAAc,EAAE;gBACxB,aAAa,CAAC,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC,CAAA;aAClD;YACD,IAAI,KAAK,CAAC,SAAS,EAAE;gBACnB,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;aAC9C;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,EACD,EAAE,CACH,CAAA;IAED,SAAS,CAAC;QACR,IAAM,aAAa,GAAa,EAAE,CAAA;QAClC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACpC,gBAAgB,mBAAK,aAAa,QAAE,CAAA;IACtC,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAA;IAE7C,IAAM,WAAW,GAAG,UAAC,IAAiB;;QACpC,OAAO,CACL;YACG,kBAAkB,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,cAAc,IAAI,aAAa,CAAC,OAAO,CAAC,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAClF,oBAAC,KAAK,IACJ,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,GAAG,EAAE,UAAG,IAAI,CAAC,KAAK,IAAI,EAAE,oBAAiB,EACzC,IAAI,EAAE,UAAG,IAAI,cAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAE,EACnC,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,IAAI,CAAC,WAAW,EAC9B,WAAW,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,mCAAI,CAAC,CAAC,eAAe,CAAC,EACvD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,IAAI,CAAC,UAAU,GAC3B,CACH,CACA,CACJ,CAAA;IACH,CAAC,CAAA;IACD,IAAM,WAAW,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,UAAG,IAAI,oBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,UAAG,IAAI,WAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7F,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAA;IAEZ,OAAO,CACL,6CAAc,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,UAAU,IAAI,CACb,gCACE,SAAS,EAAE,4BAAqB,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,cAAI,mBAAmB,IAAI,EAAE,CAAE,IAEvF,UAAU,CACJ,CACV;QACA,SAAS,IAAI,2BAAG,SAAS,EAAC,iBAAiB,IAAE,SAAS,CAAK;QAE5D,6BAAK,SAAS,EAAE,gBAAS,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAI,mBAAmB,IAAI,EAAE,UAAO,IAC9E,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,UAAC,IAAI;;YAAK,OAAA,CACrB,6BAAK,SAAS,EAAE,gBAAS,cAAc,IAAI,EAAE,UAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE;gBAC/D,WAAW,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,OAAO,CAAC,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAC7E,6BAAK,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,UAAG,IAAI,CAAC,KAAK,IAAI,EAAE,eAAY,IACzD,MAAA,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,UAAC,OAAO;oBAC3B,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;gBAC7B,CAAC,CAAC,CACE,CACP,CACG,CACP,CAAA;SAAA,CAAC,CACE;QACL,YAAY,IAAI,CACf,2BAAG,EAAE,EAAE,UAAG,IAAI,oBAAiB,EAAE,SAAS,EAAC,gBAAgB,IACxD,YAAY,CACX,CACL;QACA,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CACvB,oBAAC,YAAY,IAAC,EAAE,EAAE,UAAG,IAAI,WAAQ,EAAE,KAAK,EAAE,KAAK,IAC5C,YAAY,CACA,CAChB,CAAC,CAAC,CAAC,CACF,8BAAM,EAAE,EAAE,UAAG,IAAI,WAAQ,GAAS,CACnC,CACQ,CACZ,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,UAAU,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,13 +1,17 @@
1
1
  {
2
2
  "name": "@bloom-housing/ui-components",
3
- "version": "14.0.0",
3
+ "version": "14.0.2",
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",
7
7
  "main": "index.js",
8
8
  "exports": {
9
9
  ".": "./index.ts",
10
- "./ag-table": "./ag-table.ts"
10
+ "./ag-table": "./ag-table.ts",
11
+ "./tailwind.config.js": "./tailwind.config.js",
12
+ "./tailwind.tosass.js": "./tailwind.tosass.js",
13
+ "./src/global/css-imports.scss": "./src/global/css-imports.scss",
14
+ "./src/global/app-css.scss": "./src/global/app-css.scss"
11
15
  },
12
16
  "license": "Apache-2.0",
13
17
  "private": false,
@@ -31,6 +31,7 @@ interface FieldGroupProps {
31
31
  fieldLabelClassName?: string
32
32
  fields?: FieldSingle[]
33
33
  groupLabel?: string | React.ReactNode
34
+ groupLabelClassName?: string
34
35
  groupNote?: string
35
36
  groupSubNote?: string
36
37
  name: string
@@ -47,6 +48,7 @@ interface FieldGroupProps {
47
48
  const FieldGroup = ({
48
49
  name,
49
50
  groupLabel,
51
+ groupLabelClassName,
50
52
  fields,
51
53
  type = "checkbox",
52
54
  validation = {},
@@ -75,9 +77,9 @@ const FieldGroup = ({
75
77
 
76
78
  const getIndividualInput = (item: FieldSingle): React.ReactNode => {
77
79
  return (
78
- <div key={item.value}>
80
+ <>
79
81
  <input
80
- aria-describedby={`${name}-error`}
82
+ aria-describedby={`${name}-error ${item.note ? `${item.id}-note` : ""}`}
81
83
  aria-invalid={!!error || false}
82
84
  type={type}
83
85
  id={item.id}
@@ -105,7 +107,11 @@ const FieldGroup = ({
105
107
  >
106
108
  {item.label}
107
109
  </label>
108
- {item.note && <span className={"field-note font-normal"}>{item.note}</span>}
110
+ {item.note && (
111
+ <span id={`${item.id}-note`} className={"field-note font-normal"}>
112
+ {item.note}
113
+ </span>
114
+ )}
109
115
 
110
116
  {item.description && (
111
117
  <div className="ml-8 -mt-1 mb-5">
@@ -119,7 +125,7 @@ const FieldGroup = ({
119
125
  </ExpandableContent>
120
126
  </div>
121
127
  )}
122
- </div>
128
+ </>
123
129
  )
124
130
  }
125
131
 
@@ -145,7 +151,7 @@ const FieldGroup = ({
145
151
 
146
152
  const getInputSet = (item: FieldSingle): React.ReactNode => {
147
153
  return (
148
- <div key={item.value}>
154
+ <>
149
155
  {getIndividualInput(item)}
150
156
  {item.additionalText && checkedInputs.indexOf(item.label?.toString() || "") >= 0 && (
151
157
  <Field
@@ -160,17 +166,21 @@ const FieldGroup = ({
160
166
  dataTestId={item.dataTestId}
161
167
  />
162
168
  )}
163
- </div>
169
+ </>
164
170
  )
165
171
  }
172
+ const describedBy = [groupSubNote ? `${name}-group-sub-note` : "", error ? `${name}-error` : ""]
173
+ .filter(Boolean)
174
+ .join(" ")
175
+
166
176
  return (
167
- <fieldset
168
- aria-describedby={`${groupSubNote ? `${name}-group-sub-note` : ""} ${
169
- error ? `${name}-error` : ""
170
- }`}
171
- >
177
+ <fieldset {...(describedBy ? { "aria-describedby": describedBy } : {})}>
172
178
  {groupLabel && (
173
- <legend className={`text__caps-spaced ${error ? "text-alert" : ""}`}>{groupLabel}</legend>
179
+ <legend
180
+ className={`text__caps-spaced ${error ? "text-alert" : ""} ${groupLabelClassName || ""}`}
181
+ >
182
+ {groupLabel}
183
+ </legend>
174
184
  )}
175
185
  {groupNote && <p className="field-note mb-4">{groupNote}</p>}
176
186