@concord-consortium/lara-interactive-api 1.9.3-pre.1 → 1.9.3-pre.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.
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
+ updateHtmlFontFamily?: 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
+ updateHtmlFontFamily?: 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,27 +5584,36 @@ 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, updateHtmlFontFamily = _a.updateHtmlFontFamily, 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)) {
5601
+ if (updateHtmlFontSize || updateHtmlFontFamily) {
5598
5602
  var html = document.getElementsByTagName("html").item(0);
5599
5603
  if (html) {
5600
- html.style.fontSize = fontSizeInPx + "px";
5604
+ if (updateHtmlFontSize && (fontSizeInPx !== exports.DefaultAccessibilitySettings.fontSizeInPx)) {
5605
+ html.style.fontSize = fontSizeInPx + "px";
5606
+ }
5607
+ if (updateHtmlFontFamily && (fontType !== exports.DefaultAccessibilitySettings.fontType)) {
5608
+ html.style.fontFamily = fontFamilyForType;
5609
+ }
5601
5610
  }
5602
5611
  }
5603
5612
  if (addBodyClass) {
5604
5613
  var body = document.getElementsByTagName("body").item(0);
5605
5614
  if (body) {
5606
- body.classList.add("font-size-" + fontSize.toLowerCase().replace(/\s/, "-"));
5615
+ body.classList.add("font-size-" + normalizeClass(fontSize));
5616
+ body.classList.add("font-type-" + normalizeClass(fontType));
5607
5617
  }
5608
5618
  }
5609
5619
  }
@@ -5830,6 +5840,36 @@ __exportStar(__webpack_require__(/*! ../interactive-api-shared/types */ "./src/i
5830
5840
  Object.defineProperty(exports, "__esModule", { value: true });
5831
5841
 
5832
5842
 
5843
+ /***/ }),
5844
+
5845
+ /***/ "./src/shared/accessibility.ts":
5846
+ /*!*************************************!*\
5847
+ !*** ./src/shared/accessibility.ts ***!
5848
+ \*************************************/
5849
+ /*! no static exports found */
5850
+ /***/ (function(module, exports, __webpack_require__) {
5851
+
5852
+ "use strict";
5853
+
5854
+ Object.defineProperty(exports, "__esModule", { value: true });
5855
+ exports.getFamilyForFontType = exports.pxForFontSize = void 0;
5856
+ var pxForFontSize = function (fontSize) {
5857
+ if (fontSize === "large") {
5858
+ return 22;
5859
+ }
5860
+ return 16;
5861
+ };
5862
+ exports.pxForFontSize = pxForFontSize;
5863
+ var getFamilyForFontType = function (fontType) {
5864
+ var baseFontFamily = "'Lato', arial, helvetica, sans-serif;";
5865
+ if (fontType === "notebook") {
5866
+ return "'Andika', " + baseFontFamily;
5867
+ }
5868
+ return baseFontFamily;
5869
+ };
5870
+ exports.getFamilyForFontType = getFamilyForFontType;
5871
+
5872
+
5833
5873
  /***/ }),
5834
5874
 
5835
5875
  /***/ "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.2",
4
4
  "description": "LARA Interactive API client and types",
5
5
  "main": "./index.js",
6
6
  "types": "./index-bundle.d.ts",