@khanacademy/perseus-core 0.0.0-PR2951-20251017202853 → 0.0.0-PR2952-20251205225841
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/dist/analytics.d.ts +1 -0
- package/dist/es/index.item-splitting.js.map +1 -1
- package/dist/es/index.js +12 -6
- package/dist/es/index.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.item-splitting.js.map +1 -1
- package/dist/index.js +15 -5
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/utils/generators/free-response-widget-generator.d.ts +3 -0
- package/dist/utils/generators/video-widget-generator.d.ts +2 -0
- package/dist/utils/make-safe-url.d.ts +13 -0
- package/dist/widgets/expression/index.d.ts +0 -5
- package/dist/widgets/free-response/free-response-util.d.ts +1 -1
- package/dist/widgets/group/group-util.d.ts +1 -1
- package/dist/widgets/measurer/index.d.ts +0 -5
- package/dist/widgets/radio/index.d.ts +0 -5
- package/package.json +9 -6
package/dist/types.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export type InteractiveMarkerType = MarkerType & {
|
|
|
27
27
|
focused?: boolean;
|
|
28
28
|
};
|
|
29
29
|
export type Relationship = "eq" | "lt" | "gt" | "le" | "ge";
|
|
30
|
-
export type Alignment = "default" | "block" | "inline-block" | "inline" | "
|
|
30
|
+
export type Alignment = "default" | "block" | "inline-block" | "inline" | "wrap-left" | "wrap-right" | "full-width";
|
|
31
31
|
export type RecursiveReadonly<T> = {
|
|
32
32
|
readonly [K in keyof T]: RecursiveReadonly<T[K]>;
|
|
33
33
|
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { PerseusFreeResponseWidgetOptions, FreeResponseWidget } from "../../data-schema";
|
|
2
|
+
export declare function generateFreeResponseOptions(options?: Partial<PerseusFreeResponseWidgetOptions>): PerseusFreeResponseWidgetOptions;
|
|
3
|
+
export declare function generateFreeResponseWidget(freeResponseWidgetProperties?: Partial<Omit<FreeResponseWidget, "type">>): FreeResponseWidget;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Take the provided URL and make sure it can be parsed, it's of the
|
|
3
|
+
* expected origin, and has the specified locale.
|
|
4
|
+
*
|
|
5
|
+
* If it can't be parsed or if it's not of the expected origin, return null.
|
|
6
|
+
* Setting URL to null will display an error message in the iframe
|
|
7
|
+
*
|
|
8
|
+
* @param urlString - The URL to make safe.
|
|
9
|
+
* @param locale - The locale to use for the URL.
|
|
10
|
+
* @param expectedOrigin - The expected origin of the URL.
|
|
11
|
+
* @returns The safe URL, or null if the URL is not safe.
|
|
12
|
+
*/
|
|
13
|
+
export declare const makeSafeUrl: (urlString: string, locale: string, expectedOrigin: string) => URL | null;
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import type { PerseusExpressionWidgetOptions } from "../../data-schema";
|
|
2
2
|
import type { WidgetLogic } from "../logic-export.types";
|
|
3
|
-
export declare const currentVersion: {
|
|
4
|
-
major: number;
|
|
5
|
-
minor: number;
|
|
6
|
-
};
|
|
7
3
|
export type ExpressionDefaultWidgetOptions = Pick<PerseusExpressionWidgetOptions, "answerForms" | "times" | "buttonSets" | "functions">;
|
|
8
|
-
export declare const defaultWidgetOptions: ExpressionDefaultWidgetOptions;
|
|
9
4
|
declare const expressionWidgetLogic: WidgetLogic;
|
|
10
5
|
export default expressionWidgetLogic;
|
|
@@ -3,7 +3,7 @@ import type { PerseusFreeResponseWidgetOptions } from "../../data-schema";
|
|
|
3
3
|
* For details on the individual options, see the
|
|
4
4
|
* {@link PerseusFreeResponseWidgetOptions} type
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
type FreeResponsePublicWidgetOptions = {
|
|
7
7
|
allowUnlimitedCharacters: PerseusFreeResponseWidgetOptions["allowUnlimitedCharacters"];
|
|
8
8
|
characterLimit: PerseusFreeResponseWidgetOptions["characterLimit"];
|
|
9
9
|
placeholder: PerseusFreeResponseWidgetOptions["placeholder"];
|
|
@@ -3,7 +3,7 @@ import type { PerseusGroupWidgetOptions, PerseusRenderer } from "../../data-sche
|
|
|
3
3
|
* For details on the individual options, see the
|
|
4
4
|
* PerseusGroupWidgetOptions type
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
type GroupPublicWidgetOptions = PerseusRenderer;
|
|
7
7
|
/**
|
|
8
8
|
* Given a PerseusGroupWidgetOptions object, return a new object with only
|
|
9
9
|
* the public options that should be exposed to the client.
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import type { PerseusMeasurerWidgetOptions } from "../../data-schema";
|
|
2
2
|
import type { WidgetLogic } from "../logic-export.types";
|
|
3
|
-
export declare const currentVersion: {
|
|
4
|
-
major: number;
|
|
5
|
-
minor: number;
|
|
6
|
-
};
|
|
7
3
|
export type MeasurerDefaultWidgetOptions = Pick<PerseusMeasurerWidgetOptions, "box" | "image" | "showProtractor" | "showRuler" | "rulerLabel" | "rulerTicks" | "rulerPixels" | "rulerLength">;
|
|
8
|
-
export declare const defaultWidgetOptions: MeasurerDefaultWidgetOptions;
|
|
9
4
|
declare const measurerWidgetLogic: WidgetLogic;
|
|
10
5
|
export default measurerWidgetLogic;
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import type { PerseusRadioWidgetOptions } from "../../data-schema";
|
|
2
2
|
import type { WidgetLogic } from "../logic-export.types";
|
|
3
|
-
export declare const currentVersion: {
|
|
4
|
-
major: number;
|
|
5
|
-
minor: number;
|
|
6
|
-
};
|
|
7
3
|
export type RadioDefaultWidgetOptions = Pick<PerseusRadioWidgetOptions, "choices" | "randomize" | "hasNoneOfTheAbove" | "multipleSelect" | "countChoices" | "deselectEnabled">;
|
|
8
|
-
export declare const defaultWidgetOptions: RadioDefaultWidgetOptions;
|
|
9
4
|
declare const radioWidgetLogic: WidgetLogic;
|
|
10
5
|
export default radioWidgetLogic;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Shared Perseus infrastructure",
|
|
4
4
|
"author": "Khan Academy",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"version": "0.0.0-
|
|
6
|
+
"version": "0.0.0-PR2952-20251205225841",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
@@ -37,19 +37,22 @@
|
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"tiny-invariant": "1.3.1",
|
|
40
|
-
"@khanacademy/kas": "2.1.
|
|
41
|
-
"@khanacademy/perseus-utils": "2.1.
|
|
42
|
-
"@khanacademy/pure-markdown": "2.2.
|
|
40
|
+
"@khanacademy/kas": "2.1.6",
|
|
41
|
+
"@khanacademy/perseus-utils": "2.1.4",
|
|
42
|
+
"@khanacademy/pure-markdown": "2.2.4"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@khanacademy/wonder-stuff-core": "
|
|
45
|
+
"@khanacademy/wonder-stuff-core": "3.0.0",
|
|
46
46
|
"underscore": "1.4.4",
|
|
47
47
|
"perseus-build-settings": "0.9.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@khanacademy/wonder-stuff-core": "^
|
|
50
|
+
"@khanacademy/wonder-stuff-core": "^3.0.0",
|
|
51
51
|
"underscore": "^1.4.4"
|
|
52
52
|
},
|
|
53
53
|
"keywords": [],
|
|
54
|
+
"khan": {
|
|
55
|
+
"catalogHash": "5518368c71607fcf"
|
|
56
|
+
},
|
|
54
57
|
"scripts": {}
|
|
55
58
|
}
|