@elmethis/vue 0.13.0 → 0.15.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.
@@ -1 +1 @@
1
- {"version":3,"file":"block-catalog.d.ts","sourceRoot":"","sources":["../../../../src/components/a2ui/catalog/block-catalog.tsx"],"names":[],"mappings":"AAwCA,OAAO,EAAE,eAAe,EAAkB,MAAM,WAAW,CAAC;AA0D5D;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,eAoV1B,CAAC"}
1
+ {"version":3,"file":"block-catalog.d.ts","sourceRoot":"","sources":["../../../../src/components/a2ui/catalog/block-catalog.tsx"],"names":[],"mappings":"AAwCA,OAAO,EAAE,eAAe,EAAkB,MAAM,WAAW,CAAC;AA0D5D;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,eAyV1B,CAAC"}
@@ -1,10 +1,31 @@
1
1
  import { type HTMLAttributes, type PropType } from "vue";
2
2
  export interface ElmHtmlProps extends HTMLAttributes {
3
- /** Raw HTML markup to render, e.g. a Claude-authored artifact or a Notion page export. */
4
- html: string;
3
+ /**
4
+ * Raw HTML markup to render, e.g. a Claude-authored artifact or a Notion
5
+ * page export. Mutually exclusive with `src` — provide exactly one of the
6
+ * two.
7
+ */
8
+ html?: string;
9
+ /**
10
+ * URL of a remote document to load in place of inline `html` (e.g. a
11
+ * presigned, time-limited link). Mutually exclusive with `html` — provide
12
+ * exactly one of the two.
13
+ *
14
+ * The framed document always gets `referrerpolicy="no-referrer"` so a
15
+ * token embedded in the URL's query string (as presigned links often
16
+ * carry) can't leak via the `Referer` header on requests the framed page
17
+ * itself makes. `autoHeight` has no effect in this mode — the browser
18
+ * blocks `contentDocument` access across origins regardless of sandbox
19
+ * flags, so cross-origin content can never be measured; size it with
20
+ * `height`/`style` instead. If the URL is time-limited, refreshing it
21
+ * before it expires is the caller's responsibility — this component never
22
+ * retries or reloads on its own.
23
+ */
24
+ src?: string;
5
25
  /**
6
26
  * Stretch the iframe to fit its content height. Set to false to size it
7
- * yourself instead (via `style`, `height`, or a CSS class).
27
+ * yourself instead (via `style`, `height`, or a CSS class). Only takes
28
+ * effect in `html` mode — see `src` for why.
8
29
  * @default true
9
30
  */
10
31
  autoHeight?: boolean;
@@ -14,6 +35,15 @@ export interface ElmHtmlProps extends HTMLAttributes {
14
35
  * is force-added unless this already requests `allow-scripts` (see below).
15
36
  */
16
37
  sandbox?: string;
38
+ /**
39
+ * Allow the embedded content to run JavaScript by adding `allow-scripts`
40
+ * to the iframe's `sandbox` attribute. Defaults to false. `allow-same-origin`
41
+ * is never granted together with this — see the sandbox-token logic below
42
+ * for why combining the two would let the embedded document escape the
43
+ * sandbox entirely.
44
+ * @default false
45
+ */
46
+ allowScripts?: boolean;
17
47
  /** Native iframe `height` attribute, in pixels. */
18
48
  height?: number | `${number}`;
19
49
  /** Accessible name for the iframe. @default "Embedded HTML content" */
@@ -22,7 +52,11 @@ export interface ElmHtmlProps extends HTMLAttributes {
22
52
  export declare const ElmHtml: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
23
53
  html: {
24
54
  type: StringConstructor;
25
- required: true;
55
+ default: undefined;
56
+ };
57
+ src: {
58
+ type: StringConstructor;
59
+ default: undefined;
26
60
  };
27
61
  autoHeight: {
28
62
  type: BooleanConstructor;
@@ -32,6 +66,10 @@ export declare const ElmHtml: import("vue").DefineComponent<import("vue").Extrac
32
66
  type: StringConstructor;
33
67
  default: undefined;
34
68
  };
69
+ allowScripts: {
70
+ type: BooleanConstructor;
71
+ default: boolean;
72
+ };
35
73
  height: {
36
74
  type: PropType<number | `${number}`>;
37
75
  default: undefined;
@@ -43,7 +81,11 @@ export declare const ElmHtml: import("vue").DefineComponent<import("vue").Extrac
43
81
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
44
82
  html: {
45
83
  type: StringConstructor;
46
- required: true;
84
+ default: undefined;
85
+ };
86
+ src: {
87
+ type: StringConstructor;
88
+ default: undefined;
47
89
  };
48
90
  autoHeight: {
49
91
  type: BooleanConstructor;
@@ -53,6 +95,10 @@ export declare const ElmHtml: import("vue").DefineComponent<import("vue").Extrac
53
95
  type: StringConstructor;
54
96
  default: undefined;
55
97
  };
98
+ allowScripts: {
99
+ type: BooleanConstructor;
100
+ default: boolean;
101
+ };
56
102
  height: {
57
103
  type: PropType<number | `${number}`>;
58
104
  default: undefined;
@@ -62,9 +108,12 @@ export declare const ElmHtml: import("vue").DefineComponent<import("vue").Extrac
62
108
  default: undefined;
63
109
  };
64
110
  }>> & Readonly<{}>, {
111
+ html: string;
65
112
  title: string;
113
+ src: string;
66
114
  height: number | `${number}`;
67
115
  autoHeight: boolean;
68
116
  sandbox: string;
117
+ allowScripts: boolean;
69
118
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
70
119
  //# sourceMappingURL=elm-html.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"elm-html.d.ts","sourceRoot":"","sources":["../../../src/components/code/elm-html.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,cAAc,EACnB,KAAK,QAAQ,EACd,MAAM,KAAK,CAAC;AA4Eb,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,0FAA0F;IAC1F,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAE9B,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;cAUY,QAAQ,CAAC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;cAA9B,QAAQ,CAAC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;;;;;;;;;;;;4EAuM5D,CAAC"}
1
+ {"version":3,"file":"elm-html.d.ts","sourceRoot":"","sources":["../../../src/components/code/elm-html.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,cAAc,EACnB,KAAK,QAAQ,EACd,MAAM,KAAK,CAAC;AA4Eb,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;;;;OAcG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAE9B,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;cAYY,QAAQ,CAAC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA9B,QAAQ,CAAC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;;;;;;;;;;;;;;;4EAsO5D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elmethis/vue",
3
- "version": "0.13.0",
3
+ "version": "0.15.0",
4
4
  "description": "Vue 3 component library for elmethis.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -58,7 +58,7 @@
58
58
  "marked": "^18.0.5",
59
59
  "shiki": "^4.3.0",
60
60
  "zod": "^3",
61
- "@elmethis/core": "^0.17.0"
61
+ "@elmethis/core": "^0.19.0"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@eslint/js": "latest",