@concord-consortium/lara-interactive-api 1.9.3-pre.3 → 1.9.3-pre.5

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/hooks.d.ts CHANGED
@@ -23,9 +23,10 @@ export interface IUseReportItemOptions<InteractiveState, AuthoredState> {
23
23
  export declare const useReportItem: <InteractiveState, AuthoredState>({ metadata, handler }: IUseReportItemOptions<InteractiveState, AuthoredState>) => void;
24
24
  export declare const DefaultAccessibilitySettings: IAccessibilitySettings;
25
25
  export interface IUseAccessibilityProps {
26
- updateHtmlFontSize?: boolean;
27
- updateBodyFontFamily?: boolean;
28
- addBodyClass?: boolean;
26
+ updateDOM?: {
27
+ enabled: boolean;
28
+ fontFamilySelector?: string;
29
+ };
29
30
  }
30
31
  export declare const useAccessibility: (props?: IUseAccessibilityProps | undefined) => IAccessibilitySettings;
31
32
  export {};
package/index-bundle.d.ts CHANGED
@@ -675,9 +675,10 @@ interface IUseReportItemOptions<InteractiveState, AuthoredState> {
675
675
  declare const useReportItem: <InteractiveState, AuthoredState>({ metadata, handler }: IUseReportItemOptions<InteractiveState, AuthoredState>) => void;
676
676
  declare const DefaultAccessibilitySettings: IAccessibilitySettings;
677
677
  interface IUseAccessibilityProps {
678
- updateHtmlFontSize?: boolean;
679
- updateBodyFontFamily?: boolean;
680
- addBodyClass?: boolean;
678
+ updateDOM?: {
679
+ enabled: boolean;
680
+ fontFamilySelector?: string;
681
+ };
681
682
  }
682
683
  declare const useAccessibility: (props?: IUseAccessibilityProps | undefined) => IAccessibilitySettings;
683
684
 
package/index.js CHANGED
@@ -5589,29 +5589,35 @@ exports.DefaultAccessibilitySettings = {
5589
5589
  fontFamilyForType: (0, accessibility_1.getFamilyForFontType)("normal"),
5590
5590
  };
5591
5591
  var useAccessibility = function (props) {
5592
- var _a = props || {}, updateHtmlFontSize = _a.updateHtmlFontSize, updateBodyFontFamily = _a.updateBodyFontFamily, addBodyClass = _a.addBodyClass;
5592
+ var updateDOM = (props || {}).updateDOM;
5593
5593
  var initMessage = (0, exports.useInitMessage)();
5594
- var _b = (0, react_1.useState)(exports.DefaultAccessibilitySettings), accessibility = _b[0], setAccessibility = _b[1];
5594
+ var _a = (0, react_1.useState)(exports.DefaultAccessibilitySettings), accessibility = _a[0], setAccessibility = _a[1];
5595
5595
  var normalizeClass = function (text) { return text.toLowerCase().replace(/\s/, "-"); };
5596
5596
  (0, react_1.useEffect)(function () {
5597
+ var _a;
5597
5598
  if (initMessage && initMessage.mode === "runtime") {
5598
5599
  var _accessibility = initMessage.accessibility || exports.DefaultAccessibilitySettings;
5599
5600
  var fontSize = _accessibility.fontSize, fontSizeInPx = _accessibility.fontSizeInPx, fontType = _accessibility.fontType, fontFamilyForType = _accessibility.fontFamilyForType;
5600
5601
  setAccessibility(_accessibility);
5601
- var html = document.getElementsByTagName("html").item(0);
5602
- var body = document.getElementsByTagName("body").item(0);
5603
- if (updateHtmlFontSize && (fontSize !== exports.DefaultAccessibilitySettings.fontSize) && html) {
5604
- html.style.fontSize = fontSizeInPx + "px";
5605
- }
5606
- if (updateBodyFontFamily && (fontType !== exports.DefaultAccessibilitySettings.fontType) && body) {
5607
- body.style.fontFamily = fontFamilyForType;
5608
- }
5609
- if (addBodyClass && body) {
5610
- body.classList.add("font-size-" + normalizeClass(fontSize));
5611
- body.classList.add("font-type-" + normalizeClass(fontType));
5602
+ if (updateDOM) {
5603
+ var fontFamilySelector = updateDOM.fontFamilySelector;
5604
+ var html = document.getElementsByTagName("html").item(0);
5605
+ var body = document.getElementsByTagName("body").item(0);
5606
+ if (html) {
5607
+ html.style.fontSize = fontSizeInPx + "px";
5608
+ }
5609
+ if (body) {
5610
+ body.classList.add("font-size-" + normalizeClass(fontSize));
5611
+ body.classList.add("font-type-" + normalizeClass(fontType));
5612
+ }
5613
+ if (fontFamilySelector) {
5614
+ var style = document.createElement("style");
5615
+ document.head.appendChild(style);
5616
+ (_a = style.sheet) === null || _a === void 0 ? void 0 : _a.insertRule(fontFamilySelector + " { font-family: " + fontFamilyForType + "; }", 0);
5617
+ }
5612
5618
  }
5613
5619
  }
5614
- }, [initMessage, updateHtmlFontSize]);
5620
+ }, [initMessage, updateDOM]);
5615
5621
  return accessibility;
5616
5622
  };
5617
5623
  exports.useAccessibility = useAccessibility;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@concord-consortium/lara-interactive-api",
3
- "version": "1.9.3-pre.3",
3
+ "version": "1.9.3-pre.5",
4
4
  "description": "LARA Interactive API client and types",
5
5
  "main": "./index.js",
6
6
  "types": "./index-bundle.d.ts",