@khanacademy/perseus 19.1.5 → 19.1.7
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/components/graph.d.ts +0 -1
- package/dist/components/graphie.d.ts +0 -1
- package/dist/es/index.js +319 -212
- package/dist/es/index.js.map +1 -1
- package/dist/index.js +338 -222
- package/dist/index.js.map +1 -1
- package/dist/interactive2/movable-point.d.ts +195 -1
- package/dist/interactive2/movable.d.ts +1 -1
- package/dist/interactive2/types.d.ts +4 -2
- package/dist/interactive2.d.ts +2 -1
- package/dist/server-item-renderer.d.ts +2 -2
- package/dist/util/graphie.d.ts +12 -2
- package/dist/widgets/expression.d.ts +6 -6
- package/package.json +11 -8
- package/.babelrc.js +0 -8
- package/.eslintrc.js +0 -12
- package/CHANGELOG.md +0 -1432
- package/src/__stories__/article-renderer.stories.tsx +0 -100
- package/src/__stories__/hints-renderer.stories.tsx +0 -55
- package/src/__stories__/server-item-renderer.stories.tsx +0 -44
- package/src/__testdata__/article-renderer.testdata.ts +0 -212
- package/src/__testdata__/graphie.testdata.ts +0 -51
- package/src/__testdata__/renderer.testdata.ts +0 -274
- package/src/__testdata__/server-item-renderer.testdata.ts +0 -171
- package/src/__tests__/__snapshots__/perseus-markdown.test.ts.snap +0 -507
- package/src/__tests__/__snapshots__/renderer.test.tsx.snap +0 -525
- package/src/__tests__/__snapshots__/server-item-renderer.test.tsx.snap +0 -285
- package/src/__tests__/a11y.test.ts +0 -303
- package/src/__tests__/article-renderer.test.tsx +0 -130
- package/src/__tests__/error-boundary.test.tsx +0 -76
- package/src/__tests__/extract-perseus-data.test.ts +0 -1027
- package/src/__tests__/init.test.ts +0 -10
- package/src/__tests__/jipt-paragraphs.test.ts +0 -32
- package/src/__tests__/mock-asset-loading-widget.tsx +0 -53
- package/src/__tests__/mock-widget.tsx +0 -33
- package/src/__tests__/perseus-markdown.test.ts +0 -764
- package/src/__tests__/renderability.test.ts +0 -480
- package/src/__tests__/renderer-api.test.tsx +0 -302
- package/src/__tests__/renderer.test.tsx +0 -1816
- package/src/__tests__/server-item-renderer.test.tsx +0 -582
- package/src/__tests__/test-items/image-item.ts +0 -24
- package/src/__tests__/test-items/input-number-1-item.ts +0 -26
- package/src/__tests__/test-items/input-number-2-item.ts +0 -38
- package/src/__tests__/test-items/table-item.ts +0 -29
- package/src/__tests__/tex-wrangler.test.ts +0 -82
- package/src/__tests__/util.test.ts +0 -40
- package/src/__tests__/widget-container.test.tsx +0 -126
- package/src/__tests__/widgets.test.ts +0 -91
- package/src/a11y.ts +0 -45
- package/src/all-widgets.ts +0 -9
- package/src/article-renderer.tsx +0 -237
- package/src/asset-context.ts +0 -30
- package/src/basic-widgets.ts +0 -16
- package/src/components/__stories__/button-group.stories.tsx +0 -55
- package/src/components/__stories__/fixed-to-responsive.stories.tsx +0 -141
- package/src/components/__stories__/graph.stories.tsx +0 -28
- package/src/components/__stories__/graphie.stories.tsx +0 -33
- package/src/components/__stories__/hud.stories.tsx +0 -35
- package/src/components/__stories__/icon.stories.tsx +0 -63
- package/src/components/__stories__/image-loader.stories.tsx +0 -63
- package/src/components/__stories__/info-tip.stories.tsx +0 -31
- package/src/components/__stories__/inline-icon.stories.tsx +0 -40
- package/src/components/__stories__/input-with-examples.stories.tsx +0 -53
- package/src/components/__stories__/lint.stories.tsx +0 -86
- package/src/components/__stories__/math-input.stories.tsx +0 -43
- package/src/components/__stories__/math-output.stories.tsx +0 -23
- package/src/components/__stories__/multi-button-group.stories.tsx +0 -66
- package/src/components/__stories__/number-input.stories.tsx +0 -41
- package/src/components/__stories__/prop-check-box.stories.tsx +0 -65
- package/src/components/__stories__/range-input.stories.tsx +0 -29
- package/src/components/__stories__/simple-keypad-input.stories.tsx +0 -27
- package/src/components/__stories__/sortable.stories.tsx +0 -77
- package/src/components/__stories__/stub-tag-editor.stories.tsx +0 -45
- package/src/components/__stories__/svg-image.stories.tsx +0 -74
- package/src/components/__stories__/tex.stories.tsx +0 -23
- package/src/components/__stories__/text-input.stories.tsx +0 -33
- package/src/components/__stories__/text-list-editor.stories.tsx +0 -32
- package/src/components/__stories__/tooltip.stories.tsx +0 -52
- package/src/components/__stories__/zoomable-tex.stories.tsx +0 -41
- package/src/components/__stories__/zoomable.stories.tsx +0 -49
- package/src/components/__testdata__/sorter.testdata.ts +0 -19
- package/src/components/__tests__/__snapshots__/sortable.test.tsx.snap +0 -163
- package/src/components/__tests__/__snapshots__/sorter.test.tsx.snap +0 -265
- package/src/components/__tests__/math-input.test.tsx +0 -147
- package/src/components/__tests__/number-input.test.tsx +0 -128
- package/src/components/__tests__/sortable.test.tsx +0 -269
- package/src/components/__tests__/sorter.test.tsx +0 -114
- package/src/components/__tests__/zoomable.test.tsx +0 -399
- package/src/components/button-group.tsx +0 -130
- package/src/components/constants.ts +0 -14
- package/src/components/fixed-to-responsive.tsx +0 -169
- package/src/components/graph.tsx +0 -444
- package/src/components/graphie-classes.ts +0 -153
- package/src/components/graphie-movables.ts +0 -338
- package/src/components/graphie.tsx +0 -400
- package/src/components/highlighting/highlightable-content.tsx +0 -240
- package/src/components/highlighting/highlights.ts +0 -207
- package/src/components/highlighting/ranges.ts +0 -304
- package/src/components/highlighting/types.ts +0 -73
- package/src/components/highlighting/ui/highlight-renderer.tsx +0 -172
- package/src/components/highlighting/ui/highlight-set-renderer.tsx +0 -185
- package/src/components/highlighting/ui/highlight-tooltip.tsx +0 -141
- package/src/components/highlighting/ui/highlighting-ui.tsx +0 -143
- package/src/components/highlighting/ui/selection-tracker.tsx +0 -186
- package/src/components/highlighting/ui/types.ts +0 -21
- package/src/components/highlighting/ui/util.ts +0 -165
- package/src/components/highlighting/word-indexer.tsx +0 -152
- package/src/components/hud.tsx +0 -167
- package/src/components/icon.tsx +0 -141
- package/src/components/image-loader.tsx +0 -177
- package/src/components/info-tip/info-tip.tsx +0 -144
- package/src/components/info-tip.tsx +0 -39
- package/src/components/inline-icon.tsx +0 -60
- package/src/components/input-with-examples.tsx +0 -249
- package/src/components/lint.tsx +0 -459
- package/src/components/math-input.tsx +0 -474
- package/src/components/math-output.tsx +0 -134
- package/src/components/multi-button-group.tsx +0 -135
- package/src/components/number-input.tsx +0 -249
- package/src/components/prop-check-box.tsx +0 -79
- package/src/components/range-input.tsx +0 -60
- package/src/components/simple-keypad-input.tsx +0 -88
- package/src/components/sortable.tsx +0 -958
- package/src/components/stub-tag-editor.tsx +0 -53
- package/src/components/svg-image.tsx +0 -779
- package/src/components/tex.tsx +0 -67
- package/src/components/text-input.tsx +0 -129
- package/src/components/text-list-editor.tsx +0 -166
- package/src/components/tooltip.tsx +0 -410
- package/src/components/visibility-observer/__stories__/visibility-observer.stories.tsx +0 -141
- package/src/components/visibility-observer/create-visibility-observer.ts +0 -108
- package/src/components/visibility-observer/get-scroll-parent.ts +0 -46
- package/src/components/visibility-observer/visibility-observer.tsx +0 -124
- package/src/components/zoomable-tex.tsx +0 -78
- package/src/components/zoomable.tsx +0 -304
- package/src/components.ts +0 -15
- package/src/definition-context.tsx +0 -59
- package/src/dependencies.ts +0 -40
- package/src/error-boundary.tsx +0 -70
- package/src/extra-widgets.ts +0 -75
- package/src/hint-renderer.tsx +0 -151
- package/src/hints-renderer.tsx +0 -372
- package/src/icon-paths.ts +0 -119
- package/src/index.ts +0 -171
- package/src/init.ts +0 -56
- package/src/interaction-tracker.ts +0 -62
- package/src/interactive2/__tests__/movable-mock.ts +0 -55
- package/src/interactive2/__tests__/movable-point.test.ts +0 -144
- package/src/interactive2/interactive-util.test.ts +0 -93
- package/src/interactive2/interactive-util.ts +0 -159
- package/src/interactive2/movable-helper-methods.ts +0 -166
- package/src/interactive2/movable-line-options.ts +0 -419
- package/src/interactive2/movable-line.ts +0 -307
- package/src/interactive2/movable-point-options.ts +0 -224
- package/src/interactive2/movable-point.tsx +0 -585
- package/src/interactive2/movable-polygon-options.ts +0 -389
- package/src/interactive2/movable-polygon.ts +0 -360
- package/src/interactive2/movable.test.ts +0 -249
- package/src/interactive2/movable.ts +0 -437
- package/src/interactive2/objective_.ts +0 -79
- package/src/interactive2/types.ts +0 -17
- package/src/interactive2/wrapped-defaults.ts +0 -87
- package/src/interactive2/wrapped-ellipse.ts +0 -94
- package/src/interactive2/wrapped-line.ts +0 -116
- package/src/interactive2/wrapped-path.ts +0 -51
- package/src/interactive2.ts +0 -70
- package/src/item-version.ts +0 -10
- package/src/jipt-paragraphs.ts +0 -49
- package/src/jquery.mobile.vmouse.js +0 -545
- package/src/loading-context.ts +0 -21
- package/src/logging/log.test.ts +0 -39
- package/src/logging/log.ts +0 -97
- package/src/mixins/__tests__/widget-prop-denylist.test.ts +0 -21
- package/src/mixins/changeable.ts +0 -133
- package/src/mixins/editor-jsonify.ts +0 -13
- package/src/mixins/widget-jsonify-deprecated.ts +0 -23
- package/src/mixins/widget-prop-denylist.ts +0 -48
- package/src/multi-items/__stories__/multi-renderer.stories.tsx +0 -83
- package/src/multi-items/__testdata__/multi-renderer.testdata.ts +0 -172
- package/src/multi-items/__tests__/__snapshots__/multi-renderer.test.tsx.snap +0 -1164
- package/src/multi-items/__tests__/items.test.ts +0 -240
- package/src/multi-items/__tests__/multi-renderer.test.tsx +0 -914
- package/src/multi-items/__tests__/prop-type-builders.test.ts +0 -133
- package/src/multi-items/__tests__/shapes.test.ts +0 -43
- package/src/multi-items/__tests__/trees.test.ts +0 -317
- package/src/multi-items/item-types.ts +0 -56
- package/src/multi-items/items.ts +0 -176
- package/src/multi-items/multi-renderer.tsx +0 -569
- package/src/multi-items/prop-type-builders.ts +0 -106
- package/src/multi-items/shape-types.ts +0 -52
- package/src/multi-items/shapes.ts +0 -52
- package/src/multi-items/tree-types.ts +0 -47
- package/src/multi-items/trees.ts +0 -360
- package/src/multi-items.ts +0 -75
- package/src/perseus-api.tsx +0 -188
- package/src/perseus-env.ts +0 -27
- package/src/perseus-error.ts +0 -17
- package/src/perseus-markdown.tsx +0 -405
- package/src/perseus-types.ts +0 -1366
- package/src/perseus-version.ts +0 -9
- package/src/question-paragraph.tsx +0 -34
- package/src/renderability.ts +0 -109
- package/src/renderer.tsx +0 -2000
- package/src/server-item-renderer.tsx +0 -495
- package/src/sigfigs.ts +0 -490
- package/src/styles/articles.less +0 -749
- package/src/styles/constants.ts +0 -94
- package/src/styles/global-constants.ts +0 -343
- package/src/styles/global-styles.ts +0 -306
- package/src/styles/khan-exercise.css +0 -1468
- package/src/styles/media-queries.ts +0 -47
- package/src/styles/perseus-renderer.less +0 -732
- package/src/styles/shared.ts +0 -130
- package/src/styles/util.less +0 -47
- package/src/styles/variables.boostrap.less +0 -277
- package/src/styles/variables.less +0 -56
- package/src/styles/variables.shared.less +0 -340
- package/src/styles/widgets/categorizer.less +0 -38
- package/src/styles/widgets/dropdown.less +0 -3
- package/src/styles/widgets/expression.less +0 -65
- package/src/styles/widgets/graded-group.less +0 -36
- package/src/styles/widgets/grapher.less +0 -12
- package/src/styles/widgets/group.less +0 -19
- package/src/styles/widgets/image.less +0 -54
- package/src/styles/widgets/interactive-graph.less +0 -64
- package/src/styles/widgets/label-image.less +0 -57
- package/src/styles/widgets/matcher.less +0 -8
- package/src/styles/widgets/matrix.less +0 -126
- package/src/styles/widgets/measurer.less +0 -20
- package/src/styles/widgets/orderer.less +0 -98
- package/src/styles/widgets/passage.less +0 -154
- package/src/styles/widgets/plotter.less +0 -31
- package/src/styles/widgets/radio.less +0 -58
- package/src/styles/widgets/reaction-diagram.less +0 -35
- package/src/styles/widgets/sequence.less +0 -5
- package/src/styles/widgets/sortable.less +0 -113
- package/src/styles/widgets/table.less +0 -57
- package/src/styles/widgets/unit.less +0 -15
- package/src/tex-wrangler.ts +0 -182
- package/src/translation-linter.ts +0 -126
- package/src/traversal.ts +0 -138
- package/src/types.ts +0 -513
- package/src/util/a11y.ts +0 -23
- package/src/util/answer-types.test.ts +0 -114
- package/src/util/answer-types.ts +0 -876
- package/src/util/colors.ts +0 -93
- package/src/util/drawing-transform.test.ts +0 -67
- package/src/util/drawing-transform.ts +0 -102
- package/src/util/extract-perseus-data.ts +0 -539
- package/src/util/fix-passage-refs.ts +0 -121
- package/src/util/geometry.test.ts +0 -75
- package/src/util/geometry.ts +0 -312
- package/src/util/graph-bounds.ts +0 -23
- package/src/util/graph-utils.ts +0 -15
- package/src/util/graphie.test.ts +0 -1277
- package/src/util/graphie.ts +0 -1576
- package/src/util/interactive.ts +0 -4174
- package/src/util/interval.ts +0 -4
- package/src/util/katex-preprocess.ts +0 -14
- package/src/util/math.test.ts +0 -11
- package/src/util/math.ts +0 -294
- package/src/util/mobile-native-utils.test.ts +0 -22
- package/src/util/mobile-native-utils.ts +0 -12
- package/src/util/parse-perseus-json.test.ts +0 -10
- package/src/util/parse-perseus-json.ts +0 -13
- package/src/util/react-render.tsx +0 -27
- package/src/util/register-all-widgets-for-testing.ts +0 -13
- package/src/util/scroll-utils.ts +0 -155
- package/src/util/sizing-utils.ts +0 -46
- package/src/util/tex.ts +0 -73
- package/src/util/url-utils.ts +0 -34
- package/src/util.graphie.test.ts +0 -45
- package/src/util.graphie.ts +0 -59
- package/src/util.ts +0 -966
- package/src/version.ts +0 -10
- package/src/widget-container.tsx +0 -199
- package/src/widgets/__stories__/categorizer.stories.tsx +0 -14
- package/src/widgets/__stories__/cs-program.stories.tsx +0 -14
- package/src/widgets/__stories__/definition.stories.tsx +0 -114
- package/src/widgets/__stories__/dropdown.stories.tsx +0 -14
- package/src/widgets/__stories__/explanation.stories.tsx +0 -18
- package/src/widgets/__stories__/expression.stories.tsx +0 -145
- package/src/widgets/__stories__/graded-group-set.stories.tsx +0 -31
- package/src/widgets/__stories__/graded-group.stories.tsx +0 -31
- package/src/widgets/__stories__/grapher.stories.tsx +0 -46
- package/src/widgets/__stories__/group.stories.tsx +0 -14
- package/src/widgets/__stories__/iframe.stories.tsx +0 -14
- package/src/widgets/__stories__/image.stories.tsx +0 -85
- package/src/widgets/__stories__/input-number.stories.tsx +0 -101
- package/src/widgets/__stories__/interaction.stories.tsx +0 -14
- package/src/widgets/__stories__/interactive-graph.stories.tsx +0 -60
- package/src/widgets/__stories__/label-image.stories.tsx +0 -130
- package/src/widgets/__stories__/matcher.stories.tsx +0 -14
- package/src/widgets/__stories__/matrix.stories.tsx +0 -14
- package/src/widgets/__stories__/number-line.stories.tsx +0 -14
- package/src/widgets/__stories__/numeric-input.stories.tsx +0 -105
- package/src/widgets/__stories__/orderer.stories.tsx +0 -18
- package/src/widgets/__stories__/passage-ref.stories.tsx +0 -33
- package/src/widgets/__stories__/passage.stories.tsx +0 -39
- package/src/widgets/__stories__/plotter.stories.tsx +0 -27
- package/src/widgets/__stories__/radio.stories.tsx +0 -86
- package/src/widgets/__stories__/random-widgets.stories.tsx +0 -59
- package/src/widgets/__stories__/sorter.stories.tsx +0 -14
- package/src/widgets/__stories__/test-keypad-context-wrapper.tsx +0 -66
- package/src/widgets/__stories__/unit.stories.tsx +0 -28
- package/src/widgets/__stories__/video-transcript-link.stories.tsx +0 -23
- package/src/widgets/__stories__/video.stories.tsx +0 -22
- package/src/widgets/__testdata__/base-radio.testdata.ts +0 -21
- package/src/widgets/__testdata__/categorizer.testdata.ts +0 -89
- package/src/widgets/__testdata__/cs-program.testdata.ts +0 -27
- package/src/widgets/__testdata__/dropdown.testdata.ts +0 -71
- package/src/widgets/__testdata__/explanation.testdata.ts +0 -85
- package/src/widgets/__testdata__/expression.testdata.ts +0 -198
- package/src/widgets/__testdata__/graded-group-set.testdata.ts +0 -356
- package/src/widgets/__testdata__/graded-group.testdata.ts +0 -77
- package/src/widgets/__testdata__/grapher.testdata.ts +0 -374
- package/src/widgets/__testdata__/group.testdata.ts +0 -153
- package/src/widgets/__testdata__/iframe.testdata.ts +0 -35
- package/src/widgets/__testdata__/image.testdata.ts +0 -36
- package/src/widgets/__testdata__/input-number.testdata.ts +0 -72
- package/src/widgets/__testdata__/interaction.testdata.ts +0 -262
- package/src/widgets/__testdata__/interactive-graph-random.testdata.ts +0 -269
- package/src/widgets/__testdata__/interactive-graph.testdata.ts +0 -644
- package/src/widgets/__testdata__/label-image.testdata.ts +0 -308
- package/src/widgets/__testdata__/matcher.testdata.ts +0 -33
- package/src/widgets/__testdata__/matrix.testdata.ts +0 -28
- package/src/widgets/__testdata__/number-line.testdata.ts +0 -30
- package/src/widgets/__testdata__/numeric-input.testdata.ts +0 -265
- package/src/widgets/__testdata__/orderer.testdata.ts +0 -123
- package/src/widgets/__testdata__/passage-ref.testdata.ts +0 -101
- package/src/widgets/__testdata__/passage.testdata.ts +0 -95
- package/src/widgets/__testdata__/plotter.testdata.ts +0 -36
- package/src/widgets/__testdata__/radio.testdata.ts +0 -324
- package/src/widgets/__testdata__/randomizers.ts +0 -51
- package/src/widgets/__testdata__/sorter.testdata.ts +0 -19
- package/src/widgets/__testdata__/video.testdata.ts +0 -61
- package/src/widgets/__tests__/__snapshots__/categorizer.test.ts.snap +0 -940
- package/src/widgets/__tests__/__snapshots__/cs-program.test.ts.snap +0 -67
- package/src/widgets/__tests__/__snapshots__/definition.test.ts.snap +0 -97
- package/src/widgets/__tests__/__snapshots__/dropdown.test.ts.snap +0 -133
- package/src/widgets/__tests__/__snapshots__/explanation.test.ts.snap +0 -425
- package/src/widgets/__tests__/__snapshots__/graded-group-set-jipt.test.ts.snap +0 -729
- package/src/widgets/__tests__/__snapshots__/graded-group-set.test.ts.snap +0 -339
- package/src/widgets/__tests__/__snapshots__/graded-group.test.ts.snap +0 -801
- package/src/widgets/__tests__/__snapshots__/grapher.test.ts.snap +0 -2673
- package/src/widgets/__tests__/__snapshots__/group.test.tsx.snap +0 -1211
- package/src/widgets/__tests__/__snapshots__/iframe.test.ts.snap +0 -61
- package/src/widgets/__tests__/__snapshots__/image.test.ts.snap +0 -378
- package/src/widgets/__tests__/__snapshots__/input-number.test.ts.snap +0 -495
- package/src/widgets/__tests__/__snapshots__/interaction.test.ts.snap +0 -292
- package/src/widgets/__tests__/__snapshots__/interactive-graph.test.ts.snap +0 -2889
- package/src/widgets/__tests__/__snapshots__/matcher.test.tsx.snap +0 -883
- package/src/widgets/__tests__/__snapshots__/matrix.test.ts.snap +0 -514
- package/src/widgets/__tests__/__snapshots__/number-line.test.ts.snap +0 -814
- package/src/widgets/__tests__/__snapshots__/numeric-input.test.ts.snap +0 -470
- package/src/widgets/__tests__/__snapshots__/orderer.test.ts.snap +0 -243
- package/src/widgets/__tests__/__snapshots__/passage-ref.test.ts.snap +0 -434
- package/src/widgets/__tests__/__snapshots__/passage.test.tsx.snap +0 -1956
- package/src/widgets/__tests__/__snapshots__/plotter.test.tsx.snap +0 -827
- package/src/widgets/__tests__/__snapshots__/radio.test.ts.snap +0 -4237
- package/src/widgets/__tests__/__snapshots__/unit.test.tsx.snap +0 -20
- package/src/widgets/__tests__/__snapshots__/video.test.ts.snap +0 -153
- package/src/widgets/__tests__/categorizer.test.ts +0 -203
- package/src/widgets/__tests__/cs-program.test.ts +0 -43
- package/src/widgets/__tests__/definition.test.ts +0 -136
- package/src/widgets/__tests__/dropdown.test.ts +0 -105
- package/src/widgets/__tests__/explanation.test.ts +0 -198
- package/src/widgets/__tests__/expression-mobile.test.tsx +0 -363
- package/src/widgets/__tests__/expression.test.tsx +0 -484
- package/src/widgets/__tests__/graded-group-set-jipt.test.ts +0 -30
- package/src/widgets/__tests__/graded-group-set.test.ts +0 -288
- package/src/widgets/__tests__/graded-group.test.ts +0 -232
- package/src/widgets/__tests__/grapher.cypress.ts +0 -576
- package/src/widgets/__tests__/grapher.test.ts +0 -33
- package/src/widgets/__tests__/group.test.tsx +0 -510
- package/src/widgets/__tests__/iframe.test.ts +0 -45
- package/src/widgets/__tests__/image.test.ts +0 -62
- package/src/widgets/__tests__/input-number.test.ts +0 -354
- package/src/widgets/__tests__/interaction.test.ts +0 -31
- package/src/widgets/__tests__/interactive-graph.cypress.ts +0 -815
- package/src/widgets/__tests__/interactive-graph.test.ts +0 -106
- package/src/widgets/__tests__/matcher.test.tsx +0 -176
- package/src/widgets/__tests__/matrix.test.ts +0 -82
- package/src/widgets/__tests__/number-line.test.ts +0 -79
- package/src/widgets/__tests__/numeric-input.test.ts +0 -575
- package/src/widgets/__tests__/orderer.test.ts +0 -73
- package/src/widgets/__tests__/passage-ref.test.ts +0 -168
- package/src/widgets/__tests__/passage.test.tsx +0 -224
- package/src/widgets/__tests__/plotter.test.tsx +0 -69
- package/src/widgets/__tests__/radio/base-radio.test.tsx +0 -470
- package/src/widgets/__tests__/radio/choice-icon.test.tsx +0 -90
- package/src/widgets/__tests__/radio/choice.test.tsx +0 -310
- package/src/widgets/__tests__/radio/focus-ring.test.tsx +0 -22
- package/src/widgets/__tests__/radio/option-status.test.tsx +0 -77
- package/src/widgets/__tests__/radio.test.ts +0 -807
- package/src/widgets/__tests__/randomizers.test.ts +0 -53
- package/src/widgets/__tests__/renderQuestion.tsx +0 -101
- package/src/widgets/__tests__/unit.test.tsx +0 -168
- package/src/widgets/__tests__/video.test.ts +0 -69
- package/src/widgets/categorizer.tsx +0 -344
- package/src/widgets/cs-program.tsx +0 -227
- package/src/widgets/definition.tsx +0 -121
- package/src/widgets/deprecated-standin/__stories__/deprecated-standin.stories.tsx +0 -30
- package/src/widgets/deprecated-standin/__tests__/__snapshots__/deprecated-standin.test.ts.snap +0 -70
- package/src/widgets/deprecated-standin/__tests__/deprecated-standin.test.ts +0 -93
- package/src/widgets/deprecated-standin/index.tsx +0 -58
- package/src/widgets/dropdown.tsx +0 -142
- package/src/widgets/explanation.tsx +0 -317
- package/src/widgets/expression.tsx +0 -707
- package/src/widgets/graded-group-answer-bar.tsx +0 -142
- package/src/widgets/graded-group-set.tsx +0 -338
- package/src/widgets/graded-group.tsx +0 -471
- package/src/widgets/grapher/util.tsx +0 -799
- package/src/widgets/grapher.tsx +0 -660
- package/src/widgets/group.tsx +0 -195
- package/src/widgets/iframe.tsx +0 -195
- package/src/widgets/image.tsx +0 -312
- package/src/widgets/input-number.tsx +0 -412
- package/src/widgets/interaction/arrow-picker.tsx +0 -38
- package/src/widgets/interaction/color-picker.tsx +0 -69
- package/src/widgets/interaction/dash-picker.tsx +0 -45
- package/src/widgets/interaction/element-container.tsx +0 -100
- package/src/widgets/interaction.tsx +0 -826
- package/src/widgets/interactive-graph.tsx +0 -2597
- package/src/widgets/label-image/__stories__/answer-choices.stories.tsx +0 -91
- package/src/widgets/label-image/__stories__/answer-pill.stories.tsx +0 -62
- package/src/widgets/label-image/__stories__/marker.stories.tsx +0 -171
- package/src/widgets/label-image/__tests__/answer-pill.test.tsx +0 -75
- package/src/widgets/label-image/__tests__/hide-answers-toggle.test.tsx +0 -39
- package/src/widgets/label-image/answer-choices.tsx +0 -88
- package/src/widgets/label-image/answer-pill.tsx +0 -103
- package/src/widgets/label-image/hide-answers-toggle.tsx +0 -40
- package/src/widgets/label-image/marker.tsx +0 -268
- package/src/widgets/label-image/strings.ts +0 -5
- package/src/widgets/label-image/types.ts +0 -27
- package/src/widgets/label-image.test.ts +0 -928
- package/src/widgets/label-image.tsx +0 -819
- package/src/widgets/lights-puzzle.tsx +0 -359
- package/src/widgets/matcher.tsx +0 -298
- package/src/widgets/matrix.tsx +0 -634
- package/src/widgets/measurer.tsx +0 -222
- package/src/widgets/molecule/__tests__/layout.test.ts +0 -162
- package/src/widgets/molecule/__tests__/parser.test.ts +0 -155
- package/src/widgets/molecule/molecule-drawing.ts +0 -173
- package/src/widgets/molecule/molecule-layout.ts +0 -362
- package/src/widgets/molecule/smiles-parser.ts +0 -296
- package/src/widgets/molecule.tsx +0 -172
- package/src/widgets/number-line.tsx +0 -862
- package/src/widgets/numeric-input.tsx +0 -576
- package/src/widgets/orderer.tsx +0 -786
- package/src/widgets/passage/__tests__/passage-markdown.test.ts +0 -376
- package/src/widgets/passage/passage-markdown.tsx +0 -475
- package/src/widgets/passage-ref-target.tsx +0 -76
- package/src/widgets/passage-ref.tsx +0 -213
- package/src/widgets/passage.tsx +0 -582
- package/src/widgets/plotter.tsx +0 -1194
- package/src/widgets/radio/__stories__/base-radio.stories.tsx +0 -196
- package/src/widgets/radio/__stories__/choice-icon.stories.tsx +0 -166
- package/src/widgets/radio/__stories__/choice-none-above.stories.tsx +0 -40
- package/src/widgets/radio/__stories__/choice.stories.tsx +0 -137
- package/src/widgets/radio/__stories__/focus-ring.stories.tsx +0 -43
- package/src/widgets/radio/__stories__/option-status.stories.tsx +0 -103
- package/src/widgets/radio/base-radio.tsx +0 -511
- package/src/widgets/radio/choice-a11y-text.ts +0 -61
- package/src/widgets/radio/choice-icon/choice-icon.tsx +0 -218
- package/src/widgets/radio/choice-icon/cross-out-line.tsx +0 -51
- package/src/widgets/radio/choice-icon/shared-styles.ts +0 -15
- package/src/widgets/radio/choice-none-above.tsx +0 -56
- package/src/widgets/radio/choice.jsx.fixture.ts +0 -45
- package/src/widgets/radio/choice.tsx +0 -359
- package/src/widgets/radio/focus-ring.tsx +0 -57
- package/src/widgets/radio/option-status.tsx +0 -98
- package/src/widgets/radio/util.test.ts +0 -18
- package/src/widgets/radio/util.ts +0 -31
- package/src/widgets/radio/widget.tsx +0 -520
- package/src/widgets/radio.ts +0 -157
- package/src/widgets/reaction-diagram.tsx +0 -144
- package/src/widgets/sequence.tsx +0 -142
- package/src/widgets/simulator.tsx +0 -829
- package/src/widgets/sorter.tsx +0 -155
- package/src/widgets/table.tsx +0 -393
- package/src/widgets/unit.tsx +0 -374
- package/src/widgets/video-transcript-link.test.tsx +0 -213
- package/src/widgets/video-transcript-link.tsx +0 -84
- package/src/widgets/video.tsx +0 -135
- package/src/widgets.ts +0 -489
- package/src/zoom.ts +0 -555
- package/tsconfig-build.json +0 -26
- package/tsconfig-build.tsbuildinfo +0 -1
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import {vector as kvector} from "@khanacademy/kmath";
|
|
2
|
-
import _ from "underscore";
|
|
3
|
-
|
|
4
|
-
import InteractiveUtil from "./interactive-util";
|
|
5
|
-
import WrappedDefaults from "./wrapped-defaults";
|
|
6
|
-
|
|
7
|
-
import type {Coord} from "./types";
|
|
8
|
-
|
|
9
|
-
const DEFAULT_OPTIONS = {
|
|
10
|
-
maxScale: 1,
|
|
11
|
-
mouselayer: false,
|
|
12
|
-
shadow: false,
|
|
13
|
-
disableMouseEventsOnWrapper: false,
|
|
14
|
-
} as const;
|
|
15
|
-
|
|
16
|
-
const WrappedEllipse = function (
|
|
17
|
-
graphie: any,
|
|
18
|
-
center: Coord,
|
|
19
|
-
radii: [number, number],
|
|
20
|
-
options: any,
|
|
21
|
-
) {
|
|
22
|
-
options = _.extend({}, DEFAULT_OPTIONS, options);
|
|
23
|
-
|
|
24
|
-
// Add `wrapper`, `visibleShape`, and remaining properties.
|
|
25
|
-
const fixedEllipse = graphie.fixedEllipse(
|
|
26
|
-
center,
|
|
27
|
-
radii,
|
|
28
|
-
options.maxScale,
|
|
29
|
-
options.padding,
|
|
30
|
-
);
|
|
31
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
32
|
-
_.extend(this, fixedEllipse, {
|
|
33
|
-
graphie: graphie,
|
|
34
|
-
initialPoint: center,
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
if (options.interactiveKindForTesting) {
|
|
38
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
39
|
-
this.wrapper.setAttribute(
|
|
40
|
-
"data-interactive-kind-for-testing",
|
|
41
|
-
options.interactiveKindForTesting,
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Add to appropriate graphie layer
|
|
46
|
-
if (options.mouselayer) {
|
|
47
|
-
// Disable browser handling of all panning and zooming gestures on the
|
|
48
|
-
// movable wrapper so that when moved the browser does not scroll page
|
|
49
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
50
|
-
this.wrapper.style.touchAction = "none";
|
|
51
|
-
|
|
52
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
53
|
-
this.graphie.addToMouseLayerWrapper(this.wrapper);
|
|
54
|
-
} else {
|
|
55
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
56
|
-
this.graphie.addToVisibleLayerWrapper(this.wrapper);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (options.shadow) {
|
|
60
|
-
const filter = "drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5))";
|
|
61
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
62
|
-
const wrapper = this.wrapper;
|
|
63
|
-
wrapper.style.filter = filter;
|
|
64
|
-
|
|
65
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
66
|
-
this.moveTo = function (point: any) {
|
|
67
|
-
const delta = kvector.subtract(
|
|
68
|
-
this.graphie.scalePoint(point),
|
|
69
|
-
this.graphie.scalePoint(this.initialPoint),
|
|
70
|
-
);
|
|
71
|
-
const do3dTransform = InteractiveUtil.getCanUse3dTransform();
|
|
72
|
-
const transform =
|
|
73
|
-
"translateX(" +
|
|
74
|
-
Math.round(delta[0]) +
|
|
75
|
-
"px) " +
|
|
76
|
-
"translateY(" +
|
|
77
|
-
Math.round(delta[1]) +
|
|
78
|
-
"px)" +
|
|
79
|
-
(do3dTransform ? " translateZ(0)" : "");
|
|
80
|
-
this.transform(transform);
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
if (options.disableMouseEventsOnWrapper) {
|
|
85
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
86
|
-
this.wrapper.style.pointerEvents = "none";
|
|
87
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
88
|
-
this.visibleShape.node.style.pointerEvents = "auto";
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
_.extend(WrappedEllipse.prototype, WrappedDefaults);
|
|
93
|
-
|
|
94
|
-
export default WrappedEllipse;
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import {point as kpoint, vector as kvector} from "@khanacademy/kmath";
|
|
2
|
-
import _ from "underscore";
|
|
3
|
-
|
|
4
|
-
import KhanMath from "../util/math";
|
|
5
|
-
|
|
6
|
-
import InteractiveUtil from "./interactive-util";
|
|
7
|
-
import WrappedDefaults from "./wrapped-defaults";
|
|
8
|
-
|
|
9
|
-
import type {Coord} from "./types";
|
|
10
|
-
|
|
11
|
-
const DEFAULT_OPTIONS = {
|
|
12
|
-
thickness: 2,
|
|
13
|
-
mouselayer: false,
|
|
14
|
-
} as const;
|
|
15
|
-
|
|
16
|
-
const WrappedLine = function (
|
|
17
|
-
graphie: any,
|
|
18
|
-
start: Coord,
|
|
19
|
-
end: Coord,
|
|
20
|
-
options: any,
|
|
21
|
-
) {
|
|
22
|
-
options = _.extend({}, DEFAULT_OPTIONS, options);
|
|
23
|
-
|
|
24
|
-
// Always make the line as large as possible and horizontal; this
|
|
25
|
-
// simplifies a lot of the transforms, e.g., we can rotate by exactly the
|
|
26
|
-
// angle of the argument points in `moveTo`.
|
|
27
|
-
const initialStart = [graphie.range[0][0], 0];
|
|
28
|
-
const initialEnd = [graphie.range[0][1], 0];
|
|
29
|
-
|
|
30
|
-
// Add `wrapper` and `visibleShape`
|
|
31
|
-
_.extend(
|
|
32
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
33
|
-
this,
|
|
34
|
-
graphie.fixedLine(initialStart, initialEnd, options.thickness),
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
if (options.interactiveKindForTesting) {
|
|
38
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
39
|
-
this.wrapper.setAttribute(
|
|
40
|
-
"data-interactive-kind-for-testing",
|
|
41
|
-
options.interactiveKindForTesting,
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
46
|
-
this.visibleShape.attr(options.normalStyle);
|
|
47
|
-
|
|
48
|
-
// Save properties for computing transformations
|
|
49
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
50
|
-
_.extend(this, {
|
|
51
|
-
graphie: graphie,
|
|
52
|
-
initialPoint: graphie.scalePoint(initialStart),
|
|
53
|
-
initialLength: kpoint.distanceToPoint(
|
|
54
|
-
graphie.scalePoint(initialStart),
|
|
55
|
-
graphie.scalePoint(initialEnd),
|
|
56
|
-
),
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
// Add to appropriate graphie layer
|
|
60
|
-
if (options.mouselayer) {
|
|
61
|
-
// Disable browser handling of all panning and zooming gestures on the
|
|
62
|
-
// movable wrapper so that when moved the browser does not scroll page
|
|
63
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
64
|
-
this.wrapper.style.touchAction = "none";
|
|
65
|
-
|
|
66
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
67
|
-
this.graphie.addToMouseLayerWrapper(this.wrapper);
|
|
68
|
-
} else {
|
|
69
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
70
|
-
this.graphie.addToVisibleLayerWrapper(this.wrapper);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// Move to argument points
|
|
74
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
75
|
-
this.moveTo(start, end);
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
_.extend(WrappedLine.prototype, WrappedDefaults, {
|
|
79
|
-
getMouseTarget: function () {
|
|
80
|
-
return this.wrapper;
|
|
81
|
-
},
|
|
82
|
-
|
|
83
|
-
moveTo: function (start, end) {
|
|
84
|
-
const scaledStart = this.graphie.scalePoint(start);
|
|
85
|
-
const scaledEnd = this.graphie.scalePoint(end);
|
|
86
|
-
|
|
87
|
-
// Compute transformation parameters
|
|
88
|
-
const polarDiff = kvector.polarDegFromCart(
|
|
89
|
-
kvector.subtract(scaledEnd, scaledStart),
|
|
90
|
-
);
|
|
91
|
-
const lineLength = polarDiff[0];
|
|
92
|
-
const angle = KhanMath.bound(polarDiff[1]);
|
|
93
|
-
const delta = kvector.subtract(scaledStart, this.initialPoint);
|
|
94
|
-
const scale = KhanMath.bound(lineLength / this.initialLength);
|
|
95
|
-
|
|
96
|
-
// Construct and apply transformation string
|
|
97
|
-
const do3dTransform = InteractiveUtil.getCanUse3dTransform();
|
|
98
|
-
const transformation =
|
|
99
|
-
"translateX(" +
|
|
100
|
-
delta[0] +
|
|
101
|
-
"px) " +
|
|
102
|
-
"translateY(" +
|
|
103
|
-
delta[1] +
|
|
104
|
-
"px) " +
|
|
105
|
-
(do3dTransform ? " translateZ(0)" : "") +
|
|
106
|
-
"rotate(" +
|
|
107
|
-
angle +
|
|
108
|
-
"deg) " +
|
|
109
|
-
"scaleX(" +
|
|
110
|
-
scale +
|
|
111
|
-
") scaleY(1)";
|
|
112
|
-
this.transform(transformation);
|
|
113
|
-
},
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
export default WrappedLine;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import _ from "underscore";
|
|
2
|
-
|
|
3
|
-
import WrappedDefaults from "./wrapped-defaults";
|
|
4
|
-
|
|
5
|
-
import type {Coord} from "./types";
|
|
6
|
-
|
|
7
|
-
const DEFAULT_OPTIONS = {
|
|
8
|
-
center: null, // gets ignored in `graphie.fixedPath` if `null`
|
|
9
|
-
createPath: null, // gets defaulted in `graphie.fixedPath` if `null`
|
|
10
|
-
mouselayer: false,
|
|
11
|
-
} as const;
|
|
12
|
-
|
|
13
|
-
const WrappedPath = function (
|
|
14
|
-
graphie: any,
|
|
15
|
-
points: ReadonlyArray<Coord>,
|
|
16
|
-
options: any,
|
|
17
|
-
) {
|
|
18
|
-
options = _.extend({}, DEFAULT_OPTIONS, options);
|
|
19
|
-
|
|
20
|
-
// Add `wrapper` and `visibleShape`
|
|
21
|
-
_.extend(
|
|
22
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
23
|
-
this,
|
|
24
|
-
graphie.fixedPath(points, options.center, options.createPath),
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
// Add remaining properties
|
|
28
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
29
|
-
_.extend(this, {
|
|
30
|
-
graphie: graphie,
|
|
31
|
-
initialPoint: graphie.scalePoint(_.head(points)),
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
// Add to appropriate graphie layer
|
|
35
|
-
if (options.mouselayer) {
|
|
36
|
-
// Disable browser handling of all panning and zooming gestures on the
|
|
37
|
-
// movable wrapper so that when moved the browser does not scroll page
|
|
38
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
39
|
-
this.wrapper.style.touchAction = "none";
|
|
40
|
-
|
|
41
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
42
|
-
this.graphie.addToMouseLayerWrapper(this.wrapper);
|
|
43
|
-
} else {
|
|
44
|
-
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
45
|
-
this.graphie.addToVisibleLayerWrapper(this.wrapper);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
_.extend(WrappedPath.prototype, WrappedDefaults);
|
|
50
|
-
|
|
51
|
-
export default WrappedPath;
|
package/src/interactive2.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import {Movable} from "./interactive2/movable";
|
|
2
|
-
import MovableLine from "./interactive2/movable-line";
|
|
3
|
-
import MovablePoint from "./interactive2/movable-point";
|
|
4
|
-
import MovablePolygon from "./interactive2/movable-polygon";
|
|
5
|
-
import KhanColors from "./util/colors";
|
|
6
|
-
|
|
7
|
-
const Interactive2 = {
|
|
8
|
-
MovablePoint: MovablePoint,
|
|
9
|
-
addMovablePoint: function (graphie: any, options: any): any {
|
|
10
|
-
const movable = new Movable(graphie, {});
|
|
11
|
-
return new MovablePoint(graphie, movable, options);
|
|
12
|
-
},
|
|
13
|
-
MovableLine: MovableLine,
|
|
14
|
-
addMovableLine: function (graphie: any, options: any): any {
|
|
15
|
-
const movable = new Movable(graphie, {});
|
|
16
|
-
return new MovableLine(graphie, movable, options);
|
|
17
|
-
},
|
|
18
|
-
MovablePolygon: MovablePolygon,
|
|
19
|
-
addMovablePolygon: function (graphie: any, options: any): any {
|
|
20
|
-
const movable = new Movable(graphie, {});
|
|
21
|
-
return new MovablePolygon(graphie, movable, options);
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
addMaybeMobileMovablePoint: function (widget: any, extraProps: any): any {
|
|
25
|
-
const isMobile = widget.props.apiOptions.isMobile;
|
|
26
|
-
|
|
27
|
-
const commonStyle = isMobile
|
|
28
|
-
? {
|
|
29
|
-
stroke: "#ffffff",
|
|
30
|
-
"stroke-width": 3,
|
|
31
|
-
fill: KhanColors.INTERACTIVE,
|
|
32
|
-
}
|
|
33
|
-
: {
|
|
34
|
-
stroke: KhanColors.INTERACTIVE,
|
|
35
|
-
fill: KhanColors.INTERACTIVE,
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const normalStyle = Object.assign(commonStyle, extraProps.normalStyle);
|
|
39
|
-
|
|
40
|
-
const highlightStyle = Object.assign(
|
|
41
|
-
isMobile
|
|
42
|
-
? {
|
|
43
|
-
...commonStyle,
|
|
44
|
-
"stroke-width": 0,
|
|
45
|
-
scale: 0.75,
|
|
46
|
-
}
|
|
47
|
-
: {},
|
|
48
|
-
extraProps.highlightStyle,
|
|
49
|
-
);
|
|
50
|
-
|
|
51
|
-
const props = Object.assign(
|
|
52
|
-
{
|
|
53
|
-
normalStyle: normalStyle,
|
|
54
|
-
highlightStyle: highlightStyle,
|
|
55
|
-
shadow: isMobile,
|
|
56
|
-
tooltip: isMobile && widget.props.showTooltips,
|
|
57
|
-
showHairlines: widget.showHairlines,
|
|
58
|
-
hideHairlines: widget.hideHairlines,
|
|
59
|
-
},
|
|
60
|
-
isMobile ? {pointSize: 7} : {},
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
return Interactive2.addMovablePoint(
|
|
64
|
-
widget.graphie,
|
|
65
|
-
Object.assign(extraProps, props),
|
|
66
|
-
);
|
|
67
|
-
},
|
|
68
|
-
} as const;
|
|
69
|
-
|
|
70
|
-
export default Interactive2;
|
package/src/item-version.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import allWidgets from "./all-widgets";
|
|
2
|
-
import {itemDataVersion} from "./perseus-version";
|
|
3
|
-
import * as Widgets from "./widgets";
|
|
4
|
-
|
|
5
|
-
Widgets.registerWidgets(allWidgets);
|
|
6
|
-
|
|
7
|
-
const ItemVersion = Widgets.getVersionVector();
|
|
8
|
-
ItemVersion["::renderer::"] = itemDataVersion;
|
|
9
|
-
|
|
10
|
-
export default ItemVersion;
|
package/src/jipt-paragraphs.ts
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Paragraph parsing/splitting for article jipt i18n
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import SimpleMarkdown from "@khanacademy/simple-markdown";
|
|
6
|
-
|
|
7
|
-
import type {ParserRules} from "@khanacademy/simple-markdown";
|
|
8
|
-
|
|
9
|
-
const arrayRules: ParserRules = {
|
|
10
|
-
fence: {
|
|
11
|
-
match: SimpleMarkdown.defaultRules.fence.match,
|
|
12
|
-
order: 1,
|
|
13
|
-
parse: (capture, state, parse) => ({
|
|
14
|
-
type: "codeBlock",
|
|
15
|
-
lang: capture[2] || undefined,
|
|
16
|
-
content: capture[3],
|
|
17
|
-
}),
|
|
18
|
-
},
|
|
19
|
-
paragraph: {
|
|
20
|
-
match: SimpleMarkdown.defaultRules.paragraph.match,
|
|
21
|
-
order: 2,
|
|
22
|
-
parse: (capture, state, parse) => ({
|
|
23
|
-
content: capture[1],
|
|
24
|
-
}),
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
const builtArrayParser: ReturnType<typeof SimpleMarkdown.parserFor> =
|
|
29
|
-
SimpleMarkdown.parserFor(arrayRules);
|
|
30
|
-
|
|
31
|
-
// This should just return an array of strings! magick!
|
|
32
|
-
const parseToArray = (source: string): Array<string> => {
|
|
33
|
-
// Remove any leading newlines to avoid splitting weirdness
|
|
34
|
-
// (simple-markdown has the `newline` rule for this, and i have
|
|
35
|
-
// no idea how this will handle leading newlines without that rule),
|
|
36
|
-
// and add \n\n to let it parse at a block/paragraph level
|
|
37
|
-
const paragraphedSource = source.replace(/^\n\s*\n/, "") + "\n\n";
|
|
38
|
-
return builtArrayParser(paragraphedSource, {inline: false}).map((c) => {
|
|
39
|
-
return c["content"];
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
const joinFromArray = (paragraphs: ReadonlyArray<string>): string =>
|
|
44
|
-
paragraphs.join("\n\n");
|
|
45
|
-
|
|
46
|
-
export default {
|
|
47
|
-
parseToArray: parseToArray,
|
|
48
|
-
joinFromArray: joinFromArray,
|
|
49
|
-
};
|