@torpor/ui 0.0.16 → 0.1.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.
Files changed (156) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/Accordion/Accordion.torp +53 -54
  3. package/dist/Accordion/AccordionContent.torp +5 -5
  4. package/dist/Accordion/AccordionHeader.torp +5 -4
  5. package/dist/Accordion/AccordionItem.torp +13 -8
  6. package/dist/Accordion/AccordionTrigger.torp +5 -5
  7. package/dist/Accordion/AccordionTypes.ts +1 -0
  8. package/dist/Dialog/Dialog.torp +156 -0
  9. package/dist/Dialog/DialogBody.torp +34 -0
  10. package/dist/Dialog/DialogButton.torp +48 -0
  11. package/dist/Dialog/DialogFooter.torp +13 -0
  12. package/dist/Dialog/DialogHeader.torp +34 -0
  13. package/dist/Dialog/DialogTypes.ts +16 -0
  14. package/dist/Dialog/index.cjs +53 -0
  15. package/dist/Dialog/index.cjs.map +1 -0
  16. package/dist/Dialog/index.js +22 -0
  17. package/dist/Dialog/index.js.map +1 -0
  18. package/dist/NavMenu/NavMenu.torp +178 -0
  19. package/dist/NavMenu/NavMenuButton.torp +46 -0
  20. package/dist/NavMenu/NavMenuElement.torp +43 -0
  21. package/dist/NavMenu/NavMenuGroup.torp +30 -0
  22. package/dist/NavMenu/NavMenuGroupHeader.torp +30 -0
  23. package/dist/NavMenu/NavMenuLink.torp +52 -0
  24. package/dist/NavMenu/NavMenuPopout.torp +69 -0
  25. package/dist/NavMenu/NavMenuPopoutButton.torp +120 -0
  26. package/dist/NavMenu/NavMenuPopoutContent.torp +79 -0
  27. package/dist/NavMenu/NavMenuSeparator.torp +14 -0
  28. package/dist/NavMenu/NavMenuTypes.ts +32 -0
  29. package/dist/NavMenu/index.cjs +78 -0
  30. package/dist/NavMenu/index.cjs.map +1 -0
  31. package/dist/NavMenu/index.js +42 -0
  32. package/dist/NavMenu/index.js.map +1 -0
  33. package/dist/Popover/Popover.torp +105 -0
  34. package/dist/Popover/PopoverContentAnchored.torp +107 -0
  35. package/dist/Popover/PopoverContentContextual.torp +99 -0
  36. package/dist/Popover/PopoverContentStatic.torp +78 -0
  37. package/dist/Popover/PopoverOverlay.torp +32 -0
  38. package/dist/Popover/PopoverTrigger.torp +29 -0
  39. package/dist/Popover/PopoverTriggerContextual.torp +37 -0
  40. package/dist/Popover/PopoverTriggerHover.torp +30 -0
  41. package/dist/Popover/PopoverTypes.ts +30 -0
  42. package/dist/Popover/index.cjs +222 -0
  43. package/dist/Popover/index.cjs.map +1 -0
  44. package/dist/Popover/index.js +183 -0
  45. package/dist/Popover/index.js.map +1 -0
  46. package/dist/Popover/mountClickPopover.ts +50 -0
  47. package/dist/Popover/mountContextPopover.ts +50 -0
  48. package/dist/Popover/mountHoverPopover.ts +57 -0
  49. package/dist/Popover/showPopover.ts +24 -0
  50. package/dist/Popover/showPopoverPrompt.ts +23 -0
  51. package/dist/TabGroup/TabContent.torp +36 -0
  52. package/dist/TabGroup/TabGroup.torp +225 -0
  53. package/dist/TabGroup/TabGroupTypes.ts +39 -0
  54. package/dist/TabGroup/TabHeader.torp +62 -0
  55. package/dist/TabGroup/TabList.torp +50 -0
  56. package/dist/TabGroup/TabTrigger.torp +65 -0
  57. package/dist/TabGroup/index.cjs +53 -0
  58. package/dist/TabGroup/index.cjs.map +1 -0
  59. package/dist/TabGroup/index.js +22 -0
  60. package/dist/TabGroup/index.js.map +1 -0
  61. package/dist/metafile-cjs.json +1 -1
  62. package/dist/metafile-esm.json +1 -1
  63. package/dist/mount/disableScroll.ts +28 -0
  64. package/dist/mount/hoverTrigger.ts +59 -0
  65. package/dist/mount/trapFocus.ts +58 -0
  66. package/dist/utils/documentEvents.ts +17 -0
  67. package/dist/utils/getScrollParent.ts +22 -0
  68. package/dist/utils/setContextPosition.ts +31 -0
  69. package/dist/utils/setPopoverPosition.ts +138 -0
  70. package/package.json +26 -6
  71. package/scripts/postbuild.ts +28 -10
  72. package/src/Accordion/Accordion.torp +53 -54
  73. package/src/Accordion/AccordionContent.torp +5 -5
  74. package/src/Accordion/AccordionHeader.torp +5 -4
  75. package/src/Accordion/AccordionItem.torp +13 -8
  76. package/src/Accordion/AccordionTrigger.torp +5 -5
  77. package/src/Accordion/AccordionTypes.ts +1 -0
  78. package/src/Dialog/Dialog.torp +156 -0
  79. package/src/Dialog/DialogBody.torp +34 -0
  80. package/src/Dialog/DialogButton.torp +48 -0
  81. package/src/Dialog/DialogFooter.torp +13 -0
  82. package/src/Dialog/DialogHeader.torp +34 -0
  83. package/src/Dialog/DialogTypes.ts +16 -0
  84. package/src/Dialog/index.ts +7 -0
  85. package/src/Dialog.ts +7 -0
  86. package/src/NavMenu/NavMenu.torp +178 -0
  87. package/src/NavMenu/NavMenuButton.torp +46 -0
  88. package/src/NavMenu/NavMenuElement.torp +43 -0
  89. package/src/NavMenu/NavMenuGroup.torp +30 -0
  90. package/src/NavMenu/NavMenuGroupHeader.torp +30 -0
  91. package/src/NavMenu/NavMenuLink.torp +52 -0
  92. package/src/NavMenu/NavMenuPopout.torp +69 -0
  93. package/src/NavMenu/NavMenuPopoutButton.torp +120 -0
  94. package/src/NavMenu/NavMenuPopoutContent.torp +79 -0
  95. package/src/NavMenu/NavMenuSeparator.torp +14 -0
  96. package/src/NavMenu/NavMenuTypes.ts +32 -0
  97. package/src/NavMenu/index.ts +23 -0
  98. package/src/NavMenu.ts +23 -0
  99. package/src/Popover/Popover.torp +105 -0
  100. package/src/Popover/PopoverContentAnchored.torp +107 -0
  101. package/src/Popover/PopoverContentContextual.torp +99 -0
  102. package/src/Popover/PopoverContentStatic.torp +78 -0
  103. package/src/Popover/PopoverOverlay.torp +32 -0
  104. package/src/Popover/PopoverTrigger.torp +29 -0
  105. package/src/Popover/PopoverTriggerContextual.torp +37 -0
  106. package/src/Popover/PopoverTriggerHover.torp +30 -0
  107. package/src/Popover/PopoverTypes.ts +30 -0
  108. package/src/Popover/index.ts +29 -0
  109. package/src/Popover/mountClickPopover.ts +50 -0
  110. package/src/Popover/mountContextPopover.ts +50 -0
  111. package/src/Popover/mountHoverPopover.ts +57 -0
  112. package/src/Popover/showPopover.ts +24 -0
  113. package/src/Popover/showPopoverPrompt.ts +23 -0
  114. package/src/Popover.ts +29 -0
  115. package/src/TabGroup/TabContent.torp +36 -0
  116. package/src/TabGroup/TabGroup.torp +225 -0
  117. package/src/TabGroup/TabGroupTypes.ts +39 -0
  118. package/src/TabGroup/TabHeader.torp +62 -0
  119. package/src/TabGroup/TabList.torp +50 -0
  120. package/src/TabGroup/TabTrigger.torp +65 -0
  121. package/src/TabGroup/index.ts +7 -0
  122. package/src/TabGroup.ts +7 -0
  123. package/src/mount/disableScroll.ts +28 -0
  124. package/src/mount/hoverTrigger.ts +59 -0
  125. package/src/mount/trapFocus.ts +58 -0
  126. package/src/utils/documentEvents.ts +17 -0
  127. package/src/utils/getScrollParent.ts +22 -0
  128. package/src/utils/setContextPosition.ts +31 -0
  129. package/src/utils/setPopoverPosition.ts +138 -0
  130. package/test/Accordion/accessibility.test.ts +0 -3
  131. package/test/Accordion/for-items.test.ts +2 -4
  132. package/test/Accordion/keyboard.test.ts +0 -3
  133. package/test/Accordion/multiple-item-toggle.test.ts +3 -5
  134. package/test/Accordion/single-item-toggle.test.ts +3 -5
  135. package/test/Dialog/accessibility-alert.test.ts +40 -0
  136. package/test/Dialog/accessibility-modal.test.ts +52 -0
  137. package/test/Dialog/components/CustomDialog.torp +20 -0
  138. package/test/Dialog/components/DialogAccessibility.torp +31 -0
  139. package/test/Dialog/components/DialogFunction.torp +22 -0
  140. package/test/Dialog/components/DialogVariable.torp +35 -0
  141. package/test/Dialog/function.test.ts +26 -0
  142. package/test/Dialog/variable.test.ts +27 -0
  143. package/test/NavMenu/accessibility.test.ts +97 -0
  144. package/test/NavMenu/basic.test.ts +22 -0
  145. package/test/NavMenu/components/NavMenu.torp +28 -0
  146. package/test/NavMenu/components/NavMenuAccessibility.torp +35 -0
  147. package/test/TabGroup/accessibility.test.ts +67 -0
  148. package/test/TabGroup/components/TabGroupAccessibility.torp +28 -0
  149. package/test/TabGroup/components/TabGroupKeyboard.torp +28 -0
  150. package/test/TabGroup/components/TabGroupList.torp +26 -0
  151. package/test/TabGroup/components/TabGroupTrigger.torp +28 -0
  152. package/test/TabGroup/for-items.test.ts +52 -0
  153. package/test/TabGroup/item-trigger.test.ts +32 -0
  154. package/test/TabGroup/item-value.test.ts +17 -0
  155. package/test/TabGroup/keyboard.test.ts +72 -0
  156. package/tsup.config.ts +8 -1
@@ -0,0 +1,65 @@
1
+ import getId from "../utils/getId";
2
+ import { TabItemContextName, type TabItemContext } from "./TabGroupTypes";
3
+
4
+ /**
5
+ * A header button for a tab item, which can be used to reveal an associated TabContent.
6
+ */
7
+ export default function TabTrigger() {
8
+ let button: HTMLButtonElement;
9
+
10
+ $props.id ||= getId();
11
+
12
+ // Get stuff out of the TabItemContext
13
+ const context = $context[TabItemContextName] as TabItemContext;
14
+ if (!context) {
15
+ throw new Error("TabTrigger must be contained within a TabHeader");
16
+ }
17
+ let $state = $context[TabItemContextName].state;
18
+
19
+ // Set the header ID so that it can be used with aria-labelledby in TabContent
20
+ $state.headerId = $props.id;
21
+
22
+ // Let the item know how to set the button's focus
23
+ $state.setFocused = setFocused;
24
+
25
+ // This function is called by the parent TabGroup to focus this item's button
26
+ function setFocused() {
27
+ button.focus();
28
+ if ($state.activation === "automatic") {
29
+ context.triggerItem($state.value);
30
+ }
31
+ }
32
+
33
+ function handleClick() {
34
+ // Pass the value to the triggerItem method in the parent TabGroup which will handle toggling
35
+ // the value of active for all items (e.g. to close other items if necessary)
36
+ context.triggerItem($state.value);
37
+ }
38
+
39
+ function handleKey(e: KeyboardEvent) {
40
+ // Pass the key press up to the parent TabGroup which will handle setting the focused button
41
+ context.handleHeaderKey($state.index, e);
42
+ }
43
+
44
+ @render {
45
+ <button
46
+ type="button"
47
+ id={$props.id}
48
+ class={`torp-tab-trigger ${$props.class ?? ""}`.trim()}
49
+ role="tab"
50
+ tabindex="-1"
51
+ disabled={$state.disabled || $state.parentDisabled}
52
+ aria-selected={$state.active.toString()}
53
+ aria-disabled={$state.disabled}
54
+ aria-controls={$state.contentId}
55
+ data-state={$state.dataState}
56
+ data-disabled={$state.disabled}
57
+ data-orientation={$state.orientation}
58
+ &ref={button}
59
+ onclick={handleClick}
60
+ onkeydown={handleKey}
61
+ >
62
+ <:slot />
63
+ </button>
64
+ }
65
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/TabGroup/index.ts
21
+ var TabGroup_exports = {};
22
+ __export(TabGroup_exports, {
23
+ TabContent: () => TabContent_default,
24
+ TabGroup: () => TabGroup_default,
25
+ TabHeader: () => TabHeader_default,
26
+ TabList: () => TabList_default,
27
+ TabTrigger: () => TabTrigger_default
28
+ });
29
+ module.exports = __toCommonJS(TabGroup_exports);
30
+
31
+ // src/TabGroup/TabContent.torp
32
+ import TabContent_default from "./TabContent.torp";
33
+
34
+ // src/TabGroup/TabGroup.torp
35
+ import TabGroup_default from "./TabGroup.torp";
36
+
37
+ // src/TabGroup/TabHeader.torp
38
+ import TabHeader_default from "./TabHeader.torp";
39
+
40
+ // src/TabGroup/TabList.torp
41
+ import TabList_default from "./TabList.torp";
42
+
43
+ // src/TabGroup/TabTrigger.torp
44
+ import TabTrigger_default from "./TabTrigger.torp";
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ TabContent,
48
+ TabGroup,
49
+ TabHeader,
50
+ TabList,
51
+ TabTrigger
52
+ });
53
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/TabGroup/index.ts"],"sourcesContent":["import TabContent from \"./TabContent.torp\";\nimport TabGroup from \"./TabGroup.torp\";\nimport TabHeader from \"./TabHeader.torp\";\nimport TabList from \"./TabList.torp\";\nimport TabTrigger from \"./TabTrigger.torp\";\n\nexport { TabGroup, TabList, TabHeader, TabTrigger, TabContent };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A","names":[]}
@@ -0,0 +1,22 @@
1
+ // src/TabGroup/TabContent.torp
2
+ import TabContent_default from "./TabContent.torp";
3
+
4
+ // src/TabGroup/TabGroup.torp
5
+ import TabGroup_default from "./TabGroup.torp";
6
+
7
+ // src/TabGroup/TabHeader.torp
8
+ import TabHeader_default from "./TabHeader.torp";
9
+
10
+ // src/TabGroup/TabList.torp
11
+ import TabList_default from "./TabList.torp";
12
+
13
+ // src/TabGroup/TabTrigger.torp
14
+ import TabTrigger_default from "./TabTrigger.torp";
15
+ export {
16
+ TabContent_default as TabContent,
17
+ TabGroup_default as TabGroup,
18
+ TabHeader_default as TabHeader,
19
+ TabList_default as TabList,
20
+ TabTrigger_default as TabTrigger
21
+ };
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +1 @@
1
- {"inputs":{"src/motion/fade.ts":{"bytes":155,"imports":[],"format":"esm"},"src/motion.ts":{"bytes":52,"imports":[{"path":"src/motion/fade.ts","kind":"import-statement","original":"./motion/fade"}],"format":"esm"},"src/Accordion/Accordion.torp":{"bytes":5525,"imports":[]},"src/Accordion/AccordionContent.torp":{"bytes":1189,"imports":[]},"src/Accordion/AccordionHeader.torp":{"bytes":855,"imports":[]},"src/Accordion/AccordionItem.torp":{"bytes":2331,"imports":[]},"src/Accordion/AccordionTrigger.torp":{"bytes":1815,"imports":[]},"src/Accordion/index.ts":{"bytes":349,"imports":[{"path":"src/Accordion/Accordion.torp","kind":"import-statement","original":"./Accordion.torp"},{"path":"src/Accordion/AccordionContent.torp","kind":"import-statement","original":"./AccordionContent.torp"},{"path":"src/Accordion/AccordionHeader.torp","kind":"import-statement","original":"./AccordionHeader.torp"},{"path":"src/Accordion/AccordionItem.torp","kind":"import-statement","original":"./AccordionItem.torp"},{"path":"src/Accordion/AccordionTrigger.torp","kind":"import-statement","original":"./AccordionTrigger.torp"}],"format":"esm"}},"outputs":{"dist/motion.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":487},"dist/motion.cjs":{"imports":[],"exports":[],"entryPoint":"src/motion.ts","inputs":{"src/motion.ts":{"bytesInOutput":130},"src/motion/fade.ts":{"bytesInOutput":92}},"bytes":1160},"dist/Accordion-E6VNLVJW.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/Accordion.torp":{"bytesInOutput":5525}},"bytes":5525},"dist/AccordionContent-HGVMBVT6.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionContent.torp":{"bytesInOutput":1189}},"bytes":1189},"dist/AccordionHeader-YC7XXPRV.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionHeader.torp":{"bytesInOutput":855}},"bytes":855},"dist/AccordionItem-RQ6AWHXL.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionItem.torp":{"bytesInOutput":2331}},"bytes":2331},"dist/AccordionTrigger-7OBA72E2.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionTrigger.torp":{"bytesInOutput":1815}},"bytes":1815},"dist/Accordion/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":557},"dist/Accordion/index.cjs":{"imports":[{"path":"dist/Accordion-E6VNLVJW.torp","kind":"file-loader"},{"path":"dist/AccordionContent-HGVMBVT6.torp","kind":"file-loader"},{"path":"dist/AccordionHeader-YC7XXPRV.torp","kind":"file-loader"},{"path":"dist/AccordionItem-RQ6AWHXL.torp","kind":"file-loader"},{"path":"dist/AccordionTrigger-7OBA72E2.torp","kind":"file-loader"}],"exports":[],"entryPoint":"src/Accordion/index.ts","inputs":{"src/Accordion/index.ts":{"bytesInOutput":349},"src/Accordion/Accordion.torp":{"bytesInOutput":54},"src/Accordion/AccordionContent.torp":{"bytesInOutput":68},"src/Accordion/AccordionHeader.torp":{"bytesInOutput":66},"src/Accordion/AccordionItem.torp":{"bytesInOutput":62},"src/Accordion/AccordionTrigger.torp":{"bytesInOutput":68}},"bytes":1861}}}
1
+ {"inputs":{"src/motion/fade.ts":{"bytes":155,"imports":[],"format":"esm"},"src/motion.ts":{"bytes":52,"imports":[{"path":"src/motion/fade.ts","kind":"import-statement","original":"./motion/fade"}],"format":"esm"},"src/Accordion/Accordion.torp":{"bytes":5416,"imports":[]},"src/Accordion/AccordionContent.torp":{"bytes":1220,"imports":[]},"src/Accordion/AccordionHeader.torp":{"bytes":904,"imports":[]},"src/Accordion/AccordionItem.torp":{"bytes":2448,"imports":[]},"src/Accordion/AccordionTrigger.torp":{"bytes":1846,"imports":[]},"src/Accordion/index.ts":{"bytes":349,"imports":[{"path":"src/Accordion/Accordion.torp","kind":"import-statement","original":"./Accordion.torp"},{"path":"src/Accordion/AccordionContent.torp","kind":"import-statement","original":"./AccordionContent.torp"},{"path":"src/Accordion/AccordionHeader.torp","kind":"import-statement","original":"./AccordionHeader.torp"},{"path":"src/Accordion/AccordionItem.torp","kind":"import-statement","original":"./AccordionItem.torp"},{"path":"src/Accordion/AccordionTrigger.torp","kind":"import-statement","original":"./AccordionTrigger.torp"}],"format":"esm"},"src/Dialog/Dialog.torp":{"bytes":4423,"imports":[]},"src/Dialog/DialogBody.torp":{"bytes":971,"imports":[]},"src/Dialog/DialogButton.torp":{"bytes":1470,"imports":[]},"src/Dialog/DialogFooter.torp":{"bytes":261,"imports":[]},"src/Dialog/DialogHeader.torp":{"bytes":966,"imports":[]},"src/Dialog/index.ts":{"bytes":298,"imports":[{"path":"src/Dialog/Dialog.torp","kind":"import-statement","original":"./Dialog.torp"},{"path":"src/Dialog/DialogBody.torp","kind":"import-statement","original":"./DialogBody.torp"},{"path":"src/Dialog/DialogButton.torp","kind":"import-statement","original":"./DialogButton.torp"},{"path":"src/Dialog/DialogFooter.torp","kind":"import-statement","original":"./DialogFooter.torp"},{"path":"src/Dialog/DialogHeader.torp","kind":"import-statement","original":"./DialogHeader.torp"}],"format":"esm"},"src/NavMenu/NavMenu.torp":{"bytes":4116,"imports":[]},"src/NavMenu/NavMenuButton.torp":{"bytes":1238,"imports":[]},"src/NavMenu/NavMenuElement.torp":{"bytes":1222,"imports":[]},"src/NavMenu/NavMenuGroup.torp":{"bytes":717,"imports":[]},"src/NavMenu/NavMenuGroupHeader.torp":{"bytes":789,"imports":[]},"src/NavMenu/NavMenuLink.torp":{"bytes":1436,"imports":[]},"src/NavMenu/NavMenuPopout.torp":{"bytes":1477,"imports":[]},"src/NavMenu/NavMenuPopoutButton.torp":{"bytes":3119,"imports":[]},"src/NavMenu/NavMenuPopoutContent.torp":{"bytes":2398,"imports":[]},"src/NavMenu/NavMenuSeparator.torp":{"bytes":282,"imports":[]},"src/NavMenu/index.ts":{"bytes":712,"imports":[{"path":"src/NavMenu/NavMenu.torp","kind":"import-statement","original":"./NavMenu.torp"},{"path":"src/NavMenu/NavMenuButton.torp","kind":"import-statement","original":"./NavMenuButton.torp"},{"path":"src/NavMenu/NavMenuElement.torp","kind":"import-statement","original":"./NavMenuElement.torp"},{"path":"src/NavMenu/NavMenuGroup.torp","kind":"import-statement","original":"./NavMenuGroup.torp"},{"path":"src/NavMenu/NavMenuGroupHeader.torp","kind":"import-statement","original":"./NavMenuGroupHeader.torp"},{"path":"src/NavMenu/NavMenuLink.torp","kind":"import-statement","original":"./NavMenuLink.torp"},{"path":"src/NavMenu/NavMenuPopout.torp","kind":"import-statement","original":"./NavMenuPopout.torp"},{"path":"src/NavMenu/NavMenuPopoutButton.torp","kind":"import-statement","original":"./NavMenuPopoutButton.torp"},{"path":"src/NavMenu/NavMenuPopoutContent.torp","kind":"import-statement","original":"./NavMenuPopoutContent.torp"},{"path":"src/NavMenu/NavMenuSeparator.torp","kind":"import-statement","original":"./NavMenuSeparator.torp"}],"format":"esm"},"src/Popover/Popover.torp":{"bytes":2903,"imports":[]},"src/Popover/PopoverContentAnchored.torp":{"bytes":3306,"imports":[]},"src/Popover/PopoverContentContextual.torp":{"bytes":2993,"imports":[]},"src/Popover/PopoverContentStatic.torp":{"bytes":2152,"imports":[]},"src/Popover/PopoverOverlay.torp":{"bytes":862,"imports":[]},"src/Popover/PopoverTrigger.torp":{"bytes":700,"imports":[]},"src/Popover/PopoverTriggerContextual.torp":{"bytes":1188,"imports":[]},"src/Popover/PopoverTriggerHover.torp":{"bytes":814,"imports":[]},"src/Popover/showPopover.ts":{"bytes":866,"imports":[],"format":"esm"},"src/Popover/mountClickPopover.ts":{"bytes":1231,"imports":[{"path":"src/Popover/showPopover.ts","kind":"import-statement","original":"./showPopover"}],"format":"esm"},"src/Popover/mountContextPopover.ts":{"bytes":1274,"imports":[{"path":"src/Popover/showPopover.ts","kind":"import-statement","original":"./showPopover"}],"format":"esm"},"src/mount/hoverTrigger.ts":{"bytes":1885,"imports":[],"format":"esm"},"src/Popover/mountHoverPopover.ts":{"bytes":1727,"imports":[{"path":"src/mount/hoverTrigger.ts","kind":"import-statement","original":"../mount/hoverTrigger"},{"path":"src/Popover/showPopover.ts","kind":"import-statement","original":"./showPopover"}],"format":"esm"},"src/Popover/showPopoverPrompt.ts":{"bytes":785,"imports":[],"format":"esm"},"src/Popover/index.ts":{"bytes":984,"imports":[{"path":"src/Popover/Popover.torp","kind":"import-statement","original":"./Popover.torp"},{"path":"src/Popover/PopoverContentAnchored.torp","kind":"import-statement","original":"./PopoverContentAnchored.torp"},{"path":"src/Popover/PopoverContentContextual.torp","kind":"import-statement","original":"./PopoverContentContextual.torp"},{"path":"src/Popover/PopoverContentStatic.torp","kind":"import-statement","original":"./PopoverContentStatic.torp"},{"path":"src/Popover/PopoverOverlay.torp","kind":"import-statement","original":"./PopoverOverlay.torp"},{"path":"src/Popover/PopoverTrigger.torp","kind":"import-statement","original":"./PopoverTrigger.torp"},{"path":"src/Popover/PopoverTriggerContextual.torp","kind":"import-statement","original":"./PopoverTriggerContextual.torp"},{"path":"src/Popover/PopoverTriggerHover.torp","kind":"import-statement","original":"./PopoverTriggerHover.torp"},{"path":"src/Popover/mountClickPopover.ts","kind":"import-statement","original":"./mountClickPopover"},{"path":"src/Popover/mountContextPopover.ts","kind":"import-statement","original":"./mountContextPopover"},{"path":"src/Popover/mountHoverPopover.ts","kind":"import-statement","original":"./mountHoverPopover"},{"path":"src/Popover/showPopover.ts","kind":"import-statement","original":"./showPopover"},{"path":"src/Popover/showPopoverPrompt.ts","kind":"import-statement","original":"./showPopoverPrompt"}],"format":"esm"},"src/TabGroup/TabContent.torp":{"bytes":1035,"imports":[]},"src/TabGroup/TabGroup.torp":{"bytes":5920,"imports":[]},"src/TabGroup/TabHeader.torp":{"bytes":1388,"imports":[]},"src/TabGroup/TabList.torp":{"bytes":1278,"imports":[]},"src/TabGroup/TabTrigger.torp":{"bytes":1912,"imports":[]},"src/TabGroup/index.ts":{"bytes":274,"imports":[{"path":"src/TabGroup/TabContent.torp","kind":"import-statement","original":"./TabContent.torp"},{"path":"src/TabGroup/TabGroup.torp","kind":"import-statement","original":"./TabGroup.torp"},{"path":"src/TabGroup/TabHeader.torp","kind":"import-statement","original":"./TabHeader.torp"},{"path":"src/TabGroup/TabList.torp","kind":"import-statement","original":"./TabList.torp"},{"path":"src/TabGroup/TabTrigger.torp","kind":"import-statement","original":"./TabTrigger.torp"}],"format":"esm"}},"outputs":{"dist/motion.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":487},"dist/motion.cjs":{"imports":[],"exports":[],"entryPoint":"src/motion.ts","inputs":{"src/motion.ts":{"bytesInOutput":130},"src/motion/fade.ts":{"bytesInOutput":92}},"bytes":1160},"dist/Accordion-QRVUJYO4.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/Accordion.torp":{"bytesInOutput":5416}},"bytes":5416},"dist/AccordionContent-N2MX55UP.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionContent.torp":{"bytesInOutput":1220}},"bytes":1220},"dist/AccordionHeader-63PAFATF.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionHeader.torp":{"bytesInOutput":904}},"bytes":904},"dist/AccordionItem-OZM2RDTP.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionItem.torp":{"bytesInOutput":2448}},"bytes":2448},"dist/AccordionTrigger-A2BNI4UL.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionTrigger.torp":{"bytesInOutput":1846}},"bytes":1846},"dist/Accordion/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":557},"dist/Accordion/index.cjs":{"imports":[{"path":"dist/Accordion-QRVUJYO4.torp","kind":"file-loader"},{"path":"dist/AccordionContent-N2MX55UP.torp","kind":"file-loader"},{"path":"dist/AccordionHeader-63PAFATF.torp","kind":"file-loader"},{"path":"dist/AccordionItem-OZM2RDTP.torp","kind":"file-loader"},{"path":"dist/AccordionTrigger-A2BNI4UL.torp","kind":"file-loader"}],"exports":[],"entryPoint":"src/Accordion/index.ts","inputs":{"src/Accordion/index.ts":{"bytesInOutput":349},"src/Accordion/Accordion.torp":{"bytesInOutput":54},"src/Accordion/AccordionContent.torp":{"bytesInOutput":68},"src/Accordion/AccordionHeader.torp":{"bytesInOutput":66},"src/Accordion/AccordionItem.torp":{"bytesInOutput":62},"src/Accordion/AccordionTrigger.torp":{"bytesInOutput":68}},"bytes":1861},"dist/Dialog-MXD6FCTC.torp":{"imports":[],"exports":[],"inputs":{"src/Dialog/Dialog.torp":{"bytesInOutput":4423}},"bytes":4423},"dist/DialogBody-AGHBYC75.torp":{"imports":[],"exports":[],"inputs":{"src/Dialog/DialogBody.torp":{"bytesInOutput":971}},"bytes":971},"dist/DialogButton-RLATFTMQ.torp":{"imports":[],"exports":[],"inputs":{"src/Dialog/DialogButton.torp":{"bytesInOutput":1470}},"bytes":1470},"dist/DialogFooter-RRRHATC4.torp":{"imports":[],"exports":[],"inputs":{"src/Dialog/DialogFooter.torp":{"bytesInOutput":261}},"bytes":261},"dist/DialogHeader-SP44TBW2.torp":{"imports":[],"exports":[],"inputs":{"src/Dialog/DialogHeader.torp":{"bytesInOutput":966}},"bytes":966},"dist/Dialog/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":503},"dist/Dialog/index.cjs":{"imports":[{"path":"dist/Dialog-MXD6FCTC.torp","kind":"file-loader"},{"path":"dist/DialogBody-AGHBYC75.torp","kind":"file-loader"},{"path":"dist/DialogButton-RLATFTMQ.torp","kind":"file-loader"},{"path":"dist/DialogFooter-RRRHATC4.torp","kind":"file-loader"},{"path":"dist/DialogHeader-SP44TBW2.torp","kind":"file-loader"}],"exports":[],"entryPoint":"src/Dialog/index.ts","inputs":{"src/Dialog/index.ts":{"bytesInOutput":306},"src/Dialog/Dialog.torp":{"bytesInOutput":48},"src/Dialog/DialogBody.torp":{"bytesInOutput":56},"src/Dialog/DialogButton.torp":{"bytesInOutput":60},"src/Dialog/DialogFooter.torp":{"bytesInOutput":60},"src/Dialog/DialogHeader.torp":{"bytesInOutput":60}},"bytes":1732},"dist/NavMenu-UJCM4WXB.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenu.torp":{"bytesInOutput":4116}},"bytes":4116},"dist/NavMenuButton-RMKLDWBU.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuButton.torp":{"bytesInOutput":1238}},"bytes":1238},"dist/NavMenuElement-PV4LVXYB.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuElement.torp":{"bytesInOutput":1222}},"bytes":1222},"dist/NavMenuGroup-OMQVOQWO.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuGroup.torp":{"bytesInOutput":717}},"bytes":717},"dist/NavMenuGroupHeader-AATDD4TU.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuGroupHeader.torp":{"bytesInOutput":789}},"bytes":789},"dist/NavMenuLink-NKOAOAKK.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuLink.torp":{"bytesInOutput":1436}},"bytes":1436},"dist/NavMenuPopout-XSEJCS65.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuPopout.torp":{"bytesInOutput":1477}},"bytes":1477},"dist/NavMenuPopoutButton-54RVYQIZ.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuPopoutButton.torp":{"bytesInOutput":3119}},"bytes":3119},"dist/NavMenuPopoutContent-2PY5VBAN.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuPopoutContent.torp":{"bytesInOutput":2398}},"bytes":2398},"dist/NavMenuSeparator-4CEIKZRA.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuSeparator.torp":{"bytesInOutput":282}},"bytes":282},"dist/NavMenu/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":979},"dist/NavMenu/index.cjs":{"imports":[{"path":"dist/NavMenu-UJCM4WXB.torp","kind":"file-loader"},{"path":"dist/NavMenuButton-RMKLDWBU.torp","kind":"file-loader"},{"path":"dist/NavMenuElement-PV4LVXYB.torp","kind":"file-loader"},{"path":"dist/NavMenuGroup-OMQVOQWO.torp","kind":"file-loader"},{"path":"dist/NavMenuGroupHeader-AATDD4TU.torp","kind":"file-loader"},{"path":"dist/NavMenuLink-NKOAOAKK.torp","kind":"file-loader"},{"path":"dist/NavMenuPopout-XSEJCS65.torp","kind":"file-loader"},{"path":"dist/NavMenuPopoutButton-54RVYQIZ.torp","kind":"file-loader"},{"path":"dist/NavMenuPopoutContent-2PY5VBAN.torp","kind":"file-loader"},{"path":"dist/NavMenuSeparator-4CEIKZRA.torp","kind":"file-loader"}],"exports":[],"entryPoint":"src/NavMenu/index.ts","inputs":{"src/NavMenu/index.ts":{"bytesInOutput":591},"src/NavMenu/NavMenu.torp":{"bytesInOutput":50},"src/NavMenu/NavMenuButton.torp":{"bytesInOutput":62},"src/NavMenu/NavMenuElement.torp":{"bytesInOutput":64},"src/NavMenu/NavMenuGroup.torp":{"bytesInOutput":60},"src/NavMenu/NavMenuGroupHeader.torp":{"bytesInOutput":72},"src/NavMenu/NavMenuLink.torp":{"bytesInOutput":58},"src/NavMenu/NavMenuPopout.torp":{"bytesInOutput":62},"src/NavMenu/NavMenuPopoutButton.torp":{"bytesInOutput":74},"src/NavMenu/NavMenuPopoutContent.torp":{"bytesInOutput":76},"src/NavMenu/NavMenuSeparator.torp":{"bytesInOutput":68}},"bytes":2697},"dist/Popover-YHGYEB4G.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/Popover.torp":{"bytesInOutput":2903}},"bytes":2903},"dist/PopoverContentAnchored-DS57DKKY.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverContentAnchored.torp":{"bytesInOutput":3306}},"bytes":3306},"dist/PopoverContentContextual-INQC2C2C.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverContentContextual.torp":{"bytesInOutput":2993}},"bytes":2993},"dist/PopoverContentStatic-I7PGGQDK.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverContentStatic.torp":{"bytesInOutput":2152}},"bytes":2152},"dist/PopoverOverlay-LSEZJUMZ.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverOverlay.torp":{"bytesInOutput":862}},"bytes":862},"dist/PopoverTrigger-U7VM7RNB.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverTrigger.torp":{"bytesInOutput":700}},"bytes":700},"dist/PopoverTriggerContextual-S32VBOKW.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverTriggerContextual.torp":{"bytesInOutput":1188}},"bytes":1188},"dist/PopoverTriggerHover-YHR4DOTU.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverTriggerHover.torp":{"bytesInOutput":814}},"bytes":814},"dist/Popover/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":12837},"dist/Popover/index.cjs":{"imports":[{"path":"dist/Popover-YHGYEB4G.torp","kind":"file-loader"},{"path":"dist/PopoverContentAnchored-DS57DKKY.torp","kind":"file-loader"},{"path":"dist/PopoverContentContextual-INQC2C2C.torp","kind":"file-loader"},{"path":"dist/PopoverContentStatic-I7PGGQDK.torp","kind":"file-loader"},{"path":"dist/PopoverOverlay-LSEZJUMZ.torp","kind":"file-loader"},{"path":"dist/PopoverTrigger-U7VM7RNB.torp","kind":"file-loader"},{"path":"dist/PopoverTriggerContextual-S32VBOKW.torp","kind":"file-loader"},{"path":"dist/PopoverTriggerHover-YHR4DOTU.torp","kind":"file-loader"}],"exports":[],"entryPoint":"src/Popover/index.ts","inputs":{"src/Popover/index.ts":{"bytesInOutput":745},"src/Popover/Popover.torp":{"bytesInOutput":50},"src/Popover/PopoverContentAnchored.torp":{"bytesInOutput":80},"src/Popover/PopoverContentContextual.torp":{"bytesInOutput":84},"src/Popover/PopoverContentStatic.torp":{"bytesInOutput":76},"src/Popover/PopoverOverlay.torp":{"bytesInOutput":64},"src/Popover/PopoverTrigger.torp":{"bytesInOutput":64},"src/Popover/PopoverTriggerContextual.torp":{"bytesInOutput":84},"src/Popover/PopoverTriggerHover.torp":{"bytesInOutput":74},"src/Popover/showPopover.ts":{"bytesInOutput":190},"src/Popover/mountClickPopover.ts":{"bytesInOutput":566},"src/Popover/mountContextPopover.ts":{"bytesInOutput":580},"src/mount/hoverTrigger.ts":{"bytesInOutput":1345},"src/Popover/mountHoverPopover.ts":{"bytesInOutput":943},"src/Popover/showPopoverPrompt.ts":{"bytesInOutput":221}},"bytes":6873},"dist/TabContent-F2PXYZ4M.torp":{"imports":[],"exports":[],"inputs":{"src/TabGroup/TabContent.torp":{"bytesInOutput":1035}},"bytes":1035},"dist/TabGroup-JFP4Z5EQ.torp":{"imports":[],"exports":[],"inputs":{"src/TabGroup/TabGroup.torp":{"bytesInOutput":5920}},"bytes":5920},"dist/TabHeader-EBSLHWGA.torp":{"imports":[],"exports":[],"inputs":{"src/TabGroup/TabHeader.torp":{"bytesInOutput":1388}},"bytes":1388},"dist/TabList-5U65GJ6Y.torp":{"imports":[],"exports":[],"inputs":{"src/TabGroup/TabList.torp":{"bytesInOutput":1278}},"bytes":1278},"dist/TabTrigger-4QPQTTIR.torp":{"imports":[],"exports":[],"inputs":{"src/TabGroup/TabTrigger.torp":{"bytesInOutput":1912}},"bytes":1912},"dist/TabGroup/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":481},"dist/TabGroup/index.cjs":{"imports":[{"path":"dist/TabContent-F2PXYZ4M.torp","kind":"file-loader"},{"path":"dist/TabGroup-JFP4Z5EQ.torp","kind":"file-loader"},{"path":"dist/TabHeader-EBSLHWGA.torp","kind":"file-loader"},{"path":"dist/TabList-5U65GJ6Y.torp","kind":"file-loader"},{"path":"dist/TabTrigger-4QPQTTIR.torp","kind":"file-loader"}],"exports":[],"entryPoint":"src/TabGroup/index.ts","inputs":{"src/TabGroup/index.ts":{"bytesInOutput":296},"src/TabGroup/TabContent.torp":{"bytesInOutput":56},"src/TabGroup/TabGroup.torp":{"bytesInOutput":52},"src/TabGroup/TabHeader.torp":{"bytesInOutput":54},"src/TabGroup/TabList.torp":{"bytesInOutput":50},"src/TabGroup/TabTrigger.torp":{"bytesInOutput":56}},"bytes":1702}}}
@@ -1 +1 @@
1
- {"inputs":{"src/motion/fade.ts":{"bytes":155,"imports":[],"format":"esm"},"src/motion.ts":{"bytes":52,"imports":[{"path":"src/motion/fade.ts","kind":"import-statement","original":"./motion/fade"}],"format":"esm"},"src/Accordion/Accordion.torp":{"bytes":5525,"imports":[]},"src/Accordion/AccordionContent.torp":{"bytes":1189,"imports":[]},"src/Accordion/AccordionHeader.torp":{"bytes":855,"imports":[]},"src/Accordion/AccordionItem.torp":{"bytes":2331,"imports":[]},"src/Accordion/AccordionTrigger.torp":{"bytes":1815,"imports":[]},"src/Accordion/index.ts":{"bytes":349,"imports":[{"path":"src/Accordion/Accordion.torp","kind":"import-statement","original":"./Accordion.torp"},{"path":"src/Accordion/AccordionContent.torp","kind":"import-statement","original":"./AccordionContent.torp"},{"path":"src/Accordion/AccordionHeader.torp","kind":"import-statement","original":"./AccordionHeader.torp"},{"path":"src/Accordion/AccordionItem.torp","kind":"import-statement","original":"./AccordionItem.torp"},{"path":"src/Accordion/AccordionTrigger.torp","kind":"import-statement","original":"./AccordionTrigger.torp"}],"format":"esm"}},"outputs":{"dist/motion.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":360},"dist/motion.js":{"imports":[],"exports":["fade"],"entryPoint":"src/motion.ts","inputs":{"src/motion/fade.ts":{"bytesInOutput":92},"src/motion.ts":{"bytesInOutput":0}},"bytes":149},"dist/Accordion-E6VNLVJW.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/Accordion.torp":{"bytesInOutput":5525}},"bytes":5525},"dist/AccordionContent-HGVMBVT6.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionContent.torp":{"bytesInOutput":1189}},"bytes":1189},"dist/AccordionHeader-YC7XXPRV.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionHeader.torp":{"bytesInOutput":855}},"bytes":855},"dist/AccordionItem-RQ6AWHXL.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionItem.torp":{"bytesInOutput":2331}},"bytes":2331},"dist/AccordionTrigger-7OBA72E2.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionTrigger.torp":{"bytesInOutput":1815}},"bytes":1815},"dist/Accordion/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/Accordion/index.js":{"imports":[{"path":"dist/Accordion-E6VNLVJW.torp","kind":"file-loader"},{"path":"dist/AccordionContent-HGVMBVT6.torp","kind":"file-loader"},{"path":"dist/AccordionHeader-YC7XXPRV.torp","kind":"file-loader"},{"path":"dist/AccordionItem-RQ6AWHXL.torp","kind":"file-loader"},{"path":"dist/AccordionTrigger-7OBA72E2.torp","kind":"file-loader"}],"exports":["Accordion","AccordionContent","AccordionHeader","AccordionItem","AccordionTrigger"],"entryPoint":"src/Accordion/index.ts","inputs":{"src/Accordion/Accordion.torp":{"bytesInOutput":54},"src/Accordion/AccordionContent.torp":{"bytesInOutput":68},"src/Accordion/AccordionHeader.torp":{"bytesInOutput":66},"src/Accordion/AccordionItem.torp":{"bytesInOutput":62},"src/Accordion/AccordionTrigger.torp":{"bytesInOutput":68},"src/Accordion/index.ts":{"bytesInOutput":0}},"bytes":735}}}
1
+ {"inputs":{"src/motion/fade.ts":{"bytes":155,"imports":[],"format":"esm"},"src/motion.ts":{"bytes":52,"imports":[{"path":"src/motion/fade.ts","kind":"import-statement","original":"./motion/fade"}],"format":"esm"},"src/Accordion/Accordion.torp":{"bytes":5416,"imports":[]},"src/Accordion/AccordionContent.torp":{"bytes":1220,"imports":[]},"src/Accordion/AccordionHeader.torp":{"bytes":904,"imports":[]},"src/Accordion/AccordionItem.torp":{"bytes":2448,"imports":[]},"src/Accordion/AccordionTrigger.torp":{"bytes":1846,"imports":[]},"src/Accordion/index.ts":{"bytes":349,"imports":[{"path":"src/Accordion/Accordion.torp","kind":"import-statement","original":"./Accordion.torp"},{"path":"src/Accordion/AccordionContent.torp","kind":"import-statement","original":"./AccordionContent.torp"},{"path":"src/Accordion/AccordionHeader.torp","kind":"import-statement","original":"./AccordionHeader.torp"},{"path":"src/Accordion/AccordionItem.torp","kind":"import-statement","original":"./AccordionItem.torp"},{"path":"src/Accordion/AccordionTrigger.torp","kind":"import-statement","original":"./AccordionTrigger.torp"}],"format":"esm"},"src/Dialog/Dialog.torp":{"bytes":4423,"imports":[]},"src/Dialog/DialogBody.torp":{"bytes":971,"imports":[]},"src/Dialog/DialogButton.torp":{"bytes":1470,"imports":[]},"src/Dialog/DialogFooter.torp":{"bytes":261,"imports":[]},"src/Dialog/DialogHeader.torp":{"bytes":966,"imports":[]},"src/Dialog/index.ts":{"bytes":298,"imports":[{"path":"src/Dialog/Dialog.torp","kind":"import-statement","original":"./Dialog.torp"},{"path":"src/Dialog/DialogBody.torp","kind":"import-statement","original":"./DialogBody.torp"},{"path":"src/Dialog/DialogButton.torp","kind":"import-statement","original":"./DialogButton.torp"},{"path":"src/Dialog/DialogFooter.torp","kind":"import-statement","original":"./DialogFooter.torp"},{"path":"src/Dialog/DialogHeader.torp","kind":"import-statement","original":"./DialogHeader.torp"}],"format":"esm"},"src/NavMenu/NavMenu.torp":{"bytes":4116,"imports":[]},"src/NavMenu/NavMenuButton.torp":{"bytes":1238,"imports":[]},"src/NavMenu/NavMenuElement.torp":{"bytes":1222,"imports":[]},"src/NavMenu/NavMenuGroup.torp":{"bytes":717,"imports":[]},"src/NavMenu/NavMenuGroupHeader.torp":{"bytes":789,"imports":[]},"src/NavMenu/NavMenuLink.torp":{"bytes":1436,"imports":[]},"src/NavMenu/NavMenuPopout.torp":{"bytes":1477,"imports":[]},"src/NavMenu/NavMenuPopoutButton.torp":{"bytes":3119,"imports":[]},"src/NavMenu/NavMenuPopoutContent.torp":{"bytes":2398,"imports":[]},"src/NavMenu/NavMenuSeparator.torp":{"bytes":282,"imports":[]},"src/NavMenu/index.ts":{"bytes":712,"imports":[{"path":"src/NavMenu/NavMenu.torp","kind":"import-statement","original":"./NavMenu.torp"},{"path":"src/NavMenu/NavMenuButton.torp","kind":"import-statement","original":"./NavMenuButton.torp"},{"path":"src/NavMenu/NavMenuElement.torp","kind":"import-statement","original":"./NavMenuElement.torp"},{"path":"src/NavMenu/NavMenuGroup.torp","kind":"import-statement","original":"./NavMenuGroup.torp"},{"path":"src/NavMenu/NavMenuGroupHeader.torp","kind":"import-statement","original":"./NavMenuGroupHeader.torp"},{"path":"src/NavMenu/NavMenuLink.torp","kind":"import-statement","original":"./NavMenuLink.torp"},{"path":"src/NavMenu/NavMenuPopout.torp","kind":"import-statement","original":"./NavMenuPopout.torp"},{"path":"src/NavMenu/NavMenuPopoutButton.torp","kind":"import-statement","original":"./NavMenuPopoutButton.torp"},{"path":"src/NavMenu/NavMenuPopoutContent.torp","kind":"import-statement","original":"./NavMenuPopoutContent.torp"},{"path":"src/NavMenu/NavMenuSeparator.torp","kind":"import-statement","original":"./NavMenuSeparator.torp"}],"format":"esm"},"src/Popover/Popover.torp":{"bytes":2903,"imports":[]},"src/Popover/PopoverContentAnchored.torp":{"bytes":3306,"imports":[]},"src/Popover/PopoverContentContextual.torp":{"bytes":2993,"imports":[]},"src/Popover/PopoverContentStatic.torp":{"bytes":2152,"imports":[]},"src/Popover/PopoverOverlay.torp":{"bytes":862,"imports":[]},"src/Popover/PopoverTrigger.torp":{"bytes":700,"imports":[]},"src/Popover/PopoverTriggerContextual.torp":{"bytes":1188,"imports":[]},"src/Popover/PopoverTriggerHover.torp":{"bytes":814,"imports":[]},"src/Popover/showPopover.ts":{"bytes":866,"imports":[],"format":"esm"},"src/Popover/mountClickPopover.ts":{"bytes":1231,"imports":[{"path":"src/Popover/showPopover.ts","kind":"import-statement","original":"./showPopover"}],"format":"esm"},"src/Popover/mountContextPopover.ts":{"bytes":1274,"imports":[{"path":"src/Popover/showPopover.ts","kind":"import-statement","original":"./showPopover"}],"format":"esm"},"src/mount/hoverTrigger.ts":{"bytes":1885,"imports":[],"format":"esm"},"src/Popover/mountHoverPopover.ts":{"bytes":1727,"imports":[{"path":"src/mount/hoverTrigger.ts","kind":"import-statement","original":"../mount/hoverTrigger"},{"path":"src/Popover/showPopover.ts","kind":"import-statement","original":"./showPopover"}],"format":"esm"},"src/Popover/showPopoverPrompt.ts":{"bytes":785,"imports":[],"format":"esm"},"src/Popover/index.ts":{"bytes":984,"imports":[{"path":"src/Popover/Popover.torp","kind":"import-statement","original":"./Popover.torp"},{"path":"src/Popover/PopoverContentAnchored.torp","kind":"import-statement","original":"./PopoverContentAnchored.torp"},{"path":"src/Popover/PopoverContentContextual.torp","kind":"import-statement","original":"./PopoverContentContextual.torp"},{"path":"src/Popover/PopoverContentStatic.torp","kind":"import-statement","original":"./PopoverContentStatic.torp"},{"path":"src/Popover/PopoverOverlay.torp","kind":"import-statement","original":"./PopoverOverlay.torp"},{"path":"src/Popover/PopoverTrigger.torp","kind":"import-statement","original":"./PopoverTrigger.torp"},{"path":"src/Popover/PopoverTriggerContextual.torp","kind":"import-statement","original":"./PopoverTriggerContextual.torp"},{"path":"src/Popover/PopoverTriggerHover.torp","kind":"import-statement","original":"./PopoverTriggerHover.torp"},{"path":"src/Popover/mountClickPopover.ts","kind":"import-statement","original":"./mountClickPopover"},{"path":"src/Popover/mountContextPopover.ts","kind":"import-statement","original":"./mountContextPopover"},{"path":"src/Popover/mountHoverPopover.ts","kind":"import-statement","original":"./mountHoverPopover"},{"path":"src/Popover/showPopover.ts","kind":"import-statement","original":"./showPopover"},{"path":"src/Popover/showPopoverPrompt.ts","kind":"import-statement","original":"./showPopoverPrompt"}],"format":"esm"},"src/TabGroup/TabContent.torp":{"bytes":1035,"imports":[]},"src/TabGroup/TabGroup.torp":{"bytes":5920,"imports":[]},"src/TabGroup/TabHeader.torp":{"bytes":1388,"imports":[]},"src/TabGroup/TabList.torp":{"bytes":1278,"imports":[]},"src/TabGroup/TabTrigger.torp":{"bytes":1912,"imports":[]},"src/TabGroup/index.ts":{"bytes":274,"imports":[{"path":"src/TabGroup/TabContent.torp","kind":"import-statement","original":"./TabContent.torp"},{"path":"src/TabGroup/TabGroup.torp","kind":"import-statement","original":"./TabGroup.torp"},{"path":"src/TabGroup/TabHeader.torp","kind":"import-statement","original":"./TabHeader.torp"},{"path":"src/TabGroup/TabList.torp","kind":"import-statement","original":"./TabList.torp"},{"path":"src/TabGroup/TabTrigger.torp","kind":"import-statement","original":"./TabTrigger.torp"}],"format":"esm"}},"outputs":{"dist/motion.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":360},"dist/motion.js":{"imports":[],"exports":["fade"],"entryPoint":"src/motion.ts","inputs":{"src/motion/fade.ts":{"bytesInOutput":92},"src/motion.ts":{"bytesInOutput":0}},"bytes":149},"dist/Accordion-QRVUJYO4.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/Accordion.torp":{"bytesInOutput":5416}},"bytes":5416},"dist/AccordionContent-N2MX55UP.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionContent.torp":{"bytesInOutput":1220}},"bytes":1220},"dist/AccordionHeader-63PAFATF.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionHeader.torp":{"bytesInOutput":904}},"bytes":904},"dist/AccordionItem-OZM2RDTP.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionItem.torp":{"bytesInOutput":2448}},"bytes":2448},"dist/AccordionTrigger-A2BNI4UL.torp":{"imports":[],"exports":[],"inputs":{"src/Accordion/AccordionTrigger.torp":{"bytesInOutput":1846}},"bytes":1846},"dist/Accordion/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/Accordion/index.js":{"imports":[{"path":"dist/Accordion-QRVUJYO4.torp","kind":"file-loader"},{"path":"dist/AccordionContent-N2MX55UP.torp","kind":"file-loader"},{"path":"dist/AccordionHeader-63PAFATF.torp","kind":"file-loader"},{"path":"dist/AccordionItem-OZM2RDTP.torp","kind":"file-loader"},{"path":"dist/AccordionTrigger-A2BNI4UL.torp","kind":"file-loader"}],"exports":["Accordion","AccordionContent","AccordionHeader","AccordionItem","AccordionTrigger"],"entryPoint":"src/Accordion/index.ts","inputs":{"src/Accordion/Accordion.torp":{"bytesInOutput":54},"src/Accordion/AccordionContent.torp":{"bytesInOutput":68},"src/Accordion/AccordionHeader.torp":{"bytesInOutput":66},"src/Accordion/AccordionItem.torp":{"bytesInOutput":62},"src/Accordion/AccordionTrigger.torp":{"bytesInOutput":68},"src/Accordion/index.ts":{"bytesInOutput":0}},"bytes":735},"dist/Dialog-MXD6FCTC.torp":{"imports":[],"exports":[],"inputs":{"src/Dialog/Dialog.torp":{"bytesInOutput":4423}},"bytes":4423},"dist/DialogBody-AGHBYC75.torp":{"imports":[],"exports":[],"inputs":{"src/Dialog/DialogBody.torp":{"bytesInOutput":971}},"bytes":971},"dist/DialogButton-RLATFTMQ.torp":{"imports":[],"exports":[],"inputs":{"src/Dialog/DialogButton.torp":{"bytesInOutput":1470}},"bytes":1470},"dist/DialogFooter-RRRHATC4.torp":{"imports":[],"exports":[],"inputs":{"src/Dialog/DialogFooter.torp":{"bytesInOutput":261}},"bytes":261},"dist/DialogHeader-SP44TBW2.torp":{"imports":[],"exports":[],"inputs":{"src/Dialog/DialogHeader.torp":{"bytesInOutput":966}},"bytes":966},"dist/Dialog/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/Dialog/index.js":{"imports":[{"path":"dist/Dialog-MXD6FCTC.torp","kind":"file-loader"},{"path":"dist/DialogBody-AGHBYC75.torp","kind":"file-loader"},{"path":"dist/DialogButton-RLATFTMQ.torp","kind":"file-loader"},{"path":"dist/DialogFooter-RRRHATC4.torp","kind":"file-loader"},{"path":"dist/DialogHeader-SP44TBW2.torp","kind":"file-loader"}],"exports":["Dialog","DialogBody","DialogButton","DialogFooter","DialogHeader"],"entryPoint":"src/Dialog/index.ts","inputs":{"src/Dialog/Dialog.torp":{"bytesInOutput":48},"src/Dialog/DialogBody.torp":{"bytesInOutput":56},"src/Dialog/DialogButton.torp":{"bytesInOutput":60},"src/Dialog/DialogFooter.torp":{"bytesInOutput":60},"src/Dialog/DialogHeader.torp":{"bytesInOutput":60},"src/Dialog/index.ts":{"bytesInOutput":0}},"bytes":635},"dist/NavMenu-UJCM4WXB.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenu.torp":{"bytesInOutput":4116}},"bytes":4116},"dist/NavMenuButton-RMKLDWBU.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuButton.torp":{"bytesInOutput":1238}},"bytes":1238},"dist/NavMenuElement-PV4LVXYB.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuElement.torp":{"bytesInOutput":1222}},"bytes":1222},"dist/NavMenuGroup-OMQVOQWO.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuGroup.torp":{"bytesInOutput":717}},"bytes":717},"dist/NavMenuGroupHeader-AATDD4TU.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuGroupHeader.torp":{"bytesInOutput":789}},"bytes":789},"dist/NavMenuLink-NKOAOAKK.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuLink.torp":{"bytesInOutput":1436}},"bytes":1436},"dist/NavMenuPopout-XSEJCS65.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuPopout.torp":{"bytesInOutput":1477}},"bytes":1477},"dist/NavMenuPopoutButton-54RVYQIZ.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuPopoutButton.torp":{"bytesInOutput":3119}},"bytes":3119},"dist/NavMenuPopoutContent-2PY5VBAN.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuPopoutContent.torp":{"bytesInOutput":2398}},"bytes":2398},"dist/NavMenuSeparator-4CEIKZRA.torp":{"imports":[],"exports":[],"inputs":{"src/NavMenu/NavMenuSeparator.torp":{"bytesInOutput":282}},"bytes":282},"dist/NavMenu/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/NavMenu/index.js":{"imports":[{"path":"dist/NavMenu-UJCM4WXB.torp","kind":"file-loader"},{"path":"dist/NavMenuButton-RMKLDWBU.torp","kind":"file-loader"},{"path":"dist/NavMenuElement-PV4LVXYB.torp","kind":"file-loader"},{"path":"dist/NavMenuGroup-OMQVOQWO.torp","kind":"file-loader"},{"path":"dist/NavMenuGroupHeader-AATDD4TU.torp","kind":"file-loader"},{"path":"dist/NavMenuLink-NKOAOAKK.torp","kind":"file-loader"},{"path":"dist/NavMenuPopout-XSEJCS65.torp","kind":"file-loader"},{"path":"dist/NavMenuPopoutButton-54RVYQIZ.torp","kind":"file-loader"},{"path":"dist/NavMenuPopoutContent-2PY5VBAN.torp","kind":"file-loader"},{"path":"dist/NavMenuSeparator-4CEIKZRA.torp","kind":"file-loader"}],"exports":["NavMenu","NavMenuButton","NavMenuElement","NavMenuGroup","NavMenuGroupHeader","NavMenuLink","NavMenuPopout","NavMenuPopoutButton","NavMenuPopoutContent","NavMenuSeparator"],"entryPoint":"src/NavMenu/index.ts","inputs":{"src/NavMenu/NavMenu.torp":{"bytesInOutput":50},"src/NavMenu/NavMenuButton.torp":{"bytesInOutput":62},"src/NavMenu/NavMenuElement.torp":{"bytesInOutput":64},"src/NavMenu/NavMenuGroup.torp":{"bytesInOutput":60},"src/NavMenu/NavMenuGroupHeader.torp":{"bytesInOutput":72},"src/NavMenu/NavMenuLink.torp":{"bytesInOutput":58},"src/NavMenu/NavMenuPopout.torp":{"bytesInOutput":62},"src/NavMenu/NavMenuPopoutButton.torp":{"bytesInOutput":74},"src/NavMenu/NavMenuPopoutContent.torp":{"bytesInOutput":76},"src/NavMenu/NavMenuSeparator.torp":{"bytesInOutput":68},"src/NavMenu/index.ts":{"bytesInOutput":0}},"bytes":1465},"dist/Popover-YHGYEB4G.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/Popover.torp":{"bytesInOutput":2903}},"bytes":2903},"dist/PopoverContentAnchored-DS57DKKY.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverContentAnchored.torp":{"bytesInOutput":3306}},"bytes":3306},"dist/PopoverContentContextual-INQC2C2C.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverContentContextual.torp":{"bytesInOutput":2993}},"bytes":2993},"dist/PopoverContentStatic-I7PGGQDK.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverContentStatic.torp":{"bytesInOutput":2152}},"bytes":2152},"dist/PopoverOverlay-LSEZJUMZ.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverOverlay.torp":{"bytesInOutput":862}},"bytes":862},"dist/PopoverTrigger-U7VM7RNB.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverTrigger.torp":{"bytesInOutput":700}},"bytes":700},"dist/PopoverTriggerContextual-S32VBOKW.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverTriggerContextual.torp":{"bytesInOutput":1188}},"bytes":1188},"dist/PopoverTriggerHover-YHR4DOTU.torp":{"imports":[],"exports":[],"inputs":{"src/Popover/PopoverTriggerHover.torp":{"bytesInOutput":814}},"bytes":814},"dist/Popover/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":11644},"dist/Popover/index.js":{"imports":[{"path":"dist/Popover-YHGYEB4G.torp","kind":"file-loader"},{"path":"dist/PopoverContentAnchored-DS57DKKY.torp","kind":"file-loader"},{"path":"dist/PopoverContentContextual-INQC2C2C.torp","kind":"file-loader"},{"path":"dist/PopoverContentStatic-I7PGGQDK.torp","kind":"file-loader"},{"path":"dist/PopoverOverlay-LSEZJUMZ.torp","kind":"file-loader"},{"path":"dist/PopoverTrigger-U7VM7RNB.torp","kind":"file-loader"},{"path":"dist/PopoverTriggerContextual-S32VBOKW.torp","kind":"file-loader"},{"path":"dist/PopoverTriggerHover-YHR4DOTU.torp","kind":"file-loader"}],"exports":["Popover","PopoverContentAnchored","PopoverContentContextual","PopoverContentStatic","PopoverOverlay","PopoverTrigger","PopoverTriggerContextual","PopoverTriggerHover","clickPopover","contextPopover","hoverPopover","showPopover","showPopoverPrompt"],"entryPoint":"src/Popover/index.ts","inputs":{"src/Popover/Popover.torp":{"bytesInOutput":50},"src/Popover/PopoverContentAnchored.torp":{"bytesInOutput":80},"src/Popover/PopoverContentContextual.torp":{"bytesInOutput":84},"src/Popover/PopoverContentStatic.torp":{"bytesInOutput":76},"src/Popover/PopoverOverlay.torp":{"bytesInOutput":64},"src/Popover/PopoverTrigger.torp":{"bytesInOutput":64},"src/Popover/PopoverTriggerContextual.torp":{"bytesInOutput":84},"src/Popover/PopoverTriggerHover.torp":{"bytesInOutput":74},"src/Popover/showPopover.ts":{"bytesInOutput":190},"src/Popover/mountClickPopover.ts":{"bytesInOutput":566},"src/Popover/mountContextPopover.ts":{"bytesInOutput":580},"src/mount/hoverTrigger.ts":{"bytesInOutput":1345},"src/Popover/mountHoverPopover.ts":{"bytesInOutput":943},"src/Popover/showPopoverPrompt.ts":{"bytesInOutput":221},"src/Popover/index.ts":{"bytesInOutput":0}},"bytes":5464},"dist/TabContent-F2PXYZ4M.torp":{"imports":[],"exports":[],"inputs":{"src/TabGroup/TabContent.torp":{"bytesInOutput":1035}},"bytes":1035},"dist/TabGroup-JFP4Z5EQ.torp":{"imports":[],"exports":[],"inputs":{"src/TabGroup/TabGroup.torp":{"bytesInOutput":5920}},"bytes":5920},"dist/TabHeader-EBSLHWGA.torp":{"imports":[],"exports":[],"inputs":{"src/TabGroup/TabHeader.torp":{"bytesInOutput":1388}},"bytes":1388},"dist/TabList-5U65GJ6Y.torp":{"imports":[],"exports":[],"inputs":{"src/TabGroup/TabList.torp":{"bytesInOutput":1278}},"bytes":1278},"dist/TabTrigger-4QPQTTIR.torp":{"imports":[],"exports":[],"inputs":{"src/TabGroup/TabTrigger.torp":{"bytesInOutput":1912}},"bytes":1912},"dist/TabGroup/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/TabGroup/index.js":{"imports":[{"path":"dist/TabContent-F2PXYZ4M.torp","kind":"file-loader"},{"path":"dist/TabGroup-JFP4Z5EQ.torp","kind":"file-loader"},{"path":"dist/TabHeader-EBSLHWGA.torp","kind":"file-loader"},{"path":"dist/TabList-5U65GJ6Y.torp","kind":"file-loader"},{"path":"dist/TabTrigger-4QPQTTIR.torp","kind":"file-loader"}],"exports":["TabContent","TabGroup","TabHeader","TabList","TabTrigger"],"entryPoint":"src/TabGroup/index.ts","inputs":{"src/TabGroup/TabContent.torp":{"bytesInOutput":56},"src/TabGroup/TabGroup.torp":{"bytesInOutput":52},"src/TabGroup/TabHeader.torp":{"bytesInOutput":54},"src/TabGroup/TabList.torp":{"bytesInOutput":50},"src/TabGroup/TabTrigger.torp":{"bytesInOutput":56},"src/TabGroup/index.ts":{"bytesInOutput":0}},"bytes":605}}}
@@ -0,0 +1,28 @@
1
+ export function disableScroll(): () => void {
2
+ // Remember body styles
3
+ const overflowX = document.body.style.overflowY;
4
+ const overflowY = document.body.style.overflowY;
5
+ const overscrollBehaviourX = document.body.style.overscrollBehaviorX;
6
+ const overscrollBehaviourY = document.body.style.overscrollBehaviorY;
7
+ const marginRight = document.body.style.marginRight;
8
+
9
+ // Get scrollbar width (if visible) so that we can set a margin to avoid things jumping around
10
+ // HACK: Does this work in all browsers/systems?
11
+ const scrollBarWidth = window.innerWidth - document.body.clientWidth;
12
+
13
+ // Set body styles to disallow scrolling
14
+ document.body.style.overflowY = "hidden";
15
+ document.body.style.overflowY = "hidden";
16
+ document.body.style.overscrollBehaviorX = "contain";
17
+ document.body.style.overscrollBehaviorY = "contain";
18
+ document.body.style.marginRight = scrollBarWidth + "px";
19
+
20
+ return () => {
21
+ // Reset body styles
22
+ document.body.style.overflowY = overflowX;
23
+ document.body.style.overflowY = overflowY;
24
+ document.body.style.overscrollBehaviorX = overscrollBehaviourX;
25
+ document.body.style.overscrollBehaviorY = overscrollBehaviourY;
26
+ document.body.style.marginRight = marginRight;
27
+ };
28
+ }
@@ -0,0 +1,59 @@
1
+ interface HoverTriggerOptions {
2
+ onHover: (node: HTMLElement, e: TouchEvent | MouseEvent) => void;
3
+ onExit?: (node: HTMLElement, e: TouchEvent | MouseEvent) => void;
4
+ hoverDelay?: number;
5
+ touchDelay?: number;
6
+ }
7
+
8
+ export default function hoverTrigger(node: HTMLElement, options: HoverTriggerOptions): () => void {
9
+ const { onHover, onExit } = options;
10
+ const hoverDelay = options.hoverDelay || 1000;
11
+ const touchDelay = options.touchDelay || 1000;
12
+
13
+ let interval: NodeJS.Timeout | undefined;
14
+
15
+ // Add click event handlers to the node
16
+ node.addEventListener("mouseenter", handleMouseEnter);
17
+ node.addEventListener("mouseleave", handleMouseLeave);
18
+ node.addEventListener("mousemove", handleMouseMove);
19
+ node.addEventListener("touchstart", handleMouseEnter);
20
+ node.addEventListener("touchend", handleMouseLeave);
21
+
22
+ function handleMouseEnter(e: MouseEvent | TouchEvent) {
23
+ // Handle the hover after a delay
24
+ e.preventDefault();
25
+ if (!interval) {
26
+ const delay = e.type.startsWith("mouse") ? hoverDelay : touchDelay;
27
+ interval = setTimeout(() => onHover(node, e), delay);
28
+ }
29
+ }
30
+
31
+ function handleMouseLeave(e: MouseEvent | TouchEvent) {
32
+ // Prevent short hovers or touches from firing the event
33
+ if (interval) {
34
+ clearTimeout(interval);
35
+ interval = undefined;
36
+ }
37
+
38
+ if (onExit) {
39
+ onExit(node, e);
40
+ }
41
+ }
42
+
43
+ function handleMouseMove(e: MouseEvent) {
44
+ // Reset the interval on mouse move
45
+ if (interval) {
46
+ clearTimeout(interval);
47
+ interval = setTimeout(() => onHover(node, e), hoverDelay);
48
+ }
49
+ }
50
+
51
+ // Remove the event listeners from the node on destroy
52
+ return () => {
53
+ node.removeEventListener("mouseenter", handleMouseEnter);
54
+ node.removeEventListener("mouseleave", handleMouseLeave);
55
+ node.removeEventListener("mousemove", handleMouseMove);
56
+ node.removeEventListener("touchstart", handleMouseEnter);
57
+ node.removeEventListener("touchend", handleMouseLeave);
58
+ };
59
+ }
@@ -0,0 +1,58 @@
1
+ export interface TrapFocusOptions {
2
+ focusableElements: HTMLElement[];
3
+ }
4
+
5
+ export function trapFocus(node: HTMLElement, options?: TrapFocusOptions): () => void {
6
+ options = options || { focusableElements: [] };
7
+
8
+ // Selectors for all things that are focusable:
9
+ const focusableSelectors = [
10
+ "a[href]",
11
+ "area[href]",
12
+ 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',
13
+ "select:not([disabled]):not([aria-hidden])",
14
+ "textarea:not([disabled]):not([aria-hidden])",
15
+ "button:not([disabled]):not([aria-hidden])",
16
+ "iframe",
17
+ "object",
18
+ "embed",
19
+ "[contenteditable]",
20
+ '[tabindex]:not([tabindex^="-"])',
21
+ ];
22
+
23
+ // Set the focusable elements array in the options, which can be used in the caller e.g. to focus the first element
24
+ options.focusableElements = Array.from(node.querySelectorAll(focusableSelectors.join()));
25
+
26
+ // Store first and last focusable elements
27
+ const firstFocusableElement = options.focusableElements[0] as HTMLElement;
28
+ const lastFocusableElement = options.focusableElements[
29
+ options.focusableElements.length - 1
30
+ ] as HTMLElement;
31
+
32
+ // Add the keydown event listener to the node
33
+ node.addEventListener("keydown", handleKey);
34
+
35
+ // On Tab or Shift+Tab, move through the focusable elements, wrapping at either end
36
+ function handleKey(e: KeyboardEvent) {
37
+ if (e.key === "Tab") {
38
+ if (e.shiftKey) {
39
+ if (document.activeElement === firstFocusableElement) {
40
+ // Shift + Tab on the first element, so move to the last one
41
+ lastFocusableElement.focus();
42
+ e.preventDefault();
43
+ }
44
+ } else {
45
+ if (document.activeElement === lastFocusableElement) {
46
+ // Tab on the last element, so move to the first one
47
+ firstFocusableElement.focus();
48
+ e.preventDefault();
49
+ }
50
+ }
51
+ }
52
+ }
53
+
54
+ // Remove the keydown event listener from the node on destroy
55
+ return () => {
56
+ node.removeEventListener("keydown", handleKey);
57
+ };
58
+ }
@@ -0,0 +1,17 @@
1
+ export function addDocumentEvent<K extends keyof DocumentEventMap>(
2
+ type: K,
3
+ listener: (this: Document, ev: DocumentEventMap[K]) => any
4
+ ): void {
5
+ if (typeof document !== 'undefined') {
6
+ document.addEventListener(type, listener);
7
+ }
8
+ }
9
+
10
+ export function removeDocumentEvent<K extends keyof DocumentEventMap>(
11
+ type: K,
12
+ listener: (this: Document, ev: DocumentEventMap[K]) => any
13
+ ): void {
14
+ if (typeof document !== 'undefined') {
15
+ document.removeEventListener(type, listener);
16
+ }
17
+ }
@@ -0,0 +1,22 @@
1
+ // From https://stackoverflow.com/a/76535387
2
+ export default function getScrollParent(node: Element): Element {
3
+ let currentParent = node.parentElement;
4
+ while (currentParent) {
5
+ if (isScrollable(currentParent)) {
6
+ return currentParent;
7
+ }
8
+ currentParent = currentParent.parentElement;
9
+ }
10
+ return document.scrollingElement || document.documentElement;
11
+ }
12
+
13
+ function isScrollable(node: Element): boolean {
14
+ if (!(node instanceof HTMLElement || node instanceof SVGElement)) {
15
+ return false;
16
+ }
17
+ const style = getComputedStyle(node);
18
+ return ["overflow", "overflow-x", "overflow-y"].some((propertyName) => {
19
+ const value = style.getPropertyValue(propertyName);
20
+ return value === "auto" || value === "scroll";
21
+ });
22
+ }
@@ -0,0 +1,31 @@
1
+ interface Point {
2
+ x: number;
3
+ y: number;
4
+ }
5
+
6
+ export default function setContextPosition(
7
+ anchor: HTMLElement,
8
+ content: HTMLElement,
9
+ position: Point,
10
+ ): void {
11
+ var anchorRect = anchor.getBoundingClientRect();
12
+ var contentRect = content.getBoundingClientRect();
13
+
14
+ content.style.position = "fixed";
15
+
16
+ // Try to make sure the content is entirely on the screen horizontally
17
+ // Just move it left or right -- the pointer is outside the content vertically so moving it left
18
+ // or right won't make the content appear over the cursor
19
+ let left = anchorRect.left + position.x;
20
+ left = Math.min(left, window.innerWidth - contentRect.width);
21
+ left = Math.max(left, 0);
22
+ content.style.left = left + "px";
23
+
24
+ // Try to make sure the content is entirely on the screen vertically
25
+ // Show it above the position if it wouldn't fit
26
+ let top = anchorRect.top + position.y;
27
+ if (top + contentRect.height > window.innerHeight) {
28
+ top -= contentRect.height;
29
+ }
30
+ content.style.top = top + "px";
31
+ }