@khanacademy/perseus 7.2.0 → 8.0.0
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/CHANGELOG.md +38 -0
- package/dist/article-renderer.d.ts +26 -40
- package/dist/components/math-input.d.ts +1 -1
- package/dist/components/sortable.d.ts +1 -1
- package/dist/components/tex-buttons.d.ts +1 -1
- package/dist/es/index.css +61 -61
- package/dist/es/index.js +1189 -1308
- package/dist/es/index.js.map +1 -1
- package/dist/hints-renderer.d.ts +1 -1
- package/dist/index.css +61 -61
- package/dist/index.js +1180 -1269
- package/dist/index.js.map +1 -1
- package/dist/mixins/provide-keypad.d.ts +15 -12
- package/dist/perseus-api.d.ts +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/widgets/expression.d.ts +1 -1
- package/dist/widgets/graded-group.d.ts +1 -1
- package/dist/widgets/interactive-graph.d.ts +1 -1
- package/dist/widgets/plotter.d.ts +47 -13
- package/dist/widgets/sequence.d.ts +1 -1
- package/dist/widgets/table.d.ts +8 -1
- package/dist/widgets.d.ts +1 -1
- package/package.json +33 -33
- package/src/__testdata__/article-renderer.testdata.ts +3 -1
- package/src/__testdata__/item-renderer.testdata.ts +1 -1
- package/src/__testdata__/renderer.testdata.ts +1 -1
- package/src/__tests__/item-renderer.test.tsx +2 -2
- package/src/__tests__/mock-asset-loading-widget.tsx +1 -1
- package/src/__tests__/perseus-markdown.test.ts +17 -17
- package/src/__tests__/renderer-api.test.tsx +21 -21
- package/src/__tests__/renderer.test.tsx +13 -13
- package/src/__tests__/server-item-renderer.test.tsx +3 -3
- package/src/__tests__/tex-wrangler.test.ts +1 -1
- package/src/article-renderer.tsx +39 -38
- package/src/components/__stories__/image-loader.stories.tsx +1 -0
- package/src/components/__tests__/number-input.test.tsx +4 -4
- package/src/components/__tests__/sortable.test.tsx +2 -2
- package/src/components/fixed-to-responsive.tsx +1 -1
- package/src/components/graph.tsx +12 -11
- package/src/components/graphie-classes.ts +7 -7
- package/src/components/graphie.tsx +14 -14
- package/src/components/highlighting/highlightable-content.tsx +1 -1
- package/src/components/highlighting/ui/highlight-renderer.tsx +1 -1
- package/src/components/highlighting/ui/util.ts +2 -2
- package/src/components/highlighting/word-indexer.tsx +4 -4
- package/src/components/icon.tsx +2 -1
- package/src/components/image-loader.tsx +5 -4
- package/src/components/input-with-examples.tsx +2 -2
- package/src/components/lint.tsx +1 -1
- package/src/components/math-input.tsx +5 -5
- package/src/components/math-output.tsx +1 -1
- package/src/components/multi-button-group.tsx +1 -1
- package/src/components/number-input.tsx +11 -10
- package/src/components/prop-check-box.tsx +1 -1
- package/src/components/simple-keypad-input.tsx +4 -4
- package/src/components/sortable.tsx +43 -41
- package/src/components/svg-image.tsx +13 -12
- package/src/components/tex-buttons.tsx +5 -3
- package/src/components/text-input.tsx +9 -8
- package/src/components/text-list-editor.tsx +12 -11
- package/src/components/visibility-observer/create-visibility-observer.ts +1 -1
- package/src/components/visibility-observer/visibility-observer.tsx +2 -2
- package/src/components/zoomable-tex.tsx +3 -3
- package/src/components/zoomable.tsx +9 -8
- package/src/hint-renderer.tsx +3 -3
- package/src/hints-renderer.tsx +12 -11
- package/src/index.ts +1 -0
- package/src/init.ts +1 -1
- package/src/interaction-tracker.ts +4 -4
- package/src/interactive2/__tests__/movable-point.test.ts +1 -1
- package/src/interactive2/interactive-util.ts +6 -6
- package/src/interactive2/movable-helper-methods.ts +2 -2
- package/src/interactive2/movable-line-options.ts +37 -37
- package/src/interactive2/movable-line.ts +2 -2
- package/src/interactive2/movable-point-options.ts +29 -29
- package/src/interactive2/movable-point.tsx +2 -2
- package/src/interactive2/movable-polygon-options.ts +45 -45
- package/src/interactive2/movable-polygon.ts +2 -2
- package/src/interactive2/movable.ts +2 -2
- package/src/interactive2/objective_.ts +1 -1
- package/src/interactive2/wrapped-defaults.ts +2 -2
- package/src/interactive2/wrapped-ellipse.ts +9 -9
- package/src/interactive2/wrapped-line.ts +8 -8
- package/src/interactive2/wrapped-path.ts +5 -5
- package/src/item-renderer.tsx +6 -5
- package/src/mixins/changeable.ts +2 -2
- package/src/mixins/editor-jsonify.ts +1 -1
- package/src/mixins/provide-keypad.tsx +24 -37
- package/src/mixins/widget-jsonify-deprecated.ts +1 -1
- package/src/multi-items/__tests__/items.test.ts +1 -1
- package/src/multi-items/__tests__/multi-renderer.test.tsx +7 -7
- package/src/multi-items/__tests__/trees.test.ts +12 -12
- package/src/multi-items/item-types.ts +2 -2
- package/src/multi-items/items.ts +1 -1
- package/src/multi-items/multi-renderer.tsx +15 -14
- package/src/multi-items/prop-type-builders.ts +2 -2
- package/src/multi-items/tree-types.ts +4 -4
- package/src/multi-items/trees.ts +16 -16
- package/src/perseus-env.ts +2 -2
- package/src/perseus-markdown.tsx +5 -5
- package/src/renderer.tsx +39 -38
- package/src/server-item-renderer.tsx +6 -5
- package/src/sigfigs.ts +1 -1
- package/src/styles/articles.less +8 -4
- package/src/styles/perseus-renderer.less +47 -38
- package/src/styles/util.less +1 -1
- package/src/styles/variables.boostrap.less +158 -182
- package/src/styles/variables.less +20 -20
- package/src/styles/variables.shared.less +162 -168
- package/src/styles/widgets/categorizer.less +1 -2
- package/src/styles/widgets/expression.less +7 -4
- package/src/styles/widgets/grapher.less +2 -1
- package/src/styles/widgets/image.less +3 -2
- package/src/styles/widgets/interactive-graph.less +4 -2
- package/src/styles/widgets/label-image.less +2 -1
- package/src/styles/widgets/matrix.less +11 -7
- package/src/styles/widgets/orderer.less +2 -1
- package/src/styles/widgets/passage.less +2 -1
- package/src/styles/widgets/plotter.less +4 -3
- package/src/styles/widgets/radio.less +4 -2
- package/src/styles/widgets/sortable.less +1 -1
- package/src/styles/widgets/table.less +2 -1
- package/src/styles/widgets/transformer.less +2 -1
- package/src/styles/widgets/unit.less +2 -1
- package/src/traversal.ts +1 -1
- package/src/types.ts +3 -3
- package/src/util/answer-types.ts +14 -14
- package/src/util/geometry.ts +7 -7
- package/src/util/graphie.ts +32 -32
- package/src/util/interactive.ts +118 -118
- package/src/util/math.ts +4 -4
- package/src/util/react-render.tsx +1 -1
- package/src/util/scroll-utils.ts +2 -2
- package/src/util/tex.ts +3 -3
- package/src/util.ts +15 -15
- package/src/widget-container.tsx +1 -1
- package/src/widgets/__stories__/plotter.stories.tsx +27 -0
- package/src/widgets/__stories__/test-keypad-context-wrapper.tsx +3 -3
- package/src/widgets/__testdata__/numeric-input.testdata.ts +1 -1
- package/src/widgets/__testdata__/plotter.testdata.ts +36 -0
- package/src/widgets/__tests__/__snapshots__/plotter.test.tsx.snap +863 -0
- package/src/widgets/__tests__/__snapshots__/video.test.ts.snap +2 -2
- package/src/widgets/__tests__/expression.test.ts +4 -3
- package/src/widgets/__tests__/grapher.cypress.ts +32 -32
- package/src/widgets/__tests__/group.test.tsx +1 -1
- package/src/widgets/__tests__/interactive-graph.cypress.ts +40 -40
- package/src/widgets/__tests__/interactive-graph.test.ts +1 -1
- package/src/widgets/__tests__/numeric-input.test.ts +1 -1
- package/src/widgets/__tests__/passage.test.tsx +2 -2
- package/src/widgets/__tests__/plotter.test.tsx +66 -0
- package/src/widgets/__tests__/radio/base-radio.test.tsx +7 -7
- package/src/widgets/__tests__/renderQuestion.tsx +3 -3
- package/src/widgets/categorizer.tsx +5 -4
- package/src/widgets/cs-program.tsx +2 -2
- package/src/widgets/dropdown.tsx +1 -1
- package/src/widgets/expression.tsx +10 -9
- package/src/widgets/graded-group-set.tsx +6 -5
- package/src/widgets/graded-group.tsx +19 -19
- package/src/widgets/grapher/util.tsx +6 -6
- package/src/widgets/grapher.tsx +10 -10
- package/src/widgets/group.tsx +3 -3
- package/src/widgets/iframe.tsx +2 -2
- package/src/widgets/image.tsx +1 -1
- package/src/widgets/input-number.tsx +4 -4
- package/src/widgets/interaction.tsx +78 -77
- package/src/widgets/interactive-graph.tsx +109 -107
- package/src/widgets/label-image/marker.tsx +3 -2
- package/src/widgets/label-image.test.ts +1 -1
- package/src/widgets/label-image.tsx +7 -7
- package/src/widgets/lights-puzzle.tsx +2 -2
- package/src/widgets/matcher.tsx +7 -6
- package/src/widgets/matrix.tsx +20 -20
- package/src/widgets/measurer.tsx +3 -3
- package/src/widgets/molecule/__tests__/layout.test.ts +4 -4
- package/src/widgets/molecule/__tests__/parser.test.ts +14 -14
- package/src/widgets/molecule/smiles-parser.ts +3 -3
- package/src/widgets/molecule.tsx +4 -4
- package/src/widgets/number-line.tsx +11 -11
- package/src/widgets/numeric-input.tsx +11 -11
- package/src/widgets/orderer.tsx +39 -38
- package/src/widgets/passage/__tests__/passage-markdown.test.ts +1 -1
- package/src/widgets/passage/passage-markdown.tsx +4 -4
- package/src/widgets/passage-ref-target.tsx +2 -1
- package/src/widgets/passage-ref.tsx +4 -6
- package/src/widgets/passage.tsx +11 -11
- package/src/widgets/plotter.tsx +117 -107
- package/src/widgets/radio/base-radio.tsx +12 -11
- package/src/widgets/radio/choice-icon/choice-icon.tsx +3 -2
- package/src/widgets/radio/choice.tsx +1 -1
- package/src/widgets/radio/option-status.tsx +1 -1
- package/src/widgets/radio/widget.tsx +6 -6
- package/src/widgets/radio.ts +1 -1
- package/src/widgets/reaction-diagram.tsx +8 -8
- package/src/widgets/sequence.tsx +2 -2
- package/src/widgets/simulator.tsx +14 -14
- package/src/widgets/sorter.tsx +5 -4
- package/src/widgets/table.tsx +8 -8
- package/src/widgets/transformer.tsx +93 -92
- package/src/widgets/unit.tsx +17 -17
- package/src/widgets/video-transcript-link.test.tsx +3 -3
- package/src/widgets/video-transcript-link.tsx +1 -1
- package/src/widgets/video.tsx +1 -1
- package/src/widgets.ts +5 -5
- package/src/zoom.ts +22 -22
- package/tsconfig-build.tsbuildinfo +1 -1
- package/dist/a11y.js.flow +0 -11
- package/dist/all-widgets.js.flow +0 -33
- package/dist/article-renderer.js.flow +0 -73
- package/dist/asset-context.js.flow +0 -15
- package/dist/basic-widgets.js.flow +0 -33
- package/dist/components/button-group.js.flow +0 -33
- package/dist/components/constants.js.flow +0 -13
- package/dist/components/fixed-to-responsive.js.flow +0 -34
- package/dist/components/graph.js.flow +0 -66
- package/dist/components/graphie-classes.js.flow +0 -19
- package/dist/components/graphie-movables.js.flow +0 -22
- package/dist/components/graphie.js.flow +0 -69
- package/dist/components/highlighting/highlightable-content.js.flow +0 -56
- package/dist/components/highlighting/highlights.js.flow +0 -54
- package/dist/components/highlighting/ranges.js.flow +0 -60
- package/dist/components/highlighting/types.js.flow +0 -70
- package/dist/components/highlighting/ui/highlight-renderer.js.flow +0 -43
- package/dist/components/highlighting/ui/highlight-set-renderer.js.flow +0 -41
- package/dist/components/highlighting/ui/highlight-tooltip.js.flow +0 -22
- package/dist/components/highlighting/ui/highlighting-ui.js.flow +0 -30
- package/dist/components/highlighting/ui/selection-tracker.js.flow +0 -54
- package/dist/components/highlighting/ui/types.js.flow +0 -22
- package/dist/components/highlighting/ui/util.js.flow +0 -42
- package/dist/components/highlighting/word-indexer.js.flow +0 -21
- package/dist/components/hud.js.flow +0 -14
- package/dist/components/icon.js.flow +0 -31
- package/dist/components/image-loader.js.flow +0 -49
- package/dist/components/info-tip/info-tip.js.flow +0 -20
- package/dist/components/info-tip.js.flow +0 -18
- package/dist/components/inline-icon.js.flow +0 -39
- package/dist/components/input-with-examples.js.flow +0 -58
- package/dist/components/lint.js.flow +0 -58
- package/dist/components/math-input.js.flow +0 -49
- package/dist/components/math-output.js.flow +0 -33
- package/dist/components/multi-button-group.js.flow +0 -35
- package/dist/components/number-input.js.flow +0 -42
- package/dist/components/prop-check-box.js.flow +0 -8
- package/dist/components/range-input.js.flow +0 -20
- package/dist/components/simple-keypad-input.js.flow +0 -16
- package/dist/components/sortable.js.flow +0 -91
- package/dist/components/stub-tag-editor.js.flow +0 -18
- package/dist/components/svg-image.js.flow +0 -85
- package/dist/components/tex-buttons.js.flow +0 -26
- package/dist/components/tex.js.flow +0 -25
- package/dist/components/text-input.js.flow +0 -39
- package/dist/components/text-list-editor.js.flow +0 -22
- package/dist/components/tooltip.js.flow +0 -51
- package/dist/components/visibility-observer/create-visibility-observer.js.flow +0 -23
- package/dist/components/visibility-observer/get-scroll-parent.js.flow +0 -7
- package/dist/components/visibility-observer/visibility-observer.js.flow +0 -36
- package/dist/components/zoomable-tex.js.flow +0 -18
- package/dist/components/zoomable.js.flow +0 -70
- package/dist/components.js.flow +0 -22
- package/dist/definition-context.js.flow +0 -25
- package/dist/dependencies.js.flow +0 -9
- package/dist/error-boundary.js.flow +0 -19
- package/dist/extra-widgets.js.flow +0 -33
- package/dist/hint-renderer.js.flow +0 -32
- package/dist/hints-renderer.js.flow +0 -41
- package/dist/icon-paths.js.flow +0 -123
- package/dist/index.js.flow +0 -134
- package/dist/init.js.flow +0 -20
- package/dist/interaction-tracker.js.flow +0 -35
- package/dist/interactive2/interactive-util.js.flow +0 -50
- package/dist/interactive2/movable-helper-methods.js.flow +0 -15
- package/dist/interactive2/movable-line-options.js.flow +0 -44
- package/dist/interactive2/movable-line.js.flow +0 -8
- package/dist/interactive2/movable-point-options.js.flow +0 -44
- package/dist/interactive2/movable-point.js.flow +0 -8
- package/dist/interactive2/movable-polygon-options.js.flow +0 -47
- package/dist/interactive2/movable-polygon.js.flow +0 -8
- package/dist/interactive2/movable.js.flow +0 -8
- package/dist/interactive2/objective_.js.flow +0 -25
- package/dist/interactive2/types.js.flow +0 -8
- package/dist/interactive2/wrapped-defaults.js.flow +0 -11
- package/dist/interactive2/wrapped-ellipse.js.flow +0 -14
- package/dist/interactive2/wrapped-line.js.flow +0 -14
- package/dist/interactive2/wrapped-path.js.flow +0 -13
- package/dist/interactive2.js.flow +0 -16
- package/dist/item-renderer.js.flow +0 -132
- package/dist/item-version.js.flow +0 -11
- package/dist/jipt-paragraphs.js.flow +0 -14
- package/dist/loading-context.js.flow +0 -12
- package/dist/logging/log.js.flow +0 -62
- package/dist/mixins/changeable.js.flow +0 -33
- package/dist/mixins/editor-jsonify.js.flow +0 -10
- package/dist/mixins/provide-keypad.js.flow +0 -33
- package/dist/mixins/widget-jsonify-deprecated.js.flow +0 -11
- package/dist/mixins/widget-prop-denylist.js.flow +0 -20
- package/dist/multi-items/item-types.js.flow +0 -55
- package/dist/multi-items/items.js.flow +0 -66
- package/dist/multi-items/multi-renderer.js.flow +0 -213
- package/dist/multi-items/prop-type-builders.js.flow +0 -22
- package/dist/multi-items/shape-types.js.flow +0 -60
- package/dist/multi-items/shapes.js.flow +0 -25
- package/dist/multi-items/tree-types.js.flow +0 -45
- package/dist/multi-items/trees.js.flow +0 -147
- package/dist/multi-items.js.flow +0 -36
- package/dist/perseus-api.js.flow +0 -151
- package/dist/perseus-env.js.flow +0 -6
- package/dist/perseus-error.js.flow +0 -16
- package/dist/perseus-markdown.js.flow +0 -20
- package/dist/perseus-types.js.flow +0 -1041
- package/dist/question-paragraph.js.flow +0 -17
- package/dist/renderability.js.flow +0 -19
- package/dist/renderer.js.flow +0 -325
- package/dist/server-item-renderer.js.flow +0 -132
- package/dist/sigfigs.js.flow +0 -41
- package/dist/styles/constants.js.flow +0 -62
- package/dist/styles/global-constants.js.flow +0 -348
- package/dist/styles/global-styles.js.flow +0 -53
- package/dist/styles/media-queries.js.flow +0 -35
- package/dist/styles/shared.js.flow +0 -8
- package/dist/tex-wrangler.js.flow +0 -13
- package/dist/translation-linter.js.flow +0 -32
- package/dist/traversal.js.flow +0 -26
- package/dist/types.js.flow +0 -318
- package/dist/util/a11y.js.flow +0 -8
- package/dist/util/answer-types.js.flow +0 -49
- package/dist/util/colors.js.flow +0 -95
- package/dist/util/fix-passage-refs.js.flow +0 -8
- package/dist/util/geometry.js.flow +0 -37
- package/dist/util/graph-utils.js.flow +0 -9
- package/dist/util/graphie.js.flow +0 -8
- package/dist/util/interactive.js.flow +0 -11
- package/dist/util/katex-preprocess.js.flow +0 -12
- package/dist/util/math.js.flow +0 -62
- package/dist/util/mobile-native-utils.js.flow +0 -12
- package/dist/util/react-render.js.flow +0 -12
- package/dist/util/register-all-widgets-for-testing.js.flow +0 -7
- package/dist/util/scroll-utils.js.flow +0 -19
- package/dist/util/sizing-utils.js.flow +0 -20
- package/dist/util/tex.js.flow +0 -17
- package/dist/util/url-utils.js.flow +0 -11
- package/dist/util.graphie.js.flow +0 -14
- package/dist/util.js.flow +0 -319
- package/dist/version.js.flow +0 -17
- package/dist/widget-container.js.flow +0 -33
- package/dist/widgets/categorizer.js.flow +0 -70
- package/dist/widgets/cs-program.js.flow +0 -54
- package/dist/widgets/definition.js.flow +0 -57
- package/dist/widgets/dropdown.js.flow +0 -63
- package/dist/widgets/explanation.js.flow +0 -58
- package/dist/widgets/expression.js.flow +0 -116
- package/dist/widgets/graded-group-answer-bar.js.flow +0 -24
- package/dist/widgets/graded-group-set.js.flow +0 -65
- package/dist/widgets/graded-group.js.flow +0 -78
- package/dist/widgets/grapher/util.js.flow +0 -38
- package/dist/widgets/grapher.js.flow +0 -102
- package/dist/widgets/group.js.flow +0 -60
- package/dist/widgets/iframe.js.flow +0 -53
- package/dist/widgets/image.js.flow +0 -73
- package/dist/widgets/input-number.js.flow +0 -94
- package/dist/widgets/interaction/arrow-picker.js.flow +0 -21
- package/dist/widgets/interaction/color-picker.js.flow +0 -23
- package/dist/widgets/interaction/dash-picker.js.flow +0 -21
- package/dist/widgets/interaction/element-container.js.flow +0 -28
- package/dist/widgets/interaction.js.flow +0 -60
- package/dist/widgets/interactive-graph.js.flow +0 -239
- package/dist/widgets/label-image/answer-choices.js.flow +0 -55
- package/dist/widgets/label-image/marker.js.flow +0 -31
- package/dist/widgets/label-image/types.js.flow +0 -23
- package/dist/widgets/label-image.js.flow +0 -142
- package/dist/widgets/lights-puzzle.js.flow +0 -58
- package/dist/widgets/matcher.js.flow +0 -106
- package/dist/widgets/matrix.js.flow +0 -80
- package/dist/widgets/measurer.js.flow +0 -30
- package/dist/widgets/molecule/molecule-drawing.js.flow +0 -11
- package/dist/widgets/molecule/molecule-layout.js.flow +0 -96
- package/dist/widgets/molecule/smiles-parser.js.flow +0 -26
- package/dist/widgets/molecule.js.flow +0 -60
- package/dist/widgets/number-line.js.flow +0 -102
- package/dist/widgets/numeric-input.js.flow +0 -105
- package/dist/widgets/orderer.js.flow +0 -81
- package/dist/widgets/passage/passage-markdown.js.flow +0 -33
- package/dist/widgets/passage-ref-target.js.flow +0 -52
- package/dist/widgets/passage-ref.js.flow +0 -85
- package/dist/widgets/passage.js.flow +0 -157
- package/dist/widgets/plotter.js.flow +0 -78
- package/dist/widgets/radio/base-radio.js.flow +0 -50
- package/dist/widgets/radio/choice-a11y-text.js.flow +0 -14
- package/dist/widgets/radio/choice-icon/choice-icon.js.flow +0 -22
- package/dist/widgets/radio/choice-icon/cross-out-line.js.flow +0 -16
- package/dist/widgets/radio/choice-icon/shared-styles.js.flow +0 -11
- package/dist/widgets/radio/choice-none-above.js.flow +0 -16
- package/dist/widgets/radio/choice.js.flow +0 -29
- package/dist/widgets/radio/choice.jsx.fixture.js.flow +0 -7
- package/dist/widgets/radio/focus-ring.js.flow +0 -22
- package/dist/widgets/radio/option-status.js.flow +0 -16
- package/dist/widgets/radio/util.js.flow +0 -12
- package/dist/widgets/radio/widget.js.flow +0 -80
- package/dist/widgets/radio.js.flow +0 -31
- package/dist/widgets/reaction-diagram.js.flow +0 -46
- package/dist/widgets/sequence.js.flow +0 -53
- package/dist/widgets/simulator.js.flow +0 -107
- package/dist/widgets/sorter.js.flow +0 -102
- package/dist/widgets/table.js.flow +0 -67
- package/dist/widgets/transformer.js.flow +0 -127
- package/dist/widgets/unit.js.flow +0 -93
- package/dist/widgets/video-transcript-link.js.flow +0 -15
- package/dist/widgets/video.js.flow +0 -57
- package/dist/widgets.js.flow +0 -108
- package/dist/zoom.js.flow +0 -7
- package/src/multi-items/item-types.js.flow +0 -55
package/dist/a11y.js.flow
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Identifies whether or not a given perseus item requires the use of a mouse
|
|
9
|
-
* or screen, based on the widgets it contains.
|
|
10
|
-
*/
|
|
11
|
-
declare export function violatingWidgets(itemData: any): any;
|
package/dist/all-widgets.js.flow
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
import * as $Flowgen$Import$react from "react";
|
|
8
|
-
import * as $Flowgen$Import$_2e__2f_types from "./types";
|
|
9
|
-
declare var _default: $ReadOnlyArray<
|
|
10
|
-
$ReadOnly<{|
|
|
11
|
-
name: string,
|
|
12
|
-
displayName: string,
|
|
13
|
-
getWidget?: (() => $Flowgen$Import$react.ComponentType<any>) | void,
|
|
14
|
-
accessible?: boolean | ((props: any) => boolean) | void,
|
|
15
|
-
hidden?: boolean | void,
|
|
16
|
-
version?: $Flowgen$Import$_2e__2f_types.Version | void,
|
|
17
|
-
supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_2e__2f_types.Alignment> | void,
|
|
18
|
-
defaultAlignment?: $Flowgen$Import$_2e__2f_types.Alignment | void,
|
|
19
|
-
getDefaultAlignment?:
|
|
20
|
-
| (() => $Flowgen$Import$_2e__2f_types.Alignment)
|
|
21
|
-
| void,
|
|
22
|
-
isLintable?: boolean | void,
|
|
23
|
-
tracking?: $Flowgen$Import$_2e__2f_types.Tracking | void,
|
|
24
|
-
traverseChildWidgets?: any,
|
|
25
|
-
transform?: $Flowgen$Import$_2e__2f_types.WidgetTransform | void,
|
|
26
|
-
staticTransform?: $Flowgen$Import$_2e__2f_types.WidgetTransform | void,
|
|
27
|
-
propUpgrades?: {
|
|
28
|
-
[key: string]: (arg1: any) => any,
|
|
29
|
-
} | void,
|
|
30
|
-
widget: $Flowgen$Import$react.ComponentType<any>,
|
|
31
|
-
|}>
|
|
32
|
-
>;
|
|
33
|
-
declare export default typeof _default;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
import PropTypes from "prop-types";
|
|
8
|
-
import * as React from "react";
|
|
9
|
-
declare class ArticleRenderer extends React.Component<any, any> {
|
|
10
|
-
_currentFocus: any;
|
|
11
|
-
static propTypes: {|
|
|
12
|
-
apiOptions: PropTypes.Requireable<
|
|
13
|
-
PropTypes.InferProps<{|
|
|
14
|
-
onFocusChange: PropTypes.Requireable<(...args: any[]) => any>,
|
|
15
|
-
isMobile: PropTypes.Requireable<boolean>,
|
|
16
|
-
|}>
|
|
17
|
-
>,
|
|
18
|
-
json: PropTypes.Validator<
|
|
19
|
-
$NonMaybeType<
|
|
20
|
-
$NonMaybeType<
|
|
21
|
-
| PropTypes.InferProps<{|
|
|
22
|
-
content: PropTypes.Requireable<string>,
|
|
23
|
-
widgets: PropTypes.Requireable<{
|
|
24
|
-
[x: string]: any,
|
|
25
|
-
}>,
|
|
26
|
-
images: PropTypes.Requireable<{
|
|
27
|
-
[x: string]: any,
|
|
28
|
-
}>,
|
|
29
|
-
|}>
|
|
30
|
-
| (PropTypes.InferProps<{|
|
|
31
|
-
content: PropTypes.Requireable<string>,
|
|
32
|
-
widgets: PropTypes.Requireable<{
|
|
33
|
-
[x: string]: any,
|
|
34
|
-
}>,
|
|
35
|
-
images: PropTypes.Requireable<{
|
|
36
|
-
[x: string]: any,
|
|
37
|
-
}>,
|
|
38
|
-
|}> | null | void)[]
|
|
39
|
-
| null
|
|
40
|
-
| void
|
|
41
|
-
>
|
|
42
|
-
>
|
|
43
|
-
>,
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* @deprecated Does nothing
|
|
47
|
-
*/
|
|
48
|
-
useNewStyles: PropTypes.Requireable<boolean>,
|
|
49
|
-
linterContext: PropTypes.Requireable<
|
|
50
|
-
PropTypes.InferProps<{|
|
|
51
|
-
contentType: PropTypes.Requireable<string>,
|
|
52
|
-
highlightLint: PropTypes.Requireable<boolean>,
|
|
53
|
-
paths: PropTypes.Requireable<(string | null | void)[]>,
|
|
54
|
-
stack: PropTypes.Requireable<(string | null | void)[]>,
|
|
55
|
-
|}>
|
|
56
|
-
>,
|
|
57
|
-
legacyPerseusLint: PropTypes.Requireable<(string | null | void)[]>,
|
|
58
|
-
keypadStyle: PropTypes.Requireable<any>,
|
|
59
|
-
|};
|
|
60
|
-
static defaultProps: any;
|
|
61
|
-
constructor(props: any): this;
|
|
62
|
-
componentDidMount(): void;
|
|
63
|
-
shouldComponentUpdate(nextProps: any, nextState: any): any;
|
|
64
|
-
componentWillUnmount(): void;
|
|
65
|
-
keypadElement: () => void;
|
|
66
|
-
_handleFocusChange: (arg1: any, arg2: any) => void;
|
|
67
|
-
_setCurrentFocus: (arg1: any) => void;
|
|
68
|
-
_onRendererBlur: (arg1: any) => void;
|
|
69
|
-
blur: () => void;
|
|
70
|
-
_sections: () => any;
|
|
71
|
-
render(): React.Node;
|
|
72
|
-
}
|
|
73
|
-
declare export default typeof ArticleRenderer;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
import * as React from "react";
|
|
8
|
-
declare type Context = {|
|
|
9
|
-
assetStatuses: {
|
|
10
|
-
[assetKey: string]: boolean,
|
|
11
|
-
},
|
|
12
|
-
setAssetStatus: (assetKey: string, loaded: boolean) => void,
|
|
13
|
-
|};
|
|
14
|
-
declare var context: React.Context<Context>;
|
|
15
|
-
declare export default typeof context;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
import * as $Flowgen$Import$react from "react";
|
|
8
|
-
import * as $Flowgen$Import$_2e__2f_types from "./types";
|
|
9
|
-
declare var _default: $ReadOnlyArray<
|
|
10
|
-
$ReadOnly<{|
|
|
11
|
-
name: string,
|
|
12
|
-
displayName: string,
|
|
13
|
-
getWidget?: (() => $Flowgen$Import$react.ComponentType<any>) | void,
|
|
14
|
-
accessible?: boolean | ((props: any) => boolean) | void,
|
|
15
|
-
hidden?: boolean | void,
|
|
16
|
-
version?: $Flowgen$Import$_2e__2f_types.Version | void,
|
|
17
|
-
supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_2e__2f_types.Alignment> | void,
|
|
18
|
-
defaultAlignment?: $Flowgen$Import$_2e__2f_types.Alignment | void,
|
|
19
|
-
getDefaultAlignment?:
|
|
20
|
-
| (() => $Flowgen$Import$_2e__2f_types.Alignment)
|
|
21
|
-
| void,
|
|
22
|
-
isLintable?: boolean | void,
|
|
23
|
-
tracking?: $Flowgen$Import$_2e__2f_types.Tracking | void,
|
|
24
|
-
traverseChildWidgets?: any,
|
|
25
|
-
transform?: $Flowgen$Import$_2e__2f_types.WidgetTransform | void,
|
|
26
|
-
staticTransform?: $Flowgen$Import$_2e__2f_types.WidgetTransform | void,
|
|
27
|
-
propUpgrades?: {
|
|
28
|
-
[key: string]: (arg1: any) => any,
|
|
29
|
-
} | void,
|
|
30
|
-
widget: $Flowgen$Import$react.ComponentType<any>,
|
|
31
|
-
|}>
|
|
32
|
-
>;
|
|
33
|
-
declare export default typeof _default;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
import * as React from "react";
|
|
8
|
-
declare type Props = {|
|
|
9
|
-
value: any,
|
|
10
|
-
buttons: $ReadOnlyArray<{|
|
|
11
|
-
value: any,
|
|
12
|
-
content: React.Node,
|
|
13
|
-
title?: string,
|
|
14
|
-
|}>,
|
|
15
|
-
onChange: (value?: any) => mixed,
|
|
16
|
-
allowEmpty: boolean,
|
|
17
|
-
|};
|
|
18
|
-
declare type DefaultProps = {|
|
|
19
|
-
allowEmpty: $PropertyType<Props, "allowEmpty">,
|
|
20
|
-
value: $PropertyType<Props, "value">,
|
|
21
|
-
|};
|
|
22
|
-
/**
|
|
23
|
-
* ButtonGroup is an aesthetically pleasing group of buttons.
|
|
24
|
-
*/
|
|
25
|
-
declare class ButtonGroup extends React.Component<Props> {
|
|
26
|
-
container: HTMLDivElement | null | void;
|
|
27
|
-
static defaultProps: DefaultProps;
|
|
28
|
-
componentWillUnmount(): void;
|
|
29
|
-
focus(): void | boolean;
|
|
30
|
-
toggleSelect(newValue: any): void;
|
|
31
|
-
render(): React.Node;
|
|
32
|
-
}
|
|
33
|
-
declare export default typeof ButtonGroup;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
declare export var devices: {|
|
|
8
|
-
+PHONE: "phone",
|
|
9
|
-
+TABLET: "tablet",
|
|
10
|
-
+DESKTOP: "desktop",
|
|
11
|
-
|};
|
|
12
|
-
declare export var lintGutterWidth: 36;
|
|
13
|
-
declare export var perseusFrameBorderWidth: 1;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
import * as React from "react";
|
|
8
|
-
declare type Props = {|
|
|
9
|
-
width: number,
|
|
10
|
-
height: number,
|
|
11
|
-
children: React.Node,
|
|
12
|
-
className?: string,
|
|
13
|
-
constrainHeight?: boolean,
|
|
14
|
-
allowFullBleed?: boolean,
|
|
15
|
-
|};
|
|
16
|
-
declare type DefaultProps = {|
|
|
17
|
-
className: $PropertyType<Props, "className">,
|
|
18
|
-
constrainHeight: $PropertyType<Props, "constrainHeight">,
|
|
19
|
-
allowFullBleed: $PropertyType<Props, "allowFullBleed">,
|
|
20
|
-
|};
|
|
21
|
-
declare type State = {|
|
|
22
|
-
viewportHeight: number | null,
|
|
23
|
-
viewportWidth: number | null,
|
|
24
|
-
|};
|
|
25
|
-
declare class FixedToResponsive extends React.Component<Props, State> {
|
|
26
|
-
_isMounted: boolean;
|
|
27
|
-
static defaultProps: DefaultProps;
|
|
28
|
-
state: State;
|
|
29
|
-
componentDidMount(): void;
|
|
30
|
-
componentWillUnmount(): void;
|
|
31
|
-
_cacheViewportSize: () => void;
|
|
32
|
-
render(): React$Node;
|
|
33
|
-
}
|
|
34
|
-
declare export default typeof FixedToResponsive;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
import * as React from "react";
|
|
8
|
-
import type { Coord } from "../interactive2/types";
|
|
9
|
-
import type { PerseusImageBackground } from "../perseus-types";
|
|
10
|
-
declare type Props = {|
|
|
11
|
-
box: $ReadOnly<[number, number]>,
|
|
12
|
-
labels: $ReadOnlyArray<string>,
|
|
13
|
-
range: $ReadOnly<[Coord, Coord]>,
|
|
14
|
-
step: $ReadOnly<[number, number]>,
|
|
15
|
-
gridStep: $ReadOnly<[number, number]>,
|
|
16
|
-
snapStep: $ReadOnly<[number, number]>,
|
|
17
|
-
markings: string,
|
|
18
|
-
backgroundImage: PerseusImageBackground,
|
|
19
|
-
showProtractor: boolean,
|
|
20
|
-
showRuler: boolean,
|
|
21
|
-
rulerLabel: string,
|
|
22
|
-
rulerTicks: number,
|
|
23
|
-
instructions?: string,
|
|
24
|
-
isMobile: boolean,
|
|
25
|
-
onGraphieUpdated?: (graphie: any) => void,
|
|
26
|
-
onClick?: (Coord: any) => void,
|
|
27
|
-
onMouseDown?: (Coord: any) => void,
|
|
28
|
-
onMouseUp?: (Coord: any) => void,
|
|
29
|
-
onMouseMove?: (Coord: any) => void,
|
|
30
|
-
setDrawingAreaAvailable?: (boolean: any) => void,
|
|
31
|
-
|};
|
|
32
|
-
declare type DefaultProps = {|
|
|
33
|
-
labels: $PropertyType<Props, "labels">,
|
|
34
|
-
range: $PropertyType<Props, "range">,
|
|
35
|
-
step: $PropertyType<Props, "step">,
|
|
36
|
-
gridStep: $PropertyType<Props, "gridStep">,
|
|
37
|
-
snapStep: $PropertyType<Props, "snapStep">,
|
|
38
|
-
markings: $PropertyType<Props, "markings">,
|
|
39
|
-
backgroundImage: $PropertyType<Props, "backgroundImage">,
|
|
40
|
-
showProtractor: $PropertyType<Props, "showProtractor">,
|
|
41
|
-
showRuler: $PropertyType<Props, "showRuler">,
|
|
42
|
-
rulerLabel: $PropertyType<Props, "rulerLabel">,
|
|
43
|
-
rulerTicks: $PropertyType<Props, "rulerTicks">,
|
|
44
|
-
isMobile: $PropertyType<Props, "isMobile">,
|
|
45
|
-
|};
|
|
46
|
-
declare class Graph extends React.Component<Props> {
|
|
47
|
-
protractor: any;
|
|
48
|
-
ruler: any;
|
|
49
|
-
_graphie: any;
|
|
50
|
-
_hasSetupGraphieThisUpdate: boolean;
|
|
51
|
-
_shouldSetupGraphie: boolean;
|
|
52
|
-
static defaultProps: DefaultProps;
|
|
53
|
-
componentDidMount(): void;
|
|
54
|
-
UNSAFE_componentWillReceiveProps(nextProps: any): void;
|
|
55
|
-
componentDidUpdate(): void;
|
|
56
|
-
reset: () => void;
|
|
57
|
-
graphie: () => any;
|
|
58
|
-
pointsFromNormalized: (arg1: any, arg2: any) => any;
|
|
59
|
-
_setupGraphie: (arg1: any) => void;
|
|
60
|
-
_getGridConfig: () => any;
|
|
61
|
-
_updateProtractor: () => void;
|
|
62
|
-
_updateRuler: () => void;
|
|
63
|
-
toJSON: () => any;
|
|
64
|
-
render(): React.Node;
|
|
65
|
-
}
|
|
66
|
-
declare export default typeof Graph;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* A base class for all Graphie Movables
|
|
9
|
-
*
|
|
10
|
-
* Used for checking that all Graphie children are, in fact,
|
|
11
|
-
* GraphieMovables
|
|
12
|
-
*/
|
|
13
|
-
declare function GraphieMovable(descriptor: any): void;
|
|
14
|
-
declare var _default: {|
|
|
15
|
-
GraphieMovable: typeof GraphieMovable,
|
|
16
|
-
createClass: (spec: any) => any,
|
|
17
|
-
createSimpleClass: (addFunction: any) => any,
|
|
18
|
-
|};
|
|
19
|
-
declare export default typeof _default;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
declare var _default: {|
|
|
8
|
-
Arc: any,
|
|
9
|
-
Circle: any,
|
|
10
|
-
Label: any,
|
|
11
|
-
Line: any,
|
|
12
|
-
MovableLine: any,
|
|
13
|
-
MovablePoint: any,
|
|
14
|
-
Parabola: any,
|
|
15
|
-
Path: any,
|
|
16
|
-
Plot: any,
|
|
17
|
-
PlotParametric: any,
|
|
18
|
-
Point: any,
|
|
19
|
-
Sinusoid: any,
|
|
20
|
-
Rect: any,
|
|
21
|
-
|};
|
|
22
|
-
declare export default typeof _default;
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
import * as React from "react";
|
|
8
|
-
import type { Coord } from "../interactive2/types";
|
|
9
|
-
import type { Range, Size } from "../perseus-types";
|
|
10
|
-
declare type Props = {|
|
|
11
|
-
addMouseLayer?: boolean,
|
|
12
|
-
box: Size,
|
|
13
|
-
range: [Coord, Coord],
|
|
14
|
-
ranges?: [Range, Range],
|
|
15
|
-
gridStep?: [number, number],
|
|
16
|
-
step?: [number, number],
|
|
17
|
-
scale?: [number, number],
|
|
18
|
-
isMobile?: boolean,
|
|
19
|
-
responsive?: boolean,
|
|
20
|
-
children?: React.Node,
|
|
21
|
-
options: any,
|
|
22
|
-
setDrawingAreaAvailable?: (boolean: any) => void,
|
|
23
|
-
setup: (
|
|
24
|
-
graphie: any,
|
|
25
|
-
options: {|
|
|
26
|
-
range: [Coord, Coord],
|
|
27
|
-
scale: [number, number],
|
|
28
|
-
|}
|
|
29
|
-
) => void,
|
|
30
|
-
onClick?: (at: Coord) => void,
|
|
31
|
-
onMouseDown?: (at: Coord) => void,
|
|
32
|
-
onMouseMove?: (at: Coord) => void,
|
|
33
|
-
onMouseUp?: (at: Coord) => void,
|
|
34
|
-
|};
|
|
35
|
-
declare type DefaultProps = {|
|
|
36
|
-
range: $PropertyType<Props, "range">,
|
|
37
|
-
options: $PropertyType<Props, "options">,
|
|
38
|
-
responsive: $PropertyType<Props, "responsive">,
|
|
39
|
-
addMouseLayer: $PropertyType<Props, "addMouseLayer">,
|
|
40
|
-
|};
|
|
41
|
-
declare class Graphie extends React.Component<Props> {
|
|
42
|
-
graphieDivRef: React.RefObject<HTMLDivElement>;
|
|
43
|
-
static defaultProps: DefaultProps;
|
|
44
|
-
componentDidMount(): void;
|
|
45
|
-
shouldComponentUpdate(nextProps: Props): boolean;
|
|
46
|
-
componentDidUpdate(prevProps: Props): void;
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Allow parents of the <Graphie> component to grab a reference to the
|
|
50
|
-
* underlying graphie object using
|
|
51
|
-
* `this.refs.graphieComponent.getGraphie()`
|
|
52
|
-
*
|
|
53
|
-
* This shouldn't be necessary for 90% of cases, but the power is there.
|
|
54
|
-
* Use it for good and not evil.
|
|
55
|
-
*/
|
|
56
|
-
getGraphie: () => any;
|
|
57
|
-
_range: () => [Coord, Coord];
|
|
58
|
-
_box: () => Size;
|
|
59
|
-
_scale: () => $ReadOnlyArray<number>;
|
|
60
|
-
_setupGraphie: () => void;
|
|
61
|
-
_removeMovables: () => void;
|
|
62
|
-
_renderMovables: (
|
|
63
|
-
children: $ReadOnlyArray<any>,
|
|
64
|
-
arg2: any
|
|
65
|
-
) => React.Element<any>;
|
|
66
|
-
_updateMovables: () => void;
|
|
67
|
-
render(): React.Node;
|
|
68
|
-
}
|
|
69
|
-
declare export default typeof Graphie;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
import * as React from "react";
|
|
8
|
-
import type {
|
|
9
|
-
DOMHighlight,
|
|
10
|
-
DOMHighlightSet,
|
|
11
|
-
SerializedHighlightSet,
|
|
12
|
-
DOMRange,
|
|
13
|
-
} from "./types";
|
|
14
|
-
declare type Props = {|
|
|
15
|
-
children?: React.Element<any>,
|
|
16
|
-
editable: boolean,
|
|
17
|
-
enabled: boolean,
|
|
18
|
-
onSerializedHighlightsUpdate: (
|
|
19
|
-
serializedHighlights: SerializedHighlightSet
|
|
20
|
-
) => mixed,
|
|
21
|
-
serializedHighlights: SerializedHighlightSet,
|
|
22
|
-
|};
|
|
23
|
-
declare type State = {|
|
|
24
|
-
wordRanges: $ReadOnlyArray<DOMRange>,
|
|
25
|
-
|};
|
|
26
|
-
declare class HighlightableContent extends React.PureComponent<Props, State> {
|
|
27
|
-
_container: HTMLElement | null | void;
|
|
28
|
-
_content: HTMLElement | null | void;
|
|
29
|
-
state: State;
|
|
30
|
-
_buildHighlight(highlightRange: DOMRange): DOMHighlight | null | void;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Take the highlights from props, and deserialize them into DOMHighlights,
|
|
34
|
-
* according to the latest cache of word ranges.
|
|
35
|
-
*/
|
|
36
|
-
_getDOMHighlights(): DOMHighlightSet;
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Add the given DOMHighlight to the current set.
|
|
40
|
-
*/
|
|
41
|
-
_handleAddHighlight: (highlight: DOMHighlight) => void;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Remove the given highlight from the list, and call our callback with the
|
|
45
|
-
* new set of highlights.
|
|
46
|
-
*/
|
|
47
|
-
_handleRemoveHighlight: (keyToRemove: string) => void;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* When our WordIndexer sends us a new cache of word ranges, store it in
|
|
51
|
-
* our component state.
|
|
52
|
-
*/
|
|
53
|
-
_handleWordsUpdate: (wordRanges: $ReadOnlyArray<DOMRange>) => void;
|
|
54
|
-
render(): React.Node;
|
|
55
|
-
}
|
|
56
|
-
declare export default typeof HighlightableContent;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
import type {
|
|
8
|
-
DOMHighlight,
|
|
9
|
-
DOMHighlightSet,
|
|
10
|
-
SerializedHighlight,
|
|
11
|
-
DOMRange,
|
|
12
|
-
} from "./types";
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Given a list of DOMHighlights, return a new list that also includes the
|
|
16
|
-
* given DOMRange as a new DOMHighlight. If the DOMHighlight intersects
|
|
17
|
-
* existing DOMHighlights, the other Highlights are removed and their ranges
|
|
18
|
-
* are merged into the new DOMHighlight.
|
|
19
|
-
*/
|
|
20
|
-
declare export function addHighlight(
|
|
21
|
-
existingHighlights: DOMHighlightSet,
|
|
22
|
-
newHighlight: DOMHighlight
|
|
23
|
-
): DOMHighlightSet;
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Given a DOMRange and a list of word ranges, build a corresponding
|
|
27
|
-
* DOMHighlight.
|
|
28
|
-
*
|
|
29
|
-
* If the DOMRange is not a valid highlight given the word ranges, return null.
|
|
30
|
-
*/
|
|
31
|
-
declare export function buildHighlight(
|
|
32
|
-
existingHighlights: DOMHighlightSet,
|
|
33
|
-
wordRanges: $ReadOnlyArray<DOMRange>,
|
|
34
|
-
newHighlightRange: DOMRange
|
|
35
|
-
): DOMHighlight | null | void;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Given a SerializedHightlight and the current set of word ranges, return a
|
|
39
|
-
* DOMHighlight representing the SerializedHighlight.
|
|
40
|
-
*
|
|
41
|
-
* If the SerializedHighlight is not valid given the list of word ranges, throw
|
|
42
|
-
* an error.
|
|
43
|
-
*/
|
|
44
|
-
declare export function deserializeHighlight(
|
|
45
|
-
serializedHighlight: SerializedHighlight,
|
|
46
|
-
wordRanges: $ReadOnlyArray<DOMRange>
|
|
47
|
-
): DOMHighlight;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Return a SerializedHighlight representing the given DOMHighlight.
|
|
51
|
-
*/
|
|
52
|
-
declare export function serializeHighlight(
|
|
53
|
-
highlight: DOMHighlight
|
|
54
|
-
): SerializedHighlight;
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
import type { DOMRange } from "./types";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Given two DOMRanges, return a DOMRange whose start point comes from A, and
|
|
11
|
-
* whose end point comes from B.
|
|
12
|
-
*/
|
|
13
|
-
declare export function spanRanges(a: DOMRange, b: DOMRange): DOMRange;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Given two DOMRanges, return whether they overlap.
|
|
17
|
-
*
|
|
18
|
-
* We here treat ranges like closed intervals: the boundary points are
|
|
19
|
-
* considered to be included in the range, and, if a ends exactly where b
|
|
20
|
-
* starts, they are considered to overlap.
|
|
21
|
-
*/
|
|
22
|
-
declare export function rangesOverlap(a: DOMRange, b: DOMRange): boolean;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Given two DOMRanges, return whether the first includes the second: whether
|
|
26
|
-
* all points that B contains are also contained by A.
|
|
27
|
-
*/
|
|
28
|
-
declare export function rangeIncludes(a: DOMRange, b: DOMRange): boolean;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Given two DOMRanges, intersect them: return a range that contains all points
|
|
32
|
-
* that both A contains and B contains, and contains no other points.
|
|
33
|
-
*
|
|
34
|
-
* If A and B do not overlap, no intersection exists; return null.
|
|
35
|
-
*/
|
|
36
|
-
declare export function intersectRanges(
|
|
37
|
-
a: DOMRange,
|
|
38
|
-
b: DOMRange
|
|
39
|
-
): DOMRange | null | void;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Given two DOMRanges, union them: return a range that contains all points
|
|
43
|
-
* that either A contains or B contains, and contains no other points.
|
|
44
|
-
*
|
|
45
|
-
* If A and B do not overlap, no union exists; return null.
|
|
46
|
-
*/
|
|
47
|
-
declare export function unionRanges(
|
|
48
|
-
a: DOMRange,
|
|
49
|
-
b: DOMRange
|
|
50
|
-
): DOMRange | null | void;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Given a list of word ranges, and a selection range, binary search the list
|
|
54
|
-
* and return the indexes of the first and last words that the selection
|
|
55
|
-
* intersects, or `null` if the range includes no words.
|
|
56
|
-
*/
|
|
57
|
-
declare export function findFirstAndLastWordIndexes(
|
|
58
|
-
selectionRange: DOMRange,
|
|
59
|
-
wordRanges: $ReadOnlyArray<DOMRange>
|
|
60
|
-
): [number, number] | null | void;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flowtype definitions for data
|
|
3
|
-
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.21.0
|
|
5
|
-
* @flow
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* A range of highlightable content, defined relative to the current DOM.
|
|
9
|
-
*
|
|
10
|
-
* This is actually just the built-in DOM type Range, aliased for consistency
|
|
11
|
-
* with DOMHighlight and SerializedHighlight.
|
|
12
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/Range
|
|
13
|
-
*
|
|
14
|
-
* A DOMRange is inherently coupled to a particular DOM session, and must be
|
|
15
|
-
* serialized into a SerializedRange before being persisted.
|
|
16
|
-
*/
|
|
17
|
-
export type DOMRange = Range;
|
|
18
|
-
/**
|
|
19
|
-
* A range of highlightable content, serialized into a DOM-independent format
|
|
20
|
-
* so that it can be restored in subsequent browser sessions.
|
|
21
|
-
*
|
|
22
|
-
* We currently serialize ranges by the index of the first highlighted word and
|
|
23
|
-
* index of the last highlighted word, each with respect to the full body of
|
|
24
|
-
* the highlightable content.
|
|
25
|
-
*
|
|
26
|
-
* TODO(mdr): Word index serialization is fragile in environments where the
|
|
27
|
-
* highlightable content is liable to change. Currently, our only call
|
|
28
|
-
* sites is the test prep app, which saves Perseus state against a
|
|
29
|
-
* particular *version* of a Perseus item, so it's impossible for the
|
|
30
|
-
* content to change - but, if we try to generalize further, we'll need to
|
|
31
|
-
* create new types of range serialization that are more robust to change.
|
|
32
|
-
* (Maybe some quoted text, and we scan the content for matches?)
|
|
33
|
-
*
|
|
34
|
-
* Note, too, that changes to the definition of "word" are liable to break
|
|
35
|
-
* already-persisted word-index ranges, too. If we significantly change the
|
|
36
|
-
* definition, we should consider adding a versioning field here - even if
|
|
37
|
-
* we don't support *all* historical word implementations, we still might
|
|
38
|
-
* want to hide old highlights altogether if our word definition has
|
|
39
|
-
* changed sufficiently radically.
|
|
40
|
-
*/
|
|
41
|
-
export type SerializedRange = {|
|
|
42
|
-
type: "word-indexes",
|
|
43
|
-
firstWordIndex: number,
|
|
44
|
-
lastWordIndex: number,
|
|
45
|
-
|};
|
|
46
|
-
/**
|
|
47
|
-
* A highlight, defined relative to the current DOM.
|
|
48
|
-
*
|
|
49
|
-
* A DOMHighlight, by depending on DOMRange, is inherently coupled to a
|
|
50
|
-
* particular DOM session, and must be serialized into a SerializedRange before
|
|
51
|
-
* being persisted.
|
|
52
|
-
*/
|
|
53
|
-
export type DOMHighlight = {|
|
|
54
|
-
firstWordIndex: number,
|
|
55
|
-
lastWordIndex: number,
|
|
56
|
-
domRange: DOMRange,
|
|
57
|
-
|};
|
|
58
|
-
export type DOMHighlightSet = {
|
|
59
|
-
[key: string]: DOMHighlight,
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* A highlight, serialized into a DOM-independent format so that it can be
|
|
63
|
-
* restored in subsequent browser sessions.
|
|
64
|
-
*/
|
|
65
|
-
export type SerializedHighlight = {|
|
|
66
|
-
range: SerializedRange,
|
|
67
|
-
|};
|
|
68
|
-
export type SerializedHighlightSet = {
|
|
69
|
-
[key: string]: SerializedHighlight,
|
|
70
|
-
};
|