@prismicio/vue 5.3.0 → 6.0.0-canary.331d154
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/README.md +10 -24
- package/dist/PrismicImage.cjs +8 -0
- package/dist/PrismicImage.cjs.map +1 -0
- package/dist/PrismicImage.js +8 -0
- package/dist/PrismicImage.js.map +1 -0
- package/dist/PrismicImage.vue.d.cts +267 -0
- package/dist/PrismicImage.vue.d.cts.map +1 -0
- package/dist/PrismicImage.vue.d.ts +258 -285
- package/dist/PrismicImage.vue.d.ts.map +1 -0
- package/dist/PrismicImage.vue_vue_type_script_setup_true_lang.cjs +115 -0
- package/dist/PrismicImage.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/PrismicImage.vue_vue_type_script_setup_true_lang.js +115 -0
- package/dist/PrismicImage.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/PrismicLink.cjs +8 -0
- package/dist/PrismicLink.cjs.map +1 -0
- package/dist/PrismicLink.js +8 -0
- package/dist/PrismicLink.js.map +1 -0
- package/dist/PrismicLink.vue.d.cts +207 -0
- package/dist/PrismicLink.vue.d.cts.map +1 -0
- package/dist/PrismicLink.vue.d.ts +196 -268
- package/dist/PrismicLink.vue.d.ts.map +1 -0
- package/dist/PrismicLink.vue_vue_type_script_setup_true_lang.cjs +79 -0
- package/dist/PrismicLink.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/PrismicLink.vue_vue_type_script_setup_true_lang.js +79 -0
- package/dist/PrismicLink.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/PrismicRichText/PrismicRichText.cjs +8 -0
- package/dist/PrismicRichText/PrismicRichText.cjs.map +1 -0
- package/dist/PrismicRichText/PrismicRichText.js +8 -0
- package/dist/PrismicRichText/PrismicRichText.js.map +1 -0
- package/dist/PrismicRichText/PrismicRichText.vue.d.cts +73 -0
- package/dist/PrismicRichText/PrismicRichText.vue.d.cts.map +1 -0
- package/dist/PrismicRichText/PrismicRichText.vue.d.ts +72 -95
- package/dist/PrismicRichText/PrismicRichText.vue.d.ts.map +1 -0
- package/dist/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.cjs +78 -0
- package/dist/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.js +78 -0
- package/dist/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.cjs +8 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.cjs.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.js +8 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.js.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.cjs +123 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.js +123 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.cjs +8 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.cjs.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.js +8 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.js.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.cjs +46 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/PrismicRichText/getRichTextComponentProps.cjs +39 -9
- package/dist/PrismicRichText/getRichTextComponentProps.cjs.map +1 -1
- package/dist/PrismicRichText/getRichTextComponentProps.d.cts +54 -0
- package/dist/PrismicRichText/getRichTextComponentProps.d.cts.map +1 -0
- package/dist/PrismicRichText/getRichTextComponentProps.d.ts +15 -10
- package/dist/PrismicRichText/getRichTextComponentProps.d.ts.map +1 -0
- package/dist/PrismicRichText/getRichTextComponentProps.js +39 -10
- package/dist/PrismicRichText/getRichTextComponentProps.js.map +1 -1
- package/dist/PrismicRichText/index.d.ts +2 -2
- package/dist/PrismicRichText/types.d.cts +45 -0
- package/dist/PrismicRichText/types.d.cts.map +1 -0
- package/dist/PrismicRichText/types.d.ts +33 -10
- package/dist/PrismicRichText/types.d.ts.map +1 -0
- package/dist/PrismicTable/PrismicTable.cjs +8 -0
- package/dist/PrismicTable/PrismicTable.cjs.map +1 -0
- package/dist/PrismicTable/PrismicTable.js +8 -0
- package/dist/PrismicTable/PrismicTable.js.map +1 -0
- package/dist/PrismicTable/PrismicTable.vue.d.cts +37 -0
- package/dist/PrismicTable/PrismicTable.vue.d.cts.map +1 -0
- package/dist/PrismicTable/PrismicTable.vue.d.ts +37 -31
- package/dist/PrismicTable/PrismicTable.vue.d.ts.map +1 -0
- package/dist/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.cjs +101 -0
- package/dist/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.js +101 -0
- package/dist/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/PrismicTable/PrismicTableDefaultComponents.cjs +43 -41
- package/dist/PrismicTable/PrismicTableDefaultComponents.cjs.map +1 -1
- package/dist/PrismicTable/PrismicTableDefaultComponents.js +43 -41
- package/dist/PrismicTable/PrismicTableDefaultComponents.js.map +1 -1
- package/dist/PrismicTable/PrismicTableRow.cjs +8 -0
- package/dist/PrismicTable/PrismicTableRow.cjs.map +1 -0
- package/dist/PrismicTable/PrismicTableRow.js +8 -0
- package/dist/PrismicTable/PrismicTableRow.js.map +1 -0
- package/dist/PrismicTable/PrismicTableRow.vue_vue_type_script_setup_true_lang.cjs +54 -0
- package/dist/PrismicTable/PrismicTableRow.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/PrismicTable/PrismicTableRow.vue_vue_type_script_setup_true_lang.js +54 -0
- package/dist/PrismicTable/PrismicTableRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/PrismicTable/getTableComponentProps.cjs +131 -21
- package/dist/PrismicTable/getTableComponentProps.cjs.map +1 -1
- package/dist/PrismicTable/getTableComponentProps.d.cts +136 -0
- package/dist/PrismicTable/getTableComponentProps.d.cts.map +1 -0
- package/dist/PrismicTable/getTableComponentProps.d.ts +40 -32
- package/dist/PrismicTable/getTableComponentProps.d.ts.map +1 -0
- package/dist/PrismicTable/getTableComponentProps.js +128 -29
- package/dist/PrismicTable/getTableComponentProps.js.map +1 -1
- package/dist/PrismicTable/index.d.ts +2 -1
- package/dist/PrismicTable/types.d.cts +34 -0
- package/dist/PrismicTable/types.d.cts.map +1 -0
- package/dist/PrismicTable/types.d.ts +27 -23
- package/dist/PrismicTable/types.d.ts.map +1 -0
- package/dist/PrismicText.cjs +8 -0
- package/dist/PrismicText.cjs.map +1 -0
- package/dist/PrismicText.js +8 -0
- package/dist/PrismicText.js.map +1 -0
- package/dist/PrismicText.vue.d.cts +25 -0
- package/dist/PrismicText.vue.d.cts.map +1 -0
- package/dist/PrismicText.vue.d.ts +24 -30
- package/dist/PrismicText.vue.d.ts.map +1 -0
- package/dist/PrismicText.vue_vue_type_script_setup_true_lang.cjs +37 -0
- package/dist/PrismicText.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/PrismicText.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/PrismicText.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/SliceSimulator.cjs +8 -0
- package/dist/SliceSimulator.cjs.map +1 -0
- package/dist/SliceSimulator.js +8 -0
- package/dist/SliceSimulator.js.map +1 -0
- package/dist/SliceSimulator.vue.d.cts +57 -0
- package/dist/SliceSimulator.vue.d.cts.map +1 -0
- package/dist/SliceSimulator.vue.d.ts +57 -0
- package/dist/SliceSimulator.vue.d.ts.map +1 -0
- package/dist/SliceSimulator.vue_vue_type_script_setup_true_lang.cjs +66 -0
- package/dist/SliceSimulator.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/SliceSimulator.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/SliceSimulator.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/SliceZone/SliceZone.cjs +8 -0
- package/dist/SliceZone/SliceZone.cjs.map +1 -0
- package/dist/SliceZone/SliceZone.js +8 -0
- package/dist/SliceZone/SliceZone.js.map +1 -0
- package/dist/SliceZone/SliceZone.vue.d.cts +29 -0
- package/dist/SliceZone/SliceZone.vue.d.cts.map +1 -0
- package/dist/SliceZone/SliceZone.vue.d.ts +22 -34
- package/dist/SliceZone/SliceZone.vue.d.ts.map +1 -0
- package/dist/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.cjs +70 -0
- package/dist/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/SliceZone/TODOSliceComponent.cjs +35 -28
- package/dist/SliceZone/TODOSliceComponent.cjs.map +1 -1
- package/dist/SliceZone/TODOSliceComponent.d.cts +15 -0
- package/dist/SliceZone/TODOSliceComponent.d.cts.map +1 -0
- package/dist/SliceZone/TODOSliceComponent.d.ts +8 -2
- package/dist/SliceZone/TODOSliceComponent.d.ts.map +1 -0
- package/dist/SliceZone/TODOSliceComponent.js +34 -27
- package/dist/SliceZone/TODOSliceComponent.js.map +1 -1
- package/dist/SliceZone/defineSliceZoneComponents.cjs +47 -11
- package/dist/SliceZone/defineSliceZoneComponents.cjs.map +1 -1
- package/dist/SliceZone/defineSliceZoneComponents.d.cts +42 -0
- package/dist/SliceZone/defineSliceZoneComponents.d.cts.map +1 -0
- package/dist/SliceZone/defineSliceZoneComponents.d.ts +8 -2
- package/dist/SliceZone/defineSliceZoneComponents.d.ts.map +1 -0
- package/dist/SliceZone/defineSliceZoneComponents.js +47 -11
- package/dist/SliceZone/defineSliceZoneComponents.js.map +1 -1
- package/dist/SliceZone/getSliceComponentProps.cjs +57 -19
- package/dist/SliceZone/getSliceComponentProps.cjs.map +1 -1
- package/dist/SliceZone/getSliceComponentProps.d.cts +71 -0
- package/dist/SliceZone/getSliceComponentProps.d.cts.map +1 -0
- package/dist/SliceZone/getSliceComponentProps.d.ts +25 -20
- package/dist/SliceZone/getSliceComponentProps.d.ts.map +1 -0
- package/dist/SliceZone/getSliceComponentProps.js +57 -20
- package/dist/SliceZone/getSliceComponentProps.js.map +1 -1
- package/dist/SliceZone/index.d.ts +4 -4
- package/dist/SliceZone/types.d.cts +94 -0
- package/dist/SliceZone/types.d.cts.map +1 -0
- package/dist/SliceZone/types.d.ts +34 -37
- package/dist/SliceZone/types.d.ts.map +1 -0
- package/dist/_virtual/rolldown_runtime.cjs +19 -0
- package/dist/_virtual/rolldown_runtime.js +18 -0
- package/dist/createPrismic.cjs +32 -79
- package/dist/createPrismic.cjs.map +1 -1
- package/dist/createPrismic.d.cts +76 -0
- package/dist/createPrismic.d.cts.map +1 -0
- package/dist/createPrismic.d.ts +72 -16
- package/dist/createPrismic.d.ts.map +1 -0
- package/dist/createPrismic.js +31 -79
- package/dist/createPrismic.js.map +1 -1
- package/dist/index.cjs +33 -32
- package/dist/index.d.cts +17 -0
- package/dist/index.d.ts +20 -23
- package/dist/index.js +12 -29
- package/dist/lib/devMsg.cjs +22 -5
- package/dist/lib/devMsg.cjs.map +1 -1
- package/dist/lib/devMsg.js +23 -6
- package/dist/lib/devMsg.js.map +1 -1
- package/dist/lib/isInternalURL.cjs +17 -6
- package/dist/lib/isInternalURL.cjs.map +1 -1
- package/dist/lib/isInternalURL.js +17 -7
- package/dist/lib/isInternalURL.js.map +1 -1
- package/dist/package.cjs +12 -0
- package/dist/package.cjs.map +1 -0
- package/dist/package.js +6 -0
- package/dist/package.js.map +1 -0
- package/dist/types.cjs +9 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +18 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.ts +18 -369
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/package.json +33 -57
- package/src/PrismicImage.vue +7 -27
- package/src/PrismicLink.vue +24 -49
- package/src/PrismicRichText/PrismicRichText.vue +77 -118
- package/src/PrismicRichText/PrismicRichTextDefaultComponent.vue +65 -19
- package/src/PrismicRichText/PrismicRichTextSerialize.vue +6 -30
- package/src/PrismicRichText/index.ts +1 -1
- package/src/PrismicRichText/types.ts +62 -19
- package/src/PrismicTable/PrismicTable.vue +63 -28
- package/src/PrismicTable/PrismicTableDefaultComponents.ts +14 -14
- package/src/PrismicTable/PrismicTableRow.vue +18 -25
- package/src/PrismicTable/index.ts +2 -0
- package/src/PrismicTable/types.ts +47 -16
- package/src/PrismicText.vue +4 -21
- package/src/SliceSimulator.vue +78 -0
- package/src/SliceZone/SliceZone.vue +18 -40
- package/src/SliceZone/TODOSliceComponent.ts +2 -1
- package/src/SliceZone/types.ts +6 -22
- package/src/createPrismic.ts +84 -133
- package/src/index.ts +18 -32
- package/src/lib/isInternalURL.ts +2 -6
- package/src/types.ts +24 -435
- package/dist/PrismicEmbed.vue.cjs +0 -25
- package/dist/PrismicEmbed.vue.cjs.map +0 -1
- package/dist/PrismicEmbed.vue.d.ts +0 -19
- package/dist/PrismicEmbed.vue.js +0 -26
- package/dist/PrismicEmbed.vue.js.map +0 -1
- package/dist/PrismicEmbed.vue2.cjs +0 -4
- package/dist/PrismicEmbed.vue2.cjs.map +0 -1
- package/dist/PrismicEmbed.vue2.js +0 -5
- package/dist/PrismicEmbed.vue2.js.map +0 -1
- package/dist/PrismicImage.vue.cjs +0 -112
- package/dist/PrismicImage.vue.cjs.map +0 -1
- package/dist/PrismicImage.vue.js +0 -113
- package/dist/PrismicImage.vue.js.map +0 -1
- package/dist/PrismicImage.vue2.cjs +0 -4
- package/dist/PrismicImage.vue2.cjs.map +0 -1
- package/dist/PrismicImage.vue2.js +0 -5
- package/dist/PrismicImage.vue2.js.map +0 -1
- package/dist/PrismicLink.vue.cjs +0 -64
- package/dist/PrismicLink.vue.cjs.map +0 -1
- package/dist/PrismicLink.vue.js +0 -65
- package/dist/PrismicLink.vue.js.map +0 -1
- package/dist/PrismicLink.vue2.cjs +0 -4
- package/dist/PrismicLink.vue2.cjs.map +0 -1
- package/dist/PrismicLink.vue2.js +0 -5
- package/dist/PrismicLink.vue2.js.map +0 -1
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.cjs +0 -100
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.cjs.map +0 -1
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.d.ts +0 -38
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.js +0 -101
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.js.map +0 -1
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue2.cjs +0 -4
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue2.cjs.map +0 -1
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue2.js +0 -5
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue2.js.map +0 -1
- package/dist/PrismicRichText/PrismicRichText.vue.cjs +0 -97
- package/dist/PrismicRichText/PrismicRichText.vue.cjs.map +0 -1
- package/dist/PrismicRichText/PrismicRichText.vue.js +0 -98
- package/dist/PrismicRichText/PrismicRichText.vue.js.map +0 -1
- package/dist/PrismicRichText/PrismicRichText.vue2.cjs +0 -4
- package/dist/PrismicRichText/PrismicRichText.vue2.cjs.map +0 -1
- package/dist/PrismicRichText/PrismicRichText.vue2.js +0 -5
- package/dist/PrismicRichText/PrismicRichText.vue2.js.map +0 -1
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.cjs +0 -133
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.cjs.map +0 -1
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.d.ts +0 -37
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.js +0 -134
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.js.map +0 -1
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue2.cjs +0 -4
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue2.cjs.map +0 -1
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue2.js +0 -5
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue2.js.map +0 -1
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue.cjs +0 -47
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue.cjs.map +0 -1
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue.d.ts +0 -10
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue.js +0 -48
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue.js.map +0 -1
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue2.cjs +0 -4
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue2.cjs.map +0 -1
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue2.js +0 -5
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue2.js.map +0 -1
- package/dist/PrismicTable/PrismicTable.vue.cjs +0 -62
- package/dist/PrismicTable/PrismicTable.vue.cjs.map +0 -1
- package/dist/PrismicTable/PrismicTable.vue.js +0 -63
- package/dist/PrismicTable/PrismicTable.vue.js.map +0 -1
- package/dist/PrismicTable/PrismicTable.vue2.cjs +0 -4
- package/dist/PrismicTable/PrismicTable.vue2.cjs.map +0 -1
- package/dist/PrismicTable/PrismicTable.vue2.js +0 -5
- package/dist/PrismicTable/PrismicTable.vue2.js.map +0 -1
- package/dist/PrismicTable/PrismicTableDefaultComponents.d.ts +0 -2
- package/dist/PrismicTable/PrismicTableRow.vue.cjs +0 -52
- package/dist/PrismicTable/PrismicTableRow.vue.cjs.map +0 -1
- package/dist/PrismicTable/PrismicTableRow.vue.d.ts +0 -26
- package/dist/PrismicTable/PrismicTableRow.vue.js +0 -53
- package/dist/PrismicTable/PrismicTableRow.vue.js.map +0 -1
- package/dist/PrismicTable/PrismicTableRow.vue2.cjs +0 -4
- package/dist/PrismicTable/PrismicTableRow.vue2.cjs.map +0 -1
- package/dist/PrismicTable/PrismicTableRow.vue2.js +0 -5
- package/dist/PrismicTable/PrismicTableRow.vue2.js.map +0 -1
- package/dist/PrismicText.vue.cjs +0 -43
- package/dist/PrismicText.vue.cjs.map +0 -1
- package/dist/PrismicText.vue.js +0 -44
- package/dist/PrismicText.vue.js.map +0 -1
- package/dist/PrismicText.vue2.cjs +0 -4
- package/dist/PrismicText.vue2.cjs.map +0 -1
- package/dist/PrismicText.vue2.js +0 -5
- package/dist/PrismicText.vue2.js.map +0 -1
- package/dist/SliceZone/SliceZone.vue.cjs +0 -63
- package/dist/SliceZone/SliceZone.vue.cjs.map +0 -1
- package/dist/SliceZone/SliceZone.vue.js +0 -64
- package/dist/SliceZone/SliceZone.vue.js.map +0 -1
- package/dist/SliceZone/SliceZone.vue2.cjs +0 -4
- package/dist/SliceZone/SliceZone.vue2.cjs.map +0 -1
- package/dist/SliceZone/SliceZone.vue2.js +0 -5
- package/dist/SliceZone/SliceZone.vue2.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/Wrapper.vue.cjs +0 -20
- package/dist/lib/Wrapper.vue.cjs.map +0 -1
- package/dist/lib/Wrapper.vue.d.ts +0 -28
- package/dist/lib/Wrapper.vue.js +0 -21
- package/dist/lib/Wrapper.vue.js.map +0 -1
- package/dist/lib/Wrapper.vue2.cjs +0 -4
- package/dist/lib/Wrapper.vue2.cjs.map +0 -1
- package/dist/lib/Wrapper.vue2.js +0 -5
- package/dist/lib/Wrapper.vue2.js.map +0 -1
- package/dist/lib/devMsg.d.ts +0 -16
- package/dist/lib/isInternalURL.d.ts +0 -8
- package/dist/package.json.cjs +0 -5
- package/dist/package.json.cjs.map +0 -1
- package/dist/package.json.js +0 -5
- package/dist/package.json.js.map +0 -1
- package/dist/usePrismic.cjs +0 -10
- package/dist/usePrismic.cjs.map +0 -1
- package/dist/usePrismic.d.ts +0 -30
- package/dist/usePrismic.js +0 -10
- package/dist/usePrismic.js.map +0 -1
- package/src/PrismicEmbed.vue +0 -42
- package/src/PrismicRichText/DeprecatedPrismicRichText.vue +0 -146
- package/src/lib/Wrapper.vue +0 -22
- package/src/usePrismic.ts +0 -36
package/dist/types.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/types.ts
|
|
2
|
+
const isComponent = (component) => {
|
|
3
|
+
return !!component && (typeof component === "function" || typeof component === "object" && ("render" in component && typeof component.render === "function" || "setup" in component && typeof component.setup === "function" || "__file" in component && !!component.__file || "__name" in component && !!component.__name || "props" in component && typeof component.props === "object"));
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
//#endregion
|
|
7
|
+
export { isComponent };
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { Component as _Component } from \"vue\"\n\nexport type ComponentOrTagName = string | _Component\n\n// For reference within TypeScript files when `*.vue` type cannot be inferred\nexport type Component<TProps> = _Component | _Component<TProps>\n\n/**\n * A shorthand definition for `<PrismicRichText />` and `<PrismicTable />`\n * component types.\n */\nexport type ComponentShorthand = {\n\t/** The HTML element type rendered for this node type. */\n\tas?: string\n\n\t/** Other attributes to apply to the element type. */\n\t[Attribute: string]: string | boolean | null | undefined\n}\n\nexport const isComponent = <T>(\n\tcomponent: Component<T> | ComponentShorthand | undefined,\n): component is Component<T> => {\n\treturn (\n\t\t!!component &&\n\t\t(typeof component === \"function\" ||\n\t\t\t(typeof component === \"object\" &&\n\t\t\t\t((\"render\" in component && typeof component.render === \"function\") ||\n\t\t\t\t\t(\"setup\" in component && typeof component.setup === \"function\") ||\n\t\t\t\t\t(\"__file\" in component && !!component.__file) ||\n\t\t\t\t\t(\"__name\" in component && !!component.__name) ||\n\t\t\t\t\t(\"props\" in component && typeof component.props === \"object\"))))\n\t)\n}\n"],"mappings":";AAmBA,MAAa,eACZ,cAC+B;AAC/B,QACC,CAAC,CAAC,cACD,OAAO,cAAc,cACpB,OAAO,cAAc,aACnB,YAAY,aAAa,OAAO,UAAU,WAAW,cACrD,WAAW,aAAa,OAAO,UAAU,UAAU,cACnD,YAAY,aAAa,CAAC,CAAC,UAAU,UACrC,YAAY,aAAa,CAAC,CAAC,UAAU,UACrC,WAAW,aAAa,OAAO,UAAU,UAAU"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prismicio/vue",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-canary.331d154",
|
|
4
4
|
"description": "Vue plugin, components, and composables to fetch and present Prismic content",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -18,84 +18,60 @@
|
|
|
18
18
|
"type": "module",
|
|
19
19
|
"exports": {
|
|
20
20
|
".": {
|
|
21
|
-
"require":
|
|
22
|
-
|
|
23
|
-
"default": "./dist/index.cjs"
|
|
24
|
-
},
|
|
25
|
-
"import": {
|
|
26
|
-
"types": "./dist/index.d.ts",
|
|
27
|
-
"default": "./dist/index.js"
|
|
28
|
-
}
|
|
21
|
+
"require": "./dist/index.cjs",
|
|
22
|
+
"import": "./dist/index.js"
|
|
29
23
|
},
|
|
30
24
|
"./package.json": "./package.json"
|
|
31
25
|
},
|
|
32
|
-
"main": "dist/index.cjs",
|
|
33
|
-
"module": "dist/index.js",
|
|
34
|
-
"types": "dist/index.d.
|
|
26
|
+
"main": "./dist/index.cjs",
|
|
27
|
+
"module": "./dist/index.js",
|
|
28
|
+
"types": "./dist/index.d.cts",
|
|
35
29
|
"files": [
|
|
36
|
-
"dist",
|
|
37
|
-
"src"
|
|
38
|
-
"vetur"
|
|
30
|
+
"./dist",
|
|
31
|
+
"./src"
|
|
39
32
|
],
|
|
40
33
|
"scripts": {
|
|
41
|
-
"build": "
|
|
42
|
-
"dev": "
|
|
34
|
+
"build": "tsdown",
|
|
35
|
+
"dev": "tsdown --watch",
|
|
43
36
|
"format": "prettier --write .",
|
|
44
|
-
"playground:build": "vite build playground",
|
|
45
|
-
"playground:dev": "vite playground",
|
|
46
37
|
"prepare": "npm run build",
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"release:alpha": "npm run test && standard-version --release-as major --prerelease alpha && git push --follow-tags && npm run build && npm publish --tag alpha",
|
|
50
|
-
"release:alpha:dry": "standard-version --release-as major --prerelease alpha --dry-run",
|
|
51
|
-
"lint": "eslint",
|
|
52
|
-
"types": "vitest --typecheck.only --run && vue-tsc --noEmit",
|
|
53
|
-
"types:watch": "vitest --typecheck.only",
|
|
38
|
+
"lint": "oxlint --deny-warnings",
|
|
39
|
+
"types": "vue-tsc --noEmit",
|
|
54
40
|
"unit": "vitest run --coverage",
|
|
55
41
|
"unit:watch": "vitest watch",
|
|
56
|
-
"
|
|
57
|
-
"test": "npm run lint && npm run types && npm run unit && npm run build && npm run size"
|
|
42
|
+
"test": "npm run lint && npm run types && npm run unit && npm run build"
|
|
58
43
|
},
|
|
59
44
|
"dependencies": {
|
|
60
|
-
"@prismicio/
|
|
61
|
-
"esm-env": "^1.2.2"
|
|
62
|
-
"vue-router": "^4.5.0"
|
|
45
|
+
"@prismicio/simulator": "^0.2.0",
|
|
46
|
+
"esm-env": "^1.2.2"
|
|
63
47
|
},
|
|
64
48
|
"devDependencies": {
|
|
65
|
-
"@
|
|
49
|
+
"@prismicio/client": "^7.21.3",
|
|
66
50
|
"@prismicio/mock": "^0.7.1",
|
|
67
|
-
"@
|
|
68
|
-
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
|
|
51
|
+
"@trivago/prettier-plugin-sort-imports": "^6.0.2",
|
|
69
52
|
"@types/jsdom-global": "^3.0.7",
|
|
70
|
-
"@vitejs/plugin-vue": "^
|
|
71
|
-
"@vitest/coverage-v8": "^
|
|
72
|
-
"@vue/eslint-config-typescript": "^14.5.0",
|
|
53
|
+
"@vitejs/plugin-vue": "^6.0.3",
|
|
54
|
+
"@vitest/coverage-v8": "^4.0.17",
|
|
73
55
|
"@vue/test-utils": "^2.4.6",
|
|
74
|
-
"
|
|
75
|
-
"eslint-config-prettier": "^10.1.1",
|
|
76
|
-
"eslint-plugin-prettier": "^5.2.5",
|
|
77
|
-
"eslint-plugin-tsdoc": "^0.4.0",
|
|
78
|
-
"eslint-plugin-vue": "^10.0.0",
|
|
79
|
-
"jsdom": "^26.0.0",
|
|
56
|
+
"jsdom": "^27.4.0",
|
|
80
57
|
"jsdom-global": "^3.0.2",
|
|
81
|
-
"
|
|
82
|
-
"prettier
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"typescript": "^5.
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"vue": "^3.5.13",
|
|
92
|
-
"vue-tsc": "^2.2.8"
|
|
58
|
+
"oxlint": "1.39.0",
|
|
59
|
+
"prettier": "^3.7.4",
|
|
60
|
+
"prettier-plugin-jsdoc": "^1.8.0",
|
|
61
|
+
"tsdown": "^0.19.0",
|
|
62
|
+
"typescript": "^5.9.3",
|
|
63
|
+
"vite": "^7.3.1",
|
|
64
|
+
"vitest": "^4.0.17",
|
|
65
|
+
"vue": "^3.5.26",
|
|
66
|
+
"vue-router": "^4.6.4",
|
|
67
|
+
"vue-tsc": "^3.2.2"
|
|
93
68
|
},
|
|
94
69
|
"peerDependencies": {
|
|
95
|
-
"
|
|
70
|
+
"@prismicio/client": "^7",
|
|
71
|
+
"vue": "^3"
|
|
96
72
|
},
|
|
97
73
|
"engines": {
|
|
98
|
-
"node": ">=
|
|
74
|
+
"node": ">=20"
|
|
99
75
|
},
|
|
100
76
|
"publishConfig": {
|
|
101
77
|
"access": "public"
|
package/src/PrismicImage.vue
CHANGED
|
@@ -10,15 +10,9 @@ import { computed, watchEffect } from "vue"
|
|
|
10
10
|
|
|
11
11
|
import { devMsg } from "./lib/devMsg"
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Props for `<PrismicImage />`.
|
|
17
|
-
*/
|
|
13
|
+
/** Props for `<PrismicImage />`. */
|
|
18
14
|
export type PrismicImageProps = {
|
|
19
|
-
/**
|
|
20
|
-
* The Prismic image field or thumbnail to render.
|
|
21
|
-
*/
|
|
15
|
+
/** The Prismic image field or thumbnail to render. */
|
|
22
16
|
field: ImageField | ImageField<string>
|
|
23
17
|
|
|
24
18
|
/**
|
|
@@ -63,11 +57,10 @@ export type PrismicImageProps = {
|
|
|
63
57
|
} & (
|
|
64
58
|
| {
|
|
65
59
|
/**
|
|
66
|
-
* Widths used to build a `srcset` value for the image field.
|
|
60
|
+
* Widths (in pixels) used to build a `srcset` value for the image field.
|
|
67
61
|
*
|
|
68
|
-
* If
|
|
69
|
-
*
|
|
70
|
-
* 3840.
|
|
62
|
+
* If omitted or set to `"defaults"`, the following widths will be used:
|
|
63
|
+
* 640, 750, 828, 1080, 1200, 1920, 2048, 3840.
|
|
71
64
|
*
|
|
72
65
|
* If the image field contains responsive views, each responsive view can
|
|
73
66
|
* be used as a width in the resulting `srcset` by passing `"thumbnails"`
|
|
@@ -77,15 +70,9 @@ export type PrismicImageProps = {
|
|
|
77
70
|
| NonNullable<Parameters<typeof asImageWidthSrcSet>[1]>["widths"]
|
|
78
71
|
| "thumbnails"
|
|
79
72
|
| "defaults"
|
|
80
|
-
/**
|
|
81
|
-
* Not used when the `widths` prop is used.
|
|
82
|
-
*/
|
|
83
73
|
pixelDensities?: never
|
|
84
74
|
}
|
|
85
75
|
| {
|
|
86
|
-
/**
|
|
87
|
-
* Not used when the `widths` prop is used.
|
|
88
|
-
*/
|
|
89
76
|
widths?: never
|
|
90
77
|
/**
|
|
91
78
|
* Pixel densities used to build a `srcset` value for the image field.
|
|
@@ -104,8 +91,6 @@ export type PrismicImageProps = {
|
|
|
104
91
|
const props = defineProps<PrismicImageProps>()
|
|
105
92
|
defineOptions({ name: "PrismicImage" })
|
|
106
93
|
|
|
107
|
-
const { options } = usePrismic()
|
|
108
|
-
|
|
109
94
|
if (DEV) {
|
|
110
95
|
watchEffect(() => {
|
|
111
96
|
if (typeof props.alt === "string" && props.alt !== "") {
|
|
@@ -156,10 +141,7 @@ const image = computed(() => {
|
|
|
156
141
|
if (props.widths || !props.pixelDensities) {
|
|
157
142
|
const res = asImageWidthSrcSet(props.field, {
|
|
158
143
|
...props.imgixParams,
|
|
159
|
-
widths:
|
|
160
|
-
props.widths === "defaults"
|
|
161
|
-
? options.components?.imageWidthSrcSetDefaults
|
|
162
|
-
: props.widths,
|
|
144
|
+
widths: props.widths === "defaults" ? undefined : props.widths,
|
|
163
145
|
})
|
|
164
146
|
|
|
165
147
|
src = res.src
|
|
@@ -168,9 +150,7 @@ const image = computed(() => {
|
|
|
168
150
|
const res = asImagePixelDensitySrcSet(props.field, {
|
|
169
151
|
...props.imgixParams,
|
|
170
152
|
pixelDensities:
|
|
171
|
-
props.pixelDensities === "defaults"
|
|
172
|
-
? options.components?.imagePixelDensitySrcSetDefaults
|
|
173
|
-
: props.pixelDensities,
|
|
153
|
+
props.pixelDensities === "defaults" ? undefined : props.pixelDensities,
|
|
174
154
|
})
|
|
175
155
|
|
|
176
156
|
src = res.src
|
package/src/PrismicLink.vue
CHANGED
|
@@ -12,34 +12,27 @@ import { isInternalURL } from "./lib/isInternalURL"
|
|
|
12
12
|
|
|
13
13
|
import type { ComponentOrTagName } from "./types"
|
|
14
14
|
|
|
15
|
-
import { usePrismic } from "./
|
|
15
|
+
import { usePrismic } from "./createPrismic"
|
|
16
16
|
|
|
17
|
-
/**
|
|
18
|
-
* The default component rendered for internal URLs.
|
|
19
|
-
*/
|
|
17
|
+
/** The default component rendered for internal URLs. */
|
|
20
18
|
const defaultInternalComponent = "router-link"
|
|
21
19
|
|
|
22
|
-
/**
|
|
23
|
-
* The default component rendered for external URLs.
|
|
24
|
-
*/
|
|
20
|
+
/** The default component rendered for external URLs. */
|
|
25
21
|
const defaultExternalComponent = "a"
|
|
26
22
|
|
|
27
|
-
/**
|
|
28
|
-
* The default rel attribute rendered for external URLs.
|
|
29
|
-
*/
|
|
23
|
+
/** The default rel attribute rendered for external URLs. */
|
|
30
24
|
const defaultExternalRelAttribute = "noreferrer"
|
|
31
25
|
|
|
32
|
-
/**
|
|
33
|
-
* Props for `<PrismicLink />`.
|
|
34
|
-
*/
|
|
26
|
+
/** Props for `<PrismicLink />`. */
|
|
35
27
|
export type PrismicLinkProps = {
|
|
36
28
|
/**
|
|
37
|
-
*
|
|
38
|
-
* resolver parameter with `@prismicio/client`.
|
|
29
|
+
* The link resolver used to resolve links.
|
|
39
30
|
*
|
|
40
|
-
* @
|
|
31
|
+
* @remarks
|
|
32
|
+
* If your app uses route resolvers when querying for your Prismic
|
|
33
|
+
* repository's content, a link resolver does not need to be provided.
|
|
41
34
|
*
|
|
42
|
-
* @see
|
|
35
|
+
* @see {@link https://prismic.io/docs/routes}
|
|
43
36
|
*/
|
|
44
37
|
linkResolver?: LinkResolverFunction
|
|
45
38
|
|
|
@@ -47,50 +40,33 @@ export type PrismicLinkProps = {
|
|
|
47
40
|
* The `rel` attribute for the link. By default, `"noreferrer"` is provided if
|
|
48
41
|
* the link's URL is external. This prop can be provided a function to use the
|
|
49
42
|
* link's metadata to determine the `rel` value.
|
|
50
|
-
*
|
|
51
|
-
* @defaultValue The one provided to `@prismicio/vue` plugin if configured.
|
|
52
43
|
*/
|
|
53
44
|
rel?: string | AsLinkAttrsConfig["rel"]
|
|
54
45
|
|
|
55
46
|
/**
|
|
56
|
-
*
|
|
47
|
+
* The component rendered for internal URLs.
|
|
57
48
|
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* `target`, and `rel` attributes).
|
|
61
|
-
* @remarks
|
|
62
|
-
* Components will be rendered using Vue Router {@link RouterLink} interface
|
|
63
|
-
* (`to` props).
|
|
49
|
+
* If your app uses a client-side router that requires a special Link
|
|
50
|
+
* component, provide the Link component to this prop.
|
|
64
51
|
*
|
|
65
|
-
* @defaultValue
|
|
52
|
+
* @defaultValue `<RouterLink>`
|
|
66
53
|
*/
|
|
67
54
|
internalComponent?: ComponentOrTagName
|
|
68
55
|
|
|
69
56
|
/**
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* @remarks
|
|
73
|
-
* HTML tag names will be rendered using the anchor tag interface (`href`,
|
|
74
|
-
* `target`, and `rel` attributes).
|
|
75
|
-
* @remarks
|
|
76
|
-
* Components will be rendered using Vue Router {@link RouterLink} interface
|
|
77
|
-
* (`to` props).
|
|
57
|
+
* The component rendered for external URLs.
|
|
78
58
|
*
|
|
79
|
-
* @defaultValue
|
|
59
|
+
* @defaultValue `<a>`
|
|
80
60
|
*/
|
|
81
61
|
externalComponent?: ComponentOrTagName
|
|
82
62
|
} & (
|
|
83
63
|
| {
|
|
84
|
-
/**
|
|
85
|
-
* The Prismic link field to render.
|
|
86
|
-
*/
|
|
64
|
+
/** The Prismic link field to render. */
|
|
87
65
|
field: LinkField
|
|
88
66
|
document?: never
|
|
89
67
|
}
|
|
90
68
|
| {
|
|
91
|
-
/**
|
|
92
|
-
* The Prismic document to render as a link.
|
|
93
|
-
*/
|
|
69
|
+
/** The Prismic document to render as a link. */
|
|
94
70
|
document: PrismicDocument
|
|
95
71
|
field?: never
|
|
96
72
|
}
|
|
@@ -99,15 +75,14 @@ export type PrismicLinkProps = {
|
|
|
99
75
|
const props = defineProps<PrismicLinkProps>()
|
|
100
76
|
defineOptions({ name: "PrismicLink" })
|
|
101
77
|
|
|
102
|
-
const {
|
|
78
|
+
const { linkResolver, components } = usePrismic()
|
|
103
79
|
|
|
104
80
|
const rawAttrs = computed(() => {
|
|
105
81
|
return asLinkAttrs(props.field || props.document, {
|
|
106
|
-
linkResolver: props.linkResolver ||
|
|
82
|
+
linkResolver: props.linkResolver || linkResolver,
|
|
107
83
|
rel(args) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
return typeof maybeRel === "function" ? maybeRel(args) : maybeRel
|
|
84
|
+
if (props.rel) {
|
|
85
|
+
return typeof props.rel === "function" ? props.rel(args) : props.rel
|
|
111
86
|
}
|
|
112
87
|
|
|
113
88
|
return args.isExternal ? defaultExternalRelAttribute : undefined
|
|
@@ -118,10 +93,10 @@ const rawAttrs = computed(() => {
|
|
|
118
93
|
const component = computed(() => {
|
|
119
94
|
return isInternalURL(rawAttrs.value.href || "")
|
|
120
95
|
? props.internalComponent ||
|
|
121
|
-
|
|
96
|
+
components?.linkInternalComponent ||
|
|
122
97
|
defaultInternalComponent
|
|
123
98
|
: props.externalComponent ||
|
|
124
|
-
|
|
99
|
+
components?.linkExternalComponent ||
|
|
125
100
|
defaultExternalComponent
|
|
126
101
|
})
|
|
127
102
|
|
|
@@ -1,83 +1,63 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
type RichTextField,
|
|
7
|
-
isFilled,
|
|
2
|
+
import type {
|
|
3
|
+
LinkResolverFunction,
|
|
4
|
+
RichTextField,
|
|
5
|
+
RichTextNodeType,
|
|
8
6
|
} from "@prismicio/client"
|
|
9
7
|
import { asTree } from "@prismicio/client/richtext"
|
|
10
|
-
import { DEV } from "esm-env"
|
|
11
8
|
import type { PropType } from "vue"
|
|
12
|
-
import { computed
|
|
9
|
+
import { computed } from "vue"
|
|
13
10
|
|
|
14
|
-
import
|
|
11
|
+
import type { ComponentOrTagName, ComponentShorthand } from "../types"
|
|
12
|
+
import { isComponent } from "../types"
|
|
13
|
+
import type {
|
|
14
|
+
InternalRichTextComponents,
|
|
15
|
+
RichTextComponent,
|
|
16
|
+
RichTextComponents,
|
|
17
|
+
} from "./types"
|
|
15
18
|
|
|
16
|
-
import
|
|
17
|
-
import type { VueRichTextSerializer } from "./types"
|
|
19
|
+
import { usePrismic } from "../createPrismic"
|
|
18
20
|
|
|
19
|
-
import
|
|
20
|
-
|
|
21
|
-
import DeprecatedPrismicRichText from "./DeprecatedPrismicRichText.vue"
|
|
21
|
+
import PrismicRichTextDefaultComponent from "./PrismicRichTextDefaultComponent.vue"
|
|
22
22
|
import PrismicRichTextSerialize from "./PrismicRichTextSerialize.vue"
|
|
23
23
|
|
|
24
|
-
/**
|
|
25
|
-
* Props for `<PrismicRichText />`.
|
|
26
|
-
*/
|
|
24
|
+
/** Props for `<PrismicRichText />`. */
|
|
27
25
|
export type PrismicRichTextProps = {
|
|
28
|
-
/**
|
|
29
|
-
* The Prismic rich text or title field to render.
|
|
30
|
-
*/
|
|
26
|
+
/** The Prismic rich text field to render. */
|
|
31
27
|
field: RichTextField | null | undefined
|
|
32
28
|
|
|
33
29
|
/**
|
|
34
|
-
* The
|
|
35
|
-
*
|
|
30
|
+
* The link resolver used to resolve links.
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
33
|
+
* If your app uses route resolvers when querying for your Prismic
|
|
34
|
+
* repository's content, a link resolver does not need to be provided.
|
|
35
|
+
*
|
|
36
|
+
* @see Learn about link resolvers and route resolvers {@link https://prismic.io/docs/routes}
|
|
36
37
|
*/
|
|
37
|
-
|
|
38
|
+
linkResolver?: LinkResolverFunction
|
|
38
39
|
|
|
39
40
|
/**
|
|
40
|
-
* An object that maps a rich text block type to a Vue component
|
|
41
|
+
* An object that maps a rich text block type to a Vue component or a
|
|
42
|
+
* shorthand definition.
|
|
41
43
|
*
|
|
42
44
|
* @example
|
|
43
45
|
*
|
|
44
46
|
* ```javascript
|
|
45
47
|
* {
|
|
46
48
|
* heading1: Heading1,
|
|
49
|
+
* paragraph: { class: 'prose'},
|
|
50
|
+
* strong: { as: 'em', class: 'font-bold' },
|
|
47
51
|
* }
|
|
48
52
|
* ```
|
|
49
53
|
*/
|
|
50
|
-
components?:
|
|
54
|
+
components?: RichTextComponents
|
|
51
55
|
|
|
52
56
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* @defaultValue The link resolver provided to `@prismicio/vue` plugin if configured.
|
|
57
|
-
*
|
|
58
|
-
* @see Link resolver documentation {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver#link-resolver}
|
|
59
|
-
*/
|
|
60
|
-
linkResolver?: LinkResolverFunction
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* An HTML serializer to customize the way rich text fields are rendered.
|
|
64
|
-
*
|
|
65
|
-
* @deprecated Use `components` instead.
|
|
66
|
-
*
|
|
67
|
-
* @defaultValue The HTML serializer provided to `@prismicio/vue` plugin if configured.
|
|
68
|
-
*
|
|
69
|
-
* @see HTML serializer documentation {@link https://prismic.io/docs/core-concepts/html-serializer}
|
|
70
|
-
*/
|
|
71
|
-
// TODO: Remove in v6
|
|
72
|
-
serializer?: HTMLRichTextFunctionSerializer | HTMLRichTextMapSerializer
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* An HTML tag name or a component used to wrap the output. `<PrismicText />`
|
|
76
|
-
* is not wrapped by default.
|
|
77
|
-
*
|
|
78
|
-
* @defaultValue `"template"` (no wrapper)
|
|
57
|
+
* The value to be rendered when the field is empty. If a fallback is not
|
|
58
|
+
* given, `null` will be rendered.
|
|
79
59
|
*/
|
|
80
|
-
|
|
60
|
+
fallback?: ComponentOrTagName
|
|
81
61
|
}
|
|
82
62
|
|
|
83
63
|
// We're forced to declare props using the JavaScript syntax because `@vue/compiler-sfc`
|
|
@@ -86,98 +66,77 @@ const props = defineProps({
|
|
|
86
66
|
field: {
|
|
87
67
|
type: Array as unknown as PropType<PrismicRichTextProps["field"]>,
|
|
88
68
|
},
|
|
89
|
-
fallback: {
|
|
90
|
-
type: [String, Object, Function] as PropType<
|
|
91
|
-
PrismicRichTextProps["fallback"]
|
|
92
|
-
>,
|
|
93
|
-
},
|
|
94
|
-
components: {
|
|
95
|
-
type: Object as PropType<PrismicRichTextProps["components"]>,
|
|
96
|
-
},
|
|
97
69
|
linkResolver: {
|
|
98
70
|
type: Function as PropType<PrismicRichTextProps["linkResolver"]>,
|
|
99
71
|
},
|
|
100
|
-
|
|
101
|
-
type:
|
|
72
|
+
components: {
|
|
73
|
+
type: Object as PropType<PrismicRichTextProps["components"]>,
|
|
102
74
|
},
|
|
103
|
-
|
|
75
|
+
fallback: {
|
|
104
76
|
type: [String, Object, Function] as PropType<
|
|
105
|
-
PrismicRichTextProps["
|
|
77
|
+
PrismicRichTextProps["fallback"]
|
|
106
78
|
>,
|
|
107
79
|
},
|
|
108
80
|
})
|
|
109
81
|
defineOptions({ name: "PrismicRichText" })
|
|
110
82
|
|
|
111
|
-
const {
|
|
112
|
-
|
|
113
|
-
const resolvedComponents = computed(() => {
|
|
114
|
-
return props.components || options.components?.richTextComponents
|
|
115
|
-
})
|
|
83
|
+
const { components: { richTextComponents } } = usePrismic()
|
|
116
84
|
|
|
117
|
-
const
|
|
118
|
-
return props.
|
|
85
|
+
const resolvedComponents = computed<RichTextComponents>(() => {
|
|
86
|
+
return { ...richTextComponents, ...props.components }
|
|
119
87
|
})
|
|
120
88
|
|
|
121
89
|
const children = computed(() => {
|
|
122
90
|
return asTree(props.field || []).children
|
|
123
91
|
})
|
|
124
92
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
93
|
+
function getInternalComponent(type: keyof typeof RichTextNodeType) {
|
|
94
|
+
const maybeComponentOrShorthand = resolvedComponents.value?.[type] as
|
|
95
|
+
| RichTextComponent
|
|
96
|
+
| ComponentShorthand
|
|
97
|
+
| undefined
|
|
130
98
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
return false
|
|
99
|
+
if (isComponent(maybeComponentOrShorthand)) {
|
|
100
|
+
return { is: maybeComponentOrShorthand }
|
|
134
101
|
}
|
|
135
102
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
103
|
+
return {
|
|
104
|
+
is: PrismicRichTextDefaultComponent,
|
|
105
|
+
linkResolver: props.linkResolver,
|
|
106
|
+
shorthand: maybeComponentOrShorthand,
|
|
139
107
|
}
|
|
108
|
+
}
|
|
140
109
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
110
|
+
const internalComponents = computed<InternalRichTextComponents>(() => {
|
|
111
|
+
return {
|
|
112
|
+
heading1: getInternalComponent("heading1"),
|
|
113
|
+
heading2: getInternalComponent("heading2"),
|
|
114
|
+
heading3: getInternalComponent("heading3"),
|
|
115
|
+
heading4: getInternalComponent("heading4"),
|
|
116
|
+
heading5: getInternalComponent("heading5"),
|
|
117
|
+
heading6: getInternalComponent("heading6"),
|
|
118
|
+
paragraph: getInternalComponent("paragraph"),
|
|
119
|
+
preformatted: getInternalComponent("preformatted"),
|
|
120
|
+
strong: getInternalComponent("strong"),
|
|
121
|
+
em: getInternalComponent("em"),
|
|
122
|
+
"list-item": getInternalComponent("listItem"),
|
|
123
|
+
"o-list-item": getInternalComponent("oListItem"),
|
|
124
|
+
"group-list-item": getInternalComponent("list"),
|
|
125
|
+
"group-o-list-item": getInternalComponent("oList"),
|
|
126
|
+
image: getInternalComponent("image"),
|
|
127
|
+
embed: getInternalComponent("embed"),
|
|
128
|
+
hyperlink: getInternalComponent("hyperlink"),
|
|
129
|
+
label: getInternalComponent("label"),
|
|
130
|
+
span: getInternalComponent("span"),
|
|
144
131
|
}
|
|
145
|
-
|
|
146
|
-
// Default to modern
|
|
147
|
-
return true
|
|
148
132
|
})
|
|
149
|
-
|
|
150
|
-
if (DEV) {
|
|
151
|
-
watchEffect(() => {
|
|
152
|
-
// TODO: Remove in v6
|
|
153
|
-
if (props.components && props.serializer) {
|
|
154
|
-
console.warn(
|
|
155
|
-
`[PrismicRichText] Only one of "components" or "serializer" (deprecated) props can be provided. You can resolve this warning by removing either the "components" or "serializer" prop. "components" will be used in this case.`,
|
|
156
|
-
)
|
|
157
|
-
}
|
|
158
|
-
})
|
|
159
|
-
}
|
|
160
133
|
</script>
|
|
161
134
|
|
|
162
135
|
<template>
|
|
163
|
-
<
|
|
164
|
-
v-if="
|
|
165
|
-
:
|
|
166
|
-
|
|
167
|
-
<PrismicRichTextSerialize
|
|
168
|
-
v-if="children.length"
|
|
169
|
-
:children="children"
|
|
170
|
-
:components="resolvedComponents"
|
|
171
|
-
:link-resolver="resolvedLinkResolver"
|
|
172
|
-
/>
|
|
173
|
-
<component v-else :is="fallback" />
|
|
174
|
-
</Wrapper>
|
|
175
|
-
<DeprecatedPrismicRichText
|
|
176
|
-
v-else-if="!isModern"
|
|
177
|
-
:field="field"
|
|
178
|
-
:fallback="typeof fallback === 'string' ? fallback : undefined"
|
|
179
|
-
:link-resolver="linkResolver"
|
|
180
|
-
:serializer="serializer"
|
|
181
|
-
:wrapper="wrapper"
|
|
136
|
+
<PrismicRichTextSerialize
|
|
137
|
+
v-if="children.length"
|
|
138
|
+
:children="children"
|
|
139
|
+
:internal-components="internalComponents"
|
|
182
140
|
/>
|
|
141
|
+
<component v-else-if="fallback" :is="fallback" />
|
|
183
142
|
</template>
|