@torpor/ui 0.0.17 → 0.1.1
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 +41 -0
- package/dist/Accordion/Accordion.torp +53 -54
- package/dist/Accordion/AccordionContent.torp +5 -5
- package/dist/Accordion/AccordionHeader.torp +5 -4
- package/dist/Accordion/AccordionItem.torp +13 -8
- package/dist/Accordion/AccordionTrigger.torp +5 -5
- package/dist/Accordion/AccordionTypes.ts +1 -0
- package/dist/Dialog/Dialog.torp +156 -0
- package/dist/Dialog/DialogBody.torp +34 -0
- package/dist/Dialog/DialogButton.torp +48 -0
- package/dist/Dialog/DialogFooter.torp +13 -0
- package/dist/Dialog/DialogHeader.torp +34 -0
- package/dist/Dialog/DialogTypes.ts +16 -0
- package/dist/Dialog/index.cjs +53 -0
- package/dist/Dialog/index.cjs.map +1 -0
- package/dist/Dialog/index.js +22 -0
- package/dist/Dialog/index.js.map +1 -0
- package/dist/NavMenu/NavMenu.torp +178 -0
- package/dist/NavMenu/NavMenuButton.torp +46 -0
- package/dist/NavMenu/NavMenuElement.torp +43 -0
- package/dist/NavMenu/NavMenuGroup.torp +30 -0
- package/dist/NavMenu/NavMenuGroupHeader.torp +30 -0
- package/dist/NavMenu/NavMenuLink.torp +52 -0
- package/dist/NavMenu/NavMenuPopout.torp +69 -0
- package/dist/NavMenu/NavMenuPopoutButton.torp +120 -0
- package/dist/NavMenu/NavMenuPopoutContent.torp +79 -0
- package/dist/NavMenu/NavMenuSeparator.torp +14 -0
- package/dist/NavMenu/NavMenuTypes.ts +32 -0
- package/dist/NavMenu/index.cjs +78 -0
- package/dist/NavMenu/index.cjs.map +1 -0
- package/dist/NavMenu/index.js +42 -0
- package/dist/NavMenu/index.js.map +1 -0
- package/dist/Offscreen/Offscreen.torp +93 -0
- package/dist/Offscreen/index.cjs +33 -0
- package/dist/Offscreen/index.cjs.map +1 -0
- package/dist/Offscreen/index.js +6 -0
- package/dist/Offscreen/index.js.map +1 -0
- package/dist/Popover/Popover.torp +105 -0
- package/dist/Popover/PopoverContent.torp +78 -0
- package/dist/Popover/PopoverContentAnchored.torp +107 -0
- package/dist/Popover/PopoverContentContextual.torp +99 -0
- package/dist/Popover/PopoverOverlay.torp +32 -0
- package/dist/Popover/PopoverTrigger.torp +29 -0
- package/dist/Popover/PopoverTriggerContextual.torp +37 -0
- package/dist/Popover/PopoverTriggerHover.torp +38 -0
- package/dist/Popover/PopoverTypes.ts +30 -0
- package/dist/Popover/index.cjs +222 -0
- package/dist/Popover/index.cjs.map +1 -0
- package/dist/Popover/index.js +183 -0
- package/dist/Popover/index.js.map +1 -0
- package/dist/Popover/mountClickPopover.ts +50 -0
- package/dist/Popover/mountContextPopover.ts +50 -0
- package/dist/Popover/mountHoverPopover.ts +57 -0
- package/dist/Popover/showPopover.ts +24 -0
- package/dist/Popover/showPopoverPrompt.ts +23 -0
- package/dist/TabGroup/TabContent.torp +4 -4
- package/dist/TabGroup/TabGroup.torp +64 -62
- package/dist/TabGroup/TabGroupTypes.ts +1 -0
- package/dist/TabGroup/TabHeader.torp +10 -8
- package/dist/TabGroup/TabList.torp +4 -3
- package/dist/TabGroup/TabTrigger.torp +6 -6
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/mount/disableScroll.ts +28 -0
- package/dist/mount/hoverTrigger.ts +59 -0
- package/dist/mount/trapFocus.ts +58 -0
- package/dist/utils/documentEvents.ts +17 -0
- package/dist/utils/getScrollParent.ts +22 -0
- package/dist/utils/setContextPosition.ts +31 -0
- package/dist/utils/setPopoverPosition.ts +138 -0
- package/package.json +26 -6
- package/scripts/postbuild.ts +17 -5
- package/src/Accordion/Accordion.torp +53 -54
- package/src/Accordion/AccordionContent.torp +5 -5
- package/src/Accordion/AccordionHeader.torp +5 -4
- package/src/Accordion/AccordionItem.torp +13 -8
- package/src/Accordion/AccordionTrigger.torp +5 -5
- package/src/Accordion/AccordionTypes.ts +1 -0
- package/src/Dialog/Dialog.torp +156 -0
- package/src/Dialog/DialogBody.torp +34 -0
- package/src/Dialog/DialogButton.torp +48 -0
- package/src/Dialog/DialogFooter.torp +13 -0
- package/src/Dialog/DialogHeader.torp +34 -0
- package/src/Dialog/DialogTypes.ts +16 -0
- package/src/Dialog/index.ts +7 -0
- package/src/Dialog.ts +7 -0
- package/src/NavMenu/NavMenu.torp +178 -0
- package/src/NavMenu/NavMenuButton.torp +46 -0
- package/src/NavMenu/NavMenuElement.torp +43 -0
- package/src/NavMenu/NavMenuGroup.torp +30 -0
- package/src/NavMenu/NavMenuGroupHeader.torp +30 -0
- package/src/NavMenu/NavMenuLink.torp +52 -0
- package/src/NavMenu/NavMenuPopout.torp +69 -0
- package/src/NavMenu/NavMenuPopoutButton.torp +120 -0
- package/src/NavMenu/NavMenuPopoutContent.torp +79 -0
- package/src/NavMenu/NavMenuSeparator.torp +14 -0
- package/src/NavMenu/NavMenuTypes.ts +32 -0
- package/src/NavMenu/index.ts +23 -0
- package/src/NavMenu.ts +23 -0
- package/src/Offscreen/Offscreen.torp +93 -0
- package/src/Offscreen/index.ts +3 -0
- package/src/Popover/Popover.torp +105 -0
- package/src/Popover/PopoverContent.torp +78 -0
- package/src/Popover/PopoverContentAnchored.torp +107 -0
- package/src/Popover/PopoverContentContextual.torp +99 -0
- package/src/Popover/PopoverOverlay.torp +32 -0
- package/src/Popover/PopoverTrigger.torp +29 -0
- package/src/Popover/PopoverTriggerContextual.torp +37 -0
- package/src/Popover/PopoverTriggerHover.torp +38 -0
- package/src/Popover/PopoverTypes.ts +30 -0
- package/src/Popover/index.ts +29 -0
- package/src/Popover/mountClickPopover.ts +50 -0
- package/src/Popover/mountContextPopover.ts +50 -0
- package/src/Popover/mountHoverPopover.ts +57 -0
- package/src/Popover/showPopover.ts +24 -0
- package/src/Popover/showPopoverPrompt.ts +23 -0
- package/src/Popover.ts +29 -0
- package/src/TabGroup/TabContent.torp +4 -4
- package/src/TabGroup/TabGroup.torp +64 -62
- package/src/TabGroup/TabGroupTypes.ts +1 -0
- package/src/TabGroup/TabHeader.torp +10 -8
- package/src/TabGroup/TabList.torp +4 -3
- package/src/TabGroup/TabTrigger.torp +6 -6
- package/src/mount/disableScroll.ts +28 -0
- package/src/mount/hoverTrigger.ts +59 -0
- package/src/mount/trapFocus.ts +58 -0
- package/src/utils/documentEvents.ts +17 -0
- package/src/utils/getScrollParent.ts +22 -0
- package/src/utils/setContextPosition.ts +31 -0
- package/src/utils/setPopoverPosition.ts +138 -0
- package/test/Accordion/accessibility.test.ts +0 -3
- package/test/Accordion/for-items.test.ts +2 -4
- package/test/Accordion/keyboard.test.ts +0 -3
- package/test/Accordion/multiple-item-toggle.test.ts +3 -5
- package/test/Accordion/single-item-toggle.test.ts +3 -5
- package/test/Dialog/accessibility-alert.test.ts +40 -0
- package/test/Dialog/accessibility-modal.test.ts +52 -0
- package/test/Dialog/components/CustomDialog.torp +20 -0
- package/test/Dialog/components/DialogAccessibility.torp +31 -0
- package/test/Dialog/components/DialogFunction.torp +22 -0
- package/test/Dialog/components/DialogVariable.torp +35 -0
- package/test/Dialog/function.test.ts +26 -0
- package/test/Dialog/variable.test.ts +27 -0
- package/test/NavMenu/accessibility.test.ts +97 -0
- package/test/NavMenu/basic.test.ts +22 -0
- package/test/NavMenu/components/NavMenu.torp +28 -0
- package/test/NavMenu/components/NavMenuAccessibility.torp +35 -0
- package/test/TabGroup/for-items.test.ts +2 -4
- package/test/TabGroup/item-trigger.test.ts +10 -11
- package/tsup.config.ts +9 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
NavMenu,
|
|
3
|
+
NavMenuLink,
|
|
4
|
+
NavMenuPopout,
|
|
5
|
+
NavMenuPopoutButton,
|
|
6
|
+
NavMenuPopoutContent,
|
|
7
|
+
NavMenuGroup,
|
|
8
|
+
NavMenuGroupHeader,
|
|
9
|
+
NavMenuSeparator
|
|
10
|
+
} from "../../../src/NavMenu";
|
|
11
|
+
|
|
12
|
+
export default function NavMenuAccessibility($props: any) {
|
|
13
|
+
@render {
|
|
14
|
+
<NavMenu ariaLabel="Site navigation">
|
|
15
|
+
<NavMenuLink href="/">Home</NavMenuLink>
|
|
16
|
+
<NavMenuLink href="/page1">Page</NavMenuLink>
|
|
17
|
+
<NavMenuLink href="/disabled" disabled>Disabled</NavMenuLink>
|
|
18
|
+
<NavMenuSeparator>/</NavMenuSeparator>
|
|
19
|
+
<NavMenuPopout>
|
|
20
|
+
<NavMenuPopoutButton>Subpages</NavMenuPopoutButton>
|
|
21
|
+
<NavMenuPopoutContent>
|
|
22
|
+
<NavMenu ariaLabel="Sub site navigation" orientation="vertical">
|
|
23
|
+
<NavMenuLink href="/sub/page1">Subpage 1</NavMenuLink>
|
|
24
|
+
<NavMenuLink href="/sub/page2">Subpage 2</NavMenuLink>
|
|
25
|
+
<NavMenuLink href="/sub/page3">Subpage 3</NavMenuLink>
|
|
26
|
+
</NavMenu>
|
|
27
|
+
</NavMenuPopoutContent>
|
|
28
|
+
</NavMenuPopout>
|
|
29
|
+
<NavMenuGroup>
|
|
30
|
+
<NavMenuGroupHeader as="h4">Group header</NavMenuGroupHeader>
|
|
31
|
+
<NavMenuLink href="/grouped-page">Grouped page</NavMenuLink>
|
|
32
|
+
</NavMenuGroup>
|
|
33
|
+
</NavMenu>
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -7,8 +7,6 @@ import TabGroupList from "./components/TabGroupList.torp";
|
|
|
7
7
|
|
|
8
8
|
describe("TabGroup", () => {
|
|
9
9
|
it("Items in a for loop", async () => {
|
|
10
|
-
const user = userEvent.setup();
|
|
11
|
-
|
|
12
10
|
let $state = $watch({
|
|
13
11
|
value: "1",
|
|
14
12
|
items: [
|
|
@@ -35,7 +33,7 @@ describe("TabGroup", () => {
|
|
|
35
33
|
expect(queryByText(container, "Content 3")).not.toBeInTheDocument();
|
|
36
34
|
|
|
37
35
|
// Clicking header 1 should reveal body 1
|
|
38
|
-
await
|
|
36
|
+
await userEvent.click(getByText(container, "Item 1"));
|
|
39
37
|
expect(queryByText(container, "Content 1")).toBeInTheDocument();
|
|
40
38
|
|
|
41
39
|
$state.items.push({ id: 3, header: "Item 4", text: "Content 4" });
|
|
@@ -47,7 +45,7 @@ describe("TabGroup", () => {
|
|
|
47
45
|
expect(queryByText(container, "Content 4")).not.toBeInTheDocument();
|
|
48
46
|
|
|
49
47
|
// Clicking header 4 should reveal body 4
|
|
50
|
-
await
|
|
48
|
+
await userEvent.click(getByText(container, "Item 4"));
|
|
51
49
|
expect(queryByText(container, "Content 1")).not.toBeInTheDocument();
|
|
52
50
|
expect(queryByText(container, "Content 4")).toBeInTheDocument();
|
|
53
51
|
});
|
|
@@ -7,28 +7,27 @@ import TabGroupTrigger from "./components/TabGroupTrigger.torp";
|
|
|
7
7
|
|
|
8
8
|
describe("TabGroup", () => {
|
|
9
9
|
it("Item trigger", async () => {
|
|
10
|
-
const user = userEvent.setup();
|
|
11
|
-
|
|
12
10
|
const container = document.createElement("div");
|
|
13
11
|
document.body.appendChild(container);
|
|
14
12
|
mount(container, TabGroupTrigger);
|
|
15
13
|
|
|
16
|
-
expect(queryByText(container, "Content 1")).
|
|
14
|
+
expect(queryByText(container, "Content 1")).toBeInTheDocument();
|
|
17
15
|
expect(queryByText(container, "Content 2")).not.toBeInTheDocument();
|
|
18
16
|
expect(queryByText(container, "Content 3")).not.toBeInTheDocument();
|
|
19
17
|
|
|
20
|
-
// Clicking header
|
|
21
|
-
await
|
|
22
|
-
expect(queryByText(container, "Content 1")).toBeInTheDocument();
|
|
23
|
-
|
|
24
|
-
// Clicking header 2 should hide body 1 and reveal body 2
|
|
25
|
-
await user.click(getByText(container, "Header 2"));
|
|
18
|
+
// Clicking header 3 should hide body 1 and reveal body 3
|
|
19
|
+
await userEvent.click(getByText(container, "Header 3"));
|
|
26
20
|
expect(queryByText(container, "Content 1")).not.toBeInTheDocument();
|
|
21
|
+
expect(queryByText(container, "Content 3")).toBeInTheDocument();
|
|
22
|
+
|
|
23
|
+
// Clicking header 2 should hide body 3 and reveal body 2
|
|
24
|
+
await userEvent.click(getByText(container, "Header 2"));
|
|
25
|
+
expect(queryByText(container, "Content 3")).not.toBeInTheDocument();
|
|
27
26
|
expect(queryByText(container, "Content 2")).toBeInTheDocument();
|
|
28
27
|
|
|
29
28
|
// Clicking header 2 again should keep body 2
|
|
30
|
-
await
|
|
31
|
-
expect(queryByText(container, "Content
|
|
29
|
+
await userEvent.click(getByText(container, "Header 2"));
|
|
30
|
+
expect(queryByText(container, "Content 3")).not.toBeInTheDocument();
|
|
32
31
|
expect(queryByText(container, "Content 2")).toBeInTheDocument();
|
|
33
32
|
});
|
|
34
33
|
});
|
package/tsup.config.ts
CHANGED
|
@@ -6,7 +6,15 @@ type Config =
|
|
|
6
6
|
| ((overrideOptions: Options) => Options | Options[] | Promise<Options | Options[]>);
|
|
7
7
|
|
|
8
8
|
export default defineConfig({
|
|
9
|
-
entry: [
|
|
9
|
+
entry: [
|
|
10
|
+
"src/Accordion/index.ts",
|
|
11
|
+
"src/Dialog/index.ts",
|
|
12
|
+
"src/NavMenu/index.ts",
|
|
13
|
+
"src/Offscreen/index.ts",
|
|
14
|
+
"src/Popover/index.ts",
|
|
15
|
+
"src/TabGroup/index.ts",
|
|
16
|
+
"src/motion.ts",
|
|
17
|
+
],
|
|
10
18
|
format: ["esm", "cjs"],
|
|
11
19
|
dts: { entry: ["src/motion.ts"] },
|
|
12
20
|
clean: true,
|