@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/src/PrismicText.vue
CHANGED
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
2
|
import type { RichTextField } from "@prismicio/client"
|
|
3
|
-
import { asText
|
|
3
|
+
import { asText } from "@prismicio/client"
|
|
4
4
|
import { DEV } from "esm-env"
|
|
5
5
|
import { watchEffect } from "vue"
|
|
6
6
|
|
|
7
|
-
import Wrapper from "./lib/Wrapper.vue"
|
|
8
7
|
import { devMsg } from "./lib/devMsg"
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Props for `<PrismicText />`.
|
|
14
|
-
*/
|
|
9
|
+
/** Props for `<PrismicText />`. */
|
|
15
10
|
export type PrismicTextProps = {
|
|
16
|
-
/**
|
|
17
|
-
* The Prismic rich text field to render.
|
|
18
|
-
*/
|
|
11
|
+
/** The Prismic rich text field to render. */
|
|
19
12
|
field: RichTextField | null | undefined
|
|
20
13
|
|
|
21
14
|
/**
|
|
@@ -30,14 +23,6 @@ export type PrismicTextProps = {
|
|
|
30
23
|
* @defaultValue `" "` (a whitespace)
|
|
31
24
|
*/
|
|
32
25
|
separator?: string
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* An HTML tag name or a component used to wrap the output. `<PrismicText />`
|
|
36
|
-
* is not wrapped by default.
|
|
37
|
-
*
|
|
38
|
-
* @defaultValue `"template"` (no wrapper)
|
|
39
|
-
*/
|
|
40
|
-
wrapper?: ComponentOrTagName
|
|
41
26
|
}
|
|
42
27
|
|
|
43
28
|
const props = defineProps<PrismicTextProps>()
|
|
@@ -57,7 +42,5 @@ if (DEV) {
|
|
|
57
42
|
</script>
|
|
58
43
|
|
|
59
44
|
<template>
|
|
60
|
-
|
|
61
|
-
{{ asText(field) || fallback }}
|
|
62
|
-
</Wrapper>
|
|
45
|
+
{{ asText(field) || fallback || "" }}
|
|
63
46
|
</template>
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import { ref, onMounted, onUnmounted } from "vue";
|
|
3
|
+
import {
|
|
4
|
+
getDefaultProps,
|
|
5
|
+
getDefaultSlices,
|
|
6
|
+
getDefaultMessage,
|
|
7
|
+
onClickHandler,
|
|
8
|
+
disableEventHandler,
|
|
9
|
+
simulatorClass,
|
|
10
|
+
simulatorRootClass,
|
|
11
|
+
StateEventType,
|
|
12
|
+
SimulatorManager,
|
|
13
|
+
} from "@prismicio/simulator/kit";
|
|
14
|
+
|
|
15
|
+
/** Props for `<SliceSimulator />`. */
|
|
16
|
+
export type SliceSimulatorProps = {
|
|
17
|
+
/** The z-index value of the simulator so that it's displayed above layout elements. */
|
|
18
|
+
zIndex?: number
|
|
19
|
+
/** The background color of the simulator to match website design. */
|
|
20
|
+
background?: string
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const props = defineProps<SliceSimulatorProps>()
|
|
24
|
+
defineOptions({ name: "SliceSimulator" })
|
|
25
|
+
|
|
26
|
+
const slices = ref(getDefaultSlices());
|
|
27
|
+
const message = ref(getDefaultMessage());
|
|
28
|
+
|
|
29
|
+
const simulatorManager = new SimulatorManager();
|
|
30
|
+
|
|
31
|
+
onMounted(() => {
|
|
32
|
+
simulatorManager.state.on(
|
|
33
|
+
StateEventType.Slices,
|
|
34
|
+
(_slices) => { slices.value = _slices; },
|
|
35
|
+
"simulator-slices",
|
|
36
|
+
);
|
|
37
|
+
simulatorManager.state.on(
|
|
38
|
+
StateEventType.Message,
|
|
39
|
+
(_message) => { message.value = _message; },
|
|
40
|
+
"simulator-message",
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
simulatorManager.init();
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
onUnmounted(() => {
|
|
47
|
+
simulatorManager.state.off(StateEventType.Slices, "simulator-slices");
|
|
48
|
+
|
|
49
|
+
simulatorManager.state.off(StateEventType.Message, "simulator-message");
|
|
50
|
+
});
|
|
51
|
+
</script>
|
|
52
|
+
|
|
53
|
+
<template>
|
|
54
|
+
<div
|
|
55
|
+
:class="simulatorClass"
|
|
56
|
+
:style="{
|
|
57
|
+
zIndex: props.zIndex || getDefaultProps().zIndex,
|
|
58
|
+
position: 'fixed',
|
|
59
|
+
top: 0,
|
|
60
|
+
left: 0,
|
|
61
|
+
width: '100%',
|
|
62
|
+
height: '100vh',
|
|
63
|
+
overflow: 'auto',
|
|
64
|
+
background: props.background || getDefaultProps().background,
|
|
65
|
+
}"
|
|
66
|
+
>
|
|
67
|
+
<article v-if="message" v-html="message" />
|
|
68
|
+
<div
|
|
69
|
+
v-else-if="slices.length"
|
|
70
|
+
id="root"
|
|
71
|
+
:class="simulatorRootClass"
|
|
72
|
+
@click.capture="onClickHandler"
|
|
73
|
+
@submit.capture="disableEventHandler"
|
|
74
|
+
>
|
|
75
|
+
<slot :slices="slices" />
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
</template>
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
2
|
import { computed } from "vue"
|
|
3
3
|
|
|
4
|
-
import Wrapper from "../lib/Wrapper.vue"
|
|
5
|
-
|
|
6
4
|
import type { ComponentOrTagName } from "../types"
|
|
7
5
|
import type {
|
|
8
6
|
SliceComponentType,
|
|
@@ -11,8 +9,6 @@ import type {
|
|
|
11
9
|
SliceZoneLike,
|
|
12
10
|
} from "./types"
|
|
13
11
|
|
|
14
|
-
import { usePrismic } from "../usePrismic"
|
|
15
|
-
|
|
16
12
|
import { TODOSliceComponent } from "./TODOSliceComponent"
|
|
17
13
|
|
|
18
14
|
/**
|
|
@@ -21,48 +17,35 @@ import { TODOSliceComponent } from "./TODOSliceComponent"
|
|
|
21
17
|
* @typeParam TContext - Arbitrary data made available to all Slice components
|
|
22
18
|
*/
|
|
23
19
|
export type SliceZoneProps<TContext = unknown> = {
|
|
24
|
-
/**
|
|
25
|
-
* List of Slice data from the Slice Zone.
|
|
26
|
-
*/
|
|
20
|
+
/** List of slice data from the slice zone. */
|
|
27
21
|
slices: SliceZoneLike<SliceLike | (SliceLike & Record<string, unknown>)>
|
|
28
22
|
|
|
29
|
-
/**
|
|
30
|
-
* A record mapping Slice types to Vue components.
|
|
31
|
-
*/
|
|
23
|
+
/** A record mapping slice types to React components. */
|
|
32
24
|
components?: SliceZoneComponents
|
|
33
25
|
|
|
34
26
|
/**
|
|
35
27
|
* The Vue component rendered if a component mapping from the `components`
|
|
36
28
|
* prop cannot be found.
|
|
37
|
-
*
|
|
38
|
-
* @remarks
|
|
39
|
-
* Components will be rendered using the {@link SliceComponentProps} interface.
|
|
40
|
-
*
|
|
41
|
-
* @defaultValue The Slice Zone default component provided to `@prismicio/vue` plugin if configured, otherwise `null` when `process.env.NODE_ENV === "production"` else {@link TODOSliceComponent}.
|
|
42
29
|
*/
|
|
43
30
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
44
31
|
defaultComponent?: SliceComponentType<any, TContext>
|
|
45
32
|
|
|
46
|
-
/**
|
|
47
|
-
* Arbitrary data made available to all Slice components.
|
|
48
|
-
*/
|
|
33
|
+
/** Arbitrary data made available to all slice components. */
|
|
49
34
|
context?: TContext
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* An HTML tag name or a component used to wrap the output. `<SliceZone />` is
|
|
53
|
-
* not wrapped by default.
|
|
54
|
-
*
|
|
55
|
-
* @defaultValue `"template"` (no wrapper)
|
|
56
|
-
*/
|
|
57
|
-
wrapper?: ComponentOrTagName
|
|
58
35
|
}
|
|
59
36
|
|
|
60
37
|
const props = defineProps<SliceZoneProps>()
|
|
61
38
|
defineOptions({ name: "SliceZone" })
|
|
62
39
|
|
|
63
|
-
const
|
|
40
|
+
const renderedSlices = computed<
|
|
41
|
+
{
|
|
42
|
+
is: ComponentOrTagName
|
|
43
|
+
key: string
|
|
44
|
+
props: Record<string, unknown>
|
|
45
|
+
}[]
|
|
46
|
+
>(() => {
|
|
47
|
+
if (!props.slices) return []
|
|
64
48
|
|
|
65
|
-
const renderedSlices = computed(() => {
|
|
66
49
|
return props.slices.map((slice, index) => {
|
|
67
50
|
const type =
|
|
68
51
|
"slice_type" in slice ? (slice.slice_type as string) : slice.type
|
|
@@ -72,10 +55,7 @@ const renderedSlices = computed(() => {
|
|
|
72
55
|
? slice.id
|
|
73
56
|
: `${index}-${JSON.stringify(slice)}`
|
|
74
57
|
|
|
75
|
-
const is =
|
|
76
|
-
props.components?.[type] ||
|
|
77
|
-
props.defaultComponent ||
|
|
78
|
-
options.components?.sliceZoneDefaultComponent
|
|
58
|
+
const is = props.components?.[type] || props.defaultComponent
|
|
79
59
|
|
|
80
60
|
if (!is) {
|
|
81
61
|
return { is: TODOSliceComponent, key, props: { slice } }
|
|
@@ -102,12 +82,10 @@ const renderedSlices = computed(() => {
|
|
|
102
82
|
</script>
|
|
103
83
|
|
|
104
84
|
<template>
|
|
105
|
-
<
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
/>
|
|
112
|
-
</Wrapper>
|
|
85
|
+
<component
|
|
86
|
+
v-for="renderedSlice in renderedSlices"
|
|
87
|
+
:is="renderedSlice.is"
|
|
88
|
+
:key="renderedSlice.key"
|
|
89
|
+
v-bind="renderedSlice.props"
|
|
90
|
+
/>
|
|
113
91
|
</template>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DEV } from "esm-env"
|
|
2
|
-
import type { PropType } from "vue"
|
|
3
2
|
import { computed, defineComponent, h, watchEffect } from "vue"
|
|
3
|
+
import type { PropType } from "vue"
|
|
4
4
|
|
|
5
5
|
import type { SliceComponentType, SliceLike } from "./types"
|
|
6
6
|
|
|
@@ -11,6 +11,7 @@ import type { SliceComponentType, SliceLike } from "./types"
|
|
|
11
11
|
* This is also the default Vue component rendered when a component mapping
|
|
12
12
|
* cannot be found in `<SliceZone />`.
|
|
13
13
|
*/
|
|
14
|
+
// oxlint-disable-next-line explicit-module-boundary-types
|
|
14
15
|
export const TODOSliceComponent = DEV
|
|
15
16
|
? /*#__PURE__*/ (defineComponent({
|
|
16
17
|
name: "TODOSliceComponent",
|
package/src/SliceZone/types.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import type { Slice } from "@prismicio/client"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
FunctionalComponent,
|
|
5
|
-
defineAsyncComponent,
|
|
6
|
-
} from "vue"
|
|
2
|
+
|
|
3
|
+
import type { Component } from "../types"
|
|
7
4
|
|
|
8
5
|
/**
|
|
9
6
|
* Returns the type of a `SliceLike` type.
|
|
@@ -83,19 +80,13 @@ export type SliceComponentProps<
|
|
|
83
80
|
TSlice extends SliceLike = SliceLike,
|
|
84
81
|
TContext = unknown,
|
|
85
82
|
> = {
|
|
86
|
-
/**
|
|
87
|
-
* Slice data for this component.
|
|
88
|
-
*/
|
|
83
|
+
/** Slice data for this component. */
|
|
89
84
|
slice: TSlice
|
|
90
85
|
|
|
91
|
-
/**
|
|
92
|
-
* The index of the Slice in the Slice Zone.
|
|
93
|
-
*/
|
|
86
|
+
/** The index of the Slice in the Slice Zone. */
|
|
94
87
|
index: number
|
|
95
88
|
|
|
96
|
-
/**
|
|
97
|
-
* All Slices from the Slice Zone to which the Slice belongs.
|
|
98
|
-
*/
|
|
89
|
+
/** All Slices from the Slice Zone to which the Slice belongs. */
|
|
99
90
|
// TODO: We have to keep this list of Slices general due to circular
|
|
100
91
|
// reference limtiations. If we had another generic to determine the full
|
|
101
92
|
// union of Slice types, it would include TSlice. This causes TypeScript to
|
|
@@ -121,14 +112,7 @@ export type SliceComponentType<
|
|
|
121
112
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
122
113
|
TSlice extends SliceLike = any,
|
|
123
114
|
TContext = unknown,
|
|
124
|
-
> =
|
|
125
|
-
// For reference within TypeScript files when `*.vue` type cannot be inferred
|
|
126
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-object-type, @typescript-eslint/no-explicit-any
|
|
127
|
-
| DefineComponent<{}, {}, any>
|
|
128
|
-
// Likewise, for reference with TypeScript files.
|
|
129
|
-
| ReturnType<typeof defineAsyncComponent>
|
|
130
|
-
| DefineComponent<SliceComponentProps<TSlice, TContext>>
|
|
131
|
-
| FunctionalComponent
|
|
115
|
+
> = Component<SliceComponentProps<TSlice, TContext>>
|
|
132
116
|
|
|
133
117
|
/**
|
|
134
118
|
* A record of Slice types mapped to Vue components. Each components will be
|
package/src/createPrismic.ts
CHANGED
|
@@ -1,154 +1,105 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
} from "
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
1
|
+
import type { CreateClient, LinkResolverFunction } from "@prismicio/client"
|
|
2
|
+
import { isFilled } from "@prismicio/client"
|
|
3
|
+
import type { App, InjectionKey } from "vue"
|
|
4
|
+
import { inject } from "vue"
|
|
5
|
+
|
|
6
|
+
import type { ComponentOrTagName } from "./types"
|
|
7
|
+
|
|
8
|
+
import type { RichTextComponents } from "./PrismicRichText"
|
|
9
|
+
import type { TableComponents } from "./PrismicTable"
|
|
10
|
+
|
|
11
|
+
const prismicKey = Symbol.for(
|
|
12
|
+
"@prismicio/vue/plugin",
|
|
13
|
+
) as InjectionKey<PrismicPlugin>
|
|
14
|
+
|
|
15
|
+
/** Components configuration. */
|
|
16
|
+
type ComponentsConfig = {
|
|
17
|
+
/** The default component rendered for internal URLs. */
|
|
18
|
+
linkInternalComponent?: ComponentOrTagName
|
|
19
|
+
|
|
20
|
+
/** The default component rendered for external URLs. */
|
|
21
|
+
linkExternalComponent?: ComponentOrTagName
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The default components or shorthand definitions for rich text and table
|
|
25
|
+
* components.
|
|
26
|
+
*
|
|
27
|
+
* @see {@link https://prismic.io/docs/fields/rich-text}
|
|
28
|
+
* @see {@link https://prismic.io/docs/fields/table}
|
|
29
|
+
*/
|
|
30
|
+
richTextComponents?: RichTextComponents & TableComponents
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Prismic Vue plugin configuration. */
|
|
34
|
+
export type PrismicPluginConfig = {
|
|
35
|
+
/** A Prismic client instance to inject into the Vue app. */
|
|
36
|
+
client: ReturnType<CreateClient>
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* A default link resolver used to resolve links when route resolvers cannot be used.
|
|
40
|
+
*
|
|
41
|
+
* @see {@link https://prismic.io/docs/routes}
|
|
42
|
+
*/
|
|
43
|
+
linkResolver?: LinkResolverFunction
|
|
44
|
+
|
|
45
|
+
/** Components configuration. */
|
|
46
|
+
components?: ComponentsConfig
|
|
47
|
+
}
|
|
40
48
|
|
|
41
49
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* @param options - {@link PrismicPluginOptions}
|
|
45
|
-
*
|
|
46
|
-
* @returns `@prismicio/vue` plugin instance {@link PrismicPlugin}
|
|
47
|
-
*
|
|
48
|
-
* @see Prismic Official Vue.js documentation: {@link https://prismic.io/docs/technologies/vuejs}
|
|
49
|
-
* @see Plugin repository: {@link https://github.com/prismicio/prismic-vue}
|
|
50
|
+
* Prismic Vue plugin interface accessible through `usePrismic()` and
|
|
51
|
+
* `$prismic`.
|
|
50
52
|
*/
|
|
51
|
-
export
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (options.client) {
|
|
55
|
-
client = options.client
|
|
56
|
-
} else {
|
|
57
|
-
client = createClient(options.endpoint, options.clientConfig)
|
|
58
|
-
}
|
|
53
|
+
export type PrismicPlugin = {
|
|
54
|
+
/** A Prismic client that can be used to query content from a repository. */
|
|
55
|
+
client: ReturnType<CreateClient>
|
|
59
56
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
filter,
|
|
63
|
-
cookie,
|
|
64
|
-
}
|
|
57
|
+
/** Helpers to determine if a field is filled. */
|
|
58
|
+
isFilled: typeof isFilled
|
|
65
59
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
return asHTML(
|
|
73
|
-
richTextField,
|
|
74
|
-
typeof configOrLinkResolver === "function" ||
|
|
75
|
-
configOrLinkResolver == null
|
|
76
|
-
? {
|
|
77
|
-
linkResolver: configOrLinkResolver || options.linkResolver,
|
|
78
|
-
serializer:
|
|
79
|
-
(maybeHTMLSerializer as
|
|
80
|
-
| HTMLRichTextFunctionSerializer
|
|
81
|
-
| HTMLRichTextMapSerializer) || options.richTextSerializer,
|
|
82
|
-
}
|
|
83
|
-
: {
|
|
84
|
-
linkResolver: options.linkResolver,
|
|
85
|
-
serializer: options.richTextSerializer,
|
|
86
|
-
...configOrLinkResolver,
|
|
87
|
-
},
|
|
88
|
-
)
|
|
89
|
-
},
|
|
90
|
-
asLink: (linkField, config) => {
|
|
91
|
-
return asLink(
|
|
92
|
-
linkField,
|
|
93
|
-
typeof config === "function"
|
|
94
|
-
? { linkResolver: config }
|
|
95
|
-
: {
|
|
96
|
-
linkResolver: options.linkResolver,
|
|
97
|
-
// TODO: For some reasons, TypeScript narrows the type to "unknown" where it's supposed to be a union
|
|
98
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
99
|
-
...(config as any),
|
|
100
|
-
},
|
|
101
|
-
)
|
|
102
|
-
},
|
|
103
|
-
asLinkAttrs: (linkField, config) => {
|
|
104
|
-
return asLinkAttrs(linkField, {
|
|
105
|
-
// TODO: We can't really retrieve the generic type here, this might cause some unexpected type error in some edge-case scenario
|
|
106
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
107
|
-
linkResolver: options.linkResolver as LinkResolverFunction<any>,
|
|
108
|
-
...config,
|
|
109
|
-
})
|
|
110
|
-
},
|
|
111
|
-
asDate,
|
|
112
|
-
asImageSrc,
|
|
113
|
-
asImageWidthSrcSet,
|
|
114
|
-
asImagePixelDensitySrcSet,
|
|
115
|
-
isFilled,
|
|
116
|
-
documentToLinkField,
|
|
117
|
-
}
|
|
60
|
+
/**
|
|
61
|
+
* The default link resolver used to resolve links when route resolvers cannot be used.
|
|
62
|
+
*
|
|
63
|
+
* @see {@link https://prismic.io/docs/routes}
|
|
64
|
+
*/
|
|
65
|
+
linkResolver?: LinkResolverFunction
|
|
118
66
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
options,
|
|
67
|
+
/** @internal */
|
|
68
|
+
readonly components: ComponentsConfig
|
|
122
69
|
|
|
123
|
-
|
|
124
|
-
|
|
70
|
+
/** @internal */
|
|
71
|
+
install: (app: App) => void
|
|
72
|
+
}
|
|
125
73
|
|
|
74
|
+
/** Creates a Prismic Vue plugin instance that can be used by a Vue app. */
|
|
75
|
+
export const createPrismic = (config: PrismicPluginConfig): PrismicPlugin => {
|
|
76
|
+
return {
|
|
77
|
+
...config,
|
|
78
|
+
components: config.components || {},
|
|
79
|
+
isFilled,
|
|
126
80
|
install(app: App): void {
|
|
127
81
|
app.provide(prismicKey, this)
|
|
128
82
|
app.config.globalProperties.$prismic = this
|
|
129
|
-
|
|
130
|
-
if (options.injectComponents !== false) {
|
|
131
|
-
app.component(PrismicLink.name!, PrismicLink)
|
|
132
|
-
app.component(PrismicEmbed.name!, PrismicEmbed)
|
|
133
|
-
app.component(PrismicImage.name!, PrismicImage)
|
|
134
|
-
app.component(PrismicTable.name!, PrismicTable)
|
|
135
|
-
app.component(PrismicText.name!, PrismicText)
|
|
136
|
-
app.component(PrismicRichText.name!, PrismicRichText)
|
|
137
|
-
app.component(SliceZone.name!, SliceZone)
|
|
138
|
-
}
|
|
139
83
|
},
|
|
140
84
|
}
|
|
85
|
+
}
|
|
141
86
|
|
|
142
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Access the Prismic Vue plugin interface.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
*
|
|
92
|
+
* ```typescript
|
|
93
|
+
* const { client, isFilled } = usePrismic()
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export const usePrismic = (): PrismicPlugin => {
|
|
97
|
+
return inject(prismicKey, { components: {} } as PrismicPlugin)
|
|
143
98
|
}
|
|
144
99
|
|
|
145
100
|
declare module "vue" {
|
|
146
101
|
export interface ComponentCustomProperties {
|
|
147
|
-
/**
|
|
148
|
-
* `@prismicio/vue` plugin interface exposed on `this`.
|
|
149
|
-
*
|
|
150
|
-
* @see `@prismicio/vue` plugin interface {@link PrismicPlugin}
|
|
151
|
-
*/
|
|
102
|
+
/** The Prismic Vue plugin interface. */
|
|
152
103
|
$prismic: PrismicPlugin
|
|
153
104
|
}
|
|
154
105
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,39 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
import PrismicTable from "./PrismicTable/PrismicTable.vue"
|
|
3
|
-
import SliceZone from "./SliceZone/SliceZone.vue"
|
|
4
|
-
|
|
5
|
-
import PrismicEmbed from "./PrismicEmbed.vue"
|
|
6
|
-
import PrismicImage from "./PrismicImage.vue"
|
|
7
|
-
import PrismicLink from "./PrismicLink.vue"
|
|
8
|
-
import PrismicText from "./PrismicText.vue"
|
|
9
|
-
|
|
10
|
-
export type { SliceZoneProps } from "./SliceZone/SliceZone.vue"
|
|
1
|
+
export { default as PrismicRichText } from "./PrismicRichText/PrismicRichText.vue"
|
|
11
2
|
export type { PrismicRichTextProps } from "./PrismicRichText/PrismicRichText.vue"
|
|
3
|
+
export { getRichTextComponentProps } from "./PrismicRichText"
|
|
4
|
+
export type { RichTextComponents, RichTextComponentProps } from "./PrismicRichText"
|
|
5
|
+
|
|
6
|
+
export { default as PrismicTable } from "./PrismicTable/PrismicTable.vue"
|
|
12
7
|
export type { PrismicTableProps } from "./PrismicTable/PrismicTable.vue"
|
|
8
|
+
export { getTableComponentProps } from "./PrismicTable"
|
|
9
|
+
export type { TableComponents } from "./PrismicTable"
|
|
13
10
|
|
|
14
|
-
export
|
|
11
|
+
export { default as PrismicImage } from "./PrismicImage.vue"
|
|
15
12
|
export type { PrismicImageProps } from "./PrismicImage.vue"
|
|
16
|
-
export type { PrismicLinkProps } from "./PrismicLink.vue"
|
|
17
|
-
export type { PrismicTextProps } from "./PrismicText.vue"
|
|
18
13
|
|
|
19
|
-
export {
|
|
20
|
-
|
|
21
|
-
PrismicEmbed,
|
|
22
|
-
PrismicImage,
|
|
23
|
-
PrismicLink,
|
|
24
|
-
PrismicTable,
|
|
25
|
-
PrismicText,
|
|
26
|
-
PrismicRichText,
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export { getRichTextComponentProps } from "./PrismicRichText"
|
|
30
|
-
export type {
|
|
31
|
-
VueRichTextSerializer,
|
|
32
|
-
RichTextComponentProps,
|
|
33
|
-
} from "./PrismicRichText"
|
|
14
|
+
export { default as PrismicLink } from "./PrismicLink.vue"
|
|
15
|
+
export type { PrismicLinkProps } from "./PrismicLink.vue"
|
|
34
16
|
|
|
35
|
-
export {
|
|
17
|
+
export { default as PrismicText } from "./PrismicText.vue"
|
|
18
|
+
export type { PrismicTextProps } from "./PrismicText.vue"
|
|
36
19
|
|
|
20
|
+
export { default as SliceZone } from "./SliceZone/SliceZone.vue"
|
|
21
|
+
export type { SliceZoneProps } from "./SliceZone/SliceZone.vue"
|
|
37
22
|
export {
|
|
38
23
|
TODOSliceComponent,
|
|
39
24
|
defineSliceZoneComponents,
|
|
@@ -49,7 +34,8 @@ export type {
|
|
|
49
34
|
SliceZoneLike,
|
|
50
35
|
} from "./SliceZone"
|
|
51
36
|
|
|
52
|
-
export
|
|
37
|
+
export { default as SliceSimulator } from "./SliceSimulator.vue"
|
|
38
|
+
export type { SliceSimulatorProps } from "./SliceSimulator.vue"
|
|
53
39
|
|
|
54
|
-
export { createPrismic } from "./createPrismic"
|
|
55
|
-
export {
|
|
40
|
+
export { createPrismic, usePrismic } from "./createPrismic"
|
|
41
|
+
export type { PrismicPlugin, PrismicPluginConfig } from "./createPrismic"
|
package/src/lib/isInternalURL.ts
CHANGED
|
@@ -7,13 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
// TODO: This does not detect all relative URLs as internal, such as `about` or `./about`. This function assumes relative URLs start with a "/"`.
|
|
9
9
|
export const isInternalURL = (url: string): boolean => {
|
|
10
|
-
/**
|
|
11
|
-
* @see Regex101 expression: {@link https://regex101.com/r/1y7iod/1}
|
|
12
|
-
*/
|
|
10
|
+
/** @see Regex101 expression: {@link https://regex101.com/r/1y7iod/1} */
|
|
13
11
|
const isInternal = /^\/(?!\/)/.test(url)
|
|
14
|
-
/**
|
|
15
|
-
* @see Regex101 expression: {@link https://regex101.com/r/RnUseS/1}
|
|
16
|
-
*/
|
|
12
|
+
/** @see Regex101 expression: {@link https://regex101.com/r/RnUseS/1} */
|
|
17
13
|
const isSpecialLink = !isInternal && !/^https?:\/\//i.test(url)
|
|
18
14
|
|
|
19
15
|
return isInternal && !isSpecialLink
|