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

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
@@ -22,8 +22,10 @@ export interface IUseReportItemOptions<InteractiveState, AuthoredState> {
22
22
  }
23
23
  export declare const useReportItem: <InteractiveState, AuthoredState>({ metadata, handler }: IUseReportItemOptions<InteractiveState, AuthoredState>) => void;
24
24
  export declare const DefaultAccessibilitySettings: IAccessibilitySettings;
25
- export declare const useAccessibility: (props?: {
26
- updateHtmlFontSize?: boolean | undefined;
27
- addBodyClass?: boolean | undefined;
28
- } | undefined) => IAccessibilitySettings;
25
+ export interface IUseAccessibilityProps {
26
+ updateHtmlFontSize?: boolean;
27
+ updateBodyFontFamily?: boolean;
28
+ addBodyClass?: boolean;
29
+ }
30
+ export declare const useAccessibility: (props?: IUseAccessibilityProps | undefined) => IAccessibilitySettings;
29
31
  export {};
package/index-bundle.d.ts CHANGED
@@ -73,6 +73,8 @@ interface IHostFeatures extends Record<string, IHostFeatureSupport | string | un
73
73
  interface IAccessibilitySettings {
74
74
  fontSize: string;
75
75
  fontSizeInPx: number;
76
+ fontType: string;
77
+ fontFamilyForType: string;
76
78
  }
77
79
  interface IRuntimeInitInteractive<InteractiveState = {}, AuthoredState = {}, GlobalInteractiveState = {}> extends IInteractiveStateProps<InteractiveState> {
78
80
  version: 1;
@@ -672,10 +674,12 @@ interface IUseReportItemOptions<InteractiveState, AuthoredState> {
672
674
  }
673
675
  declare const useReportItem: <InteractiveState, AuthoredState>({ metadata, handler }: IUseReportItemOptions<InteractiveState, AuthoredState>) => void;
674
676
  declare const DefaultAccessibilitySettings: IAccessibilitySettings;
675
- declare const useAccessibility: (props?: {
676
- updateHtmlFontSize?: boolean | undefined;
677
- addBodyClass?: boolean | undefined;
678
- } | undefined) => IAccessibilitySettings;
677
+ interface IUseAccessibilityProps {
678
+ updateHtmlFontSize?: boolean;
679
+ updateBodyFontFamily?: boolean;
680
+ addBodyClass?: boolean;
681
+ }
682
+ declare const useAccessibility: (props?: IUseAccessibilityProps | undefined) => IAccessibilitySettings;
679
683
 
680
684
  declare type ManagedStateEvent = "interactiveStateUpdated" | "globalInteractiveStateUpdated" | "authoredStateUpdated" | "initInteractive";
681
685
  declare class ManagedState {
@@ -722,4 +726,4 @@ declare class Client {
722
726
  private connect;
723
727
  }
724
728
 
725
- export { AttachmentInfoMap, ChoiceId, Client, ClientMessage, DefaultAccessibilitySettings, DeprecatedRuntimeClientMessage, DeprecatedRuntimeServerMessage, GetAttachmentUrlParams, GlobalIFrameSaverClientMessage, GlobalIFrameSaverServerMessage, IAccessibilitySettings, IAddLinkedInteractiveStateListenerOptions, IAddLinkedInteractiveStateListenerRequest, IAttachmentInfo, IAttachmentUrlRequest, IAttachmentUrlResponse, IAuthInfo, IAuthoringClientMessage, IAuthoringCustomReportField, IAuthoringCustomReportFields, IAuthoringImageQuestionMetadata, IAuthoringInitInteractive, IAuthoringInteractiveMetadata, IAuthoringMetadata, IAuthoringMetadataBase, IAuthoringMultipleChoiceChoiceMetadata, IAuthoringMultipleChoiceMetadata, IAuthoringOpenResponseMetadata, IAuthoringServerMessage, IBaseShowModal, ICloseModal, IContextMember, IContextMembership, ICustomMessage, ICustomMessageHandler, ICustomMessageOptions, ICustomMessagesHandledMap, ICustomReportFieldsAuthoredState, ICustomReportFieldsAuthoredStateField, ICustomReportFieldsInteractiveState, IDataset, IDecoratedContentEvent, IGetAuthInfoRequest, IGetAuthInfoResponse, IGetFirebaseJwtRequest, IGetFirebaseJwtResponse, IGetInteractiveListOptions, IGetInteractiveListRequest, IGetInteractiveListResponse, IGetInteractiveSnapshotOptions, IGetInteractiveSnapshotRequest, IGetInteractiveSnapshotResponse, IGetInteractiveState, IGetLibraryInteractiveListOptions, IGetLibraryInteractiveListRequest, IGetLibraryInteractiveListResponse, IGetReportItemAnswer, IGetReportItemAnswerHandler, IHintRequest, IHostFeatureSupport, IHostFeatures, IHostModalSupport, IInitInteractive, IInteractiveListResponseItem, IInteractiveStateProps, IInteractiveStateWithDataset, IJwtClaims, IJwtResponse, ILibraryInteractiveListResponseItem, ILinkedInteractive, ILinkedInteractiveStateResponse, IMediaLibrary, IMediaLibraryItem, IMediaLibraryItemType, INavigationOptions, IPortalClaims, IRemoveLinkedInteractiveStateListenerRequest, IReportInitInteractive, IReportItemAnswer, IReportItemAnswerItem, IReportItemAnswerItemAnswerText, IReportItemAnswerItemAttachment, IReportItemAnswerItemHtml, IReportItemAnswerItemLinks, IReportItemAnswerItemScore, IReportItemClientMessage, IReportItemHandlerMetadata, IReportItemInitInteractive, IReportItemServerMessage, IRuntimeClientMessage, IRuntimeCustomReportValues, IRuntimeImageQuestionMetadata, IRuntimeInitInteractive, IRuntimeInteractiveMetadata, IRuntimeMetadata, IRuntimeMetadataBase, IRuntimeMultipleChoiceMetadata, IRuntimeOpenResponseMetadata, IRuntimeServerMessage, ISetLinkedInteractives, IShowAlert, IShowDialog, IShowLightbox, IShowModal, ISupportedFeatures, ISupportedFeaturesRequest, ITextDecorationHandler, ITextDecorationHandlerInfo, ITextDecorationInfo, IThemeInfo, IUseReportItemOptions, IWriteAttachmentRequest, IframePhoneServerMessage, InitInteractiveMode, InteractiveItemId, LoggerClientMessage, ModalType, OnUnloadFunction, ReadAttachmentParams, ReportItemsType, ServerMessage, WriteAttachmentParams, addAuthoredStateListener, addCustomMessageListener, addDecorateContentListener, addGetReportItemAnswerListener, addGlobalInteractiveStateListener, addInteractiveStateListener, addLinkedInteractiveStateListener, closeModal, flushStateUpdates, getAttachmentUrl, getAuthInfo, getAuthoredState, getClient, getFirebaseJwt, getGlobalInteractiveState, getInitInteractiveMessage, getInteractiveList, getInteractiveSnapshot, getInteractiveState, getLibraryInteractiveList, getMode, inIframe, log, notifyReportItemClientReady, postDecoratedContentEvent, readAttachment, removeAuthoredStateListener, removeCustomMessageListener, removeDecorateContentListener, removeGetReportItemAnswerListener, removeGlobalInteractiveStateListener, removeInteractiveStateListener, removeLinkedInteractiveStateListener, sendCustomMessage, sendReportItemAnswer, setAuthoredState, setGlobalInteractiveState, setHeight, setHint, setInteractiveState, setInteractiveStateTimeout, setLinkedInteractives, setNavigation, setOnUnload, setSupportedFeatures, showModal, useAccessibility, useAuthoredState, useAutoSetHeight, useCustomMessages, useDecorateContent, useGlobalInteractiveState, useInitMessage, useInteractiveState, useReportItem, writeAttachment };
729
+ export { AttachmentInfoMap, ChoiceId, Client, ClientMessage, DefaultAccessibilitySettings, DeprecatedRuntimeClientMessage, DeprecatedRuntimeServerMessage, GetAttachmentUrlParams, GlobalIFrameSaverClientMessage, GlobalIFrameSaverServerMessage, IAccessibilitySettings, IAddLinkedInteractiveStateListenerOptions, IAddLinkedInteractiveStateListenerRequest, IAttachmentInfo, IAttachmentUrlRequest, IAttachmentUrlResponse, IAuthInfo, IAuthoringClientMessage, IAuthoringCustomReportField, IAuthoringCustomReportFields, IAuthoringImageQuestionMetadata, IAuthoringInitInteractive, IAuthoringInteractiveMetadata, IAuthoringMetadata, IAuthoringMetadataBase, IAuthoringMultipleChoiceChoiceMetadata, IAuthoringMultipleChoiceMetadata, IAuthoringOpenResponseMetadata, IAuthoringServerMessage, IBaseShowModal, ICloseModal, IContextMember, IContextMembership, ICustomMessage, ICustomMessageHandler, ICustomMessageOptions, ICustomMessagesHandledMap, ICustomReportFieldsAuthoredState, ICustomReportFieldsAuthoredStateField, ICustomReportFieldsInteractiveState, IDataset, IDecoratedContentEvent, IGetAuthInfoRequest, IGetAuthInfoResponse, IGetFirebaseJwtRequest, IGetFirebaseJwtResponse, IGetInteractiveListOptions, IGetInteractiveListRequest, IGetInteractiveListResponse, IGetInteractiveSnapshotOptions, IGetInteractiveSnapshotRequest, IGetInteractiveSnapshotResponse, IGetInteractiveState, IGetLibraryInteractiveListOptions, IGetLibraryInteractiveListRequest, IGetLibraryInteractiveListResponse, IGetReportItemAnswer, IGetReportItemAnswerHandler, IHintRequest, IHostFeatureSupport, IHostFeatures, IHostModalSupport, IInitInteractive, IInteractiveListResponseItem, IInteractiveStateProps, IInteractiveStateWithDataset, IJwtClaims, IJwtResponse, ILibraryInteractiveListResponseItem, ILinkedInteractive, ILinkedInteractiveStateResponse, IMediaLibrary, IMediaLibraryItem, IMediaLibraryItemType, INavigationOptions, IPortalClaims, IRemoveLinkedInteractiveStateListenerRequest, IReportInitInteractive, IReportItemAnswer, IReportItemAnswerItem, IReportItemAnswerItemAnswerText, IReportItemAnswerItemAttachment, IReportItemAnswerItemHtml, IReportItemAnswerItemLinks, IReportItemAnswerItemScore, IReportItemClientMessage, IReportItemHandlerMetadata, IReportItemInitInteractive, IReportItemServerMessage, IRuntimeClientMessage, IRuntimeCustomReportValues, IRuntimeImageQuestionMetadata, IRuntimeInitInteractive, IRuntimeInteractiveMetadata, IRuntimeMetadata, IRuntimeMetadataBase, IRuntimeMultipleChoiceMetadata, IRuntimeOpenResponseMetadata, IRuntimeServerMessage, ISetLinkedInteractives, IShowAlert, IShowDialog, IShowLightbox, IShowModal, ISupportedFeatures, ISupportedFeaturesRequest, ITextDecorationHandler, ITextDecorationHandlerInfo, ITextDecorationInfo, IThemeInfo, IUseAccessibilityProps, IUseReportItemOptions, IWriteAttachmentRequest, IframePhoneServerMessage, InitInteractiveMode, InteractiveItemId, LoggerClientMessage, ModalType, OnUnloadFunction, ReadAttachmentParams, ReportItemsType, ServerMessage, WriteAttachmentParams, addAuthoredStateListener, addCustomMessageListener, addDecorateContentListener, addGetReportItemAnswerListener, addGlobalInteractiveStateListener, addInteractiveStateListener, addLinkedInteractiveStateListener, closeModal, flushStateUpdates, getAttachmentUrl, getAuthInfo, getAuthoredState, getClient, getFirebaseJwt, getGlobalInteractiveState, getInitInteractiveMessage, getInteractiveList, getInteractiveSnapshot, getInteractiveState, getLibraryInteractiveList, getMode, inIframe, log, notifyReportItemClientReady, postDecoratedContentEvent, readAttachment, removeAuthoredStateListener, removeCustomMessageListener, removeDecorateContentListener, removeGetReportItemAnswerListener, removeGlobalInteractiveStateListener, removeInteractiveStateListener, removeLinkedInteractiveStateListener, sendCustomMessage, sendReportItemAnswer, setAuthoredState, setGlobalInteractiveState, setHeight, setHint, setInteractiveState, setInteractiveStateTimeout, setLinkedInteractives, setNavigation, setOnUnload, setSupportedFeatures, showModal, useAccessibility, useAuthoredState, useAutoSetHeight, useCustomMessages, useDecorateContent, useGlobalInteractiveState, useInitMessage, useInteractiveState, useReportItem, writeAttachment };
package/index.js CHANGED
@@ -5432,6 +5432,7 @@ exports.useAccessibility = exports.DefaultAccessibilitySettings = exports.useRep
5432
5432
  var react_1 = __webpack_require__(/*! react */ "react");
5433
5433
  var resize_observer_polyfill_1 = __webpack_require__(/*! resize-observer-polyfill */ "./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js");
5434
5434
  var client = __webpack_require__(/*! ./api */ "./src/interactive-api-client/api.ts");
5435
+ var accessibility_1 = __webpack_require__(/*! ../shared/accessibility */ "./src/shared/accessibility.ts");
5435
5436
  var handleUpdate = function (newStateOrUpdateFunc, prevState) {
5436
5437
  if (typeof newStateOrUpdateFunc === "function") {
5437
5438
  return newStateOrUpdateFunc(prevState);
@@ -5583,28 +5584,31 @@ var useReportItem = function (_a) {
5583
5584
  exports.useReportItem = useReportItem;
5584
5585
  exports.DefaultAccessibilitySettings = {
5585
5586
  fontSize: "normal",
5586
- fontSizeInPx: 16
5587
+ fontSizeInPx: 16,
5588
+ fontType: "normal",
5589
+ fontFamilyForType: (0, accessibility_1.getFamilyForFontType)("normal"),
5587
5590
  };
5588
5591
  var useAccessibility = function (props) {
5589
- var _a = props || {}, updateHtmlFontSize = _a.updateHtmlFontSize, addBodyClass = _a.addBodyClass;
5592
+ var _a = props || {}, updateHtmlFontSize = _a.updateHtmlFontSize, updateBodyFontFamily = _a.updateBodyFontFamily, addBodyClass = _a.addBodyClass;
5590
5593
  var initMessage = (0, exports.useInitMessage)();
5591
5594
  var _b = (0, react_1.useState)(exports.DefaultAccessibilitySettings), accessibility = _b[0], setAccessibility = _b[1];
5595
+ var normalizeClass = function (text) { return text.toLowerCase().replace(/\s/, "-"); };
5592
5596
  (0, react_1.useEffect)(function () {
5593
5597
  if (initMessage && initMessage.mode === "runtime") {
5594
5598
  var _accessibility = initMessage.accessibility || exports.DefaultAccessibilitySettings;
5595
- var fontSize = _accessibility.fontSize, fontSizeInPx = _accessibility.fontSizeInPx;
5599
+ var fontSize = _accessibility.fontSize, fontSizeInPx = _accessibility.fontSizeInPx, fontType = _accessibility.fontType, fontFamilyForType = _accessibility.fontFamilyForType;
5596
5600
  setAccessibility(_accessibility);
5597
- if (updateHtmlFontSize && (fontSizeInPx !== exports.DefaultAccessibilitySettings.fontSizeInPx)) {
5598
- var html = document.getElementsByTagName("html").item(0);
5599
- if (html) {
5600
- html.style.fontSize = fontSizeInPx + "px";
5601
- }
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";
5602
5605
  }
5603
- if (addBodyClass) {
5604
- var body = document.getElementsByTagName("body").item(0);
5605
- if (body) {
5606
- body.classList.add("font-size-" + fontSize.toLowerCase().replace(/\s/, "-"));
5607
- }
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));
5608
5612
  }
5609
5613
  }
5610
5614
  }, [initMessage, updateHtmlFontSize]);
@@ -5830,6 +5834,36 @@ __exportStar(__webpack_require__(/*! ../interactive-api-shared/types */ "./src/i
5830
5834
  Object.defineProperty(exports, "__esModule", { value: true });
5831
5835
 
5832
5836
 
5837
+ /***/ }),
5838
+
5839
+ /***/ "./src/shared/accessibility.ts":
5840
+ /*!*************************************!*\
5841
+ !*** ./src/shared/accessibility.ts ***!
5842
+ \*************************************/
5843
+ /*! no static exports found */
5844
+ /***/ (function(module, exports, __webpack_require__) {
5845
+
5846
+ "use strict";
5847
+
5848
+ Object.defineProperty(exports, "__esModule", { value: true });
5849
+ exports.getFamilyForFontType = exports.pxForFontSize = void 0;
5850
+ var pxForFontSize = function (fontSize) {
5851
+ if (fontSize === "large") {
5852
+ return 22;
5853
+ }
5854
+ return 16;
5855
+ };
5856
+ exports.pxForFontSize = pxForFontSize;
5857
+ var getFamilyForFontType = function (fontType) {
5858
+ var baseFontFamily = "'Lato', arial, helvetica, sans-serif;";
5859
+ if (fontType === "notebook") {
5860
+ return "'Andika', " + baseFontFamily;
5861
+ }
5862
+ return baseFontFamily;
5863
+ };
5864
+ exports.getFamilyForFontType = getFamilyForFontType;
5865
+
5866
+
5833
5867
  /***/ }),
5834
5868
 
5835
5869
  /***/ "react":
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@concord-consortium/lara-interactive-api",
3
- "version": "1.9.3-pre.1",
3
+ "version": "1.9.3-pre.3",
4
4
  "description": "LARA Interactive API client and types",
5
5
  "main": "./index.js",
6
6
  "types": "./index-bundle.d.ts",