@torpor/ui 0.2.0 → 0.2.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.
Files changed (213) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/Accordion/Accordion.torp +23 -11
  3. package/dist/Accordion/AccordionContent.torp +13 -6
  4. package/dist/Accordion/AccordionHeader.torp +14 -5
  5. package/dist/Accordion/AccordionItem.torp +22 -8
  6. package/dist/Accordion/AccordionTrigger.torp +14 -6
  7. package/dist/Accordion/AccordionTypes.ts +2 -0
  8. package/dist/Accordion/index.d.ts +100 -35
  9. package/dist/Breadcrumb/Breadcrumb.torp +12 -3
  10. package/dist/Breadcrumb/BreadcrumbItem.torp +12 -3
  11. package/dist/Breadcrumb/BreadcrumbSeparator.torp +10 -1
  12. package/dist/Breadcrumb/index.d.ts +49 -21
  13. package/dist/Calendar/Calendar.torp +9 -1
  14. package/dist/Calendar/CalendarDay.torp +9 -1
  15. package/dist/Calendar/index.d.ts +16 -18
  16. package/dist/Dialog/Dialog.torp +13 -3
  17. package/dist/Dialog/DialogBody.torp +11 -3
  18. package/dist/Dialog/DialogButton.torp +16 -4
  19. package/dist/Dialog/DialogFooter.torp +11 -1
  20. package/dist/Dialog/DialogHeader.torp +11 -2
  21. package/dist/Dialog/index.d.ts +78 -35
  22. package/dist/Disclosure/Disclosure.torp +17 -7
  23. package/dist/Disclosure/DisclosureContent.torp +13 -6
  24. package/dist/Disclosure/DisclosureHeader.torp +14 -5
  25. package/dist/Disclosure/DisclosureTrigger.torp +10 -2
  26. package/dist/Disclosure/index.d.ts +67 -28
  27. package/dist/Drawer/Drawer.torp +11 -1
  28. package/dist/Drawer/index.d.ts +10 -9
  29. package/dist/Form/Field.torp +93 -0
  30. package/dist/Form/Form.torp +131 -0
  31. package/dist/Form/FormTypes.ts +30 -0
  32. package/dist/Form/Input.torp +94 -0
  33. package/dist/Form/Label.torp +31 -0
  34. package/dist/Form/Message.torp +35 -0
  35. package/dist/Form/StandardSchemaV1.ts +70 -0
  36. package/dist/Form/index.d.ts +117 -0
  37. package/dist/Form/index.js +22 -0
  38. package/dist/Form/index.js.map +1 -0
  39. package/dist/Menu/Menu.torp +12 -3
  40. package/dist/Menu/MenuButton.torp +14 -3
  41. package/dist/Menu/MenuCheck.torp +14 -3
  42. package/dist/Menu/MenuGroup.torp +13 -3
  43. package/dist/Menu/MenuIndicator.torp +12 -3
  44. package/dist/Menu/MenuPopout.torp +17 -6
  45. package/dist/Menu/MenuPopoutContent.torp +13 -4
  46. package/dist/Menu/MenuPopoutTrigger.torp +13 -4
  47. package/dist/Menu/MenuRadio.torp +16 -5
  48. package/dist/Menu/MenuRadioGroup.torp +16 -5
  49. package/dist/Menu/MenuSeparator.torp +11 -1
  50. package/dist/Menu/index.d.ts +170 -77
  51. package/dist/MenuBar/MenuBar.torp +13 -4
  52. package/dist/MenuBar/MenuBarItem.torp +17 -6
  53. package/dist/MenuBar/MenuBarItemContent.torp +13 -4
  54. package/dist/MenuBar/MenuBarItemTrigger.torp +11 -2
  55. package/dist/MenuBar/index.d.ts +79 -28
  56. package/dist/NavMenu/NavMenu.torp +13 -4
  57. package/dist/NavMenu/NavMenuButton.torp +12 -5
  58. package/dist/NavMenu/NavMenuElement.torp +14 -6
  59. package/dist/NavMenu/NavMenuGroup.torp +12 -3
  60. package/dist/NavMenu/NavMenuGroupHeader.torp +12 -4
  61. package/dist/NavMenu/NavMenuLink.torp +16 -8
  62. package/dist/NavMenu/NavMenuPopout.torp +11 -3
  63. package/dist/NavMenu/NavMenuPopoutButton.torp +14 -8
  64. package/dist/NavMenu/NavMenuPopoutContent.torp +13 -3
  65. package/dist/NavMenu/NavMenuSeparator.torp +10 -1
  66. package/dist/NavMenu/index.d.ts +147 -70
  67. package/dist/Notification/Notification.torp +15 -5
  68. package/dist/Notification/NotificationClose.torp +10 -1
  69. package/dist/Notification/NotificationContainer.torp +11 -1
  70. package/dist/Notification/NotificationContent.torp +11 -1
  71. package/dist/Notification/index.d.ts +46 -28
  72. package/dist/Popover/Popover.torp +20 -6
  73. package/dist/Popover/PopoverContent.torp +10 -1
  74. package/dist/Popover/PopoverContentAnchored.torp +13 -6
  75. package/dist/Popover/PopoverContentContextual.torp +10 -1
  76. package/dist/Popover/PopoverOverlay.torp +10 -1
  77. package/dist/Popover/PopoverTrigger.torp +10 -1
  78. package/dist/Popover/PopoverTriggerContextual.torp +10 -1
  79. package/dist/Popover/PopoverTriggerHover.torp +11 -2
  80. package/dist/Popover/index.d.ts +101 -56
  81. package/dist/TabGroup/TabContent.torp +11 -5
  82. package/dist/TabGroup/TabGroup.torp +21 -9
  83. package/dist/TabGroup/TabHeader.torp +14 -5
  84. package/dist/TabGroup/TabList.torp +13 -4
  85. package/dist/TabGroup/TabTrigger.torp +12 -4
  86. package/dist/TabGroup/index.d.ts +93 -35
  87. package/dist/icons/ArrowDown.torp +3 -3
  88. package/dist/icons/ArrowLeft.torp +3 -3
  89. package/dist/icons/ArrowRight.torp +3 -3
  90. package/dist/icons/ArrowUp.torp +3 -3
  91. package/dist/icons/Bars.torp +3 -3
  92. package/dist/icons/Check.torp +3 -3
  93. package/dist/icons/ChevronDown.torp +3 -3
  94. package/dist/icons/ChevronLeft.torp +3 -3
  95. package/dist/icons/ChevronRight.torp +3 -3
  96. package/dist/icons/ChevronUp.torp +3 -3
  97. package/dist/icons/Cross.torp +3 -3
  98. package/dist/icons/Loading.torp +3 -3
  99. package/dist/icons/Minus.torp +3 -3
  100. package/dist/icons/Plus.torp +3 -3
  101. package/dist/icons/index.d.ts +14 -126
  102. package/dist/metafile-esm.json +1 -1
  103. package/package.json +13 -4
  104. package/src/Accordion/Accordion.torp +23 -11
  105. package/src/Accordion/AccordionContent.torp +13 -6
  106. package/src/Accordion/AccordionHeader.torp +14 -5
  107. package/src/Accordion/AccordionItem.torp +22 -8
  108. package/src/Accordion/AccordionTrigger.torp +14 -6
  109. package/src/Accordion/AccordionTypes.ts +2 -0
  110. package/src/Breadcrumb/Breadcrumb.torp +12 -3
  111. package/src/Breadcrumb/BreadcrumbItem.torp +12 -3
  112. package/src/Breadcrumb/BreadcrumbSeparator.torp +10 -1
  113. package/src/Calendar/Calendar.torp +9 -1
  114. package/src/Calendar/CalendarDay.torp +9 -1
  115. package/src/Dialog/Dialog.torp +13 -3
  116. package/src/Dialog/DialogBody.torp +11 -3
  117. package/src/Dialog/DialogButton.torp +16 -4
  118. package/src/Dialog/DialogFooter.torp +11 -1
  119. package/src/Dialog/DialogHeader.torp +11 -2
  120. package/src/Disclosure/Disclosure.torp +17 -7
  121. package/src/Disclosure/DisclosureContent.torp +13 -6
  122. package/src/Disclosure/DisclosureHeader.torp +14 -5
  123. package/src/Disclosure/DisclosureTrigger.torp +10 -2
  124. package/src/Drawer/Drawer.torp +11 -1
  125. package/src/Form/Field.torp +93 -0
  126. package/src/Form/Form.torp +131 -0
  127. package/src/Form/FormTypes.ts +30 -0
  128. package/src/Form/Input.torp +94 -0
  129. package/src/Form/Label.torp +31 -0
  130. package/src/Form/Message.torp +35 -0
  131. package/src/Form/StandardSchemaV1.ts +70 -0
  132. package/src/Form/index.ts +7 -0
  133. package/src/Menu/Menu.torp +12 -3
  134. package/src/Menu/MenuButton.torp +14 -3
  135. package/src/Menu/MenuCheck.torp +14 -3
  136. package/src/Menu/MenuGroup.torp +13 -3
  137. package/src/Menu/MenuIndicator.torp +12 -3
  138. package/src/Menu/MenuPopout.torp +17 -6
  139. package/src/Menu/MenuPopoutContent.torp +13 -4
  140. package/src/Menu/MenuPopoutTrigger.torp +13 -4
  141. package/src/Menu/MenuRadio.torp +16 -5
  142. package/src/Menu/MenuRadioGroup.torp +16 -5
  143. package/src/Menu/MenuSeparator.torp +11 -1
  144. package/src/MenuBar/MenuBar.torp +13 -4
  145. package/src/MenuBar/MenuBarItem.torp +17 -6
  146. package/src/MenuBar/MenuBarItemContent.torp +13 -4
  147. package/src/MenuBar/MenuBarItemTrigger.torp +11 -2
  148. package/src/NavMenu/NavMenu.torp +13 -4
  149. package/src/NavMenu/NavMenuButton.torp +12 -5
  150. package/src/NavMenu/NavMenuElement.torp +14 -6
  151. package/src/NavMenu/NavMenuGroup.torp +12 -3
  152. package/src/NavMenu/NavMenuGroupHeader.torp +12 -4
  153. package/src/NavMenu/NavMenuLink.torp +16 -8
  154. package/src/NavMenu/NavMenuPopout.torp +11 -3
  155. package/src/NavMenu/NavMenuPopoutButton.torp +14 -8
  156. package/src/NavMenu/NavMenuPopoutContent.torp +13 -3
  157. package/src/NavMenu/NavMenuSeparator.torp +10 -1
  158. package/src/Notification/Notification.torp +15 -5
  159. package/src/Notification/NotificationClose.torp +10 -1
  160. package/src/Notification/NotificationContainer.torp +11 -1
  161. package/src/Notification/NotificationContent.torp +11 -1
  162. package/src/Popover/Popover.torp +20 -6
  163. package/src/Popover/PopoverContent.torp +10 -1
  164. package/src/Popover/PopoverContentAnchored.torp +13 -6
  165. package/src/Popover/PopoverContentContextual.torp +10 -1
  166. package/src/Popover/PopoverOverlay.torp +10 -1
  167. package/src/Popover/PopoverTrigger.torp +10 -1
  168. package/src/Popover/PopoverTriggerContextual.torp +10 -1
  169. package/src/Popover/PopoverTriggerHover.torp +11 -2
  170. package/src/TabGroup/TabContent.torp +11 -5
  171. package/src/TabGroup/TabGroup.torp +21 -9
  172. package/src/TabGroup/TabHeader.torp +14 -5
  173. package/src/TabGroup/TabList.torp +13 -4
  174. package/src/TabGroup/TabTrigger.torp +12 -4
  175. package/src/icons/ArrowDown.torp +3 -3
  176. package/src/icons/ArrowLeft.torp +3 -3
  177. package/src/icons/ArrowRight.torp +3 -3
  178. package/src/icons/ArrowUp.torp +3 -3
  179. package/src/icons/Bars.torp +3 -3
  180. package/src/icons/Check.torp +3 -3
  181. package/src/icons/ChevronDown.torp +3 -3
  182. package/src/icons/ChevronLeft.torp +3 -3
  183. package/src/icons/ChevronRight.torp +3 -3
  184. package/src/icons/ChevronUp.torp +3 -3
  185. package/src/icons/Cross.torp +3 -3
  186. package/src/icons/Loading.torp +3 -3
  187. package/src/icons/Minus.torp +3 -3
  188. package/src/icons/Plus.torp +3 -3
  189. package/test/Accordion/components/AccordionAccessibility.torp +2 -0
  190. package/test/Accordion/components/AccordionKeyboard.torp +2 -0
  191. package/test/Accordion/components/AccordionList.torp +2 -0
  192. package/test/Accordion/components/AccordionMultiple.torp +2 -0
  193. package/test/Accordion/components/AccordionSingle.torp +2 -0
  194. package/test/Disclosure/accessibility.test.ts +3 -2
  195. package/test/Disclosure/components/DisclosureTest.torp +2 -0
  196. package/test/Disclosure/toggle.test.ts +3 -2
  197. package/test/Form/components/FieldTest.torp +25 -0
  198. package/test/Form/components/FormTest.torp +31 -0
  199. package/test/Form/components/InputTest.torp +9 -0
  200. package/test/Form/field.test.ts +34 -0
  201. package/test/Form/form.test.ts +34 -0
  202. package/test/Form/input.test.ts +19 -0
  203. package/test/Menu/accessibility.test.ts +3 -2
  204. package/test/Menu/basic.test.ts +11 -10
  205. package/test/MenuBar/accessibility.test.ts +3 -2
  206. package/test/MenuBar/basic.test.ts +3 -2
  207. package/test/NavMenu/basic.test.ts +1 -1
  208. package/test/NavMenu/components/{NavMenu.torp → NavMenuBasic.torp} +1 -1
  209. package/test/TabGroup/components/TabGroupAccessibility.torp +2 -0
  210. package/test/TabGroup/components/TabGroupKeyboard.torp +2 -0
  211. package/test/TabGroup/components/TabGroupList.torp +2 -0
  212. package/test/TabGroup/components/TabGroupTrigger.torp +2 -0
  213. package/tsup.config.ts +1 -1
@@ -1,5 +1,6 @@
1
- import { fireEvent, getByText, queryByText } from "@testing-library/dom";
1
+ import { getByText, queryByText } from "@testing-library/dom";
2
2
  import "@testing-library/jest-dom/vitest";
3
+ import userEvent from "@testing-library/user-event";
3
4
  import { mount } from "@torpor/view";
4
5
  import { describe, expect, it } from "vitest";
5
6
  import MenuBasic from "./components/MenuBasic.torp";
@@ -20,37 +21,37 @@ describe("Menu", () => {
20
21
  expect(queryByText(container, "Radio 1")).not.toBeInTheDocument();
21
22
 
22
23
  // Clicking a popout button should show the appropriate menu
23
- fireEvent.click(getByText(container, "Check popout button"));
24
+ await userEvent.click(getByText(container, "Check popout button"));
24
25
  expect(queryByText(container, "Checked 1")).toBeInTheDocument();
25
26
  expect(queryByText(container, "Radio 1")).not.toBeInTheDocument();
26
27
 
27
28
  // Clicking another popout button should show that menu instead
28
- fireEvent.click(getByText(container, "Radio popout button"));
29
+ await userEvent.click(getByText(container, "Radio popout button"));
29
30
  //expect(queryByText(container, 'Checked 1')).not.toBeInTheDocument();
30
31
  expect(queryByText(container, "Radio 1")).toBeInTheDocument();
31
32
 
32
33
  // Checking a box should show or hide the indicator
33
- fireEvent.click(getByText(container, "Check popout button"));
34
+ await userEvent.click(getByText(container, "Check popout button"));
34
35
  expect(queryByText(container, "Tick 1")).not.toBeInTheDocument();
35
36
  expect(queryByText(container, "Tick 2")).not.toBeInTheDocument();
36
- fireEvent.click(getByText(container, "Checked 1"));
37
+ await userEvent.click(getByText(container, "Checked 1"));
37
38
  expect(queryByText(container, "Tick 1")).toBeInTheDocument();
38
39
  expect(queryByText(container, "Tick 2")).not.toBeInTheDocument();
39
- fireEvent.click(getByText(container, "Checked 2"));
40
+ await userEvent.click(getByText(container, "Checked 2"));
40
41
  expect(queryByText(container, "Tick 1")).toBeInTheDocument();
41
42
  expect(queryByText(container, "Tick 2")).toBeInTheDocument();
42
- fireEvent.click(getByText(container, "Checked 1"));
43
+ await userEvent.click(getByText(container, "Checked 1"));
43
44
  expect(queryByText(container, "Tick 1")).not.toBeInTheDocument();
44
45
  expect(queryByText(container, "Tick 2")).toBeInTheDocument();
45
46
 
46
47
  // Checking a radio should show the indicator, and hide another indicator if already selected
47
- fireEvent.click(getByText(container, "Radio popout button"));
48
+ await userEvent.click(getByText(container, "Radio popout button"));
48
49
  expect(queryByText(container, "Circle 1")).not.toBeInTheDocument();
49
50
  expect(queryByText(container, "Circle 2")).not.toBeInTheDocument();
50
- fireEvent.click(getByText(container, "Radio 1"));
51
+ await userEvent.click(getByText(container, "Radio 1"));
51
52
  expect(queryByText(container, "Circle 1")).toBeInTheDocument();
52
53
  expect(queryByText(container, "Circle 2")).not.toBeInTheDocument();
53
- fireEvent.click(getByText(container, "Radio 2"));
54
+ await userEvent.click(getByText(container, "Radio 2"));
54
55
  expect(queryByText(container, "Circle 1")).not.toBeInTheDocument();
55
56
  expect(queryByText(container, "Circle 2")).toBeInTheDocument();
56
57
  });
@@ -1,5 +1,6 @@
1
- import { fireEvent, getByText, queryByText } from "@testing-library/dom";
1
+ import { getByText, queryByText } from "@testing-library/dom";
2
2
  import "@testing-library/jest-dom/vitest";
3
+ import userEvent from "@testing-library/user-event";
3
4
  import { mount } from "@torpor/view";
4
5
  import { describe, expect, it } from "vitest";
5
6
  import MenuBarAccessibility from "./components/MenuBarAccessibility.torp";
@@ -38,7 +39,7 @@ describe("MenuBar", () => {
38
39
  // A parent menuitem has aria-expanded set to false when its child menu is not visible and set
39
40
  // to true when the child menu is visible
40
41
  expect(queryByText(container, "Top level")).toHaveAttribute("aria-expanded", "false");
41
- fireEvent.click(getByText(container, "Top level"));
42
+ await userEvent.click(getByText(container, "Top level"));
42
43
  expect(queryByText(container, "Top level")).toHaveAttribute("aria-expanded", "true");
43
44
 
44
45
  // One of the following approaches is used to enable scripts to move focus among items in a
@@ -1,5 +1,6 @@
1
- import { fireEvent, getByText, queryByText } from "@testing-library/dom";
1
+ import { getByText, queryByText } from "@testing-library/dom";
2
2
  import "@testing-library/jest-dom/vitest";
3
+ import userEvent from "@testing-library/user-event";
3
4
  import { mount } from "@torpor/view";
4
5
  import { describe, expect, it } from "vitest";
5
6
  import MenuBarBasic from "./components/MenuBarBasic.torp";
@@ -15,7 +16,7 @@ describe("MenuBar", () => {
15
16
  expect(queryByText(container, "Sub item 1")).not.toBeInTheDocument();
16
17
 
17
18
  // Clicking the top level item should show the sub item
18
- fireEvent.click(getByText(container, "Top level"));
19
+ await userEvent.click(getByText(container, "Top level"));
19
20
  expect(queryByText(container, "Sub item 1")).toBeInTheDocument();
20
21
  });
21
22
  });
@@ -3,7 +3,7 @@ import "@testing-library/jest-dom/vitest";
3
3
  import userEvent from "@testing-library/user-event";
4
4
  import { mount } from "@torpor/view";
5
5
  import { describe, expect, it } from "vitest";
6
- import NavMenu from "./components/NavMenu.torp";
6
+ import NavMenu from "./components/NavMenuBasic.torp";
7
7
 
8
8
  describe("NavMenu", () => {
9
9
  it("Basic operation", async () => {
@@ -7,7 +7,7 @@ import {
7
7
  NavMenuSeparator
8
8
  } from "../../../src/NavMenu";
9
9
 
10
- export default function NavMenu($props: any) {
10
+ export default function NavMenuBasic($props: any) {
11
11
  @render {
12
12
  <NavMenu ariaLabel="Site navigation">
13
13
  <NavMenuLink href="/">Home</NavMenuLink>
@@ -7,6 +7,8 @@ import {
7
7
  } from "../../../src/TabGroup/index";
8
8
 
9
9
  export default function TabGroupAccessibility() {
10
+ $props ??= $watch({});
11
+
10
12
  @render {
11
13
  <TabGroup value={$props.value}>
12
14
  <TabList ariaLabel="Example tabs">
@@ -7,6 +7,8 @@ import {
7
7
  } from "../../../src/TabGroup/index";
8
8
 
9
9
  export default function TabGroupKeyboard() {
10
+ $props ??= $watch({});
11
+
10
12
  @render {
11
13
  <TabGroup value={$props.value}>
12
14
  <TabList>
@@ -7,6 +7,8 @@ import {
7
7
  } from "../../../src/TabGroup/index";
8
8
 
9
9
  export default function TabGroupList() {
10
+ $props ??= $watch({});
11
+
10
12
  @render {
11
13
  <TabGroup value={$props.value}>
12
14
  <TabList>
@@ -7,6 +7,8 @@ import {
7
7
  } from "../../../src/TabGroup/index";
8
8
 
9
9
  export default function TabGroupTrigger() {
10
+ $props ??= $watch({});
11
+
10
12
  @render {
11
13
  <TabGroup value={$props.value}>
12
14
  <TabList>
package/tsup.config.ts CHANGED
@@ -13,13 +13,13 @@ export default defineConfig({
13
13
  "src/Dialog/index.ts",
14
14
  "src/Disclosure/index.ts",
15
15
  "src/Drawer/index.ts",
16
+ "src/Form/index.ts",
16
17
  "src/Menu/index.ts",
17
18
  "src/MenuBar/index.ts",
18
19
  "src/NavMenu/index.ts",
19
20
  "src/Notification/index.ts",
20
21
  "src/Popover/index.ts",
21
22
  "src/TabGroup/index.ts",
22
- "src/form/index.ts",
23
23
  "src/icons/index.ts",
24
24
  "src/motion/index.ts",
25
25
  ],