@prismicio/vue 5.3.0-canary.5d9ea4c → 5.3.0-canary.aa89de6
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.map +1 -1
- package/dist/PrismicLink.vue.d.cts +24 -104
- package/dist/PrismicLink.vue.d.cts.map +1 -1
- package/dist/PrismicRichText/PrismicRichText.vue.d.cts +31 -36
- package/dist/PrismicRichText/PrismicRichText.vue.d.cts.map +1 -1
- package/dist/PrismicRichText/types.d.cts +15 -2
- package/dist/PrismicRichText/types.d.cts.map +1 -1
- package/dist/PrismicTable/PrismicTable.vue.d.cts +8 -8
- package/dist/PrismicTable/PrismicTable.vue.d.cts.map +1 -1
- package/dist/PrismicTable/types.d.cts +7 -6
- package/dist/PrismicTable/types.d.cts.map +1 -1
- package/dist/PrismicText.vue.d.cts +2 -10
- package/dist/PrismicText.vue.d.cts.map +1 -1
- package/dist/SliceZone/SliceZone.vue.d.cts +2 -10
- package/dist/SliceZone/SliceZone.vue.d.cts.map +1 -1
- package/dist/index.cjs +3 -10
- package/dist/index.d.cts +9 -13
- package/dist/index.d.ts +11 -15
- package/dist/index.js +3 -6
- 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.cjs.map +1 -1
- package/dist/src/PrismicImage.js.map +1 -1
- package/dist/src/PrismicImage.vue.d.ts +4 -4
- package/dist/src/PrismicImage.vue.d.ts.map +1 -1
- package/dist/src/PrismicImage.vue_vue_type_script_setup_true_lang.cjs +2 -4
- package/dist/src/PrismicImage.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/src/PrismicImage.vue_vue_type_script_setup_true_lang.js +2 -4
- package/dist/src/PrismicImage.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/src/PrismicLink.cjs.map +1 -1
- package/dist/src/PrismicLink.js.map +1 -1
- package/dist/src/PrismicLink.vue.d.ts +24 -104
- package/dist/src/PrismicLink.vue.d.ts.map +1 -1
- package/dist/src/PrismicLink.vue_vue_type_script_setup_true_lang.cjs +3 -6
- package/dist/src/PrismicLink.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/src/PrismicLink.vue_vue_type_script_setup_true_lang.js +3 -6
- package/dist/src/PrismicLink.vue_vue_type_script_setup_true_lang.js.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 +31 -36
- package/dist/src/PrismicRichText/PrismicRichText.vue.d.ts.map +1 -1
- package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.cjs +19 -52
- 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 +20 -53
- 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 +75 -35
- 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 +76 -36
- 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 +29 -8
- 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 +30 -9
- package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/src/PrismicRichText/types.d.ts +15 -2
- 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 +7 -7
- package/dist/src/PrismicTable/PrismicTable.vue.d.ts.map +1 -1
- package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.cjs +5 -5
- 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 +5 -5
- package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/src/PrismicTable/PrismicTableDefaultComponents.cjs +36 -18
- package/dist/src/PrismicTable/PrismicTableDefaultComponents.cjs.map +1 -1
- package/dist/src/PrismicTable/PrismicTableDefaultComponents.js +36 -18
- package/dist/src/PrismicTable/PrismicTableDefaultComponents.js.map +1 -1
- package/dist/src/PrismicTable/types.d.ts +7 -6
- package/dist/src/PrismicTable/types.d.ts.map +1 -1
- package/dist/src/PrismicText.cjs.map +1 -1
- package/dist/src/PrismicText.js.map +1 -1
- package/dist/src/PrismicText.vue.d.ts +2 -10
- package/dist/src/PrismicText.vue.d.ts.map +1 -1
- package/dist/src/PrismicText.vue_vue_type_script_setup_true_lang.cjs +1 -12
- package/dist/src/PrismicText.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/src/PrismicText.vue_vue_type_script_setup_true_lang.js +3 -14
- package/dist/src/PrismicText.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/src/SliceZone/SliceZone.cjs.map +1 -1
- package/dist/src/SliceZone/SliceZone.js.map +1 -1
- package/dist/src/SliceZone/SliceZone.vue.d.ts +2 -10
- package/dist/src/SliceZone/SliceZone.vue.d.ts.map +1 -1
- package/dist/src/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.cjs +5 -17
- package/dist/src/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/src/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.js +6 -18
- package/dist/src/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/src/types.d.ts +2 -352
- package/dist/src/types.d.ts.map +1 -1
- package/dist/types.d.cts +2 -352
- package/dist/types.d.cts.map +1 -1
- package/package.json +6 -5
- package/src/PrismicImage.vue +2 -11
- package/src/PrismicLink.vue +9 -34
- package/src/PrismicRichText/PrismicRichText.vue +31 -101
- package/src/PrismicRichText/PrismicRichTextDefaultComponent.vue +46 -20
- package/src/PrismicRichText/PrismicRichTextSerialize.vue +31 -10
- package/src/PrismicRichText/types.ts +16 -1
- package/src/PrismicTable/PrismicTable.vue +7 -7
- package/src/PrismicTable/PrismicTableDefaultComponents.ts +39 -20
- package/src/PrismicTable/types.ts +16 -6
- package/src/PrismicText.vue +2 -15
- package/src/SliceZone/SliceZone.vue +9 -27
- package/src/index.ts +13 -21
- package/src/types.ts +1 -439
- package/dist/PrismicEmbed.vue.d.cts +0 -25
- package/dist/PrismicEmbed.vue.d.cts.map +0 -1
- package/dist/createPrismic.d.cts +0 -29
- package/dist/createPrismic.d.cts.map +0 -1
- package/dist/src/PrismicEmbed.cjs +0 -8
- package/dist/src/PrismicEmbed.cjs.map +0 -1
- package/dist/src/PrismicEmbed.js +0 -8
- package/dist/src/PrismicEmbed.js.map +0 -1
- package/dist/src/PrismicEmbed.vue.d.ts +0 -25
- package/dist/src/PrismicEmbed.vue.d.ts.map +0 -1
- package/dist/src/PrismicEmbed.vue_vue_type_script_setup_true_lang.cjs +0 -42
- package/dist/src/PrismicEmbed.vue_vue_type_script_setup_true_lang.cjs.map +0 -1
- package/dist/src/PrismicEmbed.vue_vue_type_script_setup_true_lang.js +0 -42
- package/dist/src/PrismicEmbed.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/src/PrismicRichText/DeprecatedPrismicRichText.cjs +0 -8
- package/dist/src/PrismicRichText/DeprecatedPrismicRichText.cjs.map +0 -1
- package/dist/src/PrismicRichText/DeprecatedPrismicRichText.js +0 -8
- package/dist/src/PrismicRichText/DeprecatedPrismicRichText.js.map +0 -1
- package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.cjs +0 -92
- package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.cjs.map +0 -1
- package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.js +0 -92
- package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/src/createPrismic.cjs +0 -85
- package/dist/src/createPrismic.cjs.map +0 -1
- package/dist/src/createPrismic.d.ts +0 -29
- package/dist/src/createPrismic.d.ts.map +0 -1
- package/dist/src/createPrismic.js +0 -85
- package/dist/src/createPrismic.js.map +0 -1
- package/dist/src/lib/Wrapper.cjs +0 -8
- package/dist/src/lib/Wrapper.cjs.map +0 -1
- package/dist/src/lib/Wrapper.js +0 -8
- package/dist/src/lib/Wrapper.js.map +0 -1
- package/dist/src/lib/Wrapper.vue_vue_type_script_setup_true_lang.cjs +0 -22
- package/dist/src/lib/Wrapper.vue_vue_type_script_setup_true_lang.cjs.map +0 -1
- package/dist/src/lib/Wrapper.vue_vue_type_script_setup_true_lang.js +0 -22
- package/dist/src/lib/Wrapper.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/src/usePrismic.cjs +0 -38
- package/dist/src/usePrismic.cjs.map +0 -1
- package/dist/src/usePrismic.d.ts +0 -36
- package/dist/src/usePrismic.d.ts.map +0 -1
- package/dist/src/usePrismic.js +0 -37
- package/dist/src/usePrismic.js.map +0 -1
- package/dist/usePrismic.d.cts +0 -36
- package/dist/usePrismic.d.cts.map +0 -1
- package/src/PrismicEmbed.vue +0 -42
- package/src/PrismicRichText/DeprecatedPrismicRichText.vue +0 -146
- package/src/createPrismic.ts +0 -154
- package/src/usePrismic.ts +0 -36
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { createBlock, createCommentVNode, defineComponent, openBlock, resolveDynamicComponent, unref } from "vue";
|
|
2
|
-
import { isFilled } from "@prismicio/client";
|
|
3
|
-
|
|
4
|
-
//#region src/PrismicEmbed.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
-
/**
|
|
6
|
-
* The default component rendered to wrap the embed.
|
|
7
|
-
*/
|
|
8
|
-
const defaultWrapper = "div";
|
|
9
|
-
var PrismicEmbed_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
10
|
-
name: "PrismicEmbed",
|
|
11
|
-
__name: "PrismicEmbed",
|
|
12
|
-
props: {
|
|
13
|
-
field: {
|
|
14
|
-
type: null,
|
|
15
|
-
required: true
|
|
16
|
-
},
|
|
17
|
-
wrapper: {
|
|
18
|
-
type: null,
|
|
19
|
-
required: false
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
setup(__props) {
|
|
23
|
-
return (_ctx, _cache) => {
|
|
24
|
-
return unref(isFilled).embed(__props.field) ? (openBlock(), createBlock(resolveDynamicComponent(__props.wrapper || defaultWrapper), {
|
|
25
|
-
key: 0,
|
|
26
|
-
"data-oembed": __props.field.embed_url,
|
|
27
|
-
"data-oembed-type": __props.field.type,
|
|
28
|
-
"data-oembed-provider": __props.field.provider_name,
|
|
29
|
-
innerHTML: __props.field.html
|
|
30
|
-
}, null, 8, [
|
|
31
|
-
"data-oembed",
|
|
32
|
-
"data-oembed-type",
|
|
33
|
-
"data-oembed-provider",
|
|
34
|
-
"innerHTML"
|
|
35
|
-
])) : createCommentVNode("v-if", true);
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
//#endregion
|
|
41
|
-
export { PrismicEmbed_vue_vue_type_script_setup_true_lang_default as default };
|
|
42
|
-
//# sourceMappingURL=PrismicEmbed.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PrismicEmbed.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../src/PrismicEmbed.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { EmbedField } from \"@prismicio/client\"\nimport { isFilled } from \"@prismicio/client\"\n\nimport type { ComponentOrTagName } from \"./types\"\n\n/**\n * The default component rendered to wrap the embed.\n */\nconst defaultWrapper = \"div\"\n\n/**\n * Props for `<PrismicEmbed />`.\n */\nexport type PrismicEmbedProps = {\n\t/**\n\t * The Prismic EMbed field to render.\n\t */\n\tfield: EmbedField\n\n\t/**\n\t * An HTML tag name or a component used to wrap the output.\n\t *\n\t * @defaultValue `\"div\"`\n\t */\n\twrapper?: ComponentOrTagName\n}\n\ndefineProps<PrismicEmbedProps>()\ndefineOptions({ name: \"PrismicEmbed\" })\n</script>\n\n<template>\n\t<component\n\t\tv-if=\"isFilled.embed(field)\"\n\t\t:is=\"wrapper || defaultWrapper\"\n\t\t:data-oembed=\"field.embed_url\"\n\t\t:data-oembed-type=\"field.type\"\n\t\t:data-oembed-provider=\"field.provider_name\"\n\t\tv-html=\"field.html\"\n\t/>\n</template>\n"],"mappings":";;;;;;;AASA,MAAM,iBAAiB;;;;;;;;;;;;;;;;UAyBf,MAAA,SAAQ,CAAC,MAAM,QAAA,MAAK,iBAD3B,YAOE,wBALI,QAAA,WAAW,eAAc,EAAA;;IAC7B,eAAa,QAAA,MAAM;IACnB,oBAAkB,QAAA,MAAM;IACxB,wBAAsB,QAAA,MAAM;IAC7B,WAAQ,QAAA,MAAM"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
const require_DeprecatedPrismicRichText_vue_vue_type_script_setup_true_lang = require('./DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/PrismicRichText/DeprecatedPrismicRichText.vue
|
|
4
|
-
var DeprecatedPrismicRichText_default = require_DeprecatedPrismicRichText_vue_vue_type_script_setup_true_lang.default;
|
|
5
|
-
|
|
6
|
-
//#endregion
|
|
7
|
-
exports.default = DeprecatedPrismicRichText_default;
|
|
8
|
-
//# sourceMappingURL=DeprecatedPrismicRichText.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeprecatedPrismicRichText.cjs","names":[],"sources":["../../../src/PrismicRichText/DeprecatedPrismicRichText.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n// TODO: Remove in v6\nimport { asHTML, isFilled } from \"@prismicio/client\"\nimport { DEV } from \"esm-env\"\nimport type { Component, PropType } from \"vue\"\nimport {\n\tcomputed,\n\tinject,\n\tnextTick,\n\tonBeforeUnmount,\n\tonMounted,\n\tref,\n\twatch,\n} from \"vue\"\nimport { routerKey } from \"vue-router\"\n\nimport { devMsg } from \"../lib/devMsg\"\nimport { isInternalURL } from \"../lib/isInternalURL\"\n\nimport { usePrismic } from \"../usePrismic\"\n\nimport type { PrismicRichTextProps } from \"./PrismicRichText.vue\"\n\n/**\n * The default component rendered to wrap the HTML output.\n */\nconst defaultWrapper = \"div\"\n\n// We're forced to declare props using the JavaScript syntax because `@vue/compiler-sfc`\n// has limitations for inferring types from complex objects.\nconst props = defineProps({\n\tfield: {\n\t\ttype: Array as unknown as PropType<PrismicRichTextProps[\"field\"]>,\n\t},\n\tfallback: {\n\t\ttype: String as PropType<string>,\n\t},\n\tlinkResolver: {\n\t\ttype: Function as PropType<PrismicRichTextProps[\"linkResolver\"]>,\n\t},\n\tserializer: {\n\t\ttype: [Object, Function] as PropType<PrismicRichTextProps[\"serializer\"]>,\n\t},\n\twrapper: {\n\t\ttype: [String, Object, Function] as PropType<\n\t\t\tPrismicRichTextProps[\"wrapper\"]\n\t\t>,\n\t},\n})\ndefineOptions({ name: \"DeprecatedPrismicRichText\" })\n\nconst { options } = usePrismic()\n\nif (DEV) {\n\tonMounted(() => {\n\t\tconsole.warn(\n\t\t\t`[PrismicRichText] You're using the deprecated version of \\`<PrismicRichText>\\` because either the \\`serializer\\` prop or the plugin \\`richTextSerializer\\` option were provided. This API will be removed in a future major. For more details, see ${devMsg(\n\t\t\t\t\"html-serialization-is-deprecated-with-prismic-rich-text\",\n\t\t\t)}`,\n\t\t)\n\t})\n}\n\nconst html = computed(() => {\n\tif (!isFilled.richText(props.field)) {\n\t\treturn props.fallback ?? \"\"\n\t}\n\n\tconst linkResolver = props.linkResolver ?? options.linkResolver\n\tconst serializer = props.serializer ?? options.richTextSerializer\n\n\treturn asHTML(props.field, { linkResolver, serializer })\n})\n\n// Internal links handling\nconst root = ref<HTMLElement | Comment | Component | null>(null)\n\nconst maybeRouter = inject(routerKey, null)\n\ntype InternalLink = {\n\telement: HTMLAnchorElement\n\tlistener: EventListener\n}\n\nlet links: InternalLink[] = []\n\nconst navigate: EventListener = function (\n\tthis: { href: string },\n\tevent: Event,\n) {\n\tevent.preventDefault()\n\tmaybeRouter?.push(this.href)\n}\n\nconst addListeners = () => {\n\tconst node: HTMLElement | Comment | null =\n\t\troot.value && \"$el\" in root.value ? root.value.$el : root.value\n\tif (node && \"querySelectorAll\" in node) {\n\t\t// Get all internal link tags and add listeners on them\n\t\tlinks = Array.from(node.querySelectorAll(\"a\"))\n\t\t\t.map((element) => {\n\t\t\t\tconst href = element.getAttribute(\"href\")\n\n\t\t\t\tif (href && isInternalURL(href)) {\n\t\t\t\t\tconst listener = navigate.bind({ href })\n\t\t\t\t\telement.addEventListener(\"click\", listener)\n\n\t\t\t\t\treturn { element, listener }\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter((link): link is InternalLink => link as boolean)\n\t}\n}\n\nconst removeListeners = () => {\n\tlinks.forEach(({ element, listener }) =>\n\t\telement.removeEventListener(\"click\", listener),\n\t)\n\tlinks = []\n}\n\nonMounted(() => {\n\tremoveListeners()\n\tnextTick(addListeners)\n})\n\nwatch(html, () => {\n\tremoveListeners()\n\tnextTick(addListeners)\n})\n\nonBeforeUnmount(() => {\n\tremoveListeners()\n})\n</script>\n\n<template>\n\t<component\n\t\tv-if=\"isFilled.richText(field) || fallback\"\n\t\tref=\"root\"\n\t\t:is=\"wrapper || defaultWrapper\"\n\t\tv-html=\"html\"\n\t/>\n</template>\n"],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import DeprecatedPrismicRichText_vue_vue_type_script_setup_true_lang_default from "./DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
-
|
|
3
|
-
//#region src/PrismicRichText/DeprecatedPrismicRichText.vue
|
|
4
|
-
var DeprecatedPrismicRichText_default = DeprecatedPrismicRichText_vue_vue_type_script_setup_true_lang_default;
|
|
5
|
-
|
|
6
|
-
//#endregion
|
|
7
|
-
export { DeprecatedPrismicRichText_default as default };
|
|
8
|
-
//# sourceMappingURL=DeprecatedPrismicRichText.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeprecatedPrismicRichText.js","names":[],"sources":["../../../src/PrismicRichText/DeprecatedPrismicRichText.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n// TODO: Remove in v6\nimport { asHTML, isFilled } from \"@prismicio/client\"\nimport { DEV } from \"esm-env\"\nimport type { Component, PropType } from \"vue\"\nimport {\n\tcomputed,\n\tinject,\n\tnextTick,\n\tonBeforeUnmount,\n\tonMounted,\n\tref,\n\twatch,\n} from \"vue\"\nimport { routerKey } from \"vue-router\"\n\nimport { devMsg } from \"../lib/devMsg\"\nimport { isInternalURL } from \"../lib/isInternalURL\"\n\nimport { usePrismic } from \"../usePrismic\"\n\nimport type { PrismicRichTextProps } from \"./PrismicRichText.vue\"\n\n/**\n * The default component rendered to wrap the HTML output.\n */\nconst defaultWrapper = \"div\"\n\n// We're forced to declare props using the JavaScript syntax because `@vue/compiler-sfc`\n// has limitations for inferring types from complex objects.\nconst props = defineProps({\n\tfield: {\n\t\ttype: Array as unknown as PropType<PrismicRichTextProps[\"field\"]>,\n\t},\n\tfallback: {\n\t\ttype: String as PropType<string>,\n\t},\n\tlinkResolver: {\n\t\ttype: Function as PropType<PrismicRichTextProps[\"linkResolver\"]>,\n\t},\n\tserializer: {\n\t\ttype: [Object, Function] as PropType<PrismicRichTextProps[\"serializer\"]>,\n\t},\n\twrapper: {\n\t\ttype: [String, Object, Function] as PropType<\n\t\t\tPrismicRichTextProps[\"wrapper\"]\n\t\t>,\n\t},\n})\ndefineOptions({ name: \"DeprecatedPrismicRichText\" })\n\nconst { options } = usePrismic()\n\nif (DEV) {\n\tonMounted(() => {\n\t\tconsole.warn(\n\t\t\t`[PrismicRichText] You're using the deprecated version of \\`<PrismicRichText>\\` because either the \\`serializer\\` prop or the plugin \\`richTextSerializer\\` option were provided. This API will be removed in a future major. For more details, see ${devMsg(\n\t\t\t\t\"html-serialization-is-deprecated-with-prismic-rich-text\",\n\t\t\t)}`,\n\t\t)\n\t})\n}\n\nconst html = computed(() => {\n\tif (!isFilled.richText(props.field)) {\n\t\treturn props.fallback ?? \"\"\n\t}\n\n\tconst linkResolver = props.linkResolver ?? options.linkResolver\n\tconst serializer = props.serializer ?? options.richTextSerializer\n\n\treturn asHTML(props.field, { linkResolver, serializer })\n})\n\n// Internal links handling\nconst root = ref<HTMLElement | Comment | Component | null>(null)\n\nconst maybeRouter = inject(routerKey, null)\n\ntype InternalLink = {\n\telement: HTMLAnchorElement\n\tlistener: EventListener\n}\n\nlet links: InternalLink[] = []\n\nconst navigate: EventListener = function (\n\tthis: { href: string },\n\tevent: Event,\n) {\n\tevent.preventDefault()\n\tmaybeRouter?.push(this.href)\n}\n\nconst addListeners = () => {\n\tconst node: HTMLElement | Comment | null =\n\t\troot.value && \"$el\" in root.value ? root.value.$el : root.value\n\tif (node && \"querySelectorAll\" in node) {\n\t\t// Get all internal link tags and add listeners on them\n\t\tlinks = Array.from(node.querySelectorAll(\"a\"))\n\t\t\t.map((element) => {\n\t\t\t\tconst href = element.getAttribute(\"href\")\n\n\t\t\t\tif (href && isInternalURL(href)) {\n\t\t\t\t\tconst listener = navigate.bind({ href })\n\t\t\t\t\telement.addEventListener(\"click\", listener)\n\n\t\t\t\t\treturn { element, listener }\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter((link): link is InternalLink => link as boolean)\n\t}\n}\n\nconst removeListeners = () => {\n\tlinks.forEach(({ element, listener }) =>\n\t\telement.removeEventListener(\"click\", listener),\n\t)\n\tlinks = []\n}\n\nonMounted(() => {\n\tremoveListeners()\n\tnextTick(addListeners)\n})\n\nwatch(html, () => {\n\tremoveListeners()\n\tnextTick(addListeners)\n})\n\nonBeforeUnmount(() => {\n\tremoveListeners()\n})\n</script>\n\n<template>\n\t<component\n\t\tv-if=\"isFilled.richText(field) || fallback\"\n\t\tref=\"root\"\n\t\t:is=\"wrapper || defaultWrapper\"\n\t\tv-html=\"html\"\n\t/>\n</template>\n"],"mappings":""}
|
package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.cjs
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
const require_usePrismic = require('../usePrismic.cjs');
|
|
2
|
-
const require_devMsg = require('../lib/devMsg.cjs');
|
|
3
|
-
const require_isInternalURL = require('../lib/isInternalURL.cjs');
|
|
4
|
-
let vue = require("vue");
|
|
5
|
-
let __prismicio_client = require("@prismicio/client");
|
|
6
|
-
let esm_env = require("esm-env");
|
|
7
|
-
let vue_router = require("vue-router");
|
|
8
|
-
|
|
9
|
-
//#region src/PrismicRichText/DeprecatedPrismicRichText.vue?vue&type=script&setup=true&lang.ts
|
|
10
|
-
/**
|
|
11
|
-
* The default component rendered to wrap the HTML output.
|
|
12
|
-
*/
|
|
13
|
-
const defaultWrapper = "div";
|
|
14
|
-
var DeprecatedPrismicRichText_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
15
|
-
name: "DeprecatedPrismicRichText",
|
|
16
|
-
__name: "DeprecatedPrismicRichText",
|
|
17
|
-
props: {
|
|
18
|
-
field: { type: Array },
|
|
19
|
-
fallback: { type: String },
|
|
20
|
-
linkResolver: { type: Function },
|
|
21
|
-
serializer: { type: [Object, Function] },
|
|
22
|
-
wrapper: { type: [
|
|
23
|
-
String,
|
|
24
|
-
Object,
|
|
25
|
-
Function
|
|
26
|
-
] }
|
|
27
|
-
},
|
|
28
|
-
setup(__props) {
|
|
29
|
-
const props = __props;
|
|
30
|
-
const { options } = require_usePrismic.usePrismic();
|
|
31
|
-
if (esm_env.DEV) (0, vue.onMounted)(() => {
|
|
32
|
-
console.warn(`[PrismicRichText] You're using the deprecated version of \`<PrismicRichText>\` because either the \`serializer\` prop or the plugin \`richTextSerializer\` option were provided. This API will be removed in a future major. For more details, see ${require_devMsg.devMsg("html-serialization-is-deprecated-with-prismic-rich-text")}`);
|
|
33
|
-
});
|
|
34
|
-
const html = (0, vue.computed)(() => {
|
|
35
|
-
if (!__prismicio_client.isFilled.richText(props.field)) return props.fallback ?? "";
|
|
36
|
-
const linkResolver = props.linkResolver ?? options.linkResolver;
|
|
37
|
-
const serializer = props.serializer ?? options.richTextSerializer;
|
|
38
|
-
return (0, __prismicio_client.asHTML)(props.field, {
|
|
39
|
-
linkResolver,
|
|
40
|
-
serializer
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
const root = (0, vue.ref)(null);
|
|
44
|
-
const maybeRouter = (0, vue.inject)(vue_router.routerKey, null);
|
|
45
|
-
let links = [];
|
|
46
|
-
const navigate = function(event) {
|
|
47
|
-
event.preventDefault();
|
|
48
|
-
maybeRouter?.push(this.href);
|
|
49
|
-
};
|
|
50
|
-
const addListeners = () => {
|
|
51
|
-
const node = root.value && "$el" in root.value ? root.value.$el : root.value;
|
|
52
|
-
if (node && "querySelectorAll" in node) links = Array.from(node.querySelectorAll("a")).map((element) => {
|
|
53
|
-
const href = element.getAttribute("href");
|
|
54
|
-
if (href && require_isInternalURL.isInternalURL(href)) {
|
|
55
|
-
const listener = navigate.bind({ href });
|
|
56
|
-
element.addEventListener("click", listener);
|
|
57
|
-
return {
|
|
58
|
-
element,
|
|
59
|
-
listener
|
|
60
|
-
};
|
|
61
|
-
} else return false;
|
|
62
|
-
}).filter((link) => link);
|
|
63
|
-
};
|
|
64
|
-
const removeListeners = () => {
|
|
65
|
-
links.forEach(({ element, listener }) => element.removeEventListener("click", listener));
|
|
66
|
-
links = [];
|
|
67
|
-
};
|
|
68
|
-
(0, vue.onMounted)(() => {
|
|
69
|
-
removeListeners();
|
|
70
|
-
(0, vue.nextTick)(addListeners);
|
|
71
|
-
});
|
|
72
|
-
(0, vue.watch)(html, () => {
|
|
73
|
-
removeListeners();
|
|
74
|
-
(0, vue.nextTick)(addListeners);
|
|
75
|
-
});
|
|
76
|
-
(0, vue.onBeforeUnmount)(() => {
|
|
77
|
-
removeListeners();
|
|
78
|
-
});
|
|
79
|
-
return (_ctx, _cache) => {
|
|
80
|
-
return (0, vue.unref)(__prismicio_client.isFilled).richText(__props.field) || __props.fallback ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(__props.wrapper || defaultWrapper), {
|
|
81
|
-
key: 0,
|
|
82
|
-
ref_key: "root",
|
|
83
|
-
ref: root,
|
|
84
|
-
innerHTML: html.value
|
|
85
|
-
}, null, 8, ["innerHTML"])) : (0, vue.createCommentVNode)("v-if", true);
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
//#endregion
|
|
91
|
-
exports.default = DeprecatedPrismicRichText_vue_vue_type_script_setup_true_lang_default;
|
|
92
|
-
//# sourceMappingURL=DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.cjs","names":[],"sources":["../../../src/PrismicRichText/DeprecatedPrismicRichText.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n// TODO: Remove in v6\nimport { asHTML, isFilled } from \"@prismicio/client\"\nimport { DEV } from \"esm-env\"\nimport type { Component, PropType } from \"vue\"\nimport {\n\tcomputed,\n\tinject,\n\tnextTick,\n\tonBeforeUnmount,\n\tonMounted,\n\tref,\n\twatch,\n} from \"vue\"\nimport { routerKey } from \"vue-router\"\n\nimport { devMsg } from \"../lib/devMsg\"\nimport { isInternalURL } from \"../lib/isInternalURL\"\n\nimport { usePrismic } from \"../usePrismic\"\n\nimport type { PrismicRichTextProps } from \"./PrismicRichText.vue\"\n\n/**\n * The default component rendered to wrap the HTML output.\n */\nconst defaultWrapper = \"div\"\n\n// We're forced to declare props using the JavaScript syntax because `@vue/compiler-sfc`\n// has limitations for inferring types from complex objects.\nconst props = defineProps({\n\tfield: {\n\t\ttype: Array as unknown as PropType<PrismicRichTextProps[\"field\"]>,\n\t},\n\tfallback: {\n\t\ttype: String as PropType<string>,\n\t},\n\tlinkResolver: {\n\t\ttype: Function as PropType<PrismicRichTextProps[\"linkResolver\"]>,\n\t},\n\tserializer: {\n\t\ttype: [Object, Function] as PropType<PrismicRichTextProps[\"serializer\"]>,\n\t},\n\twrapper: {\n\t\ttype: [String, Object, Function] as PropType<\n\t\t\tPrismicRichTextProps[\"wrapper\"]\n\t\t>,\n\t},\n})\ndefineOptions({ name: \"DeprecatedPrismicRichText\" })\n\nconst { options } = usePrismic()\n\nif (DEV) {\n\tonMounted(() => {\n\t\tconsole.warn(\n\t\t\t`[PrismicRichText] You're using the deprecated version of \\`<PrismicRichText>\\` because either the \\`serializer\\` prop or the plugin \\`richTextSerializer\\` option were provided. This API will be removed in a future major. For more details, see ${devMsg(\n\t\t\t\t\"html-serialization-is-deprecated-with-prismic-rich-text\",\n\t\t\t)}`,\n\t\t)\n\t})\n}\n\nconst html = computed(() => {\n\tif (!isFilled.richText(props.field)) {\n\t\treturn props.fallback ?? \"\"\n\t}\n\n\tconst linkResolver = props.linkResolver ?? options.linkResolver\n\tconst serializer = props.serializer ?? options.richTextSerializer\n\n\treturn asHTML(props.field, { linkResolver, serializer })\n})\n\n// Internal links handling\nconst root = ref<HTMLElement | Comment | Component | null>(null)\n\nconst maybeRouter = inject(routerKey, null)\n\ntype InternalLink = {\n\telement: HTMLAnchorElement\n\tlistener: EventListener\n}\n\nlet links: InternalLink[] = []\n\nconst navigate: EventListener = function (\n\tthis: { href: string },\n\tevent: Event,\n) {\n\tevent.preventDefault()\n\tmaybeRouter?.push(this.href)\n}\n\nconst addListeners = () => {\n\tconst node: HTMLElement | Comment | null =\n\t\troot.value && \"$el\" in root.value ? root.value.$el : root.value\n\tif (node && \"querySelectorAll\" in node) {\n\t\t// Get all internal link tags and add listeners on them\n\t\tlinks = Array.from(node.querySelectorAll(\"a\"))\n\t\t\t.map((element) => {\n\t\t\t\tconst href = element.getAttribute(\"href\")\n\n\t\t\t\tif (href && isInternalURL(href)) {\n\t\t\t\t\tconst listener = navigate.bind({ href })\n\t\t\t\t\telement.addEventListener(\"click\", listener)\n\n\t\t\t\t\treturn { element, listener }\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter((link): link is InternalLink => link as boolean)\n\t}\n}\n\nconst removeListeners = () => {\n\tlinks.forEach(({ element, listener }) =>\n\t\telement.removeEventListener(\"click\", listener),\n\t)\n\tlinks = []\n}\n\nonMounted(() => {\n\tremoveListeners()\n\tnextTick(addListeners)\n})\n\nwatch(html, () => {\n\tremoveListeners()\n\tnextTick(addListeners)\n})\n\nonBeforeUnmount(() => {\n\tremoveListeners()\n})\n</script>\n\n<template>\n\t<component\n\t\tv-if=\"isFilled.richText(field) || fallback\"\n\t\tref=\"root\"\n\t\t:is=\"wrapper || defaultWrapper\"\n\t\tv-html=\"html\"\n\t/>\n</template>\n"],"mappings":";;;;;;;;;;;;AA0BA,MAAM,iBAAiB;;;;;;;;;;;;;;;;EAIvB,MAAM,QAAQ;EAqBd,MAAM,EAAE,YAAY,+BAAW;AAE/B,MAAI,YACH,0BAAgB;AACf,WAAQ,KACP,sPAAsP,sBACrP,0DACA,GACF;IACA;EAGF,MAAM,+BAAsB;AAC3B,OAAI,CAAC,4BAAS,SAAS,MAAM,MAAM,CAClC,QAAO,MAAM,YAAY;GAG1B,MAAM,eAAe,MAAM,gBAAgB,QAAQ;GACnD,MAAM,aAAa,MAAM,cAAc,QAAQ;AAE/C,yCAAc,MAAM,OAAO;IAAE;IAAc;IAAY,CAAA;IACvD;EAGD,MAAM,oBAAqD,KAAI;EAE/D,MAAM,8BAAqB,sBAAW,KAAI;EAO1C,IAAI,QAAwB,EAAC;EAE7B,MAAM,WAA0B,SAE/B,OACC;AACD,SAAM,gBAAe;AACrB,gBAAa,KAAK,KAAK,KAAI;;EAG5B,MAAM,qBAAqB;GAC1B,MAAM,OACL,KAAK,SAAS,SAAS,KAAK,QAAQ,KAAK,MAAM,MAAM,KAAK;AAC3D,OAAI,QAAQ,sBAAsB,KAEjC,SAAQ,MAAM,KAAK,KAAK,iBAAiB,IAAI,CAAA,CAC3C,KAAK,YAAY;IACjB,MAAM,OAAO,QAAQ,aAAa,OAAM;AAExC,QAAI,QAAQ,oCAAc,KAAK,EAAE;KAChC,MAAM,WAAW,SAAS,KAAK,EAAE,MAAM,CAAA;AACvC,aAAQ,iBAAiB,SAAS,SAAQ;AAE1C,YAAO;MAAE;MAAS;MAAS;UAE3B,QAAO;KAER,CACA,QAAQ,SAA+B,KAAe;;EAI1D,MAAM,wBAAwB;AAC7B,SAAM,SAAS,EAAE,SAAS,eACzB,QAAQ,oBAAoB,SAAS,SAAS,CAC/C;AACA,WAAQ,EAAC;;AAGV,2BAAgB;AACf,oBAAgB;AAChB,qBAAS,aAAY;IACrB;AAED,iBAAM,YAAY;AACjB,oBAAgB;AAChB,qBAAS,aAAY;IACrB;AAED,iCAAsB;AACrB,oBAAgB;IAChB;;yBAKO,4BAAQ,CAAC,SAAS,QAAA,MAAK,IAAK,QAAA,wFAE7B,QAAA,WAAW,eAAc,EAAA;;aAD1B;IAAJ,KAAI;IAEJ,WAAQ,KAAA"}
|
package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { usePrismic } from "../usePrismic.js";
|
|
2
|
-
import { devMsg } from "../lib/devMsg.js";
|
|
3
|
-
import { isInternalURL } from "../lib/isInternalURL.js";
|
|
4
|
-
import { computed, createBlock, createCommentVNode, defineComponent, inject, nextTick, onBeforeUnmount, onMounted, openBlock, ref, resolveDynamicComponent, unref, watch } from "vue";
|
|
5
|
-
import { asHTML, isFilled } from "@prismicio/client";
|
|
6
|
-
import { DEV } from "esm-env";
|
|
7
|
-
import { routerKey } from "vue-router";
|
|
8
|
-
|
|
9
|
-
//#region src/PrismicRichText/DeprecatedPrismicRichText.vue?vue&type=script&setup=true&lang.ts
|
|
10
|
-
/**
|
|
11
|
-
* The default component rendered to wrap the HTML output.
|
|
12
|
-
*/
|
|
13
|
-
const defaultWrapper = "div";
|
|
14
|
-
var DeprecatedPrismicRichText_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
15
|
-
name: "DeprecatedPrismicRichText",
|
|
16
|
-
__name: "DeprecatedPrismicRichText",
|
|
17
|
-
props: {
|
|
18
|
-
field: { type: Array },
|
|
19
|
-
fallback: { type: String },
|
|
20
|
-
linkResolver: { type: Function },
|
|
21
|
-
serializer: { type: [Object, Function] },
|
|
22
|
-
wrapper: { type: [
|
|
23
|
-
String,
|
|
24
|
-
Object,
|
|
25
|
-
Function
|
|
26
|
-
] }
|
|
27
|
-
},
|
|
28
|
-
setup(__props) {
|
|
29
|
-
const props = __props;
|
|
30
|
-
const { options } = usePrismic();
|
|
31
|
-
if (DEV) onMounted(() => {
|
|
32
|
-
console.warn(`[PrismicRichText] You're using the deprecated version of \`<PrismicRichText>\` because either the \`serializer\` prop or the plugin \`richTextSerializer\` option were provided. This API will be removed in a future major. For more details, see ${devMsg("html-serialization-is-deprecated-with-prismic-rich-text")}`);
|
|
33
|
-
});
|
|
34
|
-
const html = computed(() => {
|
|
35
|
-
if (!isFilled.richText(props.field)) return props.fallback ?? "";
|
|
36
|
-
const linkResolver = props.linkResolver ?? options.linkResolver;
|
|
37
|
-
const serializer = props.serializer ?? options.richTextSerializer;
|
|
38
|
-
return asHTML(props.field, {
|
|
39
|
-
linkResolver,
|
|
40
|
-
serializer
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
const root = ref(null);
|
|
44
|
-
const maybeRouter = inject(routerKey, null);
|
|
45
|
-
let links = [];
|
|
46
|
-
const navigate = function(event) {
|
|
47
|
-
event.preventDefault();
|
|
48
|
-
maybeRouter?.push(this.href);
|
|
49
|
-
};
|
|
50
|
-
const addListeners = () => {
|
|
51
|
-
const node = root.value && "$el" in root.value ? root.value.$el : root.value;
|
|
52
|
-
if (node && "querySelectorAll" in node) links = Array.from(node.querySelectorAll("a")).map((element) => {
|
|
53
|
-
const href = element.getAttribute("href");
|
|
54
|
-
if (href && isInternalURL(href)) {
|
|
55
|
-
const listener = navigate.bind({ href });
|
|
56
|
-
element.addEventListener("click", listener);
|
|
57
|
-
return {
|
|
58
|
-
element,
|
|
59
|
-
listener
|
|
60
|
-
};
|
|
61
|
-
} else return false;
|
|
62
|
-
}).filter((link) => link);
|
|
63
|
-
};
|
|
64
|
-
const removeListeners = () => {
|
|
65
|
-
links.forEach(({ element, listener }) => element.removeEventListener("click", listener));
|
|
66
|
-
links = [];
|
|
67
|
-
};
|
|
68
|
-
onMounted(() => {
|
|
69
|
-
removeListeners();
|
|
70
|
-
nextTick(addListeners);
|
|
71
|
-
});
|
|
72
|
-
watch(html, () => {
|
|
73
|
-
removeListeners();
|
|
74
|
-
nextTick(addListeners);
|
|
75
|
-
});
|
|
76
|
-
onBeforeUnmount(() => {
|
|
77
|
-
removeListeners();
|
|
78
|
-
});
|
|
79
|
-
return (_ctx, _cache) => {
|
|
80
|
-
return unref(isFilled).richText(__props.field) || __props.fallback ? (openBlock(), createBlock(resolveDynamicComponent(__props.wrapper || defaultWrapper), {
|
|
81
|
-
key: 0,
|
|
82
|
-
ref_key: "root",
|
|
83
|
-
ref: root,
|
|
84
|
-
innerHTML: html.value
|
|
85
|
-
}, null, 8, ["innerHTML"])) : createCommentVNode("v-if", true);
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
//#endregion
|
|
91
|
-
export { DeprecatedPrismicRichText_vue_vue_type_script_setup_true_lang_default as default };
|
|
92
|
-
//# sourceMappingURL=DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/PrismicRichText/DeprecatedPrismicRichText.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n// TODO: Remove in v6\nimport { asHTML, isFilled } from \"@prismicio/client\"\nimport { DEV } from \"esm-env\"\nimport type { Component, PropType } from \"vue\"\nimport {\n\tcomputed,\n\tinject,\n\tnextTick,\n\tonBeforeUnmount,\n\tonMounted,\n\tref,\n\twatch,\n} from \"vue\"\nimport { routerKey } from \"vue-router\"\n\nimport { devMsg } from \"../lib/devMsg\"\nimport { isInternalURL } from \"../lib/isInternalURL\"\n\nimport { usePrismic } from \"../usePrismic\"\n\nimport type { PrismicRichTextProps } from \"./PrismicRichText.vue\"\n\n/**\n * The default component rendered to wrap the HTML output.\n */\nconst defaultWrapper = \"div\"\n\n// We're forced to declare props using the JavaScript syntax because `@vue/compiler-sfc`\n// has limitations for inferring types from complex objects.\nconst props = defineProps({\n\tfield: {\n\t\ttype: Array as unknown as PropType<PrismicRichTextProps[\"field\"]>,\n\t},\n\tfallback: {\n\t\ttype: String as PropType<string>,\n\t},\n\tlinkResolver: {\n\t\ttype: Function as PropType<PrismicRichTextProps[\"linkResolver\"]>,\n\t},\n\tserializer: {\n\t\ttype: [Object, Function] as PropType<PrismicRichTextProps[\"serializer\"]>,\n\t},\n\twrapper: {\n\t\ttype: [String, Object, Function] as PropType<\n\t\t\tPrismicRichTextProps[\"wrapper\"]\n\t\t>,\n\t},\n})\ndefineOptions({ name: \"DeprecatedPrismicRichText\" })\n\nconst { options } = usePrismic()\n\nif (DEV) {\n\tonMounted(() => {\n\t\tconsole.warn(\n\t\t\t`[PrismicRichText] You're using the deprecated version of \\`<PrismicRichText>\\` because either the \\`serializer\\` prop or the plugin \\`richTextSerializer\\` option were provided. This API will be removed in a future major. For more details, see ${devMsg(\n\t\t\t\t\"html-serialization-is-deprecated-with-prismic-rich-text\",\n\t\t\t)}`,\n\t\t)\n\t})\n}\n\nconst html = computed(() => {\n\tif (!isFilled.richText(props.field)) {\n\t\treturn props.fallback ?? \"\"\n\t}\n\n\tconst linkResolver = props.linkResolver ?? options.linkResolver\n\tconst serializer = props.serializer ?? options.richTextSerializer\n\n\treturn asHTML(props.field, { linkResolver, serializer })\n})\n\n// Internal links handling\nconst root = ref<HTMLElement | Comment | Component | null>(null)\n\nconst maybeRouter = inject(routerKey, null)\n\ntype InternalLink = {\n\telement: HTMLAnchorElement\n\tlistener: EventListener\n}\n\nlet links: InternalLink[] = []\n\nconst navigate: EventListener = function (\n\tthis: { href: string },\n\tevent: Event,\n) {\n\tevent.preventDefault()\n\tmaybeRouter?.push(this.href)\n}\n\nconst addListeners = () => {\n\tconst node: HTMLElement | Comment | null =\n\t\troot.value && \"$el\" in root.value ? root.value.$el : root.value\n\tif (node && \"querySelectorAll\" in node) {\n\t\t// Get all internal link tags and add listeners on them\n\t\tlinks = Array.from(node.querySelectorAll(\"a\"))\n\t\t\t.map((element) => {\n\t\t\t\tconst href = element.getAttribute(\"href\")\n\n\t\t\t\tif (href && isInternalURL(href)) {\n\t\t\t\t\tconst listener = navigate.bind({ href })\n\t\t\t\t\telement.addEventListener(\"click\", listener)\n\n\t\t\t\t\treturn { element, listener }\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter((link): link is InternalLink => link as boolean)\n\t}\n}\n\nconst removeListeners = () => {\n\tlinks.forEach(({ element, listener }) =>\n\t\telement.removeEventListener(\"click\", listener),\n\t)\n\tlinks = []\n}\n\nonMounted(() => {\n\tremoveListeners()\n\tnextTick(addListeners)\n})\n\nwatch(html, () => {\n\tremoveListeners()\n\tnextTick(addListeners)\n})\n\nonBeforeUnmount(() => {\n\tremoveListeners()\n})\n</script>\n\n<template>\n\t<component\n\t\tv-if=\"isFilled.richText(field) || fallback\"\n\t\tref=\"root\"\n\t\t:is=\"wrapper || defaultWrapper\"\n\t\tv-html=\"html\"\n\t/>\n</template>\n"],"mappings":";;;;;;;;;;;;AA0BA,MAAM,iBAAiB;;;;;;;;;;;;;;;;EAIvB,MAAM,QAAQ;EAqBd,MAAM,EAAE,YAAY,YAAW;AAE/B,MAAI,IACH,iBAAgB;AACf,WAAQ,KACP,sPAAsP,OACrP,0DACA,GACF;IACA;EAGF,MAAM,OAAO,eAAe;AAC3B,OAAI,CAAC,SAAS,SAAS,MAAM,MAAM,CAClC,QAAO,MAAM,YAAY;GAG1B,MAAM,eAAe,MAAM,gBAAgB,QAAQ;GACnD,MAAM,aAAa,MAAM,cAAc,QAAQ;AAE/C,UAAO,OAAO,MAAM,OAAO;IAAE;IAAc;IAAY,CAAA;IACvD;EAGD,MAAM,OAAO,IAA8C,KAAI;EAE/D,MAAM,cAAc,OAAO,WAAW,KAAI;EAO1C,IAAI,QAAwB,EAAC;EAE7B,MAAM,WAA0B,SAE/B,OACC;AACD,SAAM,gBAAe;AACrB,gBAAa,KAAK,KAAK,KAAI;;EAG5B,MAAM,qBAAqB;GAC1B,MAAM,OACL,KAAK,SAAS,SAAS,KAAK,QAAQ,KAAK,MAAM,MAAM,KAAK;AAC3D,OAAI,QAAQ,sBAAsB,KAEjC,SAAQ,MAAM,KAAK,KAAK,iBAAiB,IAAI,CAAA,CAC3C,KAAK,YAAY;IACjB,MAAM,OAAO,QAAQ,aAAa,OAAM;AAExC,QAAI,QAAQ,cAAc,KAAK,EAAE;KAChC,MAAM,WAAW,SAAS,KAAK,EAAE,MAAM,CAAA;AACvC,aAAQ,iBAAiB,SAAS,SAAQ;AAE1C,YAAO;MAAE;MAAS;MAAS;UAE3B,QAAO;KAER,CACA,QAAQ,SAA+B,KAAe;;EAI1D,MAAM,wBAAwB;AAC7B,SAAM,SAAS,EAAE,SAAS,eACzB,QAAQ,oBAAoB,SAAS,SAAS,CAC/C;AACA,WAAQ,EAAC;;AAGV,kBAAgB;AACf,oBAAgB;AAChB,YAAS,aAAY;IACrB;AAED,QAAM,YAAY;AACjB,oBAAgB;AAChB,YAAS,aAAY;IACrB;AAED,wBAAsB;AACrB,oBAAgB;IAChB;;UAKO,MAAA,SAAQ,CAAC,SAAS,QAAA,MAAK,IAAK,QAAA,yBADnC,YAKE,wBAFI,QAAA,WAAW,eAAc,EAAA;;aAD1B;IAAJ,KAAI;IAEJ,WAAQ,KAAA"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
const require_usePrismic = require('./usePrismic.cjs');
|
|
2
|
-
const require_PrismicEmbed = require('./PrismicEmbed.cjs');
|
|
3
|
-
const require_PrismicImage = require('./PrismicImage.cjs');
|
|
4
|
-
const require_PrismicLink = require('./PrismicLink.cjs');
|
|
5
|
-
const require_PrismicRichText = require('./PrismicRichText/PrismicRichText.cjs');
|
|
6
|
-
const require_PrismicTable = require('./PrismicTable/PrismicTable.cjs');
|
|
7
|
-
const require_SliceZone = require('./SliceZone/SliceZone.cjs');
|
|
8
|
-
const require_PrismicText = require('./PrismicText.cjs');
|
|
9
|
-
let __prismicio_client = require("@prismicio/client");
|
|
10
|
-
|
|
11
|
-
//#region src/createPrismic.ts
|
|
12
|
-
/**
|
|
13
|
-
* Creates a `@prismicio/vue` plugin instance that can be used by a Vue app.
|
|
14
|
-
*
|
|
15
|
-
* @param options - {@link PrismicPluginOptions}
|
|
16
|
-
*
|
|
17
|
-
* @returns `@prismicio/vue` plugin instance {@link PrismicPlugin}
|
|
18
|
-
*
|
|
19
|
-
* @see Prismic Official Vue.js documentation: {@link https://prismic.io/docs/technologies/vuejs}
|
|
20
|
-
* @see Plugin repository: {@link https://github.com/prismicio/prismic-vue}
|
|
21
|
-
*/
|
|
22
|
-
const createPrismic = (options) => {
|
|
23
|
-
let client;
|
|
24
|
-
if (options.client) client = options.client;
|
|
25
|
-
else client = (0, __prismicio_client.createClient)(options.endpoint, options.clientConfig);
|
|
26
|
-
const prismicClient = {
|
|
27
|
-
client,
|
|
28
|
-
filter: __prismicio_client.filter,
|
|
29
|
-
cookie: __prismicio_client.cookie
|
|
30
|
-
};
|
|
31
|
-
const prismicHelpers = {
|
|
32
|
-
asText: __prismicio_client.asText,
|
|
33
|
-
asHTML: (richTextField, ...config) => {
|
|
34
|
-
const [configOrLinkResolver, maybeHTMLSerializer] = config;
|
|
35
|
-
return (0, __prismicio_client.asHTML)(richTextField, typeof configOrLinkResolver === "function" || configOrLinkResolver == null ? {
|
|
36
|
-
linkResolver: configOrLinkResolver || options.linkResolver,
|
|
37
|
-
serializer: maybeHTMLSerializer || options.richTextSerializer
|
|
38
|
-
} : {
|
|
39
|
-
linkResolver: options.linkResolver,
|
|
40
|
-
serializer: options.richTextSerializer,
|
|
41
|
-
...configOrLinkResolver
|
|
42
|
-
});
|
|
43
|
-
},
|
|
44
|
-
asLink: (linkField, config) => {
|
|
45
|
-
return (0, __prismicio_client.asLink)(linkField, typeof config === "function" ? { linkResolver: config } : {
|
|
46
|
-
linkResolver: options.linkResolver,
|
|
47
|
-
...config
|
|
48
|
-
});
|
|
49
|
-
},
|
|
50
|
-
asLinkAttrs: (linkField, config) => {
|
|
51
|
-
return (0, __prismicio_client.asLinkAttrs)(linkField, {
|
|
52
|
-
linkResolver: options.linkResolver,
|
|
53
|
-
...config
|
|
54
|
-
});
|
|
55
|
-
},
|
|
56
|
-
asDate: __prismicio_client.asDate,
|
|
57
|
-
asImageSrc: __prismicio_client.asImageSrc,
|
|
58
|
-
asImageWidthSrcSet: __prismicio_client.asImageWidthSrcSet,
|
|
59
|
-
asImagePixelDensitySrcSet: __prismicio_client.asImagePixelDensitySrcSet,
|
|
60
|
-
isFilled: __prismicio_client.isFilled,
|
|
61
|
-
documentToLinkField: __prismicio_client.documentToLinkField
|
|
62
|
-
};
|
|
63
|
-
return {
|
|
64
|
-
options,
|
|
65
|
-
...prismicClient,
|
|
66
|
-
...prismicHelpers,
|
|
67
|
-
install(app) {
|
|
68
|
-
app.provide(require_usePrismic.prismicKey, this);
|
|
69
|
-
app.config.globalProperties.$prismic = this;
|
|
70
|
-
if (options.injectComponents !== false) {
|
|
71
|
-
app.component(require_PrismicLink.default.name, require_PrismicLink.default);
|
|
72
|
-
app.component(require_PrismicEmbed.default.name, require_PrismicEmbed.default);
|
|
73
|
-
app.component(require_PrismicImage.default.name, require_PrismicImage.default);
|
|
74
|
-
app.component(require_PrismicTable.default.name, require_PrismicTable.default);
|
|
75
|
-
app.component(require_PrismicText.default.name, require_PrismicText.default);
|
|
76
|
-
app.component(require_PrismicRichText.default.name, require_PrismicRichText.default);
|
|
77
|
-
app.component(require_SliceZone.default.name, require_SliceZone.default);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
//#endregion
|
|
84
|
-
exports.createPrismic = createPrismic;
|
|
85
|
-
//# sourceMappingURL=createPrismic.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createPrismic.cjs","names":["client: Client","prismicClient: PrismicPluginClient","prismicHelpers: PrismicPluginHelpers","prismicKey","PrismicLink","PrismicEmbed","PrismicImage","PrismicTable","PrismicText","PrismicRichText","SliceZone"],"sources":["../../src/createPrismic.ts"],"sourcesContent":["import type {\n\tClient,\n\tHTMLRichTextFunctionSerializer,\n\tHTMLRichTextMapSerializer,\n\tLinkResolverFunction,\n} from \"@prismicio/client\"\nimport {\n\tasDate,\n\tasHTML,\n\tasImagePixelDensitySrcSet,\n\tasImageSrc,\n\tasImageWidthSrcSet,\n\tasLink,\n\tasLinkAttrs,\n\tasText,\n\tcookie,\n\tcreateClient,\n\tdocumentToLinkField,\n\tfilter,\n\tisFilled,\n} from \"@prismicio/client\"\nimport type { App } from \"vue\"\n\nimport type {\n\tPrismicPlugin,\n\tPrismicPluginClient,\n\tPrismicPluginHelpers,\n\tPrismicPluginOptions,\n} from \"./types\"\n\nimport PrismicRichText from \"./PrismicRichText/PrismicRichText.vue\"\nimport PrismicTable from \"./PrismicTable/PrismicTable.vue\"\nimport SliceZone from \"./SliceZone/SliceZone.vue\"\n\nimport PrismicEmbed from \"./PrismicEmbed.vue\"\nimport PrismicImage from \"./PrismicImage.vue\"\nimport PrismicLink from \"./PrismicLink.vue\"\nimport PrismicText from \"./PrismicText.vue\"\nimport { prismicKey } from \"./usePrismic\"\n\n/**\n * Creates a `@prismicio/vue` plugin instance that can be used by a Vue app.\n *\n * @param options - {@link PrismicPluginOptions}\n *\n * @returns `@prismicio/vue` plugin instance {@link PrismicPlugin}\n *\n * @see Prismic Official Vue.js documentation: {@link https://prismic.io/docs/technologies/vuejs}\n * @see Plugin repository: {@link https://github.com/prismicio/prismic-vue}\n */\nexport const createPrismic = (options: PrismicPluginOptions): PrismicPlugin => {\n\t// Create plugin client\n\tlet client: Client\n\tif (options.client) {\n\t\tclient = options.client\n\t} else {\n\t\tclient = createClient(options.endpoint, options.clientConfig)\n\t}\n\n\tconst prismicClient: PrismicPluginClient = {\n\t\tclient,\n\t\tfilter,\n\t\tcookie,\n\t}\n\n\t// Create plugin helpers\n\tconst prismicHelpers: PrismicPluginHelpers = {\n\t\tasText,\n\t\tasHTML: (richTextField, ...config) => {\n\t\t\tconst [configOrLinkResolver, maybeHTMLSerializer] = config\n\n\t\t\treturn asHTML(\n\t\t\t\trichTextField,\n\t\t\t\ttypeof configOrLinkResolver === \"function\" ||\n\t\t\t\t\tconfigOrLinkResolver == null\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tlinkResolver: configOrLinkResolver || options.linkResolver,\n\t\t\t\t\t\t\tserializer:\n\t\t\t\t\t\t\t\t(maybeHTMLSerializer as\n\t\t\t\t\t\t\t\t\t| HTMLRichTextFunctionSerializer\n\t\t\t\t\t\t\t\t\t| HTMLRichTextMapSerializer) || options.richTextSerializer,\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tlinkResolver: options.linkResolver,\n\t\t\t\t\t\t\tserializer: options.richTextSerializer,\n\t\t\t\t\t\t\t...configOrLinkResolver,\n\t\t\t\t\t\t},\n\t\t\t)\n\t\t},\n\t\tasLink: (linkField, config) => {\n\t\t\treturn asLink(\n\t\t\t\tlinkField,\n\t\t\t\ttypeof config === \"function\"\n\t\t\t\t\t? { linkResolver: config }\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tlinkResolver: options.linkResolver,\n\t\t\t\t\t\t\t// TODO: For some reasons, TypeScript narrows the type to \"unknown\" where it's supposed to be a union\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t...(config as any),\n\t\t\t\t\t\t},\n\t\t\t)\n\t\t},\n\t\tasLinkAttrs: (linkField, config) => {\n\t\t\treturn asLinkAttrs(linkField, {\n\t\t\t\t// TODO: We can't really retrieve the generic type here, this might cause some unexpected type error in some edge-case scenario\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\tlinkResolver: options.linkResolver as LinkResolverFunction<any>,\n\t\t\t\t...config,\n\t\t\t})\n\t\t},\n\t\tasDate,\n\t\tasImageSrc,\n\t\tasImageWidthSrcSet,\n\t\tasImagePixelDensitySrcSet,\n\t\tisFilled,\n\t\tdocumentToLinkField,\n\t}\n\n\t// Create plugin interface\n\tconst prismic: PrismicPlugin = {\n\t\toptions,\n\n\t\t...prismicClient,\n\t\t...prismicHelpers,\n\n\t\tinstall(app: App): void {\n\t\t\tapp.provide(prismicKey, this)\n\t\t\tapp.config.globalProperties.$prismic = this\n\n\t\t\tif (options.injectComponents !== false) {\n\t\t\t\tapp.component(PrismicLink.name!, PrismicLink)\n\t\t\t\tapp.component(PrismicEmbed.name!, PrismicEmbed)\n\t\t\t\tapp.component(PrismicImage.name!, PrismicImage)\n\t\t\t\tapp.component(PrismicTable.name!, PrismicTable)\n\t\t\t\tapp.component(PrismicText.name!, PrismicText)\n\t\t\t\tapp.component(PrismicRichText.name!, PrismicRichText)\n\t\t\t\tapp.component(SliceZone.name!, SliceZone)\n\t\t\t}\n\t\t},\n\t}\n\n\treturn prismic\n}\n\ndeclare module \"vue\" {\n\texport interface ComponentCustomProperties {\n\t\t/**\n\t\t * `@prismicio/vue` plugin interface exposed on `this`.\n\t\t *\n\t\t * @see `@prismicio/vue` plugin interface {@link PrismicPlugin}\n\t\t */\n\t\t$prismic: PrismicPlugin\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkDA,MAAa,iBAAiB,YAAiD;CAE9E,IAAIA;AACJ,KAAI,QAAQ,OACX,UAAS,QAAQ;KAEjB,+CAAsB,QAAQ,UAAU,QAAQ,aAAa;CAG9D,MAAMC,gBAAqC;EAC1C;EACA;EACA;EACA;CAGD,MAAMC,iBAAuC;EAC5C;EACA,SAAS,eAAe,GAAG,WAAW;GACrC,MAAM,CAAC,sBAAsB,uBAAuB;AAEpD,yCACC,eACA,OAAO,yBAAyB,cAC/B,wBAAwB,OACtB;IACA,cAAc,wBAAwB,QAAQ;IAC9C,YACE,uBAEgC,QAAQ;IAC1C,GACA;IACA,cAAc,QAAQ;IACtB,YAAY,QAAQ;IACpB,GAAG;IACH,CACH;;EAEF,SAAS,WAAW,WAAW;AAC9B,yCACC,WACA,OAAO,WAAW,aACf,EAAE,cAAc,QAAQ,GACxB;IACA,cAAc,QAAQ;IAGtB,GAAI;IACJ,CACH;;EAEF,cAAc,WAAW,WAAW;AACnC,8CAAmB,WAAW;IAG7B,cAAc,QAAQ;IACtB,GAAG;IACH,CAAC;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;AAyBD,QAtB+B;EAC9B;EAEA,GAAG;EACH,GAAG;EAEH,QAAQ,KAAgB;AACvB,OAAI,QAAQC,+BAAY,KAAK;AAC7B,OAAI,OAAO,iBAAiB,WAAW;AAEvC,OAAI,QAAQ,qBAAqB,OAAO;AACvC,QAAI,UAAUC,4BAAY,MAAOA,4BAAY;AAC7C,QAAI,UAAUC,6BAAa,MAAOA,6BAAa;AAC/C,QAAI,UAAUC,6BAAa,MAAOA,6BAAa;AAC/C,QAAI,UAAUC,6BAAa,MAAOA,6BAAa;AAC/C,QAAI,UAAUC,4BAAY,MAAOA,4BAAY;AAC7C,QAAI,UAAUC,gCAAgB,MAAOA,gCAAgB;AACrD,QAAI,UAAUC,0BAAU,MAAOA,0BAAU;;;EAG3C"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { PrismicPlugin, PrismicPluginOptions } from "./types.js";
|
|
2
|
-
|
|
3
|
-
//#region src/createPrismic.d.ts
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Creates a `@prismicio/vue` plugin instance that can be used by a Vue app.
|
|
7
|
-
*
|
|
8
|
-
* @param options - {@link PrismicPluginOptions}
|
|
9
|
-
*
|
|
10
|
-
* @returns `@prismicio/vue` plugin instance {@link PrismicPlugin}
|
|
11
|
-
*
|
|
12
|
-
* @see Prismic Official Vue.js documentation: {@link https://prismic.io/docs/technologies/vuejs}
|
|
13
|
-
* @see Plugin repository: {@link https://github.com/prismicio/prismic-vue}
|
|
14
|
-
*/
|
|
15
|
-
declare const createPrismic: (options: PrismicPluginOptions) => PrismicPlugin;
|
|
16
|
-
declare module "vue" {
|
|
17
|
-
interface ComponentCustomProperties {
|
|
18
|
-
/**
|
|
19
|
-
* `@prismicio/vue` plugin interface exposed on `this`.
|
|
20
|
-
*
|
|
21
|
-
* @see `@prismicio/vue` plugin interface {@link PrismicPlugin}
|
|
22
|
-
*/
|
|
23
|
-
$prismic: PrismicPlugin;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=createPrismic.d.ts.map
|
|
27
|
-
//#endregion
|
|
28
|
-
export { createPrismic };
|
|
29
|
-
//# sourceMappingURL=createPrismic.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createPrismic.d.ts","names":[],"sources":["../../src/createPrismic.ts"],"sourcesContent":[],"mappings":";;;;;;AAkDA;AA4FC;;;;;;;cA5FY,yBAA0B,yBAAuB;;;;;;;;cAqGlD"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { prismicKey } from "./usePrismic.js";
|
|
2
|
-
import PrismicEmbed_default from "./PrismicEmbed.js";
|
|
3
|
-
import PrismicImage_default from "./PrismicImage.js";
|
|
4
|
-
import PrismicLink_default from "./PrismicLink.js";
|
|
5
|
-
import PrismicRichText_default from "./PrismicRichText/PrismicRichText.js";
|
|
6
|
-
import PrismicTable_default from "./PrismicTable/PrismicTable.js";
|
|
7
|
-
import SliceZone_default from "./SliceZone/SliceZone.js";
|
|
8
|
-
import PrismicText_default from "./PrismicText.js";
|
|
9
|
-
import { asDate, asHTML, asImagePixelDensitySrcSet, asImageSrc, asImageWidthSrcSet, asLink, asLinkAttrs, asText, cookie, createClient, documentToLinkField, filter, isFilled } from "@prismicio/client";
|
|
10
|
-
|
|
11
|
-
//#region src/createPrismic.ts
|
|
12
|
-
/**
|
|
13
|
-
* Creates a `@prismicio/vue` plugin instance that can be used by a Vue app.
|
|
14
|
-
*
|
|
15
|
-
* @param options - {@link PrismicPluginOptions}
|
|
16
|
-
*
|
|
17
|
-
* @returns `@prismicio/vue` plugin instance {@link PrismicPlugin}
|
|
18
|
-
*
|
|
19
|
-
* @see Prismic Official Vue.js documentation: {@link https://prismic.io/docs/technologies/vuejs}
|
|
20
|
-
* @see Plugin repository: {@link https://github.com/prismicio/prismic-vue}
|
|
21
|
-
*/
|
|
22
|
-
const createPrismic = (options) => {
|
|
23
|
-
let client;
|
|
24
|
-
if (options.client) client = options.client;
|
|
25
|
-
else client = createClient(options.endpoint, options.clientConfig);
|
|
26
|
-
const prismicClient = {
|
|
27
|
-
client,
|
|
28
|
-
filter,
|
|
29
|
-
cookie
|
|
30
|
-
};
|
|
31
|
-
const prismicHelpers = {
|
|
32
|
-
asText,
|
|
33
|
-
asHTML: (richTextField, ...config) => {
|
|
34
|
-
const [configOrLinkResolver, maybeHTMLSerializer] = config;
|
|
35
|
-
return asHTML(richTextField, typeof configOrLinkResolver === "function" || configOrLinkResolver == null ? {
|
|
36
|
-
linkResolver: configOrLinkResolver || options.linkResolver,
|
|
37
|
-
serializer: maybeHTMLSerializer || options.richTextSerializer
|
|
38
|
-
} : {
|
|
39
|
-
linkResolver: options.linkResolver,
|
|
40
|
-
serializer: options.richTextSerializer,
|
|
41
|
-
...configOrLinkResolver
|
|
42
|
-
});
|
|
43
|
-
},
|
|
44
|
-
asLink: (linkField, config) => {
|
|
45
|
-
return asLink(linkField, typeof config === "function" ? { linkResolver: config } : {
|
|
46
|
-
linkResolver: options.linkResolver,
|
|
47
|
-
...config
|
|
48
|
-
});
|
|
49
|
-
},
|
|
50
|
-
asLinkAttrs: (linkField, config) => {
|
|
51
|
-
return asLinkAttrs(linkField, {
|
|
52
|
-
linkResolver: options.linkResolver,
|
|
53
|
-
...config
|
|
54
|
-
});
|
|
55
|
-
},
|
|
56
|
-
asDate,
|
|
57
|
-
asImageSrc,
|
|
58
|
-
asImageWidthSrcSet,
|
|
59
|
-
asImagePixelDensitySrcSet,
|
|
60
|
-
isFilled,
|
|
61
|
-
documentToLinkField
|
|
62
|
-
};
|
|
63
|
-
return {
|
|
64
|
-
options,
|
|
65
|
-
...prismicClient,
|
|
66
|
-
...prismicHelpers,
|
|
67
|
-
install(app) {
|
|
68
|
-
app.provide(prismicKey, this);
|
|
69
|
-
app.config.globalProperties.$prismic = this;
|
|
70
|
-
if (options.injectComponents !== false) {
|
|
71
|
-
app.component(PrismicLink_default.name, PrismicLink_default);
|
|
72
|
-
app.component(PrismicEmbed_default.name, PrismicEmbed_default);
|
|
73
|
-
app.component(PrismicImage_default.name, PrismicImage_default);
|
|
74
|
-
app.component(PrismicTable_default.name, PrismicTable_default);
|
|
75
|
-
app.component(PrismicText_default.name, PrismicText_default);
|
|
76
|
-
app.component(PrismicRichText_default.name, PrismicRichText_default);
|
|
77
|
-
app.component(SliceZone_default.name, SliceZone_default);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
//#endregion
|
|
84
|
-
export { createPrismic };
|
|
85
|
-
//# sourceMappingURL=createPrismic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createPrismic.js","names":["client: Client","prismicClient: PrismicPluginClient","prismicHelpers: PrismicPluginHelpers","PrismicLink","PrismicEmbed","PrismicImage","PrismicTable","PrismicText","PrismicRichText","SliceZone"],"sources":["../../src/createPrismic.ts"],"sourcesContent":["import type {\n\tClient,\n\tHTMLRichTextFunctionSerializer,\n\tHTMLRichTextMapSerializer,\n\tLinkResolverFunction,\n} from \"@prismicio/client\"\nimport {\n\tasDate,\n\tasHTML,\n\tasImagePixelDensitySrcSet,\n\tasImageSrc,\n\tasImageWidthSrcSet,\n\tasLink,\n\tasLinkAttrs,\n\tasText,\n\tcookie,\n\tcreateClient,\n\tdocumentToLinkField,\n\tfilter,\n\tisFilled,\n} from \"@prismicio/client\"\nimport type { App } from \"vue\"\n\nimport type {\n\tPrismicPlugin,\n\tPrismicPluginClient,\n\tPrismicPluginHelpers,\n\tPrismicPluginOptions,\n} from \"./types\"\n\nimport PrismicRichText from \"./PrismicRichText/PrismicRichText.vue\"\nimport PrismicTable from \"./PrismicTable/PrismicTable.vue\"\nimport SliceZone from \"./SliceZone/SliceZone.vue\"\n\nimport PrismicEmbed from \"./PrismicEmbed.vue\"\nimport PrismicImage from \"./PrismicImage.vue\"\nimport PrismicLink from \"./PrismicLink.vue\"\nimport PrismicText from \"./PrismicText.vue\"\nimport { prismicKey } from \"./usePrismic\"\n\n/**\n * Creates a `@prismicio/vue` plugin instance that can be used by a Vue app.\n *\n * @param options - {@link PrismicPluginOptions}\n *\n * @returns `@prismicio/vue` plugin instance {@link PrismicPlugin}\n *\n * @see Prismic Official Vue.js documentation: {@link https://prismic.io/docs/technologies/vuejs}\n * @see Plugin repository: {@link https://github.com/prismicio/prismic-vue}\n */\nexport const createPrismic = (options: PrismicPluginOptions): PrismicPlugin => {\n\t// Create plugin client\n\tlet client: Client\n\tif (options.client) {\n\t\tclient = options.client\n\t} else {\n\t\tclient = createClient(options.endpoint, options.clientConfig)\n\t}\n\n\tconst prismicClient: PrismicPluginClient = {\n\t\tclient,\n\t\tfilter,\n\t\tcookie,\n\t}\n\n\t// Create plugin helpers\n\tconst prismicHelpers: PrismicPluginHelpers = {\n\t\tasText,\n\t\tasHTML: (richTextField, ...config) => {\n\t\t\tconst [configOrLinkResolver, maybeHTMLSerializer] = config\n\n\t\t\treturn asHTML(\n\t\t\t\trichTextField,\n\t\t\t\ttypeof configOrLinkResolver === \"function\" ||\n\t\t\t\t\tconfigOrLinkResolver == null\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tlinkResolver: configOrLinkResolver || options.linkResolver,\n\t\t\t\t\t\t\tserializer:\n\t\t\t\t\t\t\t\t(maybeHTMLSerializer as\n\t\t\t\t\t\t\t\t\t| HTMLRichTextFunctionSerializer\n\t\t\t\t\t\t\t\t\t| HTMLRichTextMapSerializer) || options.richTextSerializer,\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tlinkResolver: options.linkResolver,\n\t\t\t\t\t\t\tserializer: options.richTextSerializer,\n\t\t\t\t\t\t\t...configOrLinkResolver,\n\t\t\t\t\t\t},\n\t\t\t)\n\t\t},\n\t\tasLink: (linkField, config) => {\n\t\t\treturn asLink(\n\t\t\t\tlinkField,\n\t\t\t\ttypeof config === \"function\"\n\t\t\t\t\t? { linkResolver: config }\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tlinkResolver: options.linkResolver,\n\t\t\t\t\t\t\t// TODO: For some reasons, TypeScript narrows the type to \"unknown\" where it's supposed to be a union\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t...(config as any),\n\t\t\t\t\t\t},\n\t\t\t)\n\t\t},\n\t\tasLinkAttrs: (linkField, config) => {\n\t\t\treturn asLinkAttrs(linkField, {\n\t\t\t\t// TODO: We can't really retrieve the generic type here, this might cause some unexpected type error in some edge-case scenario\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\tlinkResolver: options.linkResolver as LinkResolverFunction<any>,\n\t\t\t\t...config,\n\t\t\t})\n\t\t},\n\t\tasDate,\n\t\tasImageSrc,\n\t\tasImageWidthSrcSet,\n\t\tasImagePixelDensitySrcSet,\n\t\tisFilled,\n\t\tdocumentToLinkField,\n\t}\n\n\t// Create plugin interface\n\tconst prismic: PrismicPlugin = {\n\t\toptions,\n\n\t\t...prismicClient,\n\t\t...prismicHelpers,\n\n\t\tinstall(app: App): void {\n\t\t\tapp.provide(prismicKey, this)\n\t\t\tapp.config.globalProperties.$prismic = this\n\n\t\t\tif (options.injectComponents !== false) {\n\t\t\t\tapp.component(PrismicLink.name!, PrismicLink)\n\t\t\t\tapp.component(PrismicEmbed.name!, PrismicEmbed)\n\t\t\t\tapp.component(PrismicImage.name!, PrismicImage)\n\t\t\t\tapp.component(PrismicTable.name!, PrismicTable)\n\t\t\t\tapp.component(PrismicText.name!, PrismicText)\n\t\t\t\tapp.component(PrismicRichText.name!, PrismicRichText)\n\t\t\t\tapp.component(SliceZone.name!, SliceZone)\n\t\t\t}\n\t\t},\n\t}\n\n\treturn prismic\n}\n\ndeclare module \"vue\" {\n\texport interface ComponentCustomProperties {\n\t\t/**\n\t\t * `@prismicio/vue` plugin interface exposed on `this`.\n\t\t *\n\t\t * @see `@prismicio/vue` plugin interface {@link PrismicPlugin}\n\t\t */\n\t\t$prismic: PrismicPlugin\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkDA,MAAa,iBAAiB,YAAiD;CAE9E,IAAIA;AACJ,KAAI,QAAQ,OACX,UAAS,QAAQ;KAEjB,UAAS,aAAa,QAAQ,UAAU,QAAQ,aAAa;CAG9D,MAAMC,gBAAqC;EAC1C;EACA;EACA;EACA;CAGD,MAAMC,iBAAuC;EAC5C;EACA,SAAS,eAAe,GAAG,WAAW;GACrC,MAAM,CAAC,sBAAsB,uBAAuB;AAEpD,UAAO,OACN,eACA,OAAO,yBAAyB,cAC/B,wBAAwB,OACtB;IACA,cAAc,wBAAwB,QAAQ;IAC9C,YACE,uBAEgC,QAAQ;IAC1C,GACA;IACA,cAAc,QAAQ;IACtB,YAAY,QAAQ;IACpB,GAAG;IACH,CACH;;EAEF,SAAS,WAAW,WAAW;AAC9B,UAAO,OACN,WACA,OAAO,WAAW,aACf,EAAE,cAAc,QAAQ,GACxB;IACA,cAAc,QAAQ;IAGtB,GAAI;IACJ,CACH;;EAEF,cAAc,WAAW,WAAW;AACnC,UAAO,YAAY,WAAW;IAG7B,cAAc,QAAQ;IACtB,GAAG;IACH,CAAC;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;AAyBD,QAtB+B;EAC9B;EAEA,GAAG;EACH,GAAG;EAEH,QAAQ,KAAgB;AACvB,OAAI,QAAQ,YAAY,KAAK;AAC7B,OAAI,OAAO,iBAAiB,WAAW;AAEvC,OAAI,QAAQ,qBAAqB,OAAO;AACvC,QAAI,UAAUC,oBAAY,MAAOA,oBAAY;AAC7C,QAAI,UAAUC,qBAAa,MAAOA,qBAAa;AAC/C,QAAI,UAAUC,qBAAa,MAAOA,qBAAa;AAC/C,QAAI,UAAUC,qBAAa,MAAOA,qBAAa;AAC/C,QAAI,UAAUC,oBAAY,MAAOA,oBAAY;AAC7C,QAAI,UAAUC,wBAAgB,MAAOA,wBAAgB;AACrD,QAAI,UAAUC,kBAAU,MAAOA,kBAAU;;;EAG3C"}
|
package/dist/src/lib/Wrapper.cjs
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
const require_Wrapper_vue_vue_type_script_setup_true_lang = require('./Wrapper.vue_vue_type_script_setup_true_lang.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/lib/Wrapper.vue
|
|
4
|
-
var Wrapper_default = require_Wrapper_vue_vue_type_script_setup_true_lang.default;
|
|
5
|
-
|
|
6
|
-
//#endregion
|
|
7
|
-
exports.default = Wrapper_default;
|
|
8
|
-
//# sourceMappingURL=Wrapper.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Wrapper.cjs","names":[],"sources":["../../../src/lib/Wrapper.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ComponentOrTagName } from \"../types\"\n\ndefineProps<{\n\t/**\n\t * An HTML tag name or a component used to wrap the output. Output is not\n\t * wrapped by default.\n\t *\n\t * @defaultValue `\"template\"` (no wrapper)\n\t */\n\twrapper?: ComponentOrTagName\n}>()\n</script>\n\n<template>\n\t<component v-if=\"wrapper\" :is=\"wrapper\" v-bind=\"$attrs\">\n\t\t<slot />\n\t</component>\n\t<template v-else>\n\t\t<slot />\n\t</template>\n</template>\n"],"mappings":""}
|
package/dist/src/lib/Wrapper.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import Wrapper_vue_vue_type_script_setup_true_lang_default from "./Wrapper.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
-
|
|
3
|
-
//#region src/lib/Wrapper.vue
|
|
4
|
-
var Wrapper_default = Wrapper_vue_vue_type_script_setup_true_lang_default;
|
|
5
|
-
|
|
6
|
-
//#endregion
|
|
7
|
-
export { Wrapper_default as default };
|
|
8
|
-
//# sourceMappingURL=Wrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Wrapper.js","names":[],"sources":["../../../src/lib/Wrapper.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ComponentOrTagName } from \"../types\"\n\ndefineProps<{\n\t/**\n\t * An HTML tag name or a component used to wrap the output. Output is not\n\t * wrapped by default.\n\t *\n\t * @defaultValue `\"template\"` (no wrapper)\n\t */\n\twrapper?: ComponentOrTagName\n}>()\n</script>\n\n<template>\n\t<component v-if=\"wrapper\" :is=\"wrapper\" v-bind=\"$attrs\">\n\t\t<slot />\n\t</component>\n\t<template v-else>\n\t\t<slot />\n\t</template>\n</template>\n"],"mappings":""}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
let vue = require("vue");
|
|
2
|
-
|
|
3
|
-
//#region src/lib/Wrapper.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
-
var Wrapper_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
5
|
-
__name: "Wrapper",
|
|
6
|
-
props: { wrapper: {
|
|
7
|
-
type: null,
|
|
8
|
-
required: false
|
|
9
|
-
} },
|
|
10
|
-
setup(__props) {
|
|
11
|
-
return (_ctx, _cache) => {
|
|
12
|
-
return __props.wrapper ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(__props.wrapper), (0, vue.normalizeProps)((0, vue.mergeProps)({ key: 0 }, _ctx.$attrs)), {
|
|
13
|
-
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
|
|
14
|
-
_: 3
|
|
15
|
-
}, 16)) : (0, vue.renderSlot)(_ctx.$slots, "default", { key: 1 });
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
//#endregion
|
|
21
|
-
exports.default = Wrapper_vue_vue_type_script_setup_true_lang_default;
|
|
22
|
-
//# sourceMappingURL=Wrapper.vue_vue_type_script_setup_true_lang.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Wrapper.vue_vue_type_script_setup_true_lang.cjs","names":["$attrs"],"sources":["../../../src/lib/Wrapper.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ComponentOrTagName } from \"../types\"\n\ndefineProps<{\n\t/**\n\t * An HTML tag name or a component used to wrap the output. Output is not\n\t * wrapped by default.\n\t *\n\t * @defaultValue `\"template\"` (no wrapper)\n\t */\n\twrapper?: ComponentOrTagName\n}>()\n</script>\n\n<template>\n\t<component v-if=\"wrapper\" :is=\"wrapper\" v-bind=\"$attrs\">\n\t\t<slot />\n\t</component>\n\t<template v-else>\n\t\t<slot />\n\t</template>\n</template>\n"],"mappings":";;;;;;;;;;;UAekB,QAAA,uFAAc,QAAA,QAAO,8CAAA,EAAA,KAAA,GAAA,EAAUA,KAAAA,OAAM,CAAA,EAAA;oCAC7C,qBAAA,KAAA,QAAA,UAAA;;iCAGA,KAAA,QAAA,WAAA,EAAA,KAAA,GAAA,CAAA"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { createBlock, defineComponent, mergeProps, normalizeProps, openBlock, renderSlot, resolveDynamicComponent, withCtx } from "vue";
|
|
2
|
-
|
|
3
|
-
//#region src/lib/Wrapper.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
-
var Wrapper_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
5
|
-
__name: "Wrapper",
|
|
6
|
-
props: { wrapper: {
|
|
7
|
-
type: null,
|
|
8
|
-
required: false
|
|
9
|
-
} },
|
|
10
|
-
setup(__props) {
|
|
11
|
-
return (_ctx, _cache) => {
|
|
12
|
-
return __props.wrapper ? (openBlock(), createBlock(resolveDynamicComponent(__props.wrapper), normalizeProps(mergeProps({ key: 0 }, _ctx.$attrs)), {
|
|
13
|
-
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
14
|
-
_: 3
|
|
15
|
-
}, 16)) : renderSlot(_ctx.$slots, "default", { key: 1 });
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
//#endregion
|
|
21
|
-
export { Wrapper_vue_vue_type_script_setup_true_lang_default as default };
|
|
22
|
-
//# sourceMappingURL=Wrapper.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Wrapper.vue_vue_type_script_setup_true_lang.js","names":["$attrs"],"sources":["../../../src/lib/Wrapper.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ComponentOrTagName } from \"../types\"\n\ndefineProps<{\n\t/**\n\t * An HTML tag name or a component used to wrap the output. Output is not\n\t * wrapped by default.\n\t *\n\t * @defaultValue `\"template\"` (no wrapper)\n\t */\n\twrapper?: ComponentOrTagName\n}>()\n</script>\n\n<template>\n\t<component v-if=\"wrapper\" :is=\"wrapper\" v-bind=\"$attrs\">\n\t\t<slot />\n\t</component>\n\t<template v-else>\n\t\t<slot />\n\t</template>\n</template>\n"],"mappings":";;;;;;;;;;;UAekB,QAAA,wBAAjB,YAEY,wBAFmB,QAAA,QAAO,EAAA,eAAA,WAAA,EAAA,KAAA,GAAA,EAAUA,KAAAA,OAAM,CAAA,EAAA;2BAC7C,CAAR,WAAQ,KAAA,QAAA,UAAA;;aAGR,WAAQ,KAAA,QAAA,WAAA,EAAA,KAAA,GAAA,CAAA"}
|