@khanacademy/perseus-editor 1.1.0 → 2.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/.babelrc.js +1 -1
- package/.eslintrc.js +1 -0
- package/CHANGELOG.md +21 -0
- package/dist/all-editors.d.ts +2 -0
- package/dist/all-editors.js.flow +8 -0
- package/dist/all-widgets.d.ts +22 -0
- package/dist/all-widgets.js.flow +34 -0
- package/dist/article-editor.d.ts +59 -0
- package/dist/article-editor.js.flow +72 -0
- package/dist/components/blur-input.d.ts +19 -0
- package/dist/components/blur-input.js.flow +25 -0
- package/dist/components/checkbox.d.ts +20 -0
- package/dist/components/checkbox.js.flow +26 -0
- package/dist/components/device-framer.d.ts +15 -0
- package/dist/components/device-framer.js.flow +20 -0
- package/dist/components/drag-target.d.ts +2 -0
- package/dist/components/drag-target.js.flow +8 -0
- package/dist/components/dropdown-option.d.ts +35 -0
- package/dist/components/dropdown-option.js.flow +49 -0
- package/dist/components/form-wrapped-text-field.d.ts +48 -0
- package/dist/components/form-wrapped-text-field.js.flow +48 -0
- package/dist/components/graph-settings.d.ts +2 -0
- package/dist/components/graph-settings.js.flow +8 -0
- package/dist/components/hover-behavior.d.ts +85 -0
- package/dist/components/hover-behavior.js.flow +48 -0
- package/dist/components/json-editor.d.ts +2 -0
- package/dist/components/json-editor.js.flow +8 -0
- package/dist/components/link.d.ts +41 -0
- package/dist/components/link.js.flow +50 -0
- package/dist/components/simple-button.d.ts +16 -0
- package/dist/components/simple-button.js.flow +18 -0
- package/dist/components/sortable.d.ts +2 -0
- package/dist/components/sortable.js.flow +8 -0
- package/dist/components/util.d.ts +1 -0
- package/dist/components/util.js.flow +9 -0
- package/dist/components/viewport-resizer.d.ts +16 -0
- package/dist/components/viewport-resizer.js.flow +22 -0
- package/dist/diffs/__stories__/perseus-diff-wrapper.d.ts +5 -0
- package/dist/diffs/__stories__/perseus-diff-wrapper.js.flow +11 -0
- package/dist/diffs/article-diff.d.ts +50 -0
- package/dist/diffs/article-diff.js.flow +71 -0
- package/dist/diffs/item-diff.d.ts +23 -0
- package/dist/diffs/item-diff.js.flow +41 -0
- package/dist/diffs/renderer-diff.d.ts +22 -0
- package/dist/diffs/renderer-diff.js.flow +25 -0
- package/dist/diffs/split-diff.d.ts +2 -0
- package/dist/diffs/split-diff.js.flow +8 -0
- package/dist/diffs/string-array-diff.d.ts +2 -0
- package/dist/diffs/string-array-diff.js.flow +11 -0
- package/dist/diffs/structured-item-diff.d.ts +25 -0
- package/dist/diffs/structured-item-diff.js.flow +37 -0
- package/dist/diffs/tags-diff.d.ts +21 -0
- package/dist/diffs/tags-diff.js.flow +24 -0
- package/dist/diffs/text-diff.d.ts +15 -0
- package/dist/diffs/text-diff.js.flow +21 -0
- package/dist/diffs/widget-diff-performer.d.ts +2 -0
- package/dist/diffs/widget-diff-performer.js.flow +8 -0
- package/dist/diffs/widget-diff.d.ts +21 -0
- package/dist/diffs/widget-diff.js.flow +31 -0
- package/dist/editor-page.d.ts +57 -0
- package/dist/editor-page.js.flow +73 -0
- package/dist/editor.d.ts +82 -0
- package/dist/editor.js.flow +98 -0
- package/dist/es/index.js +1428 -2587
- package/dist/es/index.js.map +1 -1
- package/dist/hint-editor.d.ts +64 -0
- package/dist/hint-editor.js.flow +87 -0
- package/dist/i18n.d.ts +7 -0
- package/dist/i18n.js.flow +13 -0
- package/dist/iframe-content-renderer.d.ts +22 -0
- package/dist/iframe-content-renderer.js.flow +28 -0
- package/dist/index.d.ts +17 -2
- package/dist/index.js +1492 -2548
- package/dist/index.js.flow +23 -2
- package/dist/index.js.map +1 -1
- package/dist/item-editor.d.ts +36 -0
- package/dist/item-editor.js.flow +46 -0
- package/dist/item-extras-editor.d.ts +17 -0
- package/dist/item-extras-editor.js.flow +23 -0
- package/dist/katex-error-view.d.ts +16 -0
- package/dist/katex-error-view.js.flow +24 -0
- package/dist/multirenderer-editor.d.ts +32 -0
- package/dist/multirenderer-editor.js.flow +46 -0
- package/dist/section-control-button.d.ts +12 -0
- package/dist/section-control-button.js.flow +20 -0
- package/dist/stateful-article-editor.d.ts +10 -0
- package/dist/stateful-article-editor.js.flow +16 -0
- package/dist/stateful-editor-page.d.ts +2 -0
- package/dist/stateful-editor-page.js.flow +8 -0
- package/dist/testing-widgets.d.ts +22 -0
- package/dist/testing-widgets.js.flow +34 -0
- package/dist/util/register-all-widgets-and-editors-for-testing.d.ts +1 -0
- package/dist/util/register-all-widgets-and-editors-for-testing.js.flow +7 -0
- package/dist/widgets/categorizer-editor.d.ts +47 -0
- package/dist/widgets/categorizer-editor.js.flow +61 -0
- package/dist/widgets/cs-program-editor.d.ts +21 -0
- package/dist/widgets/cs-program-editor.js.flow +25 -0
- package/dist/widgets/definition-editor.d.ts +17 -0
- package/dist/widgets/definition-editor.js.flow +23 -0
- package/dist/widgets/dropdown-editor.d.ts +23 -0
- package/dist/widgets/dropdown-editor.js.flow +37 -0
- package/dist/widgets/example-graphie-widget-editor.d.ts +18 -0
- package/dist/widgets/example-graphie-widget-editor.js.flow +25 -0
- package/dist/widgets/example-graphie-widget.d.ts +87 -0
- package/dist/widgets/example-graphie-widget.js.flow +101 -0
- package/dist/widgets/example-widget-editor.d.ts +19 -0
- package/dist/widgets/example-widget-editor.js.flow +26 -0
- package/dist/widgets/example-widget.d.ts +71 -0
- package/dist/widgets/example-widget.js.flow +86 -0
- package/dist/widgets/explanation-editor.d.ts +21 -0
- package/dist/widgets/explanation-editor.js.flow +27 -0
- package/dist/widgets/expression-editor.d.ts +33 -0
- package/dist/widgets/expression-editor.js.flow +41 -0
- package/dist/widgets/graded-group-editor.d.ts +53 -0
- package/dist/widgets/graded-group-editor.js.flow +67 -0
- package/dist/widgets/graded-group-set-editor.d.ts +51 -0
- package/dist/widgets/graded-group-set-editor.js.flow +65 -0
- package/dist/widgets/grapher-editor.d.ts +14 -0
- package/dist/widgets/grapher-editor.js.flow +21 -0
- package/dist/widgets/group-editor.d.ts +49 -0
- package/dist/widgets/group-editor.js.flow +63 -0
- package/dist/widgets/iframe-editor.d.ts +18 -0
- package/dist/widgets/iframe-editor.js.flow +24 -0
- package/dist/widgets/image-editor.d.ts +2 -0
- package/dist/widgets/image-editor.js.flow +8 -0
- package/dist/widgets/input-number-editor.d.ts +47 -0
- package/dist/widgets/input-number-editor.js.flow +77 -0
- package/dist/widgets/interaction/constraint-editor.d.ts +26 -0
- package/dist/widgets/interaction/constraint-editor.js.flow +35 -0
- package/dist/widgets/interaction-editor.d.ts +28 -0
- package/dist/widgets/interaction-editor.js.flow +36 -0
- package/dist/widgets/interactive-graph-editor.d.ts +2 -0
- package/dist/widgets/interactive-graph-editor.js.flow +8 -0
- package/dist/widgets/label-image/answer-choices.d.ts +13 -0
- package/dist/widgets/label-image/answer-choices.js.flow +16 -0
- package/dist/widgets/label-image/behavior.d.ts +14 -0
- package/dist/widgets/label-image/behavior.js.flow +17 -0
- package/dist/widgets/label-image/marker.d.ts +30 -0
- package/dist/widgets/label-image/marker.js.flow +34 -0
- package/dist/widgets/label-image/question-markers.d.ts +22 -0
- package/dist/widgets/label-image/question-markers.js.flow +25 -0
- package/dist/widgets/label-image/select-image.d.ts +10 -0
- package/dist/widgets/label-image/select-image.js.flow +13 -0
- package/dist/widgets/label-image-editor.d.ts +45 -0
- package/dist/widgets/label-image-editor.js.flow +44 -0
- package/dist/widgets/lights-puzzle-editor.d.ts +24 -0
- package/dist/widgets/lights-puzzle-editor.js.flow +34 -0
- package/dist/widgets/matcher-editor.d.ts +19 -0
- package/dist/widgets/matcher-editor.js.flow +28 -0
- package/dist/widgets/matrix-editor.d.ts +20 -0
- package/dist/widgets/matrix-editor.js.flow +26 -0
- package/dist/widgets/measurer-editor.d.ts +32 -0
- package/dist/widgets/measurer-editor.js.flow +42 -0
- package/dist/widgets/molecule-editor.d.ts +17 -0
- package/dist/widgets/molecule-editor.js.flow +23 -0
- package/dist/widgets/number-line-editor.d.ts +36 -0
- package/dist/widgets/number-line-editor.js.flow +45 -0
- package/dist/widgets/numeric-input-editor.d.ts +2 -0
- package/dist/widgets/numeric-input-editor.js.flow +8 -0
- package/dist/widgets/orderer-editor.d.ts +20 -0
- package/dist/widgets/orderer-editor.js.flow +30 -0
- package/dist/widgets/passage-editor.d.ts +18 -0
- package/dist/widgets/passage-editor.js.flow +24 -0
- package/dist/widgets/passage-ref-editor.d.ts +11 -0
- package/dist/widgets/passage-ref-editor.js.flow +17 -0
- package/dist/widgets/passage-ref-target-editor.d.ts +16 -0
- package/dist/widgets/passage-ref-target-editor.js.flow +22 -0
- package/dist/widgets/plotter-editor.d.ts +45 -0
- package/dist/widgets/plotter-editor.js.flow +53 -0
- package/dist/widgets/radio/editor.d.ts +64 -0
- package/dist/widgets/radio/editor.js.flow +80 -0
- package/dist/widgets/reaction-diagram-editor.d.ts +20 -0
- package/dist/widgets/reaction-diagram-editor.js.flow +26 -0
- package/dist/widgets/sequence-editor.d.ts +56 -0
- package/dist/widgets/sequence-editor.js.flow +72 -0
- package/dist/widgets/simple-markdown-tester-editor.d.ts +14 -0
- package/dist/widgets/simple-markdown-tester-editor.js.flow +23 -0
- package/dist/widgets/simple-markdown-tester.d.ts +52 -0
- package/dist/widgets/simple-markdown-tester.js.flow +61 -0
- package/dist/widgets/simulator-editor.d.ts +20 -0
- package/dist/widgets/simulator-editor.js.flow +26 -0
- package/dist/widgets/sorter-editor.d.ts +16 -0
- package/dist/widgets/sorter-editor.js.flow +22 -0
- package/dist/widgets/table-editor.d.ts +18 -0
- package/dist/widgets/table-editor.js.flow +24 -0
- package/dist/widgets/transformer-editor.d.ts +11 -0
- package/dist/widgets/transformer-editor.js.flow +17 -0
- package/dist/widgets/unit-editor.d.ts +33 -0
- package/dist/widgets/unit-editor.js.flow +41 -0
- package/dist/widgets/video-editor.d.ts +19 -0
- package/dist/widgets/video-editor.js.flow +25 -0
- package/package.json +6 -5
- package/src/__stories__/{editor.stories.js → editor.stories.tsx} +4 -5
- package/src/__stories__/{section-control-button.stories.jsx → section-control-button.stories.tsx} +10 -11
- package/src/__testdata__/{input-number_testdata.js → input-number.testdata.ts} +2 -3
- package/src/__tests__/{editor_test.jsx → editor.test.tsx} +4 -7
- package/src/__tests__/{i18n_test.jsx → i18n.test.ts} +5 -5
- package/src/__tests__/{traversal_test.jsx → traversal.test.ts} +9 -10
- package/src/{all-editors_test.js → all-editors.test.ts} +1 -2
- package/src/all-editors.ts +83 -0
- package/src/all-widgets.ts +7 -0
- package/src/{article-editor.jsx → article-editor.tsx} +52 -42
- package/src/components/__stories__/{blur-input.stories.jsx → blur-input.stories.tsx} +2 -4
- package/src/components/{blur-input.jsx → blur-input.tsx} +12 -13
- package/src/components/{checkbox.jsx → checkbox.tsx} +18 -19
- package/src/components/{device-framer.jsx → device-framer.tsx} +4 -5
- package/src/components/{drag-target.jsx → drag-target.tsx} +0 -1
- package/src/components/{dropdown-option.jsx → dropdown-option.tsx} +40 -40
- package/src/components/{form-wrapped-text-field.jsx → form-wrapped-text-field.tsx} +47 -53
- package/src/components/{graph-settings.jsx → graph-settings.tsx} +4 -8
- package/src/components/{hover-behavior.jsx → hover-behavior.ts} +32 -33
- package/src/components/{json-editor.jsx → json-editor.tsx} +4 -3
- package/src/components/{link.jsx → link.ts} +33 -33
- package/src/components/{simple-button.jsx → simple-button.tsx} +3 -4
- package/src/components/{sortable.jsx → sortable.tsx} +3 -3
- package/src/components/{util.js → util.ts} +1 -2
- package/src/components/{viewport-resizer.jsx → viewport-resizer.tsx} +5 -6
- package/src/diffs/__stories__/{perseus-diff-wrapper.jsx → perseus-diff-wrapper.tsx} +3 -2
- package/src/diffs/__stories__/{structured-item-diff.stories.jsx → structured-item-diff.stories.tsx} +27 -22
- package/src/diffs/__stories__/{tags-diff.stories.jsx → tags-diff.stories.tsx} +12 -14
- package/src/diffs/__stories__/{text-diff.stories.jsx → text-diff.stories.tsx} +12 -14
- package/src/diffs/__tests__/{split-diff_test.js → split-diff.test.ts} +1 -2
- package/src/diffs/__tests__/{string-array-diff_test.js → string-array-diff.test.ts} +1 -2
- package/src/diffs/__tests__/{structured-item-diff_test.js → structured-item-diff.test.ts} +15 -14
- package/src/diffs/__tests__/{widget-diff-performer_test.js → widget-diff-performer.test.ts} +1 -2
- package/src/diffs/{article-diff.jsx → article-diff.tsx} +5 -6
- package/src/diffs/{item-diff.jsx → item-diff.tsx} +4 -5
- package/src/diffs/{renderer-diff.jsx → renderer-diff.tsx} +22 -28
- package/src/diffs/{split-diff.jsx → split-diff.ts} +4 -3
- package/src/diffs/{string-array-diff.jsx → string-array-diff.ts} +8 -9
- package/src/diffs/{structured-item-diff.jsx → structured-item-diff.tsx} +32 -27
- package/src/diffs/{tags-diff.jsx → tags-diff.tsx} +15 -16
- package/src/diffs/{text-diff.jsx → text-diff.tsx} +13 -13
- package/src/diffs/{widget-diff-performer.jsx → widget-diff-performer.ts} +3 -8
- package/src/diffs/{widget-diff.jsx → widget-diff.tsx} +15 -14
- package/src/{editor-page.jsx → editor-page.tsx} +52 -60
- package/src/{editor.jsx → editor.tsx} +315 -277
- package/src/{hint-editor.jsx → hint-editor.tsx} +105 -79
- package/src/{i18n.jsx → i18n.ts} +9 -6
- package/src/{iframe-content-renderer.jsx → iframe-content-renderer.tsx} +23 -17
- package/src/{index.js → index.ts} +15 -16
- package/src/{item-editor.jsx → item-editor.tsx} +35 -30
- package/src/{item-extras-editor.jsx → item-extras-editor.tsx} +3 -4
- package/src/{katex-error-view.jsx → katex-error-view.tsx} +4 -5
- package/src/{multirenderer-editor.jsx → multirenderer-editor.tsx} +132 -127
- package/src/{section-control-button.jsx → section-control-button.tsx} +10 -9
- package/src/{stateful-article-editor.jsx → stateful-article-editor.tsx} +2 -5
- package/src/{stateful-editor-page.jsx → stateful-editor-page.tsx} +1 -3
- package/src/{testing-widgets.js → testing-widgets.ts} +5 -6
- package/src/util/{register-all-widgets-and-editors-for-testing_test.js → register-all-widgets-and-editors-for-testing.test.ts} +1 -2
- package/src/util/{register-all-widgets-and-editors-for-testing.js → register-all-widgets-and-editors-for-testing.ts} +2 -3
- package/src/widgets/__stories__/{label-image-editor.stories.jsx → label-image-editor.stories.tsx} +22 -18
- package/src/widgets/__stories__/{radio-editor.stories.jsx → radio-editor.stories.tsx} +15 -10
- package/src/widgets/{categorizer-editor.jsx → categorizer-editor.tsx} +8 -6
- package/src/widgets/{cs-program-editor.jsx → cs-program-editor.tsx} +17 -17
- package/src/widgets/{definition-editor.jsx → definition-editor.tsx} +9 -8
- package/src/widgets/{dropdown-editor.jsx → dropdown-editor.tsx} +27 -19
- package/src/widgets/{example-graphie-widget-editor.jsx → example-graphie-widget-editor.tsx} +8 -8
- package/src/widgets/{example-graphie-widget.jsx → example-graphie-widget.tsx} +14 -17
- package/src/widgets/{example-widget-editor.jsx → example-widget-editor.tsx} +10 -7
- package/src/widgets/{example-widget.jsx → example-widget.tsx} +14 -12
- package/src/widgets/{explanation-editor.jsx → explanation-editor.tsx} +12 -10
- package/src/widgets/{expression-editor.jsx → expression-editor.tsx} +36 -26
- package/src/widgets/{graded-group-editor.jsx → graded-group-editor.tsx} +18 -10
- package/src/widgets/{graded-group-set-editor.jsx → graded-group-set-editor.tsx} +15 -12
- package/src/widgets/{grapher-editor.jsx → grapher-editor.tsx} +10 -9
- package/src/widgets/{group-editor.jsx → group-editor.tsx} +11 -9
- package/src/widgets/{iframe-editor.jsx → iframe-editor.tsx} +16 -13
- package/src/widgets/{image-editor.jsx → image-editor.tsx} +4 -7
- package/src/widgets/{input-number-editor.jsx → input-number-editor.tsx} +61 -47
- package/src/widgets/interaction/{constraint-editor.jsx → constraint-editor.tsx} +21 -24
- package/src/widgets/{interaction-editor.jsx → interaction-editor.tsx} +160 -61
- package/src/widgets/{interactive-graph-editor.jsx → interactive-graph-editor.tsx} +13 -10
- package/src/widgets/label-image/__stories__/{answer-choices.stories.jsx → answer-choices.stories.tsx} +22 -17
- package/src/widgets/label-image/__stories__/{behavior.stories.jsx → behavior.stories.tsx} +9 -10
- package/src/widgets/label-image/__stories__/{marker.stories.jsx → marker.stories.tsx} +11 -12
- package/src/widgets/label-image/__stories__/{question-markers.stories.jsx → question-markers.stories.tsx} +17 -16
- package/src/widgets/label-image/__stories__/{select-image.stories.jsx → select-image.stories.tsx} +12 -13
- package/src/widgets/label-image/{answer-choices.jsx → answer-choices.tsx} +18 -18
- package/src/widgets/label-image/{behavior.jsx → behavior.tsx} +9 -11
- package/src/widgets/label-image/{marker.jsx → marker.tsx} +17 -19
- package/src/widgets/label-image/{question-markers.jsx → question-markers.tsx} +16 -21
- package/src/widgets/label-image/{select-image.jsx → select-image.tsx} +5 -7
- package/src/widgets/{label-image-editor.jsx → label-image-editor.tsx} +38 -44
- package/src/widgets/{lights-puzzle-editor.jsx → lights-puzzle-editor.tsx} +34 -24
- package/src/widgets/{matcher-editor.jsx → matcher-editor.tsx} +9 -7
- package/src/widgets/{matrix-editor.jsx → matrix-editor.tsx} +10 -9
- package/src/widgets/{measurer-editor.jsx → measurer-editor.tsx} +21 -14
- package/src/widgets/{molecule-editor.jsx → molecule-editor.tsx} +9 -8
- package/src/widgets/{number-line-editor.jsx → number-line-editor.tsx} +19 -17
- package/src/widgets/{numeric-input-editor.jsx → numeric-input-editor.tsx} +10 -10
- package/src/widgets/{orderer-editor.jsx → orderer-editor.tsx} +17 -12
- package/src/widgets/{passage-editor.jsx → passage-editor.tsx} +9 -7
- package/src/widgets/{passage-ref-editor.jsx → passage-ref-editor.tsx} +8 -6
- package/src/widgets/{passage-ref-target-editor.jsx → passage-ref-target-editor.tsx} +9 -7
- package/src/widgets/{plotter-editor.jsx → plotter-editor.tsx} +34 -33
- package/src/widgets/radio/{editor.jsx → editor.tsx} +22 -21
- package/src/widgets/{reaction-diagram-editor.jsx → reaction-diagram-editor.tsx} +14 -10
- package/src/widgets/{sequence-editor.jsx → sequence-editor.tsx} +13 -13
- package/src/widgets/{simple-markdown-tester-editor.jsx → simple-markdown-tester-editor.tsx} +11 -9
- package/src/widgets/{simple-markdown-tester.jsx → simple-markdown-tester.tsx} +8 -7
- package/src/widgets/{simulator-editor.jsx → simulator-editor.tsx} +10 -8
- package/src/widgets/{sorter-editor.jsx → sorter-editor.tsx} +8 -6
- package/src/widgets/{table-editor.jsx → table-editor.tsx} +11 -10
- package/src/widgets/{transformer-editor.jsx → transformer-editor.tsx} +37 -35
- package/src/widgets/{unit-editor.jsx → unit-editor.tsx} +31 -25
- package/src/widgets/{video-editor.jsx → video-editor.tsx} +8 -9
- package/tsconfig.json +22 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/src/all-editors.js +0 -85
- package/src/all-widgets.js +0 -10
- /package/dist/{strings.js → strings} +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
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 Handlers = {|
|
|
9
|
+
onBlur: () => mixed,
|
|
10
|
+
onClick: (e: SyntheticMouseEvent<>) => mixed,
|
|
11
|
+
onFocus: () => mixed,
|
|
12
|
+
onMouseDown: () => mixed,
|
|
13
|
+
onMouseEnter: () => mixed,
|
|
14
|
+
onMouseLeave: () => mixed,
|
|
15
|
+
onTouchStart: () => mixed,
|
|
16
|
+
onTouchEnd: () => mixed,
|
|
17
|
+
|};
|
|
18
|
+
declare type State = {|
|
|
19
|
+
focused: boolean,
|
|
20
|
+
hovered: boolean,
|
|
21
|
+
|};
|
|
22
|
+
declare type Props = {|
|
|
23
|
+
children?: (state: State, handlers: Handlers) => React.Element<any>,
|
|
24
|
+
disabled?: boolean,
|
|
25
|
+
onClick?: (e: SyntheticMouseEvent<>) => mixed,
|
|
26
|
+
startHovered: boolean,
|
|
27
|
+
shouldUpdate: () => boolean,
|
|
28
|
+
|};
|
|
29
|
+
declare export default class HoverBehavior
|
|
30
|
+
extends React.Component<Props, State>
|
|
31
|
+
{
|
|
32
|
+
static defaultProps: {|
|
|
33
|
+
shouldUpdate: () => boolean,
|
|
34
|
+
startHovered: boolean,
|
|
35
|
+
|};
|
|
36
|
+
constructor(props: Props): this;
|
|
37
|
+
focusFlag: boolean;
|
|
38
|
+
waitingForClick: boolean;
|
|
39
|
+
handleClick: (e: SyntheticMouseEvent<>) => void;
|
|
40
|
+
handleMouseEnter: () => void;
|
|
41
|
+
handleMouseLeave: () => void;
|
|
42
|
+
handleTouchStart: () => void;
|
|
43
|
+
handleTouchEnd: () => void;
|
|
44
|
+
handleMouseDown: () => void;
|
|
45
|
+
handleBlur: () => void;
|
|
46
|
+
handleFocus: () => void;
|
|
47
|
+
render(): React.Node;
|
|
48
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { CSSProperties } from "aphrodite";
|
|
3
|
+
type DefaultProps = {
|
|
4
|
+
element: React.ElementType;
|
|
5
|
+
highlighted: boolean;
|
|
6
|
+
href: string;
|
|
7
|
+
style: CSSProperties | Array<CSSProperties>;
|
|
8
|
+
};
|
|
9
|
+
type LinkProps = DefaultProps & {
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
className?: string;
|
|
12
|
+
inlineStyles?: {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
referrer?: string;
|
|
16
|
+
target?: string;
|
|
17
|
+
rel?: string;
|
|
18
|
+
testId?: string;
|
|
19
|
+
onClick?: (e: React.MouseEvent) => unknown;
|
|
20
|
+
onMouseOver?: (e: React.MouseEvent) => unknown;
|
|
21
|
+
onMouseLeave?: (e: React.MouseEvent) => unknown;
|
|
22
|
+
onMouseEnter?: (e: React.MouseEvent) => unknown;
|
|
23
|
+
onBlur?: (e: React.SyntheticEvent) => unknown;
|
|
24
|
+
onFocus?: (e: React.SyntheticEvent) => unknown;
|
|
25
|
+
onKeyDown?: (e: React.KeyboardEvent) => unknown;
|
|
26
|
+
["aria-label"]?: string;
|
|
27
|
+
["aria-selected"]?: boolean;
|
|
28
|
+
["aria-current"]?: boolean;
|
|
29
|
+
role?: "tab";
|
|
30
|
+
title?: string;
|
|
31
|
+
id?: string;
|
|
32
|
+
tabIndex?: number;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* A wrapper that creates an anchor tag with normalized styles
|
|
36
|
+
*/
|
|
37
|
+
declare class Link extends React.Component<LinkProps> {
|
|
38
|
+
static defaultProps: DefaultProps;
|
|
39
|
+
render(): React.ReactNode;
|
|
40
|
+
}
|
|
41
|
+
export default Link;
|
|
@@ -0,0 +1,50 @@
|
|
|
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 { CSSProperties } from "aphrodite";
|
|
9
|
+
declare type DefaultProps = {|
|
|
10
|
+
element: React.ElementType<>,
|
|
11
|
+
highlighted: boolean,
|
|
12
|
+
href: string,
|
|
13
|
+
style: CSSProperties | Array<CSSProperties>,
|
|
14
|
+
|};
|
|
15
|
+
declare type LinkProps = {|
|
|
16
|
+
...DefaultProps,
|
|
17
|
+
...{|
|
|
18
|
+
children?: React.Node,
|
|
19
|
+
className?: string,
|
|
20
|
+
inlineStyles?: {
|
|
21
|
+
[key: string]: any,
|
|
22
|
+
},
|
|
23
|
+
referrer?: string,
|
|
24
|
+
target?: string,
|
|
25
|
+
rel?: string,
|
|
26
|
+
testId?: string,
|
|
27
|
+
onClick?: (e: SyntheticMouseEvent<>) => mixed,
|
|
28
|
+
onMouseOver?: (e: SyntheticMouseEvent<>) => mixed,
|
|
29
|
+
onMouseLeave?: (e: SyntheticMouseEvent<>) => mixed,
|
|
30
|
+
onMouseEnter?: (e: SyntheticMouseEvent<>) => mixed,
|
|
31
|
+
onBlur?: (e: SyntheticEvent<>) => mixed,
|
|
32
|
+
onFocus?: (e: SyntheticEvent<>) => mixed,
|
|
33
|
+
onKeyDown?: (e: SyntheticKeyboardEvent<>) => mixed,
|
|
34
|
+
"aria-label": string | void,
|
|
35
|
+
"aria-selected": boolean | void,
|
|
36
|
+
"aria-current": boolean | void,
|
|
37
|
+
role?: "tab",
|
|
38
|
+
title?: string,
|
|
39
|
+
id?: string,
|
|
40
|
+
tabIndex?: number,
|
|
41
|
+
|},
|
|
42
|
+
|};
|
|
43
|
+
/**
|
|
44
|
+
* A wrapper that creates an anchor tag with normalized styles
|
|
45
|
+
*/
|
|
46
|
+
declare class Link extends React.Component<LinkProps> {
|
|
47
|
+
static defaultProps: DefaultProps;
|
|
48
|
+
render(): React.Node;
|
|
49
|
+
}
|
|
50
|
+
declare export default typeof Link;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides a simple styled button
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
5
|
+
import PropTypes from "prop-types";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
declare class SimpleButton extends React.Component<any> {
|
|
8
|
+
static propTypes: {
|
|
9
|
+
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
10
|
+
color: PropTypes.Requireable<string>;
|
|
11
|
+
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
12
|
+
};
|
|
13
|
+
static defaultProps: any;
|
|
14
|
+
render(): React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export default SimpleButton;
|
|
@@ -0,0 +1,18 @@
|
|
|
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 SimpleButton extends React.Component<any> {
|
|
10
|
+
static propTypes: {|
|
|
11
|
+
children: PropTypes.Requireable<PropTypes.ReactNodeLike>,
|
|
12
|
+
color: PropTypes.Requireable<string>,
|
|
13
|
+
onClick: PropTypes.Requireable<(...args: any[]) => any>,
|
|
14
|
+
|};
|
|
15
|
+
static defaultProps: any;
|
|
16
|
+
render(): React.Node;
|
|
17
|
+
}
|
|
18
|
+
declare export default typeof SimpleButton;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function focusWithChromeStickyFocusBugWorkaround(element: Element): void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import PropTypes from "prop-types";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import type { DeviceType } from "@khanacademy/perseus";
|
|
4
|
+
type Props = {
|
|
5
|
+
deviceType: DeviceType;
|
|
6
|
+
onViewportSizeChanged: (arg1: DeviceType) => unknown;
|
|
7
|
+
};
|
|
8
|
+
declare class ViewportResizer extends React.Component<Props> {
|
|
9
|
+
static propTypes: {
|
|
10
|
+
deviceType: PropTypes.Validator<string>;
|
|
11
|
+
onViewportSizeChanged: PropTypes.Validator<(...args: any[]) => any>;
|
|
12
|
+
};
|
|
13
|
+
handleChange: (value: DeviceType) => void;
|
|
14
|
+
render(): React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export default ViewportResizer;
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
import type { DeviceType } from "@khanacademy/perseus";
|
|
10
|
+
declare type Props = {|
|
|
11
|
+
deviceType: DeviceType,
|
|
12
|
+
onViewportSizeChanged: (arg1: DeviceType) => mixed,
|
|
13
|
+
|};
|
|
14
|
+
declare class ViewportResizer extends React.Component<Props> {
|
|
15
|
+
static propTypes: {|
|
|
16
|
+
deviceType: PropTypes.Validator<string>,
|
|
17
|
+
onViewportSizeChanged: PropTypes.Validator<(...args: any[]) => any>,
|
|
18
|
+
|};
|
|
19
|
+
handleChange: (value: DeviceType) => void;
|
|
20
|
+
render(): React.Node;
|
|
21
|
+
}
|
|
22
|
+
declare export default typeof ViewportResizer;
|
|
@@ -0,0 +1,11 @@
|
|
|
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 var Wrapper: React.StatelessFunctionalComponent<{|
|
|
9
|
+
children: React.Node,
|
|
10
|
+
|}>;
|
|
11
|
+
declare export default typeof Wrapper;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A side by side diff view for Perseus articles.
|
|
3
|
+
*/
|
|
4
|
+
import PropTypes from "prop-types";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
type Props = any;
|
|
7
|
+
type State = any;
|
|
8
|
+
declare class ArticleDiff extends React.Component<Props, State> {
|
|
9
|
+
static propTypes: {
|
|
10
|
+
after: PropTypes.Validator<NonNullable<NonNullable<PropTypes.InferProps<{
|
|
11
|
+
content: PropTypes.Requireable<string>;
|
|
12
|
+
images: PropTypes.Requireable<{
|
|
13
|
+
[x: string]: any;
|
|
14
|
+
}>;
|
|
15
|
+
widgets: PropTypes.Requireable<{
|
|
16
|
+
[x: string]: any;
|
|
17
|
+
}>;
|
|
18
|
+
}> | (PropTypes.InferProps<{
|
|
19
|
+
content: PropTypes.Requireable<string>;
|
|
20
|
+
images: PropTypes.Requireable<{
|
|
21
|
+
[x: string]: any;
|
|
22
|
+
}>;
|
|
23
|
+
widgets: PropTypes.Requireable<{
|
|
24
|
+
[x: string]: any;
|
|
25
|
+
}>;
|
|
26
|
+
}> | null | undefined)[] | null | undefined>>>;
|
|
27
|
+
before: PropTypes.Validator<NonNullable<NonNullable<PropTypes.InferProps<{
|
|
28
|
+
content: PropTypes.Requireable<string>;
|
|
29
|
+
images: PropTypes.Requireable<{
|
|
30
|
+
[x: string]: any;
|
|
31
|
+
}>;
|
|
32
|
+
widgets: PropTypes.Requireable<{
|
|
33
|
+
[x: string]: any;
|
|
34
|
+
}>;
|
|
35
|
+
}> | (PropTypes.InferProps<{
|
|
36
|
+
content: PropTypes.Requireable<string>;
|
|
37
|
+
images: PropTypes.Requireable<{
|
|
38
|
+
[x: string]: any;
|
|
39
|
+
}>;
|
|
40
|
+
widgets: PropTypes.Requireable<{
|
|
41
|
+
[x: string]: any;
|
|
42
|
+
}>;
|
|
43
|
+
}> | null | undefined)[] | null | undefined>>>;
|
|
44
|
+
};
|
|
45
|
+
static _stateFromProps: (arg1: Props) => State;
|
|
46
|
+
state: State;
|
|
47
|
+
UNSAFE_componentWillReceiveProps(nextProps: Props): void;
|
|
48
|
+
render(): React.ReactNode;
|
|
49
|
+
}
|
|
50
|
+
export default ArticleDiff;
|
|
@@ -0,0 +1,71 @@
|
|
|
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 type Props = any;
|
|
10
|
+
declare type State = any;
|
|
11
|
+
declare class ArticleDiff extends React.Component<Props, State> {
|
|
12
|
+
static propTypes: {|
|
|
13
|
+
after: PropTypes.Validator<
|
|
14
|
+
$NonMaybeType<
|
|
15
|
+
$NonMaybeType<
|
|
16
|
+
| PropTypes.InferProps<{|
|
|
17
|
+
content: PropTypes.Requireable<string>,
|
|
18
|
+
images: PropTypes.Requireable<{
|
|
19
|
+
[x: string]: any,
|
|
20
|
+
}>,
|
|
21
|
+
widgets: PropTypes.Requireable<{
|
|
22
|
+
[x: string]: any,
|
|
23
|
+
}>,
|
|
24
|
+
|}>
|
|
25
|
+
| (PropTypes.InferProps<{|
|
|
26
|
+
content: PropTypes.Requireable<string>,
|
|
27
|
+
images: PropTypes.Requireable<{
|
|
28
|
+
[x: string]: any,
|
|
29
|
+
}>,
|
|
30
|
+
widgets: PropTypes.Requireable<{
|
|
31
|
+
[x: string]: any,
|
|
32
|
+
}>,
|
|
33
|
+
|}> | null | void)[]
|
|
34
|
+
| null
|
|
35
|
+
| void
|
|
36
|
+
>
|
|
37
|
+
>
|
|
38
|
+
>,
|
|
39
|
+
before: PropTypes.Validator<
|
|
40
|
+
$NonMaybeType<
|
|
41
|
+
$NonMaybeType<
|
|
42
|
+
| PropTypes.InferProps<{|
|
|
43
|
+
content: PropTypes.Requireable<string>,
|
|
44
|
+
images: PropTypes.Requireable<{
|
|
45
|
+
[x: string]: any,
|
|
46
|
+
}>,
|
|
47
|
+
widgets: PropTypes.Requireable<{
|
|
48
|
+
[x: string]: any,
|
|
49
|
+
}>,
|
|
50
|
+
|}>
|
|
51
|
+
| (PropTypes.InferProps<{|
|
|
52
|
+
content: PropTypes.Requireable<string>,
|
|
53
|
+
images: PropTypes.Requireable<{
|
|
54
|
+
[x: string]: any,
|
|
55
|
+
}>,
|
|
56
|
+
widgets: PropTypes.Requireable<{
|
|
57
|
+
[x: string]: any,
|
|
58
|
+
}>,
|
|
59
|
+
|}> | null | void)[]
|
|
60
|
+
| null
|
|
61
|
+
| void
|
|
62
|
+
>
|
|
63
|
+
>
|
|
64
|
+
>,
|
|
65
|
+
|};
|
|
66
|
+
static _stateFromProps: (arg1: Props) => State;
|
|
67
|
+
state: State;
|
|
68
|
+
UNSAFE_componentWillReceiveProps(nextProps: Props): void;
|
|
69
|
+
render(): React.Node;
|
|
70
|
+
}
|
|
71
|
+
declare export default typeof ArticleDiff;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A side by side diff view for Perseus exercise items
|
|
3
|
+
* in the standard layout.
|
|
4
|
+
*/
|
|
5
|
+
import PropTypes from "prop-types";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
type Props = any;
|
|
8
|
+
declare class ItemDiff extends React.Component<Props> {
|
|
9
|
+
static propTypes: {
|
|
10
|
+
after: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
11
|
+
question: PropTypes.Validator<NonNullable<PropTypes.InferProps<{}>>>;
|
|
12
|
+
answerArea: PropTypes.Validator<NonNullable<PropTypes.InferProps<{}>>>;
|
|
13
|
+
hints: PropTypes.Validator<any[]>;
|
|
14
|
+
}>>>;
|
|
15
|
+
before: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
16
|
+
question: PropTypes.Validator<NonNullable<PropTypes.InferProps<{}>>>;
|
|
17
|
+
answerArea: PropTypes.Validator<NonNullable<PropTypes.InferProps<{}>>>;
|
|
18
|
+
hints: PropTypes.Validator<any[]>;
|
|
19
|
+
}>>>;
|
|
20
|
+
};
|
|
21
|
+
render(): React.ReactNode;
|
|
22
|
+
}
|
|
23
|
+
export default ItemDiff;
|
|
@@ -0,0 +1,41 @@
|
|
|
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 type Props = any;
|
|
10
|
+
declare class ItemDiff extends React.Component<Props> {
|
|
11
|
+
static propTypes: {|
|
|
12
|
+
after: PropTypes.Validator<
|
|
13
|
+
$NonMaybeType<
|
|
14
|
+
PropTypes.InferProps<{|
|
|
15
|
+
question: PropTypes.Validator<
|
|
16
|
+
$NonMaybeType<PropTypes.InferProps<{||}>>
|
|
17
|
+
>,
|
|
18
|
+
answerArea: PropTypes.Validator<
|
|
19
|
+
$NonMaybeType<PropTypes.InferProps<{||}>>
|
|
20
|
+
>,
|
|
21
|
+
hints: PropTypes.Validator<any[]>,
|
|
22
|
+
|}>
|
|
23
|
+
>
|
|
24
|
+
>,
|
|
25
|
+
before: PropTypes.Validator<
|
|
26
|
+
$NonMaybeType<
|
|
27
|
+
PropTypes.InferProps<{|
|
|
28
|
+
question: PropTypes.Validator<
|
|
29
|
+
$NonMaybeType<PropTypes.InferProps<{||}>>
|
|
30
|
+
>,
|
|
31
|
+
answerArea: PropTypes.Validator<
|
|
32
|
+
$NonMaybeType<PropTypes.InferProps<{||}>>
|
|
33
|
+
>,
|
|
34
|
+
hints: PropTypes.Validator<any[]>,
|
|
35
|
+
|}>
|
|
36
|
+
>
|
|
37
|
+
>,
|
|
38
|
+
|};
|
|
39
|
+
render(): React.Node;
|
|
40
|
+
}
|
|
41
|
+
declare export default typeof ItemDiff;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A side by side diff view for Perseus renderers.
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import type { PerseusRenderer } from "@khanacademy/perseus";
|
|
6
|
+
type RendererProps = {
|
|
7
|
+
content: string;
|
|
8
|
+
widgets: PerseusRenderer["widgets"] | null | undefined;
|
|
9
|
+
images: PerseusRenderer["images"] | null | undefined;
|
|
10
|
+
};
|
|
11
|
+
type Props = {
|
|
12
|
+
after: RendererProps;
|
|
13
|
+
before: RendererProps;
|
|
14
|
+
showAlignmentOptions: boolean;
|
|
15
|
+
showSeparator: boolean;
|
|
16
|
+
title: string;
|
|
17
|
+
};
|
|
18
|
+
declare class RendererDiff extends React.Component<Props> {
|
|
19
|
+
static defaultProps: Partial<Omit<Props, "title">>;
|
|
20
|
+
render(): React.ReactNode;
|
|
21
|
+
}
|
|
22
|
+
export default RendererDiff;
|
|
@@ -0,0 +1,25 @@
|
|
|
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 { PerseusRenderer } from "@khanacademy/perseus";
|
|
9
|
+
declare type RendererProps = {|
|
|
10
|
+
content: string,
|
|
11
|
+
widgets: $PropertyType<PerseusRenderer, "widgets"> | null | void,
|
|
12
|
+
images: $PropertyType<PerseusRenderer, "images"> | null | void,
|
|
13
|
+
|};
|
|
14
|
+
declare type Props = {|
|
|
15
|
+
after: RendererProps,
|
|
16
|
+
before: RendererProps,
|
|
17
|
+
showAlignmentOptions: boolean,
|
|
18
|
+
showSeparator: boolean,
|
|
19
|
+
title: string,
|
|
20
|
+
|};
|
|
21
|
+
declare class RendererDiff extends React.Component<Props> {
|
|
22
|
+
static defaultProps: $Rest<$Diff<Props, { title: any }>, {}>;
|
|
23
|
+
render(): React.Node;
|
|
24
|
+
}
|
|
25
|
+
declare export default typeof RendererDiff;
|
|
@@ -0,0 +1,11 @@
|
|
|
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 stringArrayDiff: (
|
|
8
|
+
a: $ReadOnlyArray<any>,
|
|
9
|
+
b: $ReadOnlyArray<any>
|
|
10
|
+
) => any;
|
|
11
|
+
declare export default typeof stringArrayDiff;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Item, Path, Shape } from "@khanacademy/perseus";
|
|
3
|
+
type ItemList = [unknown, Path];
|
|
4
|
+
type Tag = {
|
|
5
|
+
idToName: (arg1: string) => string;
|
|
6
|
+
nameToId: (arg1: string) => string;
|
|
7
|
+
names: ReadonlyArray<string>;
|
|
8
|
+
};
|
|
9
|
+
type Props = {
|
|
10
|
+
after: Item;
|
|
11
|
+
before: Item;
|
|
12
|
+
shape: Shape;
|
|
13
|
+
tags: Tag;
|
|
14
|
+
};
|
|
15
|
+
declare class StructuredItemDiff extends React.Component<Props> {
|
|
16
|
+
/**
|
|
17
|
+
* Traverses the given shape and adds paths that are present in
|
|
18
|
+
* beforeList and afterList to result. Note that this method assumes
|
|
19
|
+
* the order of elements in beforeList and afterList, which are
|
|
20
|
+
* from buildMapper(), is the same order they appear in in the shape.
|
|
21
|
+
*/
|
|
22
|
+
static generateCompletePathsList(beforeList: Array<ItemList>, afterList: Array<ItemList>, result: Array<Path>, shape: Shape, path: ReadonlyArray<any>): void;
|
|
23
|
+
render(): React.ReactNode;
|
|
24
|
+
}
|
|
25
|
+
export default StructuredItemDiff;
|
|
@@ -0,0 +1,37 @@
|
|
|
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 { Item, Path, Shape } from "@khanacademy/perseus";
|
|
9
|
+
declare type ItemList = [mixed, Path];
|
|
10
|
+
declare type Tag = {|
|
|
11
|
+
idToName: (arg1: string) => string,
|
|
12
|
+
nameToId: (arg1: string) => string,
|
|
13
|
+
names: $ReadOnlyArray<string>,
|
|
14
|
+
|};
|
|
15
|
+
declare type Props = {|
|
|
16
|
+
after: Item,
|
|
17
|
+
before: Item,
|
|
18
|
+
shape: Shape,
|
|
19
|
+
tags: Tag,
|
|
20
|
+
|};
|
|
21
|
+
declare class StructuredItemDiff extends React.Component<Props> {
|
|
22
|
+
/**
|
|
23
|
+
* Traverses the given shape and adds paths that are present in
|
|
24
|
+
* beforeList and afterList to result. Note that this method assumes
|
|
25
|
+
* the order of elements in beforeList and afterList, which are
|
|
26
|
+
* from buildMapper(), is the same order they appear in in the shape.
|
|
27
|
+
*/
|
|
28
|
+
static generateCompletePathsList(
|
|
29
|
+
beforeList: Array<ItemList>,
|
|
30
|
+
afterList: Array<ItemList>,
|
|
31
|
+
result: Array<Path>,
|
|
32
|
+
shape: Shape,
|
|
33
|
+
path: $ReadOnlyArray<any>
|
|
34
|
+
): void;
|
|
35
|
+
render(): React.Node;
|
|
36
|
+
}
|
|
37
|
+
declare export default typeof StructuredItemDiff;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A side by side diff view for general passage layout tags.
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
type Props = {
|
|
6
|
+
afterOnly: ReadonlyArray<string>;
|
|
7
|
+
beforeOnly: ReadonlyArray<string>;
|
|
8
|
+
intersection: ReadonlyArray<string>;
|
|
9
|
+
showSeparator: boolean;
|
|
10
|
+
title: string;
|
|
11
|
+
};
|
|
12
|
+
declare class TagsDiff extends React.Component<Props> {
|
|
13
|
+
static defaultProps: {
|
|
14
|
+
afterOnly: ReadonlyArray<any>;
|
|
15
|
+
beforeOnly: ReadonlyArray<any>;
|
|
16
|
+
showSeparator: boolean;
|
|
17
|
+
title: string;
|
|
18
|
+
};
|
|
19
|
+
render(): React.ReactNode;
|
|
20
|
+
}
|
|
21
|
+
export default TagsDiff;
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
afterOnly: $ReadOnlyArray<string>,
|
|
10
|
+
beforeOnly: $ReadOnlyArray<string>,
|
|
11
|
+
intersection: $ReadOnlyArray<string>,
|
|
12
|
+
showSeparator: boolean,
|
|
13
|
+
title: string,
|
|
14
|
+
|};
|
|
15
|
+
declare class TagsDiff extends React.Component<Props> {
|
|
16
|
+
static defaultProps: {|
|
|
17
|
+
afterOnly: $ReadOnlyArray<any>,
|
|
18
|
+
beforeOnly: $ReadOnlyArray<any>,
|
|
19
|
+
showSeparator: boolean,
|
|
20
|
+
title: string,
|
|
21
|
+
|};
|
|
22
|
+
render(): React.Node;
|
|
23
|
+
}
|
|
24
|
+
declare export default typeof TagsDiff;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import PropTypes from "prop-types";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
declare class TextDiff extends React.Component<any, any> {
|
|
4
|
+
static propTypes: {
|
|
5
|
+
after: PropTypes.Requireable<string>;
|
|
6
|
+
before: PropTypes.Requireable<string>;
|
|
7
|
+
title: PropTypes.Validator<string>;
|
|
8
|
+
};
|
|
9
|
+
static defaultProps: any;
|
|
10
|
+
state: any;
|
|
11
|
+
UNSAFE_componentWillReceiveProps(nextProps: any): void;
|
|
12
|
+
handleExpand: () => void;
|
|
13
|
+
render(): React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export default TextDiff;
|