diff --git a/packages/perseus-editor/src/__stories__/content-preview.stories.tsx b/packages/perseus-editor/src/__stories__/content-preview.stories.tsx index 2ca81fd589..f70cacb820 100644 --- a/packages/perseus-editor/src/__stories__/content-preview.stories.tsx +++ b/packages/perseus-editor/src/__stories__/content-preview.stories.tsx @@ -8,7 +8,7 @@ import {useState} from "react"; import {articleWithImages} from "../../../perseus/src/__testdata__/article-renderer.testdata"; import {mockStrings} from "../../../perseus/src/strings"; -import {question} from "../../../perseus/src/widgets/__testdata__/radio.testdata"; +import {question} from "../../../perseus/src/widgets/radio/__tests__/radio.testdata"; import DeviceFramer from "../components/device-framer"; import ViewportResizer from "../components/viewport-resizer"; import ContentPreview from "../content-preview"; diff --git a/packages/perseus/src/__stories__/article-renderer.stories.tsx b/packages/perseus/src/__stories__/article-renderer.stories.tsx index ce4d121d6c..1e845fff45 100644 --- a/packages/perseus/src/__stories__/article-renderer.stories.tsx +++ b/packages/perseus/src/__stories__/article-renderer.stories.tsx @@ -11,7 +11,7 @@ import { multiSectionArticleWithExpression, } from "../__testdata__/article-renderer.testdata"; import ArticleRenderer from "../article-renderer"; -import TestKeypadContextWrapper from "../widgets/__stories__/test-keypad-context-wrapper"; +import TestKeypadContextWrapper from "../widgets/__shared__/test-keypad-context-wrapper"; export default { title: "Perseus/Renderers/Article Renderer", diff --git a/packages/perseus/src/__testdata__/renderer.testdata.ts b/packages/perseus/src/__testdata__/renderer.testdata.ts index 98978f7f93..ac3ed31795 100644 --- a/packages/perseus/src/__testdata__/renderer.testdata.ts +++ b/packages/perseus/src/__testdata__/renderer.testdata.ts @@ -4,7 +4,7 @@ import type { InputNumberWidget, PerseusRenderer, } from "../perseus-types"; -import type {RenderProps} from "../widgets/radio/radio"; +import type {RenderProps} from "../widgets/radio"; export const dropdownWidget: DropdownWidget = { type: "dropdown", diff --git a/packages/perseus/src/__tests__/renderer.test.tsx b/packages/perseus/src/__tests__/renderer.test.tsx index 9249bd21f7..ab8e2d4c66 100644 --- a/packages/perseus/src/__tests__/renderer.test.tsx +++ b/packages/perseus/src/__tests__/renderer.test.tsx @@ -19,7 +19,7 @@ import { import * as Dependencies from "../dependencies"; import {registerWidget} from "../widgets"; import {renderQuestion} from "../widgets/__tests__/renderQuestion"; -import InputNumberExport from "../widgets/input-number/input-number"; +import InputNumberExport from "../widgets/input-number"; import RadioWidgetExport from "../widgets/radio"; import MockWidgetExport from "./mock-widget"; diff --git a/packages/perseus/src/widgets/__stories__/test-keypad-context-wrapper.tsx b/packages/perseus/src/widgets/__shared__/test-keypad-context-wrapper.tsx similarity index 100% rename from packages/perseus/src/widgets/__stories__/test-keypad-context-wrapper.tsx rename to packages/perseus/src/widgets/__shared__/test-keypad-context-wrapper.tsx diff --git a/packages/perseus/src/widgets/__stories__/random-widgets.stories.tsx b/packages/perseus/src/widgets/__stories__/random-widgets.stories.tsx index 48773e3be0..6dab88c886 100644 --- a/packages/perseus/src/widgets/__stories__/random-widgets.stories.tsx +++ b/packages/perseus/src/widgets/__stories__/random-widgets.stories.tsx @@ -5,7 +5,7 @@ import {RendererWithDebugUI} from "../../../../../testing/renderer-with-debug-ui import {randomExplanationGenerator} from "../explanation/explanation.testdata"; import {randomExpressionGenerator} from "../expression/expression.testdata"; import {randomInteractiveGraphGenerator} from "../__testdata__/interactive-graph-random.testdata"; -import {randomRadioGenerator} from "../__testdata__/radio.testdata"; +import {randomRadioGenerator} from "../radio/__tests__/radio.testdata"; import {randomCategorizerGenerator} from "../categorizer/categorizer.testdata"; import {randomDropdownGenerator} from "../dropdown/dropdown.testdata"; diff --git a/packages/perseus/src/widgets/expression/expression.stories.tsx b/packages/perseus/src/widgets/expression/expression.stories.tsx index 679706626e..f5f37d329c 100644 --- a/packages/perseus/src/widgets/expression/expression.stories.tsx +++ b/packages/perseus/src/widgets/expression/expression.stories.tsx @@ -10,7 +10,7 @@ import { } from "./expression.testdata"; import expressionExport from "./expression"; -import TestKeypadContextWrapper from "../__stories__/test-keypad-context-wrapper"; +import TestKeypadContextWrapper from "../__shared__/test-keypad-context-wrapper"; import type {LegacyButtonSets, PerseusItem} from "../../perseus-types"; import type {Keys as Key} from "@khanacademy/math-input"; diff --git a/packages/perseus/src/widgets/number-line/number-line.stories.tsx b/packages/perseus/src/widgets/number-line/number-line.stories.tsx index 2f90593f6c..c5d11364d8 100644 --- a/packages/perseus/src/widgets/number-line/number-line.stories.tsx +++ b/packages/perseus/src/widgets/number-line/number-line.stories.tsx @@ -5,7 +5,7 @@ import {RendererWithDebugUI} from "../../../../../testing/renderer-with-debug-ui import {ServerItemRendererWithDebugUI} from "../../../../../testing/server-item-renderer-with-debug-ui"; import {question1, question2} from "./number-line.testdata"; -import TestKeypadContextWrapper from "../__stories__/test-keypad-context-wrapper"; +import TestKeypadContextWrapper from "../__shared__/test-keypad-context-wrapper"; import type {PerseusItem} from "../../perseus-types"; diff --git a/packages/perseus/src/widgets/radio/__stories__/base-radio.stories.tsx b/packages/perseus/src/widgets/radio/__stories__/base-radio.stories.tsx index 5a52255d99..14b152693f 100644 --- a/packages/perseus/src/widgets/radio/__stories__/base-radio.stories.tsx +++ b/packages/perseus/src/widgets/radio/__stories__/base-radio.stories.tsx @@ -1,7 +1,7 @@ import {action} from "@storybook/addon-actions"; import * as React from "react"; -import {generateChoice} from "../../__testdata__/base-radio.testdata"; +import {generateChoice} from "../__tests__/base-radio.testdata"; import BaseRadio from "../base-radio"; type StoryArgs = { diff --git a/packages/perseus/src/widgets/__stories__/radio.stories.tsx b/packages/perseus/src/widgets/radio/__stories__/radio.stories.tsx similarity index 89% rename from packages/perseus/src/widgets/__stories__/radio.stories.tsx rename to packages/perseus/src/widgets/radio/__stories__/radio.stories.tsx index e5ab99e850..bfecd8d551 100644 --- a/packages/perseus/src/widgets/__stories__/radio.stories.tsx +++ b/packages/perseus/src/widgets/radio/__stories__/radio.stories.tsx @@ -1,15 +1,15 @@ import * as React from "react"; -import {RendererWithDebugUI} from "../../../../../testing/renderer-with-debug-ui"; +import {RendererWithDebugUI} from "../../../../../../testing/renderer-with-debug-ui"; import { questionWithPassage, choicesWithImages, multiChoiceQuestion, multiChoiceQuestionSimple, -} from "../__testdata__/radio.testdata"; +} from "../__tests__/radio.testdata"; -import type {PerseusRenderer} from "../../perseus-types"; -import type {APIOptions} from "../../types"; +import type {PerseusRenderer} from "../../../perseus-types"; +import type {APIOptions} from "../../../types"; import type {Meta} from "@storybook/react"; type StoryArgs = { diff --git a/packages/perseus/src/widgets/__tests__/__snapshots__/radio.test.ts.snap b/packages/perseus/src/widgets/radio/__tests__/__snapshots__/radio.test.ts.snap similarity index 100% rename from packages/perseus/src/widgets/__tests__/__snapshots__/radio.test.ts.snap rename to packages/perseus/src/widgets/radio/__tests__/__snapshots__/radio.test.ts.snap diff --git a/packages/perseus/src/widgets/__tests__/radio/base-radio.test.tsx b/packages/perseus/src/widgets/radio/__tests__/base-radio.test.tsx similarity index 99% rename from packages/perseus/src/widgets/__tests__/radio/base-radio.test.tsx rename to packages/perseus/src/widgets/radio/__tests__/base-radio.test.tsx index 3023210347..8595309df9 100644 --- a/packages/perseus/src/widgets/__tests__/radio/base-radio.test.tsx +++ b/packages/perseus/src/widgets/radio/__tests__/base-radio.test.tsx @@ -6,8 +6,8 @@ import * as React from "react"; // eslint-disable-next-line import/no-relative-packages import {testDependencies} from "../../../../../../testing/test-dependencies"; import * as Dependencies from "../../../dependencies"; -import {generateChoice} from "../../__testdata__/base-radio.testdata"; -import BaseRadio from "../../radio/base-radio"; +import {generateChoice} from "./base-radio.testdata"; +import BaseRadio from "../base-radio"; import type {APIOptions} from "../../../types"; import type {UserEvent} from "@testing-library/user-event"; diff --git a/packages/perseus/src/widgets/__testdata__/base-radio.testdata.ts b/packages/perseus/src/widgets/radio/__tests__/base-radio.testdata.ts similarity index 90% rename from packages/perseus/src/widgets/__testdata__/base-radio.testdata.ts rename to packages/perseus/src/widgets/radio/__tests__/base-radio.testdata.ts index 576fb238e0..f6064a2ded 100644 --- a/packages/perseus/src/widgets/__testdata__/base-radio.testdata.ts +++ b/packages/perseus/src/widgets/radio/__tests__/base-radio.testdata.ts @@ -1,4 +1,4 @@ -import type {ChoiceType} from "../radio/base-radio"; +import type {ChoiceType} from "../base-radio"; export function generateChoice(options: Partial): ChoiceType { const base = { diff --git a/packages/perseus/src/widgets/__tests__/radio/choice-icon.test.tsx b/packages/perseus/src/widgets/radio/__tests__/choice-icon.test.tsx similarity index 94% rename from packages/perseus/src/widgets/__tests__/radio/choice-icon.test.tsx rename to packages/perseus/src/widgets/radio/__tests__/choice-icon.test.tsx index 035493513c..fe492e3837 100644 --- a/packages/perseus/src/widgets/__tests__/radio/choice-icon.test.tsx +++ b/packages/perseus/src/widgets/radio/__tests__/choice-icon.test.tsx @@ -2,8 +2,8 @@ import {describe, it} from "@jest/globals"; import {render, screen} from "@testing-library/react"; import * as React from "react"; -import ChoiceIcon from "../../radio/choice-icon/choice-icon"; -import {CHOICE_ICON_SIZE} from "../../radio/choice-icon/shared-styles"; +import ChoiceIcon from "../choice-icon/choice-icon"; +import {CHOICE_ICON_SIZE} from "../choice-icon/shared-styles"; function renderChoiceIcon(options) { const defaultOptions = { diff --git a/packages/perseus/src/widgets/__tests__/radio/choice.test.tsx b/packages/perseus/src/widgets/radio/__tests__/choice.test.tsx similarity index 99% rename from packages/perseus/src/widgets/__tests__/radio/choice.test.tsx rename to packages/perseus/src/widgets/radio/__tests__/choice.test.tsx index 43bf5065a2..7abb7f24fb 100644 --- a/packages/perseus/src/widgets/__tests__/radio/choice.test.tsx +++ b/packages/perseus/src/widgets/radio/__tests__/choice.test.tsx @@ -4,7 +4,7 @@ import {render, screen} from "@testing-library/react"; import {userEvent as userEventLib} from "@testing-library/user-event"; import * as React from "react"; -import Choice from "../../radio/choice"; +import Choice from "../choice"; import type {UserEvent} from "@testing-library/user-event"; diff --git a/packages/perseus/src/widgets/__tests__/radio/focus-ring.test.tsx b/packages/perseus/src/widgets/radio/__tests__/focus-ring.test.tsx similarity index 93% rename from packages/perseus/src/widgets/__tests__/radio/focus-ring.test.tsx rename to packages/perseus/src/widgets/radio/__tests__/focus-ring.test.tsx index 500f61a76c..1baf70d513 100644 --- a/packages/perseus/src/widgets/__tests__/radio/focus-ring.test.tsx +++ b/packages/perseus/src/widgets/radio/__tests__/focus-ring.test.tsx @@ -2,7 +2,7 @@ import {describe, it} from "@jest/globals"; import {render, screen} from "@testing-library/react"; import * as React from "react"; -import FocusRing from "../../radio/focus-ring"; +import FocusRing from "../focus-ring"; describe("choice icon", () => { describe.each([[true], [false]])("multipleSelect: %s", (multipleSelect) => { diff --git a/packages/perseus/src/widgets/__tests__/radio/option-status.test.tsx b/packages/perseus/src/widgets/radio/__tests__/option-status.test.tsx similarity index 97% rename from packages/perseus/src/widgets/__tests__/radio/option-status.test.tsx rename to packages/perseus/src/widgets/radio/__tests__/option-status.test.tsx index 6ae7e55172..09aac0c555 100644 --- a/packages/perseus/src/widgets/__tests__/radio/option-status.test.tsx +++ b/packages/perseus/src/widgets/radio/__tests__/option-status.test.tsx @@ -2,7 +2,7 @@ import {describe, it} from "@jest/globals"; import {render, screen} from "@testing-library/react"; import * as React from "react"; -import OptionStatus from "../../radio/option-status"; +import OptionStatus from "../option-status"; function renderOptionStatus( options: diff --git a/packages/perseus/src/widgets/__tests__/radio.test.ts b/packages/perseus/src/widgets/radio/__tests__/radio.test.ts similarity index 98% rename from packages/perseus/src/widgets/__tests__/radio.test.ts rename to packages/perseus/src/widgets/radio/__tests__/radio.test.ts index 42c93200af..b7d074480a 100644 --- a/packages/perseus/src/widgets/__tests__/radio.test.ts +++ b/packages/perseus/src/widgets/radio/__tests__/radio.test.ts @@ -2,19 +2,19 @@ import {describe, beforeEach, it} from "@jest/globals"; import {act, screen, fireEvent, waitFor} from "@testing-library/react"; import {userEvent as userEventLib} from "@testing-library/user-event"; -import {clone} from "../../../../../testing/object-utils"; -import {testDependencies} from "../../../../../testing/test-dependencies"; -import * as Dependencies from "../../dependencies"; +import {clone} from "../../../../../../testing/object-utils"; +import {testDependencies} from "../../../../../../testing/test-dependencies"; +import * as Dependencies from "../../../dependencies"; import { questionAndAnswer, multiChoiceQuestionAndAnswer, -} from "../__testdata__/radio.testdata"; -import PassageWidget from "../passage"; +} from "./radio.testdata"; +import PassageWidget from "../../passage"; -import {renderQuestion} from "./renderQuestion"; +import {renderQuestion} from "../../__tests__/renderQuestion"; -import type {PerseusRenderer} from "../../perseus-types"; -import type {APIOptions} from "../../types"; +import type {PerseusRenderer} from "../../../perseus-types"; +import type {APIOptions} from "../../../types"; import type {UserEvent} from "@testing-library/user-event"; const selectOption = async ( diff --git a/packages/perseus/src/widgets/__testdata__/radio.testdata.ts b/packages/perseus/src/widgets/radio/__tests__/radio.testdata.ts similarity index 99% rename from packages/perseus/src/widgets/__testdata__/radio.testdata.ts rename to packages/perseus/src/widgets/radio/__tests__/radio.testdata.ts index aab014b796..745113b818 100644 --- a/packages/perseus/src/widgets/__testdata__/radio.testdata.ts +++ b/packages/perseus/src/widgets/radio/__tests__/radio.testdata.ts @@ -3,14 +3,14 @@ import { randomBoolean, randomInteger, randomSentence, -} from "./randomizers"; +} from "../../__testdata__/randomizers"; import type { PerseusRenderer, RadioWidget, PassageWidget, PerseusRadioChoice, -} from "../../perseus-types"; +} from "../../../perseus-types"; export const question: PerseusRenderer = { content: diff --git a/packages/perseus/src/widgets/radio/index.ts b/packages/perseus/src/widgets/radio/index.ts new file mode 100644 index 0000000000..e45487693a --- /dev/null +++ b/packages/perseus/src/widgets/radio/index.ts @@ -0,0 +1,3 @@ +export {default} from "./radio"; + +export {type RenderProps} from "./radio-component"; diff --git a/packages/perseus/src/widgets/radio/radio.tsx b/packages/perseus/src/widgets/radio/radio-component.tsx similarity index 100% rename from packages/perseus/src/widgets/radio/radio.tsx rename to packages/perseus/src/widgets/radio/radio-component.tsx diff --git a/packages/perseus/src/widgets/radio.ts b/packages/perseus/src/widgets/radio/radio.ts similarity index 94% rename from packages/perseus/src/widgets/radio.ts rename to packages/perseus/src/widgets/radio/radio.ts index 61d94bf9b6..1cd635a80c 100644 --- a/packages/perseus/src/widgets/radio.ts +++ b/packages/perseus/src/widgets/radio/radio.ts @@ -1,13 +1,13 @@ import _ from "underscore"; -import Util from "../util"; +import Util from "../../util"; -import Radio from "./radio/radio"; +import Radio from "./radio-component"; -import type {RenderProps, RadioChoiceWithMetadata} from "./radio/radio"; -import type {PerseusRadioWidgetOptions} from "../perseus-types"; -import type {PerseusStrings} from "../strings"; -import type {WidgetExports} from "../types"; +import type {RenderProps, RadioChoiceWithMetadata} from "./radio-component"; +import type {PerseusRadioWidgetOptions} from "../../perseus-types"; +import type {PerseusStrings} from "@khanacademy/perseus/strings"; +import type {WidgetExports} from "../../types"; const {shuffle, random} = Util;