@poveste/shared 0.1.3 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './codegen/index.js';
2
+ export * from './setup.js';
2
3
  export * from './state.js';
3
4
  export * from './story.js';
4
5
  export * from './type-utils.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './codegen/index.js';
2
+ export * from './setup.js';
2
3
  export * from './state.js';
3
4
  export * from './story.js';
4
5
  export * from './type-utils.js';
@@ -0,0 +1,13 @@
1
+ export type SetupModule = Record<string, unknown> | undefined;
2
+ /**
3
+ * Reads a setup hook (`setupVanilla`, `setupVue3`, ...) out of a setup module.
4
+ *
5
+ * Takes the module as an argument instead of letting callers access it inline:
6
+ * the setup modules are namespace imports of virtual or user-provided files that
7
+ * aren't guaranteed to declare every hook, and a static `namespace.setupVue3`
8
+ * access makes Rollup warn `"setupVue3" is not exported by ...` in every
9
+ * consumer build. Passing the namespace through a call forces it to be
10
+ * materialized, so the lookup happens at runtime where it belongs.
11
+ */
12
+ export declare function getSetupHook<T>(mod: SetupModule, name: string): T | undefined;
13
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;AAE7D;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAG7E"}
package/dist/setup.js ADDED
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Reads a setup hook (`setupVanilla`, `setupVue3`, ...) out of a setup module.
3
+ *
4
+ * Takes the module as an argument instead of letting callers access it inline:
5
+ * the setup modules are namespace imports of virtual or user-provided files that
6
+ * aren't guaranteed to declare every hook, and a static `namespace.setupVue3`
7
+ * access makes Rollup warn `"setupVue3" is not exported by ...` in every
8
+ * consumer build. Passing the namespace through a call forces it to be
9
+ * materialized, so the lookup happens at runtime where it belongs.
10
+ */
11
+ export function getSetupHook(mod, name) {
12
+ const hook = mod?.[name];
13
+ return typeof hook === 'function' ? hook : undefined;
14
+ }
@@ -1,4 +1,5 @@
1
1
  import type MarkdownIt from 'markdown-it';
2
+ import type { UseHeadInput } from 'unhead/types';
2
3
  import type { UserConfig as ViteConfig, ConfigEnv as ViteConfigEnv } from 'vite';
3
4
  import type { Plugin } from './plugin.js';
4
5
  import type { ServerTreeFile, StoryProps } from './story.js';
@@ -47,6 +48,19 @@ export interface PovesteConfig {
47
48
  * Patterns to match stories to support plugins automatically.
48
49
  */
49
50
  supportMatch: SupportMatchPattern[];
51
+ /**
52
+ * Master switch for CSS isolation between Poveste chrome and user stories.
53
+ * When true (default), user CSS imported via poveste.setup is scoped to story
54
+ * containers, chrome CSS is scoped away from them, and grid items render
55
+ * in iframes. Set to false to restore pre-1.0 behavior. See guide/css.md.
56
+ */
57
+ isolateStyles?: boolean;
58
+ /**
59
+ * CSS files loaded into the main app (not into stories). Wrapped in
60
+ * @layer poveste-user-globals — lower priority than chrome.
61
+ * Use for design tokens or anything intentionally global.
62
+ */
63
+ globalStyles?: string[];
50
64
  /**
51
65
  * How to generate the story tree.
52
66
  */
@@ -167,10 +181,27 @@ export interface PovesteConfig {
167
181
  * Background color of the story preview.
168
182
  */
169
183
  backgroundPresets?: BackgroundPreset[];
184
+ /**
185
+ * Initial background color used for story previews before the user picks one.
186
+ *
187
+ * Should match a `color` from `backgroundPresets` to also highlight the corresponding
188
+ * entry in the dropdown; any other value is still applied as a CSS color.
189
+ *
190
+ * @default 'transparent'
191
+ */
192
+ defaultBackgroundColor?: string;
170
193
  /**
171
194
  * Automatically apply the current background preset's contrast color to the story preview text.
172
195
  */
173
196
  autoApplyContrastColor?: boolean;
197
+ /**
198
+ * Extra `<head>` tags injected into the Poveste app and the story sandbox.
199
+ * Same input shape as Nuxt's `useHead`. Use for global stylesheets, web fonts,
200
+ * analytics snippets, or any meta tag that needs to apply in both contexts.
201
+ *
202
+ * Example: `head: { link: [{ rel: 'stylesheet', href: '...' }] }`
203
+ */
204
+ head?: UseHeadInput;
174
205
  /**
175
206
  * Class added to the html root of the story preview when dark mode is enabled.
176
207
  * @deprecated use `theme.darkClass` instead
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export type StoryLayout = {
16
16
  } | {
17
17
  type: 'grid';
18
18
  width?: number | string;
19
+ iframeGrid?: boolean;
19
20
  };
20
21
  export interface CommonProps {
21
22
  id?: string;
@@ -39,6 +40,12 @@ export interface StoryProps extends CommonProps, InheritedProps {
39
40
  export interface CommonMeta {
40
41
  }
41
42
  export interface StoryMeta extends CommonMeta {
43
+ /**
44
+ * When set, overrides the global Story Options visibility for this story.
45
+ * `true` forces the right pane visible; `false` forces it hidden.
46
+ * `undefined` (default) defers to the global layout setting.
47
+ */
48
+ storyOptions?: boolean;
42
49
  }
43
50
  export interface Story {
44
51
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../src/types/story.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,GAAG,CAAA;IACd,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC3C;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,GAAG;IACF,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW,EAAE,cAAc;CAEhE;AAED,MAAM,WAAW,UAAW,SAAQ,WAAW,EAAE,cAAc;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;CAAG;AAE9B,MAAM,WAAW,SAAU,SAAQ,UAAU;CAAG;AAEhD,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAA;IACjB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;CAAG;AAElD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAA;IACpC,KAAK,CAAC,EAAE,MAAM;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAA;IAC1D,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,GAAG,CAAA;CACd;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,cAAc,EAAE,CAAA;CACxB;AAID,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,GAAG,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,eAAe,CAAA;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAA;CAChD;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,IAAI,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAA;CAChD;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,eAAe,GAAG,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAA;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,eAAe,CAAA;IACrB,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,EAAE,EAAE,WAAW,CAAA;CAChB"}
1
+ {"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../src/types/story.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@poveste/shared",
3
3
  "type": "module",
4
- "version": "0.1.3",
4
+ "version": "0.2.1",
5
5
  "description": "Shared utilities for Poveste",
6
6
  "author": {
7
7
  "name": "Sorin Gitlan"
@@ -33,7 +33,8 @@
33
33
  "chokidar": "^4.0.1",
34
34
  "pathe": "^1.1.2",
35
35
  "picocolors": "^1.1.1",
36
- "@poveste/vendors": "^0.1.3"
36
+ "unhead": "^3.1.0",
37
+ "@poveste/vendors": "^0.2.1"
37
38
  },
38
39
  "devDependencies": {
39
40
  "typescript": "5.6.3",
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './codegen/index.js'
2
+ export * from './setup.js'
2
3
  export * from './state.js'
3
4
  export * from './story.js'
4
5
  export * from './type-utils.js'
package/src/setup.ts ADDED
@@ -0,0 +1,16 @@
1
+ export type SetupModule = Record<string, unknown> | undefined
2
+
3
+ /**
4
+ * Reads a setup hook (`setupVanilla`, `setupVue3`, ...) out of a setup module.
5
+ *
6
+ * Takes the module as an argument instead of letting callers access it inline:
7
+ * the setup modules are namespace imports of virtual or user-provided files that
8
+ * aren't guaranteed to declare every hook, and a static `namespace.setupVue3`
9
+ * access makes Rollup warn `"setupVue3" is not exported by ...` in every
10
+ * consumer build. Passing the namespace through a call forces it to be
11
+ * materialized, so the lookup happens at runtime where it belongs.
12
+ */
13
+ export function getSetupHook<T>(mod: SetupModule, name: string): T | undefined {
14
+ const hook = mod?.[name]
15
+ return typeof hook === 'function' ? hook as T : undefined
16
+ }
@@ -1,4 +1,5 @@
1
1
  import type MarkdownIt from 'markdown-it'
2
+ import type { UseHeadInput } from 'unhead/types'
2
3
  import type {
3
4
  UserConfig as ViteConfig,
4
5
  ConfigEnv as ViteConfigEnv,
@@ -57,6 +58,19 @@ export interface PovesteConfig {
57
58
  * Patterns to match stories to support plugins automatically.
58
59
  */
59
60
  supportMatch: SupportMatchPattern[]
61
+ /**
62
+ * Master switch for CSS isolation between Poveste chrome and user stories.
63
+ * When true (default), user CSS imported via poveste.setup is scoped to story
64
+ * containers, chrome CSS is scoped away from them, and grid items render
65
+ * in iframes. Set to false to restore pre-1.0 behavior. See guide/css.md.
66
+ */
67
+ isolateStyles?: boolean
68
+ /**
69
+ * CSS files loaded into the main app (not into stories). Wrapped in
70
+ * @layer poveste-user-globals — lower priority than chrome.
71
+ * Use for design tokens or anything intentionally global.
72
+ */
73
+ globalStyles?: string[]
60
74
  /**
61
75
  * How to generate the story tree.
62
76
  */
@@ -177,10 +191,27 @@ export interface PovesteConfig {
177
191
  * Background color of the story preview.
178
192
  */
179
193
  backgroundPresets?: BackgroundPreset[]
194
+ /**
195
+ * Initial background color used for story previews before the user picks one.
196
+ *
197
+ * Should match a `color` from `backgroundPresets` to also highlight the corresponding
198
+ * entry in the dropdown; any other value is still applied as a CSS color.
199
+ *
200
+ * @default 'transparent'
201
+ */
202
+ defaultBackgroundColor?: string
180
203
  /**
181
204
  * Automatically apply the current background preset's contrast color to the story preview text.
182
205
  */
183
206
  autoApplyContrastColor?: boolean
207
+ /**
208
+ * Extra `<head>` tags injected into the Poveste app and the story sandbox.
209
+ * Same input shape as Nuxt's `useHead`. Use for global stylesheets, web fonts,
210
+ * analytics snippets, or any meta tag that needs to apply in both contexts.
211
+ *
212
+ * Example: `head: { link: [{ rel: 'stylesheet', href: '...' }] }`
213
+ */
214
+ head?: UseHeadInput
184
215
  /**
185
216
  * Class added to the html root of the story preview when dark mode is enabled.
186
217
  * @deprecated use `theme.darkClass` instead
@@ -15,6 +15,7 @@ export type StoryLayout = {
15
15
  } | {
16
16
  type: 'grid'
17
17
  width?: number | string
18
+ iframeGrid?: boolean
18
19
  }
19
20
 
20
21
  export interface CommonProps {
@@ -43,7 +44,14 @@ export interface StoryProps extends CommonProps, InheritedProps {
43
44
 
44
45
  export interface CommonMeta {}
45
46
 
46
- export interface StoryMeta extends CommonMeta {}
47
+ export interface StoryMeta extends CommonMeta {
48
+ /**
49
+ * When set, overrides the global Story Options visibility for this story.
50
+ * `true` forces the right pane visible; `false` forces it hidden.
51
+ * `undefined` (default) defers to the global layout setting.
52
+ */
53
+ storyOptions?: boolean
54
+ }
47
55
 
48
56
  export interface Story {
49
57
  id: string