@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
|
@@ -2,19 +2,35 @@
|
|
|
2
2
|
import type { LinkResolverFunction } from "@prismicio/client"
|
|
3
3
|
import { computed } from "vue"
|
|
4
4
|
|
|
5
|
+
import type { ComponentShorthand } from "../types"
|
|
5
6
|
import type { RichTextComponentProps } from "./types"
|
|
6
7
|
|
|
7
|
-
import PrismicEmbed from "../PrismicEmbed.vue"
|
|
8
8
|
import PrismicImage from "../PrismicImage.vue"
|
|
9
9
|
import PrismicLink from "../PrismicLink.vue"
|
|
10
10
|
|
|
11
11
|
const props = defineProps<
|
|
12
12
|
RichTextComponentProps & {
|
|
13
13
|
linkResolver?: LinkResolverFunction
|
|
14
|
+
shorthand?: ComponentShorthand
|
|
14
15
|
}
|
|
15
16
|
>()
|
|
16
17
|
defineOptions({ name: "PrismicRichTextDefaultComponent" })
|
|
17
18
|
|
|
19
|
+
const as = computed(() => {
|
|
20
|
+
return props.node.type !== "image" &&
|
|
21
|
+
props.node.type !== "hyperlink" &&
|
|
22
|
+
props.node.type !== "label" &&
|
|
23
|
+
props.node.type !== "span"
|
|
24
|
+
? props.shorthand?.as
|
|
25
|
+
: undefined
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
const attrs = computed(() => {
|
|
29
|
+
const { as, ...attrs } = props.shorthand ?? {}
|
|
30
|
+
|
|
31
|
+
return attrs
|
|
32
|
+
})
|
|
33
|
+
|
|
18
34
|
const dir = computed(() => {
|
|
19
35
|
return "direction" in props.node && props.node.direction === "rtl"
|
|
20
36
|
? "rtl"
|
|
@@ -23,38 +39,68 @@ const dir = computed(() => {
|
|
|
23
39
|
</script>
|
|
24
40
|
|
|
25
41
|
<template>
|
|
26
|
-
<
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
<component v-if="as" :is="as" :dir="dir" v-bind="attrs"><slot /></component>
|
|
43
|
+
<h1 v-else-if="node.type === 'heading1'" :dir="dir" v-bind="attrs">
|
|
44
|
+
<slot />
|
|
45
|
+
</h1>
|
|
46
|
+
<h2 v-else-if="node.type === 'heading2'" :dir="dir" v-bind="attrs">
|
|
47
|
+
<slot />
|
|
48
|
+
</h2>
|
|
49
|
+
<h3 v-else-if="node.type === 'heading3'" :dir="dir" v-bind="attrs">
|
|
50
|
+
<slot />
|
|
51
|
+
</h3>
|
|
52
|
+
<h4 v-else-if="node.type === 'heading4'" :dir="dir" v-bind="attrs">
|
|
53
|
+
<slot />
|
|
54
|
+
</h4>
|
|
55
|
+
<h5 v-else-if="node.type === 'heading5'" :dir="dir" v-bind="attrs">
|
|
56
|
+
<slot />
|
|
57
|
+
</h5>
|
|
58
|
+
<h6 v-else-if="node.type === 'heading6'" :dir="dir" v-bind="attrs">
|
|
59
|
+
<slot />
|
|
60
|
+
</h6>
|
|
61
|
+
<p v-else-if="node.type === 'paragraph'" :dir="dir" v-bind="attrs">
|
|
62
|
+
<slot />
|
|
63
|
+
</p>
|
|
64
|
+
<pre v-else-if="node.type === 'preformatted'" v-bind="attrs"><slot /></pre>
|
|
65
|
+
<strong v-else-if="node.type === 'strong'" v-bind="attrs"><slot /></strong>
|
|
66
|
+
<em v-else-if="node.type === 'em'" v-bind="attrs"><slot /></em>
|
|
67
|
+
<li v-else-if="node.type === 'list-item'" :dir="dir" v-bind="attrs">
|
|
68
|
+
<slot />
|
|
69
|
+
</li>
|
|
70
|
+
<li v-else-if="node.type === 'o-list-item'" :dir="dir" v-bind="attrs">
|
|
71
|
+
<slot />
|
|
72
|
+
</li>
|
|
73
|
+
<ul v-else-if="node.type === 'group-list-item'" v-bind="attrs">
|
|
39
74
|
<slot />
|
|
40
75
|
</ul>
|
|
41
|
-
<ol v-else-if="node.type === 'group-o-list-item'">
|
|
76
|
+
<ol v-else-if="node.type === 'group-o-list-item'" v-bind="attrs">
|
|
42
77
|
<slot />
|
|
43
78
|
</ol>
|
|
44
79
|
<p class="block-img" v-else-if="node.type === 'image'">
|
|
45
80
|
<PrismicLink v-if="node.linkTo" :field="node.linkTo"
|
|
46
|
-
><PrismicImage :field="node"
|
|
81
|
+
><PrismicImage :field="node" v-bind="attrs"
|
|
47
82
|
/></PrismicLink>
|
|
48
|
-
<PrismicImage v-else :field="node" />
|
|
83
|
+
<PrismicImage v-else :field="node" v-bind="attrs" />
|
|
49
84
|
</p>
|
|
50
|
-
<
|
|
85
|
+
<div
|
|
86
|
+
v-else-if="node.type === 'embed'"
|
|
87
|
+
:data-oembed="node.oembed.embed_url"
|
|
88
|
+
:data-oembed-type="node.oembed.type"
|
|
89
|
+
:data-oembed-provider="node.oembed.provider_name"
|
|
90
|
+
v-html="node.oembed.html"
|
|
91
|
+
v-bind="attrs"
|
|
92
|
+
/>
|
|
51
93
|
<PrismicLink
|
|
52
94
|
v-else-if="node.type === 'hyperlink'"
|
|
53
95
|
:field="node.data"
|
|
54
96
|
:link-resolver="linkResolver"
|
|
97
|
+
v-bind="attrs"
|
|
55
98
|
><slot
|
|
56
99
|
/></PrismicLink>
|
|
57
|
-
<span
|
|
100
|
+
<span
|
|
101
|
+
v-else-if="node.type === 'label'"
|
|
102
|
+
:class="node.data.label"
|
|
103
|
+
v-bind="attrs"
|
|
58
104
|
><slot
|
|
59
105
|
/></span>
|
|
60
106
|
<template v-else v-for="(line, index) in node.text.split('\n')" :key="line"
|
|
@@ -1,52 +1,28 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import type { LinkResolverFunction } from "@prismicio/client"
|
|
3
2
|
import type { asTree } from "@prismicio/client/richtext"
|
|
4
3
|
|
|
5
|
-
import type {
|
|
6
|
-
|
|
7
|
-
import PrismicRichTextDefaultComponent from "./PrismicRichTextDefaultComponent.vue"
|
|
8
|
-
|
|
9
|
-
const CHILD_TYPE_RENAMES = {
|
|
10
|
-
"list-item": "listItem",
|
|
11
|
-
"o-list-item": "oListItem",
|
|
12
|
-
"group-list-item": "list",
|
|
13
|
-
"group-o-list-item": "oList",
|
|
14
|
-
} as const
|
|
4
|
+
import type { InternalRichTextComponents } from "./types"
|
|
15
5
|
|
|
16
6
|
type PrismicRichTextSerializeProps = {
|
|
17
|
-
components?: VueRichTextSerializer
|
|
18
7
|
children: ReturnType<typeof asTree>["children"]
|
|
19
|
-
|
|
8
|
+
internalComponents: InternalRichTextComponents
|
|
20
9
|
}
|
|
21
10
|
|
|
22
11
|
const props = defineProps<PrismicRichTextSerializeProps>()
|
|
23
12
|
defineOptions({ name: "PrismicRichTextSerialize" })
|
|
24
|
-
|
|
25
|
-
function getComponent(child: ReturnType<typeof asTree>["children"][number]) {
|
|
26
|
-
return (
|
|
27
|
-
props.components?.[
|
|
28
|
-
CHILD_TYPE_RENAMES[child.type as keyof typeof CHILD_TYPE_RENAMES] ||
|
|
29
|
-
(child.type as keyof typeof props.components)
|
|
30
|
-
] || PrismicRichTextDefaultComponent
|
|
31
|
-
)
|
|
32
|
-
}
|
|
33
13
|
</script>
|
|
34
14
|
|
|
35
15
|
<template>
|
|
36
16
|
<component
|
|
37
17
|
v-for="child in props.children"
|
|
38
18
|
:key="JSON.stringify(child)"
|
|
39
|
-
:is="
|
|
19
|
+
:is="internalComponents[child.type].is"
|
|
40
20
|
:node="child.node"
|
|
41
|
-
:link-resolver="
|
|
42
|
-
|
|
43
|
-
? props.linkResolver
|
|
44
|
-
: undefined
|
|
45
|
-
"
|
|
21
|
+
:link-resolver="internalComponents[child.type].linkResolver"
|
|
22
|
+
:shorthand="internalComponents[child.type].shorthand"
|
|
46
23
|
><PrismicRichTextSerialize
|
|
47
24
|
v-if="child.children.length"
|
|
48
25
|
:children="child.children"
|
|
49
|
-
:components="
|
|
50
|
-
:link-resolver="linkResolver"
|
|
26
|
+
:internal-components="internalComponents"
|
|
51
27
|
/></component>
|
|
52
28
|
</template>
|
|
@@ -1,9 +1,29 @@
|
|
|
1
|
-
import type { RTAnyNode, RichTextNodeType } from "@prismicio/client"
|
|
2
1
|
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
LinkResolverFunction,
|
|
3
|
+
RTAnyNode,
|
|
4
|
+
RTEmNode,
|
|
5
|
+
RTEmbedNode,
|
|
6
|
+
RTHeading1Node,
|
|
7
|
+
RTHeading2Node,
|
|
8
|
+
RTHeading3Node,
|
|
9
|
+
RTHeading4Node,
|
|
10
|
+
RTHeading5Node,
|
|
11
|
+
RTHeading6Node,
|
|
12
|
+
RTImageNode,
|
|
13
|
+
RTLabelNode,
|
|
14
|
+
RTLinkNode,
|
|
15
|
+
RTListItemNode,
|
|
16
|
+
RTListNode,
|
|
17
|
+
RTOListItemNode,
|
|
18
|
+
RTOListNode,
|
|
19
|
+
RTParagraphNode,
|
|
20
|
+
RTPreformattedNode,
|
|
21
|
+
RTSpanNode,
|
|
22
|
+
RTStrongNode,
|
|
23
|
+
RichTextNodeTypes,
|
|
24
|
+
} from "@prismicio/client"
|
|
25
|
+
|
|
26
|
+
import type { Component, ComponentShorthand } from "../types"
|
|
7
27
|
|
|
8
28
|
/**
|
|
9
29
|
* A map of Rich Text block types to Vue Components. It is used to render Rich
|
|
@@ -11,13 +31,33 @@ import type {
|
|
|
11
31
|
*
|
|
12
32
|
* @see Templating Rich Text and title fields from Prismic {@link https://prismic.io/docs/rich-text}
|
|
13
33
|
*/
|
|
14
|
-
export type
|
|
15
|
-
|
|
16
|
-
>
|
|
34
|
+
export type RichTextComponents = {
|
|
35
|
+
heading1?: RichTextComponent<RTHeading1Node> | ComponentShorthand
|
|
36
|
+
heading2?: RichTextComponent<RTHeading2Node> | ComponentShorthand
|
|
37
|
+
heading3?: RichTextComponent<RTHeading3Node> | ComponentShorthand
|
|
38
|
+
heading4?: RichTextComponent<RTHeading4Node> | ComponentShorthand
|
|
39
|
+
heading5?: RichTextComponent<RTHeading5Node> | ComponentShorthand
|
|
40
|
+
heading6?: RichTextComponent<RTHeading6Node> | ComponentShorthand
|
|
41
|
+
paragraph?: RichTextComponent<RTParagraphNode> | ComponentShorthand
|
|
42
|
+
preformatted?:
|
|
43
|
+
| RichTextComponent<RTPreformattedNode>
|
|
44
|
+
| ComponentShorthand
|
|
45
|
+
strong?: RichTextComponent<RTStrongNode> | ComponentShorthand
|
|
46
|
+
em?: RichTextComponent<RTEmNode> | ComponentShorthand
|
|
47
|
+
listItem?: RichTextComponent<RTListItemNode> | ComponentShorthand
|
|
48
|
+
oListItem?: RichTextComponent<RTOListItemNode> | ComponentShorthand
|
|
49
|
+
list?: RichTextComponent<RTListNode> | ComponentShorthand
|
|
50
|
+
oList?: RichTextComponent<RTOListNode> | ComponentShorthand
|
|
51
|
+
image?: RichTextComponent<RTImageNode> | Omit<ComponentShorthand, "as">
|
|
52
|
+
embed?: RichTextComponent<RTEmbedNode> | ComponentShorthand
|
|
53
|
+
hyperlink?:
|
|
54
|
+
| RichTextComponent<RTLinkNode>
|
|
55
|
+
| Omit<ComponentShorthand, "as">
|
|
56
|
+
label?: RichTextComponent<RTLabelNode> | Omit<ComponentShorthand, "as">
|
|
57
|
+
span?: RichTextComponent<RTSpanNode>
|
|
58
|
+
}
|
|
17
59
|
|
|
18
|
-
/**
|
|
19
|
-
* Props for a component rendering nodes from a Prismic rich text field.
|
|
20
|
-
*/
|
|
60
|
+
/** Props for a component rendering nodes from a Prismic rich text field. */
|
|
21
61
|
export type RichTextComponentProps<TRTNode extends RTAnyNode = RTAnyNode> = {
|
|
22
62
|
node: TRTNode
|
|
23
63
|
}
|
|
@@ -27,11 +67,14 @@ export type RichTextComponentProps<TRTNode extends RTAnyNode = RTAnyNode> = {
|
|
|
27
67
|
*
|
|
28
68
|
* @typeParam TRTNode - The type of rich text node(s) this component handles
|
|
29
69
|
*/
|
|
30
|
-
type
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
70
|
+
export type RichTextComponent<TRTNode extends RTAnyNode = RTAnyNode> =
|
|
71
|
+
Component<RichTextComponentProps<TRTNode>>
|
|
72
|
+
|
|
73
|
+
export type InternalRichTextComponents = Record<
|
|
74
|
+
RichTextNodeTypes,
|
|
75
|
+
{
|
|
76
|
+
is: RichTextComponent
|
|
77
|
+
linkResolver?: LinkResolverFunction
|
|
78
|
+
shorthand?: ComponentShorthand
|
|
79
|
+
}
|
|
80
|
+
>
|
|
@@ -2,79 +2,114 @@
|
|
|
2
2
|
import { type TableField, isFilled } from "@prismicio/client"
|
|
3
3
|
import { computed } from "vue"
|
|
4
4
|
|
|
5
|
-
import type { ComponentOrTagName } from "../types"
|
|
6
|
-
import
|
|
5
|
+
import type { ComponentOrTagName, ComponentShorthand } from "../types"
|
|
6
|
+
import { isComponent } from "../types"
|
|
7
|
+
import type { InternalTableComponents, TableComponents } from "./types"
|
|
7
8
|
|
|
8
|
-
import type {
|
|
9
|
+
import type { RichTextComponents } from "../PrismicRichText"
|
|
10
|
+
import { usePrismic } from "../createPrismic"
|
|
9
11
|
|
|
10
12
|
import { defaultTableComponents } from "./PrismicTableDefaultComponents"
|
|
11
13
|
import PrismicTableRow from "./PrismicTableRow.vue"
|
|
12
14
|
|
|
13
|
-
/**
|
|
14
|
-
* Props for `<PrismicTable />`.
|
|
15
|
-
*/
|
|
15
|
+
/** Props for `<PrismicTable />`. */
|
|
16
16
|
export type PrismicTableProps = {
|
|
17
|
-
/**
|
|
18
|
-
* The Prismic table field to render.
|
|
19
|
-
*/
|
|
17
|
+
/** The Prismic table field to render. */
|
|
20
18
|
field: TableField | undefined
|
|
21
19
|
|
|
22
20
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
26
|
-
fallback?: ComponentOrTagName
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* An object that maps a table block type to a Vue component.
|
|
21
|
+
* An object that maps a table block type to a Vue component or a shorthand
|
|
22
|
+
* definition.
|
|
30
23
|
*
|
|
31
24
|
* @example
|
|
32
25
|
*
|
|
33
26
|
* ```javascript
|
|
34
27
|
* {
|
|
35
28
|
* table: Table,
|
|
29
|
+
* thead: { class: 'bg-black text-white' },
|
|
30
|
+
* th: { as: 'td', class: 'font-bold' },
|
|
36
31
|
* }
|
|
37
32
|
* ```
|
|
38
33
|
*/
|
|
39
|
-
components?:
|
|
34
|
+
components?: TableComponents & RichTextComponents
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* The value to be rendered when the field is empty. If a fallback is not
|
|
38
|
+
* given, `null` (nothing) will be rendered.
|
|
39
|
+
*/
|
|
40
|
+
fallback?: ComponentOrTagName
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
const props = defineProps<PrismicTableProps>()
|
|
43
44
|
defineOptions({ name: "PrismicTable" })
|
|
44
45
|
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
const { components: { richTextComponents } } = usePrismic()
|
|
47
|
+
|
|
48
|
+
const resolvedComponents = computed<TableComponents & RichTextComponents>(
|
|
49
|
+
() => {
|
|
50
|
+
return { ...richTextComponents, ...props.components }
|
|
51
|
+
},
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
function getInternalComponent(type: keyof TableComponents) {
|
|
55
|
+
const maybeComponentOrShorthand = resolvedComponents.value?.[type]
|
|
56
|
+
|
|
57
|
+
if (isComponent(maybeComponentOrShorthand)) {
|
|
58
|
+
return { is: maybeComponentOrShorthand }
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return {
|
|
62
|
+
is: defaultTableComponents[type],
|
|
63
|
+
shorthand: maybeComponentOrShorthand as ComponentShorthand,
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const internalTableComponents = computed<InternalTableComponents>(() => {
|
|
68
|
+
return {
|
|
69
|
+
table: getInternalComponent("table"),
|
|
70
|
+
thead: getInternalComponent("thead"),
|
|
71
|
+
tbody: getInternalComponent("tbody"),
|
|
72
|
+
tr: getInternalComponent("tr"),
|
|
73
|
+
th: getInternalComponent("th"),
|
|
74
|
+
td: getInternalComponent("td"),
|
|
75
|
+
}
|
|
76
|
+
})
|
|
49
77
|
</script>
|
|
50
78
|
|
|
51
79
|
<template>
|
|
52
80
|
<component
|
|
53
81
|
v-if="isFilled.table(field)"
|
|
54
|
-
:is="
|
|
82
|
+
:is="internalTableComponents.table.is"
|
|
55
83
|
:table="field"
|
|
56
|
-
v-bind="
|
|
84
|
+
v-bind="{ ...$attrs, ...internalTableComponents.table.shorthand }"
|
|
57
85
|
>
|
|
58
86
|
<component
|
|
59
87
|
v-if="field.head"
|
|
60
|
-
:is="
|
|
88
|
+
:is="internalTableComponents.thead.is"
|
|
61
89
|
:head="field.head"
|
|
90
|
+
v-bind="internalTableComponents.thead.shorthand"
|
|
62
91
|
>
|
|
63
92
|
<PrismicTableRow
|
|
64
93
|
v-for="row in field.head.rows"
|
|
65
94
|
:key="row.key"
|
|
66
95
|
:row="row"
|
|
67
|
-
:
|
|
96
|
+
:internalTableComponents="internalTableComponents"
|
|
97
|
+
:components="components"
|
|
68
98
|
/>
|
|
69
99
|
</component>
|
|
70
|
-
<component
|
|
100
|
+
<component
|
|
101
|
+
:is="internalTableComponents.tbody.is"
|
|
102
|
+
:body="field.body"
|
|
103
|
+
v-bind="internalTableComponents.tbody.shorthand"
|
|
104
|
+
>
|
|
71
105
|
<PrismicTableRow
|
|
72
106
|
v-for="row in field.body.rows"
|
|
73
107
|
:key="row.key"
|
|
74
108
|
:row="row"
|
|
75
|
-
:
|
|
109
|
+
:internalTableComponents="internalTableComponents"
|
|
110
|
+
:components="components"
|
|
76
111
|
/>
|
|
77
112
|
</component>
|
|
78
113
|
</component>
|
|
79
|
-
<component v-else :is="fallback" />
|
|
114
|
+
<component v-else-if="fallback" :is="fallback" v-bind="$attrs" />
|
|
80
115
|
</template>
|
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
import { defineComponent, h } from "vue"
|
|
2
2
|
|
|
3
|
-
import type {
|
|
3
|
+
import type { TableComponents } from "./types"
|
|
4
4
|
|
|
5
5
|
import * as getTableComponentProps from "./getTableComponentProps"
|
|
6
6
|
|
|
7
|
-
export const defaultTableComponents: Required<
|
|
7
|
+
export const defaultTableComponents: Required<TableComponents> = {
|
|
8
8
|
table: defineComponent({
|
|
9
9
|
props: getTableComponentProps.table(),
|
|
10
|
-
setup(props, { slots }) {
|
|
11
|
-
return () => h("table", slots.default ? slots.default() : [])
|
|
10
|
+
setup(props, { attrs, slots }) {
|
|
11
|
+
return () => h("table", attrs, slots.default ? slots.default() : [])
|
|
12
12
|
},
|
|
13
13
|
}),
|
|
14
14
|
thead: defineComponent({
|
|
15
15
|
props: getTableComponentProps.thead(),
|
|
16
|
-
setup(props, { slots }) {
|
|
17
|
-
return () => h("thead", slots.default ? slots.default() : [])
|
|
16
|
+
setup(props, { attrs, slots }) {
|
|
17
|
+
return () => h("thead", attrs, slots.default ? slots.default() : [])
|
|
18
18
|
},
|
|
19
19
|
}),
|
|
20
20
|
tbody: defineComponent({
|
|
21
21
|
props: getTableComponentProps.tbody(),
|
|
22
|
-
setup(props, { slots }) {
|
|
23
|
-
return () => h("tbody", slots.default ? slots.default() : [])
|
|
22
|
+
setup(props, { attrs, slots }) {
|
|
23
|
+
return () => h("tbody", attrs, slots.default ? slots.default() : [])
|
|
24
24
|
},
|
|
25
25
|
}),
|
|
26
26
|
tr: defineComponent({
|
|
27
27
|
props: getTableComponentProps.tr(),
|
|
28
|
-
setup(props, { slots }) {
|
|
29
|
-
return () => h("tr", slots.default ? slots.default() : [])
|
|
28
|
+
setup(props, { attrs, slots }) {
|
|
29
|
+
return () => h("tr", attrs, slots.default ? slots.default() : [])
|
|
30
30
|
},
|
|
31
31
|
}),
|
|
32
32
|
th: defineComponent({
|
|
33
33
|
props: getTableComponentProps.th(),
|
|
34
|
-
setup(props, { slots }) {
|
|
35
|
-
return () => h("th", slots.default ? slots.default() : [])
|
|
34
|
+
setup(props, { attrs, slots }) {
|
|
35
|
+
return () => h("th", attrs, slots.default ? slots.default() : [])
|
|
36
36
|
},
|
|
37
37
|
}),
|
|
38
38
|
td: defineComponent({
|
|
39
39
|
props: getTableComponentProps.td(),
|
|
40
|
-
setup(props, { slots }) {
|
|
41
|
-
return () => h("td", slots.default ? slots.default() : [])
|
|
40
|
+
setup(props, { attrs, slots }) {
|
|
41
|
+
return () => h("td", attrs, slots.default ? slots.default() : [])
|
|
42
42
|
},
|
|
43
43
|
}),
|
|
44
44
|
}
|
|
@@ -1,32 +1,15 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
2
|
import type { TableFieldBodyRow, TableFieldHeadRow } from "@prismicio/client"
|
|
3
3
|
|
|
4
|
-
import type {
|
|
4
|
+
import type { InternalTableComponents } from "./types"
|
|
5
5
|
|
|
6
|
-
import type {
|
|
6
|
+
import type { RichTextComponents } from "../PrismicRichText"
|
|
7
7
|
import PrismicRichText from "../PrismicRichText/PrismicRichText.vue"
|
|
8
8
|
|
|
9
|
-
/**
|
|
10
|
-
* Props for `<PrismicRowTable />`.
|
|
11
|
-
*/
|
|
12
9
|
export type PrismicTableRowProps = {
|
|
13
|
-
/**
|
|
14
|
-
* The Prismic table row to render.
|
|
15
|
-
*/
|
|
16
10
|
row: TableFieldHeadRow | TableFieldBodyRow
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* An object that maps a table block type to a Vue component.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
*
|
|
23
|
-
* ```javascript
|
|
24
|
-
* {
|
|
25
|
-
* tr: TableRow,
|
|
26
|
-
* }
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
components: VueTableComponents & VueRichTextSerializer
|
|
11
|
+
internalTableComponents: InternalTableComponents
|
|
12
|
+
components?: RichTextComponents
|
|
30
13
|
}
|
|
31
14
|
|
|
32
15
|
const props = defineProps<PrismicTableRowProps>()
|
|
@@ -34,17 +17,27 @@ defineOptions({ name: "PrismicTableRow" })
|
|
|
34
17
|
</script>
|
|
35
18
|
|
|
36
19
|
<template>
|
|
37
|
-
<component
|
|
20
|
+
<component
|
|
21
|
+
:is="internalTableComponents.tr.is"
|
|
22
|
+
:row="row"
|
|
23
|
+
v-bind="internalTableComponents.tr.shorthand"
|
|
24
|
+
>
|
|
38
25
|
<template v-for="cell in row.cells" :key="cell.key">
|
|
39
26
|
<component
|
|
40
27
|
v-if="cell.type === 'header'"
|
|
41
|
-
:is="
|
|
28
|
+
:is="internalTableComponents.th.is"
|
|
42
29
|
:cell="cell"
|
|
30
|
+
v-bind="internalTableComponents.th.shorthand"
|
|
43
31
|
>
|
|
44
32
|
<PrismicRichText :field="cell.content" :components="components" />
|
|
45
33
|
</component>
|
|
46
|
-
<component
|
|
47
|
-
|
|
34
|
+
<component
|
|
35
|
+
v-else
|
|
36
|
+
:is="internalTableComponents.td.is"
|
|
37
|
+
:cell="cell"
|
|
38
|
+
v-bind="internalTableComponents.td.shorthand"
|
|
39
|
+
>
|
|
40
|
+
<PrismicRichText :field="cell.content" :components="components" />
|
|
48
41
|
</component>
|
|
49
42
|
</template>
|
|
50
43
|
</component>
|
|
@@ -7,11 +7,8 @@ import type {
|
|
|
7
7
|
TableFieldHeadRow,
|
|
8
8
|
TableFieldHeaderCell,
|
|
9
9
|
} from "@prismicio/client"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
FunctionalComponent,
|
|
13
|
-
defineAsyncComponent,
|
|
14
|
-
} from "vue"
|
|
10
|
+
|
|
11
|
+
import type { Component, ComponentShorthand } from "../types"
|
|
15
12
|
|
|
16
13
|
/**
|
|
17
14
|
* A map of Table block types to Vue Components. It is used to render table
|
|
@@ -19,16 +16,50 @@ import type {
|
|
|
19
16
|
*
|
|
20
17
|
* @see Templating Table fields from Prismic {@link https://prismic.io/docs/table}
|
|
21
18
|
*/
|
|
22
|
-
export type
|
|
23
|
-
table?:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
export type TableComponents = {
|
|
20
|
+
table?:
|
|
21
|
+
| Component<{ table: TableField<"filled"> }>
|
|
22
|
+
| Omit<ComponentShorthand, "as">
|
|
23
|
+
thead?:
|
|
24
|
+
| Component<{ head: TableFieldHead }>
|
|
25
|
+
| Omit<ComponentShorthand, "as">
|
|
26
|
+
tbody?:
|
|
27
|
+
| Component<{ body: TableFieldBody }>
|
|
28
|
+
| Omit<ComponentShorthand, "as">
|
|
29
|
+
tr?:
|
|
30
|
+
| Component<{ row: TableFieldBodyRow | TableFieldHeadRow }>
|
|
31
|
+
| Omit<ComponentShorthand, "as">
|
|
32
|
+
th?:
|
|
33
|
+
| Component<{ cell: TableFieldHeaderCell }>
|
|
34
|
+
| Omit<ComponentShorthand, "as">
|
|
35
|
+
td?:
|
|
36
|
+
| Component<{ cell: TableFieldDataCell }>
|
|
37
|
+
| Omit<ComponentShorthand, "as">
|
|
29
38
|
}
|
|
30
39
|
|
|
31
|
-
type
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
40
|
+
export type InternalTableComponents = {
|
|
41
|
+
table: {
|
|
42
|
+
is: TableComponents["table"]
|
|
43
|
+
shorthand?: Omit<ComponentShorthand, "as">
|
|
44
|
+
}
|
|
45
|
+
thead: {
|
|
46
|
+
is: TableComponents["thead"]
|
|
47
|
+
shorthand?: Omit<ComponentShorthand, "as">
|
|
48
|
+
}
|
|
49
|
+
tbody: {
|
|
50
|
+
is: TableComponents["tbody"]
|
|
51
|
+
shorthand?: Omit<ComponentShorthand, "as">
|
|
52
|
+
}
|
|
53
|
+
tr: {
|
|
54
|
+
is: TableComponents["tr"]
|
|
55
|
+
shorthand?: Omit<ComponentShorthand, "as">
|
|
56
|
+
}
|
|
57
|
+
th: {
|
|
58
|
+
is: TableComponents["th"]
|
|
59
|
+
shorthand?: Omit<ComponentShorthand, "as">
|
|
60
|
+
}
|
|
61
|
+
td: {
|
|
62
|
+
is: TableComponents["td"]
|
|
63
|
+
shorthand?: Omit<ComponentShorthand, "as">
|
|
64
|
+
}
|
|
65
|
+
}
|