forgebook 0.1.4 → 0.1.6

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 (184) hide show
  1. package/README.md +32 -1
  2. package/dist/bin/forgebook/agentClient.d.ts.map +1 -1
  3. package/dist/bin/forgebook/agentClient.js +2 -2
  4. package/dist/bin/forgebook/agentClient.js.map +1 -1
  5. package/dist/bin/forgebook/agentLoopCommands.d.mts.map +1 -1
  6. package/dist/bin/forgebook/agentLoopCommands.mjs +24 -3
  7. package/dist/bin/forgebook/agentLoopCommands.mjs.map +1 -1
  8. package/dist/bin/forgebook/agents.md +7 -1
  9. package/dist/bin/forgebook/errorsRun.d.ts.map +1 -1
  10. package/dist/bin/forgebook/errorsRun.js +14 -1
  11. package/dist/bin/forgebook/errorsRun.js.map +1 -1
  12. package/dist/bin/forgebook/forgebook.mjs +12 -2
  13. package/dist/bin/forgebook/forgebook.mjs.map +1 -1
  14. package/dist/bin/forgebook/importers/storybook.d.ts.map +1 -1
  15. package/dist/bin/forgebook/importers/storybook.js +41 -7
  16. package/dist/bin/forgebook/importers/storybook.js.map +1 -1
  17. package/dist/bin/forgebook/initCommands.d.mts.map +1 -1
  18. package/dist/bin/forgebook/initCommands.mjs +5 -2
  19. package/dist/bin/forgebook/initCommands.mjs.map +1 -1
  20. package/dist/bin/forgebook/mcpTools.d.ts.map +1 -1
  21. package/dist/bin/forgebook/mcpTools.js +14 -2
  22. package/dist/bin/forgebook/mcpTools.js.map +1 -1
  23. package/dist/bin/forgebook/storyCheckRun.d.ts +10 -0
  24. package/dist/bin/forgebook/storyCheckRun.d.ts.map +1 -1
  25. package/dist/bin/forgebook/storyCheckRun.js +4 -3
  26. package/dist/bin/forgebook/storyCheckRun.js.map +1 -1
  27. package/dist/bin/forgebook/touchWindowRun.d.ts +17 -0
  28. package/dist/bin/forgebook/touchWindowRun.d.ts.map +1 -0
  29. package/dist/bin/forgebook/touchWindowRun.js +22 -0
  30. package/dist/bin/forgebook/touchWindowRun.js.map +1 -0
  31. package/dist/src/catalogue.d.ts +6 -4
  32. package/dist/src/catalogue.d.ts.map +1 -1
  33. package/dist/src/catalogue.js +2 -1
  34. package/dist/src/catalogue.js.map +1 -1
  35. package/dist/src/controlKeys.d.ts +4 -4
  36. package/dist/src/controlKeys.d.ts.map +1 -1
  37. package/dist/src/controlKeys.js +12 -8
  38. package/dist/src/controlKeys.js.map +1 -1
  39. package/dist/src/frame/frameView.d.ts.map +1 -1
  40. package/dist/src/frame/frameView.js +7 -2
  41. package/dist/src/frame/frameView.js.map +1 -1
  42. package/dist/src/frame/mountFrame.d.ts.map +1 -1
  43. package/dist/src/frame/mountFrame.js +5 -1
  44. package/dist/src/frame/mountFrame.js.map +1 -1
  45. package/dist/src/frame/spillOutline.d.ts.map +1 -1
  46. package/dist/src/frame/spillOutline.js +2 -0
  47. package/dist/src/frame/spillOutline.js.map +1 -1
  48. package/dist/src/frame/touchDots.d.ts +32 -0
  49. package/dist/src/frame/touchDots.d.ts.map +1 -0
  50. package/dist/src/frame/touchDots.js +52 -0
  51. package/dist/src/frame/touchDots.js.map +1 -0
  52. package/dist/src/frame/touchEvents.d.ts +66 -0
  53. package/dist/src/frame/touchEvents.d.ts.map +1 -0
  54. package/dist/src/frame/touchEvents.js +152 -0
  55. package/dist/src/frame/touchEvents.js.map +1 -0
  56. package/dist/src/frame/touchGesture.d.ts +80 -0
  57. package/dist/src/frame/touchGesture.d.ts.map +1 -0
  58. package/dist/src/frame/touchGesture.js +87 -0
  59. package/dist/src/frame/touchGesture.js.map +1 -0
  60. package/dist/src/frame/touchLayer.d.ts +7 -0
  61. package/dist/src/frame/touchLayer.d.ts.map +1 -0
  62. package/dist/src/frame/touchLayer.js +449 -0
  63. package/dist/src/frame/touchLayer.js.map +1 -0
  64. package/dist/src/frame/touchScroll.d.ts +51 -0
  65. package/dist/src/frame/touchScroll.d.ts.map +1 -0
  66. package/dist/src/frame/touchScroll.js +154 -0
  67. package/dist/src/frame/touchScroll.js.map +1 -0
  68. package/dist/src/namedViews.d.ts +10 -1
  69. package/dist/src/namedViews.d.ts.map +1 -1
  70. package/dist/src/namedViews.js +24 -0
  71. package/dist/src/namedViews.js.map +1 -1
  72. package/dist/src/realTouch.d.ts +21 -0
  73. package/dist/src/realTouch.d.ts.map +1 -0
  74. package/dist/src/realTouch.js +16 -0
  75. package/dist/src/realTouch.js.map +1 -0
  76. package/dist/src/shell/ComponentPage.d.ts +6 -1
  77. package/dist/src/shell/ComponentPage.d.ts.map +1 -1
  78. package/dist/src/shell/ComponentPage.js +11 -3
  79. package/dist/src/shell/ComponentPage.js.map +1 -1
  80. package/dist/src/shell/ControlRow.d.ts.map +1 -1
  81. package/dist/src/shell/ControlRow.js +4 -1
  82. package/dist/src/shell/ControlRow.js.map +1 -1
  83. package/dist/src/shell/Example.d.ts +5 -0
  84. package/dist/src/shell/Example.d.ts.map +1 -1
  85. package/dist/src/shell/Example.js +18 -2
  86. package/dist/src/shell/Example.js.map +1 -1
  87. package/dist/src/shell/FrameView.d.ts +7 -0
  88. package/dist/src/shell/FrameView.d.ts.map +1 -1
  89. package/dist/src/shell/FrameView.js +12 -0
  90. package/dist/src/shell/FrameView.js.map +1 -1
  91. package/dist/src/shell/InfoTip.d.ts +23 -0
  92. package/dist/src/shell/InfoTip.d.ts.map +1 -0
  93. package/dist/src/shell/InfoTip.js +53 -0
  94. package/dist/src/shell/InfoTip.js.map +1 -0
  95. package/dist/src/shell/NamedViews.d.ts.map +1 -1
  96. package/dist/src/shell/NamedViews.js +2 -2
  97. package/dist/src/shell/NamedViews.js.map +1 -1
  98. package/dist/src/shell/PinnedControl.d.ts.map +1 -1
  99. package/dist/src/shell/PinnedControl.js +14 -2
  100. package/dist/src/shell/PinnedControl.js.map +1 -1
  101. package/dist/src/shell/Shell.d.ts.map +1 -1
  102. package/dist/src/shell/Shell.js +21 -3
  103. package/dist/src/shell/Shell.js.map +1 -1
  104. package/dist/src/shell/UsedIn.d.ts +4 -3
  105. package/dist/src/shell/UsedIn.d.ts.map +1 -1
  106. package/dist/src/shell/UsedIn.js +11 -7
  107. package/dist/src/shell/UsedIn.js.map +1 -1
  108. package/dist/src/shell/ViewMenu.d.ts +4 -2
  109. package/dist/src/shell/ViewMenu.d.ts.map +1 -1
  110. package/dist/src/shell/ViewMenu.js +14 -7
  111. package/dist/src/shell/ViewMenu.js.map +1 -1
  112. package/dist/src/shell/controlCycle.d.ts.map +1 -1
  113. package/dist/src/shell/controlCycle.js +3 -2
  114. package/dist/src/shell/controlCycle.js.map +1 -1
  115. package/dist/src/shell/icons.d.ts +1 -0
  116. package/dist/src/shell/icons.d.ts.map +1 -1
  117. package/dist/src/shell/icons.js +1 -0
  118. package/dist/src/shell/icons.js.map +1 -1
  119. package/dist/src/shell/shell.css +58 -1
  120. package/dist/src/shell/storyTouch.d.ts +52 -0
  121. package/dist/src/shell/storyTouch.d.ts.map +1 -0
  122. package/dist/src/shell/storyTouch.js +33 -0
  123. package/dist/src/shell/storyTouch.js.map +1 -0
  124. package/dist/src/shell/strings.d.ts +4 -3
  125. package/dist/src/shell/strings.d.ts.map +1 -1
  126. package/dist/src/shell/strings.js +4 -3
  127. package/dist/src/shell/strings.js.map +1 -1
  128. package/dist/src/shell/useFold.d.ts.map +1 -1
  129. package/dist/src/shell/useFold.js +2 -0
  130. package/dist/src/shell/useFold.js.map +1 -1
  131. package/dist/src/shell/useFrameMessages.d.ts +5 -2
  132. package/dist/src/shell/useFrameMessages.d.ts.map +1 -1
  133. package/dist/src/shell/useFrameMessages.js +1 -1
  134. package/dist/src/shell/useFrameMessages.js.map +1 -1
  135. package/dist/src/shell/useLiveView.d.ts +8 -1
  136. package/dist/src/shell/useLiveView.d.ts.map +1 -1
  137. package/dist/src/shell/useLiveView.js +14 -4
  138. package/dist/src/shell/useLiveView.js.map +1 -1
  139. package/dist/src/shell/useWorstCase.d.ts +2 -2
  140. package/dist/src/shell/useWorstCase.d.ts.map +1 -1
  141. package/dist/src/shell/useWorstCase.js +10 -3
  142. package/dist/src/shell/useWorstCase.js.map +1 -1
  143. package/dist/src/storyTree.d.ts +2 -0
  144. package/dist/src/storyTree.d.ts.map +1 -1
  145. package/dist/src/storyTree.js +1 -0
  146. package/dist/src/storyTree.js.map +1 -1
  147. package/dist/src/switches.d.ts +32 -6
  148. package/dist/src/switches.d.ts.map +1 -1
  149. package/dist/src/switches.js +45 -7
  150. package/dist/src/switches.js.map +1 -1
  151. package/dist/src/viewState.d.ts +27 -2
  152. package/dist/src/viewState.d.ts.map +1 -1
  153. package/dist/src/viewState.js +35 -2
  154. package/dist/src/viewState.js.map +1 -1
  155. package/dist/src/vite/agentRoutes.d.ts +7 -0
  156. package/dist/src/vite/agentRoutes.d.ts.map +1 -1
  157. package/dist/src/vite/agentRoutes.js +15 -2
  158. package/dist/src/vite/agentRoutes.js.map +1 -1
  159. package/dist/src/vite/forcedStates.d.ts +6 -2
  160. package/dist/src/vite/forcedStates.d.ts.map +1 -1
  161. package/dist/src/vite/forcedStates.js +20 -4
  162. package/dist/src/vite/forcedStates.js.map +1 -1
  163. package/dist/src/vite/forgebookPlugin.d.ts.map +1 -1
  164. package/dist/src/vite/forgebookPlugin.js +11 -21
  165. package/dist/src/vite/forgebookPlugin.js.map +1 -1
  166. package/dist/src/vite/indexStoryFile.d.ts +1 -1
  167. package/dist/src/vite/indexStoryFile.d.ts.map +1 -1
  168. package/dist/src/vite/indexStoryFile.js +14 -1
  169. package/dist/src/vite/indexStoryFile.js.map +1 -1
  170. package/dist/src/vite/mcpProtocol.d.ts.map +1 -1
  171. package/dist/src/vite/mcpProtocol.js +9 -1
  172. package/dist/src/vite/mcpProtocol.js.map +1 -1
  173. package/dist/src/vite/storyFilesModule.d.ts +25 -3
  174. package/dist/src/vite/storyFilesModule.d.ts.map +1 -1
  175. package/dist/src/vite/storyFilesModule.js +31 -4
  176. package/dist/src/vite/storyFilesModule.js.map +1 -1
  177. package/dist/src/vite/touchMedia.d.ts +35 -0
  178. package/dist/src/vite/touchMedia.d.ts.map +1 -0
  179. package/dist/src/vite/touchMedia.js +282 -0
  180. package/dist/src/vite/touchMedia.js.map +1 -0
  181. package/dist/src/vite/usageGraph.d.ts.map +1 -1
  182. package/dist/src/vite/usageGraph.js +25 -1
  183. package/dist/src/vite/usageGraph.js.map +1 -1
  184. package/package.json +8 -4
@@ -1 +1 @@
1
- {"version":3,"file":"mcpProtocol.js","sourceRoot":"","sources":["../../../src/vite/mcpProtocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpProtocol.js","sourceRoot":"","sources":["../../../src/vite/mcpProtocol.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,28 @@
1
1
  import type { StoryFileIndex } from "@forgebook/story-format/source";
2
+ /** A pattern of story files and the folder it is read from: the declaring module's folder, the import's pattern. */
3
+ export type StoryFilesGroup = {
4
+ /** The declaring module's folder, absolute: the files' keys are relative to it. */
5
+ readonly root: string;
6
+ /** The pattern relative to it, its leading `./` dropped (`../src/**\/*.stories.tsx`). */
7
+ readonly pattern: string;
8
+ };
9
+ /**
10
+ * A `?forgebook-files` group written for a module's id: the folder, how many folders the pattern climbs, and the rest
11
+ * of the pattern. A Vite module's id is served under a URL path, whose normalisation would let a `..` remove the part
12
+ * before it (`app::../storybook`: the folder and the separator), so the pattern's leading `../` are counted, never
13
+ * written. The files keep their keys relative to the declaring module (`../src/x.stories.tsx`), unique in a source and
14
+ * the testing package's too.
15
+ *
16
+ * @param folder - the declaring module's folder.
17
+ * @param pattern - the pattern as the import writes it (`../src/**\/*.stories.tsx`).
18
+ */
19
+ export declare const storyFilesGroupText: (folder: string, pattern: string) => string;
20
+ /**
21
+ * A group read back from a module's id (`storyFilesGroupText`).
22
+ *
23
+ * @param text - the id's group part.
24
+ */
25
+ export declare const storyFilesGroupOf: (text: string) => StoryFilesGroup;
2
26
  /**
3
27
  * The story files patterns match, as paths relative to `root` starting with `./` or `../`, sorted.
4
28
  *
@@ -7,12 +31,10 @@ import type { StoryFileIndex } from "@forgebook/story-format/source";
7
31
  */
8
32
  export declare const storyFileKeys: (root: string, patterns: readonly string[]) => string[];
9
33
  /**
10
- * The id prefix of a group's "Used in" module: the pattern's folder and the pattern follow, as in a `?forgebook-files`
34
+ * The id prefix of a group's "Used in" module: the group follows (`storyFilesGroupText`), as in a `?forgebook-files`
11
35
  * module's id. The plugin answers it (`usageModule.ts`) only when a page asks.
12
36
  */
13
37
  export declare const USAGE_PREFIX = "virtual:forgebook-usage:";
14
- /** Between the folder and the pattern in a usage module's id: no path or pattern holds it. */
15
- export declare const USAGE_SEPARATOR = "::";
16
38
  /** A story file a pattern matches, with its key and its index. */
17
39
  export type IndexedStoryFile = {
18
40
  /** Its path relative to the declaring module (`../src/x.stories.tsx`). */
@@ -1 +1 @@
1
- {"version":3,"file":"storyFilesModule.d.ts","sourceRoot":"","sources":["../../../src/vite/storyFilesModule.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKrE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,UAAU,SAAS,MAAM,EAAE,KAAG,MAAM,EAOrE,CAAC;AAEZ;;;GAGG;AACH,eAAO,MAAM,YAAY,6BAA6B,CAAC;AAEvD,8FAA8F;AAC9F,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,kEAAkE;AAClE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iBAAiB;IACjB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,OAAO,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAC5B,gBAAgB,EAYf,CAAC;AAML;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,OAAO,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC7B,kBAAe,KACd,MAoBF,CAAC"}
1
+ {"version":3,"file":"storyFilesModule.d.ts","sourceRoot":"","sources":["../../../src/vite/storyFilesModule.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKrE,oHAAoH;AACpH,MAAM,MAAM,eAAe,GAAG;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAKF;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,EAAE,SAAS,MAAM,KAAG,MAOrE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,eAGhD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,UAAU,SAAS,MAAM,EAAE,KAAG,MAAM,EAOrE,CAAC;AAEZ;;;GAGG;AACH,eAAO,MAAM,YAAY,6BAA6B,CAAC;AAEvD,kEAAkE;AAClE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iBAAiB;IACjB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,OAAO,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAC5B,gBAAgB,EAYf,CAAC;AAML;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,OAAO,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC7B,kBAAe,KACd,MAoBF,CAAC"}
@@ -14,6 +14,35 @@ import { globSync, readFileSync } from "node:fs";
14
14
  import { join, relative, resolve } from "node:path";
15
15
  import { autoTitle, patternBase } from "./autoTitle.js";
16
16
  import { indexStoryFile } from "./indexStoryFile.js";
17
+ /** Between a group's parts in a module's id: no path or pattern holds it. */
18
+ const GROUP_SEPARATOR = "::";
19
+ /**
20
+ * A `?forgebook-files` group written for a module's id: the folder, how many folders the pattern climbs, and the rest
21
+ * of the pattern. A Vite module's id is served under a URL path, whose normalisation would let a `..` remove the part
22
+ * before it (`app::../storybook`: the folder and the separator), so the pattern's leading `../` are counted, never
23
+ * written. The files keep their keys relative to the declaring module (`../src/x.stories.tsx`), unique in a source and
24
+ * the testing package's too.
25
+ *
26
+ * @param folder - the declaring module's folder.
27
+ * @param pattern - the pattern as the import writes it (`../src/**\/*.stories.tsx`).
28
+ */
29
+ export const storyFilesGroupText = (folder, pattern) => {
30
+ const segments = pattern.split("/");
31
+ const firstOwn = segments.findIndex((segment) => segment !== "." && segment !== "..");
32
+ const climbed = firstOwn === -1 ? segments : segments.slice(0, firstOwn);
33
+ const own = firstOwn === -1 ? [] : segments.slice(firstOwn);
34
+ const up = climbed.filter((segment) => segment === "..").length;
35
+ return [folder, String(up), own.join("/")].join(GROUP_SEPARATOR);
36
+ };
37
+ /**
38
+ * A group read back from a module's id (`storyFilesGroupText`).
39
+ *
40
+ * @param text - the id's group part.
41
+ */
42
+ export const storyFilesGroupOf = (text) => {
43
+ const [root = "", up = "0", own = ""] = text.split(GROUP_SEPARATOR);
44
+ return { root, pattern: `${"../".repeat(Number(up))}${own}` };
45
+ };
17
46
  /**
18
47
  * The story files patterns match, as paths relative to `root` starting with `./` or `../`, sorted.
19
48
  *
@@ -28,12 +57,10 @@ export const storyFileKeys = (root, patterns) => patterns
28
57
  })
29
58
  .sort();
30
59
  /**
31
- * The id prefix of a group's "Used in" module: the pattern's folder and the pattern follow, as in a `?forgebook-files`
60
+ * The id prefix of a group's "Used in" module: the group follows (`storyFilesGroupText`), as in a `?forgebook-files`
32
61
  * module's id. The plugin answers it (`usageModule.ts`) only when a page asks.
33
62
  */
34
63
  export const USAGE_PREFIX = "virtual:forgebook-usage:";
35
- /** Between the folder and the pattern in a usage module's id: no path or pattern holds it. */
36
- export const USAGE_SEPARATOR = "::";
37
64
  /**
38
65
  * Every story file a pattern matches, indexed.
39
66
  *
@@ -66,7 +93,7 @@ export const storyFilesModule = (root, pattern, watch, hasUsage = true) => {
66
93
  const files = indexedStoryFiles(root, pattern, watch);
67
94
  const keys = files.map((file) => file.key);
68
95
  const index = Object.fromEntries(files.map((file) => [file.key, file.index]));
69
- const usage = JSON.stringify(`${USAGE_PREFIX}${root}${USAGE_SEPARATOR}${pattern}`);
96
+ const usage = JSON.stringify(`${USAGE_PREFIX}${storyFilesGroupText(root, pattern)}`);
70
97
  // absolute paths: the module has no folder of its own; Vite serves them under /@fs/ in development
71
98
  const path = (key) => JSON.stringify(resolve(root, key));
72
99
  const query = (key, name) => JSON.stringify(`${resolve(root, key)}?${name}`);
@@ -1 +1 @@
1
- {"version":3,"file":"storyFilesModule.js","sourceRoot":"","sources":["../../../src/vite/storyFilesModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storyFilesModule.js","sourceRoot":"","sources":["../../../src/vite/storyFilesModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * The rewrite that lets a story's CSS answer as a phone's while the catalogue simulates touch: the rules under the
3
+ * pointer's media features (`hover`, `any-hover`, `pointer`, `any-pointer`) follow `data-forgebook-touch` on the root.
4
+ *
5
+ * @remarks
6
+ * The computer answers `hover: hover` and `pointer: fine`, and a page cannot change that. So each media rule that asks
7
+ * about the pointer is kept for the computer, its rules scoped to a root without the attribute, and copied once more
8
+ * as a phone would read it (`hover: none`, `pointer: coarse`, the rest of its query kept), its rules scoped to a root
9
+ * with the attribute. The scope is written in `:where()`, so no rule's specificity changes; a selector that starts at
10
+ * the root (`:root`, `html`) takes the condition on the root itself. On a real phone the attribute is never set, so
11
+ * its own media answer as before. The real mouse's `:hover` stops matching while touch is simulated: a finger does
12
+ * not hover (`NOT_UNDER_TOUCH`). Runs only in the catalogue's build, as a Lightning CSS visitor.
13
+ *
14
+ * @module
15
+ */
16
+ import type { Rule, SelectorComponent } from "lightningcss";
17
+ /** The root's attribute the catalogue sets while it simulates touch (`touchSwitch` of `switches.ts`). */
18
+ export declare const TOUCH_ATTRIBUTE = "data-forgebook-touch";
19
+ /**
20
+ * A media rule as the computer and as a simulated phone read it: the rule for the computer, its rules scoped to a
21
+ * root without the attribute, then, when a phone can match it, its copy with the pointer answered as a phone's, its
22
+ * rules scoped to a root with the attribute. A media rule that asks nothing of the pointer is left as it is.
23
+ *
24
+ * @param rule - a media rule.
25
+ */
26
+ export declare const touchMediaRules: (rule: Extract<Rule, {
27
+ type: "media";
28
+ }>) => Rule[] | undefined;
29
+ /**
30
+ * `:where(:not(:root[data-forgebook-touch] *))`: an element outside a root that simulates touch. Written beside the
31
+ * real `:hover` (`forcedStates.ts`), so the mouse's hover stops matching while touch is simulated: a finger does not
32
+ * hover.
33
+ */
34
+ export declare const NOT_UNDER_TOUCH: SelectorComponent;
35
+ //# sourceMappingURL=touchMedia.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"touchMedia.d.ts","sourceRoot":"","sources":["../../../src/vite/touchMedia.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAGV,IAAI,EAEJ,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAEtB,yGAAyG;AACzG,eAAO,MAAM,eAAe,yBAAyB,CAAC;AAuPtD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,OAAO,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,KAAG,IAAI,EAAE,GAAG,SAmBjF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,iBAmB7B,CAAC"}
@@ -0,0 +1,282 @@
1
+ /** The root's attribute the catalogue sets while it simulates touch (`touchSwitch` of `switches.ts`). */
2
+ export const TOUCH_ATTRIBUTE = "data-forgebook-touch";
3
+ /** The pointer's media features, and what a phone answers to each. */
4
+ const PHONE_ANSWERS = {
5
+ hover: { value: "none", isPresent: false },
6
+ "any-hover": { value: "none", isPresent: false },
7
+ pointer: { value: "coarse", isPresent: true },
8
+ "any-pointer": { value: "coarse", isPresent: true }
9
+ };
10
+ /**
11
+ * A feature as a phone answers it; another feature stays a condition.
12
+ *
13
+ * @param feature - the feature.
14
+ */
15
+ const phoneFeature = (feature) => {
16
+ if (feature.type === "range" || feature.type === "interval")
17
+ return undefined;
18
+ const answer = PHONE_ANSWERS[feature.name];
19
+ if (answer === undefined)
20
+ return undefined;
21
+ if (feature.type === "boolean")
22
+ return answer.isPresent;
23
+ return feature.value.type === "ident" && feature.value.value === answer.value;
24
+ };
25
+ /**
26
+ * A condition read as a phone would.
27
+ *
28
+ * @param condition - the condition.
29
+ */
30
+ const phoneCondition = (condition) => {
31
+ if (condition.type === "feature")
32
+ return phoneFeature(condition.value) ?? condition;
33
+ if (condition.type === "not") {
34
+ const inner = phoneCondition(condition.value);
35
+ return typeof inner === "boolean" ? !inner : { type: "not", value: inner };
36
+ }
37
+ if (condition.type !== "operation")
38
+ return condition;
39
+ const isAnd = condition.operator === "and";
40
+ const parts = [];
41
+ for (const each of condition.conditions.map(phoneCondition)) {
42
+ // in an "and", false decides and true drops out; in an "or", the other way round
43
+ if (each === !isAnd)
44
+ return !isAnd;
45
+ if (typeof each !== "boolean")
46
+ parts.push(each);
47
+ }
48
+ if (parts.length === 0)
49
+ return isAnd;
50
+ return parts.length === 1 && parts[0] !== undefined ? parts[0] : { ...condition, conditions: parts };
51
+ };
52
+ /**
53
+ * Whether a condition asks about the pointer anywhere.
54
+ *
55
+ * @param condition - the condition.
56
+ */
57
+ const asksPointer = (condition) => {
58
+ if (condition.type === "feature")
59
+ return (condition.value.type !== "range" &&
60
+ condition.value.type !== "interval" &&
61
+ condition.value.name in PHONE_ANSWERS);
62
+ if (condition.type === "not")
63
+ return asksPointer(condition.value);
64
+ return condition.type === "operation" && condition.conditions.some(asksPointer);
65
+ };
66
+ /**
67
+ * The queries a phone reads in a list: each query its pointer features answered; one a phone never matches dropped.
68
+ *
69
+ * @param queries - the media rule's queries.
70
+ * @returns the queries; none when a phone matches none of them.
71
+ */
72
+ const phoneQueries = (queries) => queries.flatMap((query) => {
73
+ if (query.condition === null || query.condition === undefined)
74
+ return [query];
75
+ const reading = phoneCondition(query.condition);
76
+ if (typeof reading !== "boolean")
77
+ return [{ ...query, condition: reading }];
78
+ if (query.qualifier !== "not")
79
+ return reading ? [{ ...query, qualifier: null, condition: null }] : [];
80
+ // `not T and C`: with C true it is `not T` (never, for every type), with C false it holds for every type
81
+ if (!reading)
82
+ return [{ ...query, qualifier: null, mediaType: "all", condition: null }];
83
+ return query.mediaType === "all" ? [] : [{ ...query, condition: null }];
84
+ });
85
+ /**
86
+ * The rules a rule holds, for the rules that hold others (`@media`, `@supports`, `@container`, `@layer`,
87
+ * `@starting-style`); none for any other.
88
+ *
89
+ * @param rule - the rule.
90
+ */
91
+ const groupedRules = (rule) => {
92
+ switch (rule.type) {
93
+ case "media":
94
+ case "supports":
95
+ case "container":
96
+ case "layer-block":
97
+ case "starting-style":
98
+ return rule.value.rules;
99
+ default:
100
+ return undefined;
101
+ }
102
+ };
103
+ /**
104
+ * A rule that holds others, with other rules in it.
105
+ *
106
+ * @param rule - the rule (one `groupedRules` reads).
107
+ * @param rules - its new rules.
108
+ */
109
+ const withGroupedRules = (rule, rules) => {
110
+ // one case each: the spread keeps each rule's own type
111
+ switch (rule.type) {
112
+ case "media":
113
+ return { ...rule, value: { ...rule.value, rules } };
114
+ case "supports":
115
+ return { ...rule, value: { ...rule.value, rules } };
116
+ case "container":
117
+ return { ...rule, value: { ...rule.value, rules } };
118
+ case "layer-block":
119
+ return { ...rule, value: { ...rule.value, rules } };
120
+ case "starting-style":
121
+ return { ...rule, value: { ...rule.value, rules } };
122
+ default:
123
+ return rule;
124
+ }
125
+ };
126
+ /** `[data-forgebook-touch]`. */
127
+ const TOUCH = { type: "attribute", name: TOUCH_ATTRIBUTE };
128
+ /**
129
+ * The root's condition: with the attribute, or without it.
130
+ *
131
+ * @param isTouch - whether touch is simulated.
132
+ */
133
+ const rootCondition = (isTouch) => isTouch ? TOUCH : { type: "pseudo-class", kind: "not", selectors: [[TOUCH]] };
134
+ /**
135
+ * `:where(<components>)`.
136
+ *
137
+ * @param components - one compound selector.
138
+ */
139
+ const whereOf = (components) => ({
140
+ type: "pseudo-class",
141
+ kind: "where",
142
+ selectors: [components]
143
+ });
144
+ /**
145
+ * Whether a selector's component is a scope this rewrite wrote: a `:where()` that names the touch attribute, with no
146
+ * combinator in it (the `:hover` guard, `NOT_UNDER_TOUCH`, has one). Read from its structure: Lightning CSS writes a
147
+ * selector it visits again with fields of its own.
148
+ *
149
+ * @param component - the component.
150
+ */
151
+ const isScopeComponent = (component) => {
152
+ if (component.type !== "pseudo-class" || component.kind !== "where")
153
+ return false;
154
+ const text = JSON.stringify(component);
155
+ return text.includes(TOUCH_ATTRIBUTE) && !text.includes('"combinator"');
156
+ };
157
+ /**
158
+ * Whether a selector starts at a shadow root's host (`:host`, `:host(.on)`).
159
+ *
160
+ * @param selector - the selector.
161
+ */
162
+ const isShadowHost = (selector) => selector[0]?.type === "pseudo-class" && selector[0].kind === "host";
163
+ /**
164
+ * A selector scoped to a root with touch simulated or without: the condition on the root itself when the selector
165
+ * starts there, a descendant of such a root otherwise, in `:where()` either way.
166
+ *
167
+ * @param selector - the selector.
168
+ * @param isTouch - whether touch is simulated.
169
+ */
170
+ const scopedSelector = (selector, isTouch) => {
171
+ const firstCombinator = selector.findIndex((component) => component.type === "combinator");
172
+ const head = firstCombinator === -1 ? selector : selector.slice(0, firstCombinator);
173
+ // scoped already: a pointer media rule inside another
174
+ if (head.some(isScopeComponent))
175
+ return selector;
176
+ const atRoot = head.findIndex((component) => (component.type === "pseudo-class" && component.kind === "root") ||
177
+ (component.type === "type" && component.name === "html"));
178
+ // right after the root's own component, before a pseudo-element that may follow it
179
+ if (atRoot !== -1)
180
+ return [
181
+ ...selector.slice(0, atRoot + 1),
182
+ whereOf([rootCondition(isTouch)]),
183
+ ...selector.slice(atRoot + 1)
184
+ ];
185
+ return [
186
+ whereOf([{ type: "pseudo-class", kind: "root" }, rootCondition(isTouch)]),
187
+ { type: "combinator", value: "descendant" },
188
+ ...selector
189
+ ];
190
+ };
191
+ /**
192
+ * Rules scoped to a root with touch simulated or without, inside the rules that group them (`@supports`, `@layer`,
193
+ * `@container`, another `@media`); a nested rule keeps its own selectors, relative to its scoped parent.
194
+ *
195
+ * @param rules - the rules.
196
+ * @param isTouch - whether touch is simulated.
197
+ */
198
+ const scopedRules = (rules, isTouch) => rules.flatMap((rule) => {
199
+ if (rule.type === "style") {
200
+ // a shadow root's own selector (`:host`) has no root to scope it by: kept for the computer, under its real media,
201
+ // and left out of the phone's copy, where nothing would hold it to touch
202
+ const selectors = rule.value.selectors
203
+ .filter((each) => !(isTouch && isShadowHost(each)))
204
+ .map((each) => (isShadowHost(each) ? each : scopedSelector(each, isTouch)));
205
+ return selectors.length === 0 ? [] : [{ ...rule, value: { ...rule.value, selectors } }];
206
+ }
207
+ // declarations written straight inside a nested media rule (`.a { @media (hover: none) { color: red } }`) belong to
208
+ // the parent: they become a rule of the parent itself (`&`), scoped like any other
209
+ if (rule.type === "nested-declarations") {
210
+ return [
211
+ {
212
+ type: "style",
213
+ value: {
214
+ selectors: [scopedSelector([{ type: "nesting" }], isTouch)],
215
+ declarations: rule.value.declarations,
216
+ rules: [],
217
+ loc: rule.value.loc
218
+ }
219
+ }
220
+ ];
221
+ }
222
+ const inner = groupedRules(rule);
223
+ return [inner === undefined ? rule : withGroupedRules(rule, scopedRules(inner, isTouch))];
224
+ });
225
+ /**
226
+ * Whether rules hold an `@scope` rule anywhere: Lightning CSS cannot write one back after a visitor returns it, so a
227
+ * media rule that holds one is left as it is.
228
+ *
229
+ * @param rules - the rules.
230
+ */
231
+ const holdsScope = (rules) => rules.some((rule) => rule.type === "scope" || holdsScope(groupedRules(rule) ?? []));
232
+ /**
233
+ * A media rule as the computer and as a simulated phone read it: the rule for the computer, its rules scoped to a
234
+ * root without the attribute, then, when a phone can match it, its copy with the pointer answered as a phone's, its
235
+ * rules scoped to a root with the attribute. A media rule that asks nothing of the pointer is left as it is.
236
+ *
237
+ * @param rule - a media rule.
238
+ */
239
+ export const touchMediaRules = (rule) => {
240
+ const queries = rule.value.query.mediaQueries;
241
+ if (!queries.some((query) => query.condition !== null && query.condition !== undefined && asksPointer(query.condition)))
242
+ return undefined;
243
+ if (holdsScope(rule.value.rules))
244
+ return undefined;
245
+ const computer = { ...rule, value: { ...rule.value, rules: scopedRules(rule.value.rules, false) } };
246
+ const phone = phoneQueries(queries);
247
+ if (phone.length === 0)
248
+ return [computer];
249
+ return [
250
+ computer,
251
+ {
252
+ ...rule,
253
+ value: { ...rule.value, query: { mediaQueries: phone }, rules: scopedRules(rule.value.rules, true) }
254
+ }
255
+ ];
256
+ };
257
+ /**
258
+ * `:where(:not(:root[data-forgebook-touch] *))`: an element outside a root that simulates touch. Written beside the
259
+ * real `:hover` (`forcedStates.ts`), so the mouse's hover stops matching while touch is simulated: a finger does not
260
+ * hover.
261
+ */
262
+ export const NOT_UNDER_TOUCH = {
263
+ type: "pseudo-class",
264
+ kind: "where",
265
+ selectors: [
266
+ [
267
+ {
268
+ type: "pseudo-class",
269
+ kind: "not",
270
+ selectors: [
271
+ [
272
+ { type: "pseudo-class", kind: "root" },
273
+ TOUCH,
274
+ { type: "combinator", value: "descendant" },
275
+ { type: "universal" }
276
+ ]
277
+ ]
278
+ }
279
+ ]
280
+ ]
281
+ };
282
+ //# sourceMappingURL=touchMedia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"touchMedia.js","sourceRoot":"","sources":["../../../src/vite/touchMedia.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"usageGraph.d.ts","sourceRoot":"","sources":["../../../src/vite/usageGraph.ts"],"names":[],"mappings":"AAoBA,oEAAoE;AACpE,MAAM,MAAM,YAAY,GAAG;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,8BAA8B;AAC9B,MAAM,MAAM,YAAY,GAAG;IACzB,0BAA0B;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C,CAAC;AAEF,8BAA8B;AAC9B,MAAM,MAAM,cAAc,GAAG;IAC3B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAClC,mBAAmB;IACnB,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,UAAU,GAAG;IACvB,wFAAwF;IACxF,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CAC/D,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAAC;AA0PF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,UAAU,SAAS,gBAAgB,EAAE,KAAG,UAAU,GAAG,MAe/E,CAAC"}
1
+ {"version":3,"file":"usageGraph.d.ts","sourceRoot":"","sources":["../../../src/vite/usageGraph.ts"],"names":[],"mappings":"AAoBA,oEAAoE;AACpE,MAAM,MAAM,YAAY,GAAG;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,8BAA8B;AAC9B,MAAM,MAAM,YAAY,GAAG;IACzB,0BAA0B;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C,CAAC;AAEF,8BAA8B;AAC9B,MAAM,MAAM,cAAc,GAAG;IAC3B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAClC,mBAAmB;IACnB,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,UAAU,GAAG;IACvB,wFAAwF;IACxF,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CAC/D,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAAC;AAiRF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,UAAU,SAAS,gBAAgB,EAAE,KAAG,UAAU,GAAG,MAe/E,CAAC"}
@@ -175,6 +175,29 @@ const fileUsage = (request, program) => {
175
175
  * @param program - its program.
176
176
  * @param cache - the program's resolution cache.
177
177
  */
178
+ /**
179
+ * Whether an import or an export takes types only (`import type`, `export type`, `import { type A }`).
180
+ *
181
+ * @param statement - the statement.
182
+ */
183
+ const isTypeOnly = (statement) => {
184
+ if (ts.isExportDeclaration(statement))
185
+ return statement.isTypeOnly;
186
+ if (!ts.isImportDeclaration(statement))
187
+ return false;
188
+ const clause = statement.importClause;
189
+ if (clause === undefined)
190
+ return false;
191
+ if (clause.isTypeOnly)
192
+ return true;
193
+ // `import { type A, type B }`: every name a type, and no default
194
+ const bindings = clause.namedBindings;
195
+ return (clause.name === undefined &&
196
+ bindings !== undefined &&
197
+ ts.isNamedImports(bindings) &&
198
+ bindings.elements.length > 0 &&
199
+ bindings.elements.every((element) => element.isTypeOnly));
200
+ };
178
201
  const importsOf = (source, program, cache) => {
179
202
  const targets = [];
180
203
  for (const statement of source.statements) {
@@ -183,7 +206,8 @@ const importsOf = (source, program, cache) => {
183
206
  ts.isStringLiteral(statement.moduleSpecifier)
184
207
  ? statement.moduleSpecifier.text
185
208
  : undefined;
186
- if (specifier === undefined)
209
+ // a type renders nothing: a file that only takes types from another does not use its components
210
+ if (specifier === undefined || isTypeOnly(statement))
187
211
  continue;
188
212
  const resolved = ts.resolveModuleName(specifier, source.fileName, program.getCompilerOptions(), ts.sys, cache).resolvedModule;
189
213
  if (resolved !== undefined && !resolved.isExternalLibraryImport)
@@ -1 +1 @@
1
- {"version":3,"file":"usageGraph.js","sourceRoot":"","sources":["../../../src/vite/usageGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usageGraph.js","sourceRoot":"","sources":["../../../src/vite/usageGraph.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forgebook",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "See every component in every theme, contrast, language and width: CSF stories, one frame per story, and a props table from the components' types.",
5
5
  "keywords": [
6
6
  "react",
@@ -164,6 +164,10 @@
164
164
  "./spills": {
165
165
  "types": "./dist/src/spills.d.ts",
166
166
  "default": "./dist/src/spills.js"
167
+ },
168
+ "./real-touch": {
169
+ "types": "./dist/src/realTouch.d.ts",
170
+ "default": "./dist/src/realTouch.js"
167
171
  }
168
172
  },
169
173
  "dependencies": {
@@ -173,7 +177,7 @@
173
177
  "lightningcss": "1.33.0",
174
178
  "marked": "18.1.0",
175
179
  "typescript-6": "npm:typescript@6.0.3",
176
- "@forgebook/story-format": "0.1.3"
180
+ "@forgebook/story-format": "0.1.4"
177
181
  },
178
182
  "peerDependencies": {
179
183
  "@testing-library/dom": "^10.4.0",
@@ -195,8 +199,8 @@
195
199
  "sass-embedded": "1.106.1",
196
200
  "vite": "8.3.5",
197
201
  "vitest": "5.0.5",
198
- "@forgebook/tools": "0.0.0",
199
- "@forgebook/typescript-config": "0.0.0"
202
+ "@forgebook/typescript-config": "0.0.0",
203
+ "@forgebook/tools": "0.0.0"
200
204
  },
201
205
  "peerDependenciesMeta": {
202
206
  "@testing-library/dom": {