@prismicio/vue 5.3.0-canary.320f423 → 5.3.0-canary.553482e
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/PrismicImage.vue.d.cts +4 -4
- package/dist/PrismicLink.vue.d.cts +4 -4
- package/dist/PrismicRichText/PrismicRichText.vue.d.cts +6 -10
- package/dist/PrismicRichText/PrismicRichText.vue.d.cts.map +1 -1
- package/dist/PrismicRichText/types.d.cts +25 -26
- package/dist/PrismicRichText/types.d.cts.map +1 -1
- package/dist/PrismicTable/PrismicTable.vue.d.cts +2 -6
- package/dist/PrismicTable/PrismicTable.vue.d.cts.map +1 -1
- package/dist/PrismicTable/types.d.cts +7 -8
- package/dist/PrismicTable/types.d.cts.map +1 -1
- package/dist/PrismicText.vue.d.cts +2 -2
- package/dist/PrismicText.vue.d.cts.map +1 -1
- package/dist/SliceZone/SliceZone.vue.d.cts +2 -2
- package/dist/SliceZone/SliceZone.vue.d.cts.map +1 -1
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +1 -1
- package/dist/package.js.map +1 -1
- package/dist/src/PrismicImage.vue.d.ts +4 -4
- package/dist/src/PrismicLink.vue.d.ts +4 -4
- package/dist/src/PrismicLink.vue.d.ts.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichText.cjs.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichText.js.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichText.vue.d.ts +6 -10
- package/dist/src/PrismicRichText/PrismicRichText.vue.d.ts.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.cjs +2 -4
- package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.js +2 -4
- package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.cjs.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.js.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.cjs +2 -2
- package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichTextSerialize.cjs.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichTextSerialize.js.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.cjs +10 -4
- package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.js +11 -5
- package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/src/PrismicRichText/types.d.ts +25 -26
- package/dist/src/PrismicRichText/types.d.ts.map +1 -1
- package/dist/src/PrismicTable/PrismicTable.cjs.map +1 -1
- package/dist/src/PrismicTable/PrismicTable.js.map +1 -1
- package/dist/src/PrismicTable/PrismicTable.vue.d.ts +4 -8
- package/dist/src/PrismicTable/PrismicTable.vue.d.ts.map +1 -1
- package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.cjs +8 -8
- package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/src/PrismicTable/PrismicTableDefaultComponents.cjs +12 -30
- package/dist/src/PrismicTable/PrismicTableDefaultComponents.cjs.map +1 -1
- package/dist/src/PrismicTable/PrismicTableDefaultComponents.js +12 -30
- package/dist/src/PrismicTable/PrismicTableDefaultComponents.js.map +1 -1
- package/dist/src/PrismicTable/types.d.ts +7 -8
- package/dist/src/PrismicTable/types.d.ts.map +1 -1
- package/dist/src/PrismicText.vue.d.ts +2 -2
- package/dist/src/SliceZone/SliceZone.vue.d.ts +2 -2
- package/dist/src/types.cjs.map +1 -1
- package/dist/src/types.d.ts +11 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/types.d.cts +11 -1
- package/dist/types.d.cts.map +1 -1
- package/package.json +1 -3
- package/src/PrismicRichText/PrismicRichText.vue +13 -15
- package/src/PrismicRichText/PrismicRichTextDefaultComponent.vue +8 -4
- package/src/PrismicRichText/PrismicRichTextSerialize.vue +4 -3
- package/src/PrismicRichText/types.ts +57 -29
- package/src/PrismicTable/PrismicTable.vue +14 -18
- package/src/PrismicTable/PrismicTableDefaultComponents.ts +14 -39
- package/src/PrismicTable/types.ts +41 -23
- package/src/types.ts +13 -1
|
@@ -1,10 +1,29 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
LinkResolverFunction,
|
|
3
3
|
RTAnyNode,
|
|
4
|
-
|
|
4
|
+
RTEmNode,
|
|
5
|
+
RTEmbedNode,
|
|
6
|
+
RTHeading1Node,
|
|
7
|
+
RTHeading2Node,
|
|
8
|
+
RTHeading3Node,
|
|
9
|
+
RTHeading4Node,
|
|
10
|
+
RTHeading5Node,
|
|
11
|
+
RTHeading6Node,
|
|
12
|
+
RTImageNode,
|
|
13
|
+
RTLabelNode,
|
|
14
|
+
RTLinkNode,
|
|
15
|
+
RTListItemNode,
|
|
16
|
+
RTListNode,
|
|
17
|
+
RTOListItemNode,
|
|
18
|
+
RTOListNode,
|
|
19
|
+
RTParagraphNode,
|
|
20
|
+
RTPreformattedNode,
|
|
21
|
+
RTSpanNode,
|
|
22
|
+
RTStrongNode,
|
|
23
|
+
RichTextNodeTypes,
|
|
5
24
|
} from "@prismicio/client"
|
|
6
25
|
|
|
7
|
-
import type { VueComponent } from "../types"
|
|
26
|
+
import type { VueComponent, VueComponentShorthand } from "../types"
|
|
8
27
|
|
|
9
28
|
/**
|
|
10
29
|
* A map of Rich Text block types to Vue Components. It is used to render Rich
|
|
@@ -12,13 +31,37 @@ import type { VueComponent } from "../types"
|
|
|
12
31
|
*
|
|
13
32
|
* @see Templating Rich Text and title fields from Prismic {@link https://prismic.io/docs/rich-text}
|
|
14
33
|
*/
|
|
15
|
-
export type VueRichTextSerializer =
|
|
16
|
-
|
|
17
|
-
>
|
|
34
|
+
export type VueRichTextSerializer = {
|
|
35
|
+
heading1?: RichTextComponentProps<RTHeading1Node> | VueComponentShorthand
|
|
36
|
+
heading2?: RichTextComponentProps<RTHeading2Node> | VueComponentShorthand
|
|
37
|
+
heading3?: RichTextComponentProps<RTHeading3Node> | VueComponentShorthand
|
|
38
|
+
heading4?: RichTextComponentProps<RTHeading4Node> | VueComponentShorthand
|
|
39
|
+
heading5?: RichTextComponentProps<RTHeading5Node> | VueComponentShorthand
|
|
40
|
+
heading6?: RichTextComponentProps<RTHeading6Node> | VueComponentShorthand
|
|
41
|
+
paragraph?: RichTextComponentProps<RTParagraphNode> | VueComponentShorthand
|
|
42
|
+
preformatted?:
|
|
43
|
+
| RichTextComponentProps<RTPreformattedNode>
|
|
44
|
+
| VueComponentShorthand
|
|
45
|
+
strong?: RichTextComponentProps<RTStrongNode> | VueComponentShorthand
|
|
46
|
+
em?: RichTextComponentProps<RTEmNode> | VueComponentShorthand
|
|
47
|
+
listItem?: RichTextComponentProps<RTListItemNode> | VueComponentShorthand
|
|
48
|
+
oListItem?: RichTextComponentProps<RTOListItemNode> | VueComponentShorthand
|
|
49
|
+
list?: RichTextComponentProps<RTListNode> | VueComponentShorthand
|
|
50
|
+
oList?: RichTextComponentProps<RTOListNode> | VueComponentShorthand
|
|
51
|
+
image?:
|
|
52
|
+
| RichTextComponentProps<RTImageNode>
|
|
53
|
+
| Omit<VueComponentShorthand, "as">
|
|
54
|
+
embed?: RichTextComponentProps<RTEmbedNode> | VueComponentShorthand
|
|
55
|
+
hyperlink?:
|
|
56
|
+
| RichTextComponentProps<RTLinkNode>
|
|
57
|
+
| Omit<VueComponentShorthand, "as">
|
|
58
|
+
label?:
|
|
59
|
+
| RichTextComponentProps<RTLabelNode>
|
|
60
|
+
| Omit<VueComponentShorthand, "as">
|
|
61
|
+
span?: RichTextComponentProps<RTSpanNode>
|
|
62
|
+
}
|
|
18
63
|
|
|
19
|
-
/**
|
|
20
|
-
* Props for a component rendering nodes from a Prismic rich text field.
|
|
21
|
-
*/
|
|
64
|
+
/** Props for a component rendering nodes from a Prismic rich text field. */
|
|
22
65
|
export type RichTextComponentProps<TRTNode extends RTAnyNode = RTAnyNode> = {
|
|
23
66
|
node: TRTNode
|
|
24
67
|
}
|
|
@@ -28,29 +71,14 @@ export type RichTextComponentProps<TRTNode extends RTAnyNode = RTAnyNode> = {
|
|
|
28
71
|
*
|
|
29
72
|
* @typeParam TRTNode - The type of rich text node(s) this component handles
|
|
30
73
|
*/
|
|
31
|
-
type VueRichTextComponent<TRTNode extends RTAnyNode = RTAnyNode> =
|
|
32
|
-
RichTextComponentProps<TRTNode
|
|
33
|
-
>
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* A shorthand definition for {@link VueRichTextSerializer} component types.
|
|
37
|
-
*/
|
|
38
|
-
export type VueShorthand = {
|
|
39
|
-
/**
|
|
40
|
-
* The HTML element type rendered for this node type.
|
|
41
|
-
*/
|
|
42
|
-
as?: string
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Other attributes to apply to the element type.
|
|
46
|
-
*/
|
|
47
|
-
[Attribute: string]: string | boolean | null | undefined
|
|
48
|
-
}
|
|
74
|
+
export type VueRichTextComponent<TRTNode extends RTAnyNode = RTAnyNode> =
|
|
75
|
+
VueComponent<RichTextComponentProps<TRTNode>>
|
|
49
76
|
|
|
50
|
-
export type
|
|
51
|
-
|
|
77
|
+
export type InternalVueRichTextComponents = Record<
|
|
78
|
+
RichTextNodeTypes,
|
|
52
79
|
{
|
|
53
80
|
is: VueRichTextComponent
|
|
54
|
-
|
|
81
|
+
linkResolver?: LinkResolverFunction
|
|
82
|
+
shorthand?: VueComponentShorthand
|
|
55
83
|
}
|
|
56
84
|
>
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { type TableField, isFilled } from "@prismicio/client"
|
|
3
3
|
import { computed } from "vue"
|
|
4
4
|
|
|
5
|
-
import type {
|
|
6
|
-
import {
|
|
5
|
+
import type { ComponentOrTagName, VueComponentShorthand } from "../types"
|
|
6
|
+
import { isVueComponent } from "../types"
|
|
7
7
|
import type { InternalVueTableComponents, VueTableComponents } from "./types"
|
|
8
8
|
|
|
9
9
|
import type { VueRichTextSerializer } from "../PrismicRichText"
|
|
@@ -11,13 +11,9 @@ import type { VueRichTextSerializer } from "../PrismicRichText"
|
|
|
11
11
|
import { defaultTableComponents } from "./PrismicTableDefaultComponents"
|
|
12
12
|
import PrismicTableRow from "./PrismicTableRow.vue"
|
|
13
13
|
|
|
14
|
-
/**
|
|
15
|
-
* Props for `<PrismicTable />`.
|
|
16
|
-
*/
|
|
14
|
+
/** Props for `<PrismicTable />`. */
|
|
17
15
|
export type PrismicTableProps = {
|
|
18
|
-
/**
|
|
19
|
-
* The Prismic table field to render.
|
|
20
|
-
*/
|
|
16
|
+
/** The Prismic table field to render. */
|
|
21
17
|
field: TableField | undefined
|
|
22
18
|
|
|
23
19
|
/**
|
|
@@ -55,11 +51,11 @@ function getInternalComponent(type: keyof VueTableComponents) {
|
|
|
55
51
|
|
|
56
52
|
return {
|
|
57
53
|
is: defaultTableComponents[type],
|
|
58
|
-
shorthand: maybeComponentOrShorthand as
|
|
54
|
+
shorthand: maybeComponentOrShorthand as VueComponentShorthand,
|
|
59
55
|
}
|
|
60
56
|
}
|
|
61
57
|
|
|
62
|
-
const
|
|
58
|
+
const internalTableComponents = computed<InternalVueTableComponents>(() => {
|
|
63
59
|
return {
|
|
64
60
|
table: getInternalComponent("table"),
|
|
65
61
|
thead: getInternalComponent("thead"),
|
|
@@ -74,34 +70,34 @@ const tableComponents = computed<InternalVueTableComponents>(() => {
|
|
|
74
70
|
<template>
|
|
75
71
|
<component
|
|
76
72
|
v-if="isFilled.table(field)"
|
|
77
|
-
:is="
|
|
73
|
+
:is="internalTableComponents.table.is"
|
|
78
74
|
:table="field"
|
|
79
|
-
v-bind="{ ...$attrs, ...
|
|
75
|
+
v-bind="{ ...$attrs, ...internalTableComponents.table.shorthand }"
|
|
80
76
|
>
|
|
81
77
|
<component
|
|
82
78
|
v-if="field.head"
|
|
83
|
-
:is="
|
|
79
|
+
:is="internalTableComponents.thead.is"
|
|
84
80
|
:head="field.head"
|
|
85
|
-
v-bind="
|
|
81
|
+
v-bind="internalTableComponents.thead.shorthand"
|
|
86
82
|
>
|
|
87
83
|
<PrismicTableRow
|
|
88
84
|
v-for="row in field.head.rows"
|
|
89
85
|
:key="row.key"
|
|
90
86
|
:row="row"
|
|
91
|
-
:internalTableComponents="
|
|
87
|
+
:internalTableComponents="internalTableComponents"
|
|
92
88
|
:components="components"
|
|
93
89
|
/>
|
|
94
90
|
</component>
|
|
95
91
|
<component
|
|
96
|
-
:is="
|
|
92
|
+
:is="internalTableComponents.tbody.is"
|
|
97
93
|
:body="field.body"
|
|
98
|
-
v-bind="
|
|
94
|
+
v-bind="internalTableComponents.tbody.shorthand"
|
|
99
95
|
>
|
|
100
96
|
<PrismicTableRow
|
|
101
97
|
v-for="row in field.body.rows"
|
|
102
98
|
:key="row.key"
|
|
103
99
|
:row="row"
|
|
104
|
-
:internalTableComponents="
|
|
100
|
+
:internalTableComponents="internalTableComponents"
|
|
105
101
|
:components="components"
|
|
106
102
|
/>
|
|
107
103
|
</component>
|
|
@@ -1,69 +1,44 @@
|
|
|
1
1
|
import { defineComponent, h } from "vue"
|
|
2
|
-
import type { PropType } from "vue"
|
|
3
2
|
|
|
4
|
-
import type {
|
|
3
|
+
import type { VueTableComponents } from "./types"
|
|
5
4
|
|
|
6
5
|
import * as getTableComponentProps from "./getTableComponentProps"
|
|
7
6
|
|
|
8
|
-
export const defaultTableComponents:
|
|
7
|
+
export const defaultTableComponents: Required<VueTableComponents> = {
|
|
9
8
|
table: defineComponent({
|
|
10
|
-
props:
|
|
11
|
-
...getTableComponentProps.table(),
|
|
12
|
-
as: { type: String as PropType<string | undefined> },
|
|
13
|
-
},
|
|
9
|
+
props: getTableComponentProps.table(),
|
|
14
10
|
setup(props, { attrs, slots }) {
|
|
15
|
-
return () =>
|
|
16
|
-
h(props.as ?? "table", attrs, slots.default ? slots.default() : [])
|
|
11
|
+
return () => h("table", attrs, slots.default ? slots.default() : [])
|
|
17
12
|
},
|
|
18
13
|
}),
|
|
19
14
|
thead: defineComponent({
|
|
20
|
-
props:
|
|
21
|
-
...getTableComponentProps.thead(),
|
|
22
|
-
as: { type: String as PropType<string | undefined> },
|
|
23
|
-
},
|
|
15
|
+
props: getTableComponentProps.thead(),
|
|
24
16
|
setup(props, { attrs, slots }) {
|
|
25
|
-
return () =>
|
|
26
|
-
h(props.as ?? "thead", attrs, slots.default ? slots.default() : [])
|
|
17
|
+
return () => h("thead", attrs, slots.default ? slots.default() : [])
|
|
27
18
|
},
|
|
28
19
|
}),
|
|
29
20
|
tbody: defineComponent({
|
|
30
|
-
props:
|
|
31
|
-
...getTableComponentProps.tbody(),
|
|
32
|
-
as: { type: String as PropType<string | undefined> },
|
|
33
|
-
},
|
|
21
|
+
props: getTableComponentProps.tbody(),
|
|
34
22
|
setup(props, { attrs, slots }) {
|
|
35
|
-
return () =>
|
|
36
|
-
h(props.as ?? "tbody", attrs, slots.default ? slots.default() : [])
|
|
23
|
+
return () => h("tbody", attrs, slots.default ? slots.default() : [])
|
|
37
24
|
},
|
|
38
25
|
}),
|
|
39
26
|
tr: defineComponent({
|
|
40
|
-
props:
|
|
41
|
-
...getTableComponentProps.tr(),
|
|
42
|
-
as: { type: String as PropType<string | undefined> },
|
|
43
|
-
},
|
|
27
|
+
props: getTableComponentProps.tr(),
|
|
44
28
|
setup(props, { attrs, slots }) {
|
|
45
|
-
return () =>
|
|
46
|
-
h(props.as ?? "tr", attrs, slots.default ? slots.default() : [])
|
|
29
|
+
return () => h("tr", attrs, slots.default ? slots.default() : [])
|
|
47
30
|
},
|
|
48
31
|
}),
|
|
49
32
|
th: defineComponent({
|
|
50
|
-
props:
|
|
51
|
-
...getTableComponentProps.th(),
|
|
52
|
-
as: { type: String as PropType<string | undefined> },
|
|
53
|
-
},
|
|
33
|
+
props: getTableComponentProps.th(),
|
|
54
34
|
setup(props, { attrs, slots }) {
|
|
55
|
-
return () =>
|
|
56
|
-
h(props.as ?? "th", attrs, slots.default ? slots.default() : [])
|
|
35
|
+
return () => h("th", attrs, slots.default ? slots.default() : [])
|
|
57
36
|
},
|
|
58
37
|
}),
|
|
59
38
|
td: defineComponent({
|
|
60
|
-
props:
|
|
61
|
-
...getTableComponentProps.td(),
|
|
62
|
-
as: { type: String as PropType<string | undefined> },
|
|
63
|
-
},
|
|
39
|
+
props: getTableComponentProps.td(),
|
|
64
40
|
setup(props, { attrs, slots }) {
|
|
65
|
-
return () =>
|
|
66
|
-
h(props.as ?? "td", attrs, slots.default ? slots.default() : [])
|
|
41
|
+
return () => h("td", attrs, slots.default ? slots.default() : [])
|
|
67
42
|
},
|
|
68
43
|
}),
|
|
69
44
|
}
|
|
@@ -8,8 +8,7 @@ import type {
|
|
|
8
8
|
TableFieldHeaderCell,
|
|
9
9
|
} from "@prismicio/client"
|
|
10
10
|
|
|
11
|
-
import type {
|
|
12
|
-
import type { VueComponent } from "../types"
|
|
11
|
+
import type { VueComponent, VueComponentShorthand } from "../types"
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* A map of Table block types to Vue Components. It is used to render table
|
|
@@ -18,30 +17,49 @@ import type { VueComponent } from "../types"
|
|
|
18
17
|
* @see Templating Table fields from Prismic {@link https://prismic.io/docs/table}
|
|
19
18
|
*/
|
|
20
19
|
export type VueTableComponents = {
|
|
21
|
-
table?:
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
table?:
|
|
21
|
+
| VueComponent<{ table: TableField<"filled"> }>
|
|
22
|
+
| Omit<VueComponentShorthand, "as">
|
|
23
|
+
thead?:
|
|
24
|
+
| VueComponent<{ head: TableFieldHead }>
|
|
25
|
+
| Omit<VueComponentShorthand, "as">
|
|
26
|
+
tbody?:
|
|
27
|
+
| VueComponent<{ body: TableFieldBody }>
|
|
28
|
+
| Omit<VueComponentShorthand, "as">
|
|
24
29
|
tr?:
|
|
25
30
|
| VueComponent<{ row: TableFieldBodyRow | TableFieldHeadRow }>
|
|
26
|
-
|
|
|
27
|
-
th?:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
thead: VueComponent<{ head: TableFieldHead; as?: string }>
|
|
34
|
-
tbody: VueComponent<{ body: TableFieldBody; as?: string }>
|
|
35
|
-
tr: VueComponent<{ row: TableFieldBodyRow | TableFieldHeadRow; as?: string }>
|
|
36
|
-
th: VueComponent<{ cell: TableFieldHeaderCell; as?: string }>
|
|
37
|
-
td: VueComponent<{ cell: TableFieldDataCell; as?: string }>
|
|
31
|
+
| Omit<VueComponentShorthand, "as">
|
|
32
|
+
th?:
|
|
33
|
+
| VueComponent<{ cell: TableFieldHeaderCell }>
|
|
34
|
+
| Omit<VueComponentShorthand, "as">
|
|
35
|
+
td?:
|
|
36
|
+
| VueComponent<{ cell: TableFieldDataCell }>
|
|
37
|
+
| Omit<VueComponentShorthand, "as">
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
export type InternalVueTableComponents = {
|
|
41
|
-
table: {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
table: {
|
|
42
|
+
is: VueTableComponents["table"]
|
|
43
|
+
shorthand?: Omit<VueComponentShorthand, "as">
|
|
44
|
+
}
|
|
45
|
+
thead: {
|
|
46
|
+
is: VueTableComponents["thead"]
|
|
47
|
+
shorthand?: Omit<VueComponentShorthand, "as">
|
|
48
|
+
}
|
|
49
|
+
tbody: {
|
|
50
|
+
is: VueTableComponents["tbody"]
|
|
51
|
+
shorthand?: Omit<VueComponentShorthand, "as">
|
|
52
|
+
}
|
|
53
|
+
tr: {
|
|
54
|
+
is: VueTableComponents["tr"]
|
|
55
|
+
shorthand?: Omit<VueComponentShorthand, "as">
|
|
56
|
+
}
|
|
57
|
+
th: {
|
|
58
|
+
is: VueTableComponents["th"]
|
|
59
|
+
shorthand?: Omit<VueComponentShorthand, "as">
|
|
60
|
+
}
|
|
61
|
+
td: {
|
|
62
|
+
is: VueTableComponents["td"]
|
|
63
|
+
shorthand?: Omit<VueComponentShorthand, "as">
|
|
64
|
+
}
|
|
47
65
|
}
|
package/src/types.ts
CHANGED
|
@@ -20,8 +20,20 @@ export type VueComponent<TProps> =
|
|
|
20
20
|
| DefineComponent<TProps>
|
|
21
21
|
| FunctionalComponent<TProps>
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* A shorthand definition for `<PrismicRichText />` and `<PrismicTable />`
|
|
25
|
+
* component types.
|
|
26
|
+
*/
|
|
27
|
+
export type VueComponentShorthand = {
|
|
28
|
+
/** The HTML element type rendered for this node type. */
|
|
29
|
+
as?: string
|
|
30
|
+
|
|
31
|
+
/** Other attributes to apply to the element type. */
|
|
32
|
+
[Attribute: string]: string | boolean | null | undefined
|
|
33
|
+
}
|
|
34
|
+
|
|
23
35
|
export const isVueComponent = <T>(
|
|
24
|
-
component: VueComponent<T> |
|
|
36
|
+
component: VueComponent<T> | VueComponentShorthand | undefined,
|
|
25
37
|
): component is VueComponent<T> => {
|
|
26
38
|
return (
|
|
27
39
|
!!component &&
|