@churchapps/apphelper 1.0.3 → 1.1.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../src/components/FileUpload.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAqB,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D,UAAU,KAAK;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,qBA8FtC"}
1
+ {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../src/components/FileUpload.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAqB,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D,UAAU,KAAK;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,qBA+EtC"}
@@ -1,13 +1,14 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState, useEffect } from "react";
4
- import axios from "axios";
4
+ import { FileHelper } from "@churchapps/helpers";
5
5
  import { LinearProgress } from "@mui/material";
6
6
  import { ApiHelper, Locale } from "../helpers";
7
7
  export function FileUpload(props) {
8
8
  const [file, setFile] = useState({});
9
9
  const [uploadedFile, setUploadedFile] = useState({});
10
10
  const [uploadProgress, setUploadProgress] = useState(-1);
11
+ const [uploadError, setUploadError] = useState(null);
11
12
  const handleChange = (e) => {
12
13
  e.preventDefault();
13
14
  if (e.target.files && e.target.files.length > 0) {
@@ -21,24 +22,36 @@ export function FileUpload(props) {
21
22
  fileReader.onerror = (error) => { reject(error); };
22
23
  });
23
24
  const handleSave = async () => {
25
+ setUploadError(null);
24
26
  const f = { ...file };
25
27
  f.size = uploadedFile.size;
26
28
  f.fileType = uploadedFile.type;
27
29
  f.fileName = uploadedFile.name;
28
30
  f.contentType = props.contentType;
29
31
  f.contentId = props.contentId;
30
- const preUploaded = await preUpload();
31
- if (!preUploaded) {
32
- const base64 = await convertBase64();
33
- f.fileContents = base64;
32
+ try {
33
+ const preUploaded = await preUpload();
34
+ if (!preUploaded) {
35
+ const base64 = await convertBase64();
36
+ f.fileContents = base64;
37
+ }
38
+ else if (preUploaded.externalId)
39
+ f.externalId = preUploaded.externalId;
40
+ const data = await ApiHelper.post("/files", [f], "ContentApi");
41
+ setFile({});
42
+ setUploadedFile({});
43
+ const el = document.getElementById("fileUpload");
44
+ if (el)
45
+ el.value = "";
46
+ props.saveCallback(data[0]);
47
+ }
48
+ catch (error) {
49
+ const isQuota = String(error?.message || error).includes("storage_quota_exceeded");
50
+ setUploadError(isQuota
51
+ ? Locale.label("fileUpload.quotaExceeded", "Storage quota exceeded. Delete unused files or upgrade your storage plan.")
52
+ : Locale.label("fileUpload.uploadFailed", "Upload failed. Please try again."));
53
+ setUploadProgress(-1);
34
54
  }
35
- const data = await ApiHelper.post("/files", [f], "ContentApi");
36
- setFile({});
37
- setUploadedFile({});
38
- const el = document.getElementById("fileUpload");
39
- if (el)
40
- el.value = "";
41
- props.saveCallback(data[0]);
42
55
  };
43
56
  const checkSave = () => {
44
57
  if (props.pendingSave) {
@@ -49,31 +62,13 @@ export function FileUpload(props) {
49
62
  }
50
63
  };
51
64
  const preUpload = async () => {
52
- const params = { fileName: uploadedFile.name, contentType: props.contentType, contentId: props.contentId };
65
+ const params = { fileName: uploadedFile.name, contentType: props.contentType, contentId: props.contentId, size: uploadedFile.size, mimeType: uploadedFile.type };
53
66
  const presigned = await ApiHelper.post("/files/postUrl", params, "ContentApi");
54
- const doUpload = presigned.key !== undefined;
55
- if (doUpload)
56
- await postPresignedFile(presigned);
57
- return doUpload;
58
- };
59
- const postPresignedFile = (presigned) => {
60
- const formData = new FormData();
61
- formData.append("acl", "public-read");
62
- formData.append("Content-Type", uploadedFile.type);
63
- for (const property in presigned.fields)
64
- formData.append(property, presigned.fields[property]);
65
- const f = document.getElementById("fileUpload");
66
- if (f?.files?.[0])
67
- formData.append("file", f.files[0]);
68
- const axiosConfig = {
69
- headers: { "Content-Type": "multipart/form-data" },
70
- onUploadProgress: (progressEvent) => {
71
- if (progressEvent.total) {
72
- setUploadProgress(Math.round((100 * progressEvent.loaded) / progressEvent.total));
73
- }
74
- }
75
- };
76
- return axios.post(presigned.url, formData, axiosConfig);
67
+ if (presigned.error)
68
+ throw new Error(presigned.error);
69
+ if (presigned.key === undefined)
70
+ return false;
71
+ return FileHelper.uploadPresignedFile(presigned, uploadedFile, setUploadProgress);
77
72
  };
78
73
  useEffect(checkSave, [props.pendingSave]);
79
74
  const getFileLink = () => {
@@ -82,6 +77,6 @@ export function FileUpload(props) {
82
77
  else if (file)
83
78
  return (_jsx("div", { children: _jsx("a", { href: file.contentPath, children: file.fileName }) }));
84
79
  };
85
- return (_jsxs(_Fragment, { children: [_jsx("label", { children: Locale.label("fileUpload.file") }), getFileLink(), _jsx("input", { id: "fileUpload", type: "file", onChange: handleChange, "data-testid": "file-upload-input" })] }));
80
+ return (_jsxs(_Fragment, { children: [_jsx("label", { children: Locale.label("fileUpload.file") }), uploadError && _jsx("div", { style: { color: "#d32f2f", fontSize: 13, marginBottom: 4 }, children: uploadError }), getFileLink(), _jsx("input", { id: "fileUpload", type: "file", onChange: handleChange, "data-testid": "file-upload-input" })] }));
86
81
  }
87
82
  //# sourceMappingURL=FileUpload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.js","sourceRoot":"","sources":["../../src/components/FileUpload.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileUpload.js","sourceRoot":"","sources":["../../src/components/FileUpload.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAiB,MAAM,YAAY,CAAC;AAS9D,MAAM,UAAU,UAAU,CAAC,KAAY;IACrC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAgB,EAAmB,CAAC,CAAC;IACrE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAO,EAAU,CAAC,CAAC;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAEpE,MAAM,YAAY,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC9D,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1D,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACvC,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC3B,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAClC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;gBACrC,CAAC,CAAC,YAAY,GAAG,MAAgB,CAAC;YACpC,CAAC;iBAAM,IAAI,WAAW,CAAC,UAAU;gBAAE,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;YACzE,MAAM,IAAI,GAAoB,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAChF,OAAO,CAAC,EAAE,CAAC,CAAC;YACZ,eAAe,CAAC,EAAU,CAAC,CAAC;YAC5B,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,YAAY,CAA4B,CAAC;YAC5E,IAAI,EAAE;gBAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;YACtB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,MAAM,CAAE,KAAe,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YAC9F,cAAc,CAAC,OAAO;gBACpB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,2EAA2E,CAAC;gBACvH,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,kCAAkC,CAAC,CAAC,CAAC;YACjF,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC;gBAAE,UAAU,EAAE,CAAC;;gBACnC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,IAA8C,EAAE;QACrE,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;QACjK,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC/E,IAAI,SAAS,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC9C,OAAO,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACpF,CAAC,CAAC;IAEF,SAAS,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAE1C,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,cAAc,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW;YAAE,OAAO,KAAC,cAAc,IAAC,KAAK,EAAE,cAAc,GAAI,CAAC;aAC1F,IAAI,IAAI;YAAE,OAAO,CAAC,wBAAK,YAAG,IAAI,EAAE,IAAI,CAAC,WAAW,YAAG,IAAI,CAAC,QAAQ,GAAK,GAAM,CAAC,CAAC;IACpF,CAAC,CAAC;IAEF,OAAO,CACL,8BACE,0BAAQ,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAS,EAC/C,WAAW,IAAI,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAAG,WAAW,GAAO,EACnG,WAAW,EAAE,EACd,gBAAO,EAAE,EAAC,YAAY,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,YAAY,iBAAc,mBAAmB,GAAG,IAC5F,CACJ,CAAC;AACJ,CAAC"}
@@ -210,7 +210,10 @@
210
210
  }
211
211
  },
212
212
  "fileUpload": {
213
- "file": "File"
213
+ "chooseFile": "Choose File",
214
+ "file": "File",
215
+ "quotaExceeded": "Storage quota exceeded. Delete unused files or upgrade your storage plan.",
216
+ "uploadFailed": "Upload failed. Please try again."
214
217
  },
215
218
  "formSubmissionEdit": {
216
219
  "back": "Back",
@@ -17,6 +17,10 @@ export declare class StyleHelper {
17
17
  desktop: string[];
18
18
  mobile: string[];
19
19
  };
20
+ private static systemFonts;
21
+ private static collectFonts;
22
+ static getFontFamilies: (sections: SectionInterface[]) => string[];
23
+ static getFontUrls: (sections: SectionInterface[]) => string[];
20
24
  private static getVisibilityCss;
21
25
  static getCss: (sections: SectionInterface[], forceDevice?: string) => string;
22
26
  static getStyles: (_element: ElementInterface | SectionInterface) => any;
@@ -1 +1 @@
1
- {"version":3,"file":"StyleHelper.d.ts","sourceRoot":"","sources":["../../../src/website/helpers/StyleHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE7D,qBAAa,WAAW;IAEtB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAMlD,MAAM,CAAC,kBAAkB,IAAI;QAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;KACtB;IAoBH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAa3C,MAAM,CAAC,YAAY,GAAI,WAAU,MAAM,EAAE,cAAa,GAAG,EAAE,kBAAiB,GAAG,YAc7E;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CASrB;IAEF,OAAO,CAAC,MAAM,CAAC,aAAa,CAW1B;IAEF,OAAO,CAAC,MAAM,CAAC,aAAa,CAc1B;IAEF,MAAM,CAAC,YAAY,GAAI,UAAU,gBAAgB,EAAE;;;;MAajD;IAGF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAO7B;IAEF,MAAM,CAAC,MAAM,GAAI,UAAU,gBAAgB,EAAE,EAAE,cAAa,MAAM,YAehE;IAGF,MAAM,CAAC,SAAS,GAAI,UAAU,gBAAgB,GAAG,gBAAgB,SA6B/D;CAEH"}
1
+ {"version":3,"file":"StyleHelper.d.ts","sourceRoot":"","sources":["../../../src/website/helpers/StyleHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAY,MAAM,SAAS,CAAC;AAEvE,qBAAa,WAAW;IAEtB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAMlD,MAAM,CAAC,kBAAkB,IAAI;QAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;KACtB;IAoBH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAa3C,MAAM,CAAC,YAAY,GAAI,WAAU,MAAM,EAAE,cAAa,GAAG,EAAE,kBAAiB,GAAG,YAc7E;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CASrB;IAEF,OAAO,CAAC,MAAM,CAAC,aAAa,CAW1B;IAEF,OAAO,CAAC,MAAM,CAAC,aAAa,CAc1B;IAEF,MAAM,CAAC,YAAY,GAAI,UAAU,gBAAgB,EAAE;;;;MAajD;IAEF,OAAO,CAAC,MAAM,CAAC,WAAW,CAExB;IAEF,OAAO,CAAC,MAAM,CAAC,YAAY,CAKzB;IAEF,MAAM,CAAC,eAAe,GAAI,UAAU,gBAAgB,EAAE,cAWpD;IAGF,MAAM,CAAC,WAAW,GAAI,UAAU,gBAAgB,EAAE,cACsE;IAGxH,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAO7B;IAEF,MAAM,CAAC,MAAM,GAAI,UAAU,gBAAgB,EAAE,EAAE,cAAa,MAAM,YAehE;IAGF,MAAM,CAAC,SAAS,GAAI,UAAU,gBAAgB,GAAG,gBAAgB,SA6B/D;CAEH"}
@@ -63,16 +63,15 @@ StyleHelper.getTextColor = (textColor, globalStyles, _churchSettings) => {
63
63
  };
64
64
  StyleHelper.getStyle = (id, styles) => {
65
65
  const result = [];
66
- Object.keys(styles).forEach((key) => {
67
- const val = styles[key];
68
- const noQuote = val.endsWith("px") || val.endsWith("em") || val.endsWith("pt") || val.startsWith("#") || val.startsWith("--");
69
- if (noQuote)
70
- result.push(`${key}: ${styles[key]};`);
71
- else
72
- result.push(`${key}: ${styles[key]};`);
73
- });
74
- if (result.length > 0)
75
- return `#${id} { ${result.join(" ")} }`;
66
+ Object.keys(styles).forEach((key) => { result.push(`${key}: ${styles[key]};`); });
67
+ if (result.length === 0)
68
+ return undefined;
69
+ let css = `#${id} { ${result.join(" ")} }`;
70
+ // pages.css targets .page h1-h6 directly, so an inherited font-family never reaches headings inside the element.
71
+ const font = styles["font-family"];
72
+ if (font)
73
+ css += ` #${id} h1, #${id} h2, #${id} h3, #${id} h4, #${id} h5, #${id} h6 { font-family: ${font}; }`;
74
+ return css;
76
75
  };
77
76
  StyleHelper.getSectionCss = (section, all, desktop, mobile) => {
78
77
  const id = (section.answers?.sectionId) ? "section-" + section.answers?.sectionId : "section-" + section.id;
@@ -116,6 +115,31 @@ StyleHelper.getAllStyles = (sections) => {
116
115
  });
117
116
  return { all, desktop, mobile };
118
117
  };
118
+ StyleHelper.systemFonts = [
119
+ "arial", "helvetica", "times new roman", "times", "georgia", "verdana", "tahoma", "trebuchet ms", "courier new", "courier", "impact", "serif", "sans-serif", "monospace", "cursive", "fantasy", "system-ui", "inherit", "initial", "unset"
120
+ ];
121
+ StyleHelper.collectFonts = (styles, result) => {
122
+ ["all", "desktop", "mobile"].forEach((platform) => {
123
+ const font = styles?.[platform]?.["font-family"];
124
+ if (font)
125
+ result.add(String(font).trim());
126
+ });
127
+ };
128
+ StyleHelper.getFontFamilies = (sections) => {
129
+ const found = new Set();
130
+ const walkElement = (element) => {
131
+ _a.collectFonts(element.styles, found);
132
+ element.elements?.forEach(walkElement);
133
+ };
134
+ sections?.forEach((section) => {
135
+ _a.collectFonts(section.styles, found);
136
+ section.elements?.forEach(walkElement);
137
+ });
138
+ return [...found].filter((f) => !f.startsWith("var(") && _a.systemFonts.indexOf(f.toLowerCase()) === -1);
139
+ };
140
+ // One url per family: an unrecognized name (typo) then 400s only its own request instead of every font on the page.
141
+ StyleHelper.getFontUrls = (sections) => _a.getFontFamilies(sections)
142
+ .map((f) => "https://fonts.googleapis.com/css2?family=" + f.replace(/ /g, "+") + ":wght@400;700&display=swap");
119
143
  // Class-based to hide when element types render no el-{id} or sections lose ids.
120
144
  StyleHelper.getVisibilityCss = (forceDevice) => {
121
145
  const desktopRule = ".hiddenOnDesktop { display: none !important; }";
@@ -1 +1 @@
1
- {"version":3,"file":"StyleHelper.js","sourceRoot":"","sources":["../../../src/website/helpers/StyleHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StyleHelper.js","sourceRoot":"","sources":["../../../src/website/helpers/StyleHelper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@churchapps/apphelper",
3
- "version": "1.0.3",
3
+ "version": "1.1.0",
4
4
  "description": "Library of helper functions, components, and feature modules (donations/forms/login/markdown/website) for React and NextJS ChurchApps",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -138,7 +138,7 @@
138
138
  "slug": "^11.0.0"
139
139
  },
140
140
  "devDependencies": {
141
- "@churchapps/helpers": "^2.0.0",
141
+ "@churchapps/helpers": "^2.1.0",
142
142
  "@eslint/js": "^10.0.1",
143
143
  "@stripe/react-stripe-js": "^3.10.0",
144
144
  "@stripe/stripe-js": "^7.9.0",