inkbridge 0.1.0-beta.22 → 0.1.0-beta.23

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 (64) hide show
  1. package/README.md +29 -0
  2. package/code.js +15 -15
  3. package/manifest.json +1 -2
  4. package/package.json +37 -22
  5. package/scanner/border-dash-pattern-regression.ts +163 -0
  6. package/scanner/child-sizing-matrix-regression.ts +9 -0
  7. package/scanner/cli.ts +21 -5
  8. package/scanner/component-scanner.ts +1201 -75
  9. package/scanner/conditional-map-branch-regression.ts +180 -0
  10. package/scanner/css-token-reader.ts +66 -5
  11. package/scanner/dialog-content-gate-regression.ts +195 -0
  12. package/scanner/expression-evaluator-regression.ts +432 -0
  13. package/scanner/framework-adapter-shadcn-regression.ts +157 -1
  14. package/scanner/hidden-check-drift-regression.ts +125 -0
  15. package/scanner/horizontal-text-shrink-regression.ts +230 -0
  16. package/scanner/inline-flex-regression.ts +5 -0
  17. package/scanner/portal-class-strip-regression.ts +109 -0
  18. package/scanner/responsive-hidden-inline-regression.ts +226 -0
  19. package/scanner/responsive-opt-in-regression.ts +212 -0
  20. package/scanner/select-root-flatten-regression.ts +314 -0
  21. package/scanner/space-between-single-child-regression.ts +163 -0
  22. package/scanner/story-args-resolution-regression.ts +42 -1
  23. package/scanner/story-dimensioning-regression.ts +76 -1
  24. package/scanner/style-map.ts +57 -0
  25. package/scanner/table-column-alignment-regression.ts +355 -0
  26. package/scanner/ternary-fragment-branch-regression.ts +196 -0
  27. package/scanner/text-truncate-regression.ts +481 -0
  28. package/scanner/types.ts +13 -0
  29. package/src/components/component-gen.ts +21 -38
  30. package/src/design-system/cva-master.ts +11 -18
  31. package/src/design-system/design-system.ts +36 -7
  32. package/src/design-system/frame-stabilizers.ts +109 -12
  33. package/src/design-system/preview-builder.ts +38 -0
  34. package/src/design-system/selectable-state.ts +8 -1
  35. package/src/design-system/story-builder.ts +50 -32
  36. package/src/design-system/story-dimensioning.ts +14 -3
  37. package/src/design-system/tag-predicates.ts +8 -0
  38. package/src/design-system/typography.ts +26 -0
  39. package/src/design-system/ui-builder.ts +188 -60
  40. package/src/effects/icon-builder.ts +8 -0
  41. package/src/framework-adapters/shadcn.ts +113 -0
  42. package/src/github/github.ts +22 -4
  43. package/src/layout/index.ts +2 -0
  44. package/src/layout/layout-parser.ts +36 -0
  45. package/src/layout/table-layout.ts +271 -0
  46. package/src/layout/text-truncate-pass.ts +151 -0
  47. package/src/layout/width-solver.ts +63 -17
  48. package/src/main.ts +37 -124
  49. package/src/plugin/config.ts +21 -0
  50. package/src/plugin/packs/pack-provider.ts +20 -4
  51. package/src/plugin/packs/packs.ts +14 -0
  52. package/src/render-engine-version.ts +1 -1
  53. package/src/tailwind/jsx-utils.ts +39 -0
  54. package/src/tailwind/node-ir.ts +8 -1
  55. package/src/tailwind/responsive-analyzer.ts +57 -3
  56. package/src/tailwind/tailwind.ts +315 -43
  57. package/src/text/index.ts +1 -0
  58. package/src/text/inline-text.ts +112 -12
  59. package/src/text/text-builder.ts +2 -2
  60. package/src/text/text-truncate.ts +101 -0
  61. package/src/tokens/tokens.ts +107 -16
  62. package/src/tokens/variables.ts +203 -46
  63. package/templates/scan-components-route.ts +8 -0
  64. package/ui.html +144 -43
package/README.md CHANGED
@@ -201,6 +201,35 @@ ignores:
201
201
  Skip this rule on any component where Figma rendering doesn't matter
202
202
  (e.g. animation-only effects).
203
203
 
204
+ ### Per-story configuration via Storybook parameters
205
+
206
+ Inkbridge reads per-story configuration from
207
+ `parameters.inkbridge.*` on each story export. Currently supported:
208
+
209
+ - **`responsive: true | false`** — controls whether a story renders a
210
+ responsive preview row (one frame per `sm` / `md` / `lg` / `xl`
211
+ breakpoint, in addition to the single default-width frame).
212
+ - **Default behaviour**: the story named `Default` (or the first
213
+ export, if no `Default` exists) gets responsive previews
214
+ automatically. Other stories don't, so variant stories like
215
+ `Loading`, `WithError`, `Empty` render as one frame each — no
216
+ frame explosion when a component has many variants.
217
+ - Set `parameters: { inkbridge: { responsive: true } }` to opt a
218
+ variant story into responsive previews.
219
+ - Set `parameters: { inkbridge: { responsive: false } }` to
220
+ suppress responsive previews on a story that would otherwise
221
+ get them.
222
+
223
+ ```tsx
224
+ // Opts the WithFooter variant into responsive rendering.
225
+ export const WithFooter: Story = {
226
+ args: { variant: "footer" },
227
+ parameters: { inkbridge: { responsive: true } },
228
+ };
229
+ ```
230
+
231
+ Full reference at [inkbridge.ink/docs/responsive-previews](https://inkbridge.ink/docs/responsive-previews).
232
+
204
233
  ---
205
234
 
206
235
  ## Troubleshooting