@focus-reactive/payload-plugin-seo 1.6.1 → 1.7.0
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 +12 -1
- package/dist/admin.css +200 -17
- package/dist/components/SeoButton/SeoButtonInner.d.ts.map +1 -1
- package/dist/components/SeoButton/SeoButtonInner.js +46 -16
- package/dist/components/SeoButton/SeoButtonInner.js.map +1 -1
- package/dist/components/SeoDrawer/build-analysis-input.d.ts +2 -2
- package/dist/components/SeoDrawer/build-analysis-input.d.ts.map +1 -1
- package/dist/components/SeoDrawer/build-analysis-input.js +1 -1
- package/dist/components/SeoDrawer/build-analysis-input.js.map +1 -1
- package/dist/components/SeoDrawer/buildInput.d.ts +3 -3
- package/dist/components/SeoDrawer/buildInput.d.ts.map +1 -1
- package/dist/components/SeoDrawer/buildInput.js +3 -2
- package/dist/components/SeoDrawer/buildInput.js.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/highlight-keyphrase.d.ts +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/highlight-keyphrase.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/highlight-keyphrase.js +10 -3
- package/dist/components/SeoDrawer/components/SerpPreview/highlight-keyphrase.js.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/index.d.ts +2 -1
- package/dist/components/SeoDrawer/components/SerpPreview/index.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/index.js +8 -2
- package/dist/components/SeoDrawer/components/SerpPreview/index.js.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/variants.d.ts +6 -6
- package/dist/components/SeoDrawer/components/TabWrapper.d.ts +6 -0
- package/dist/components/SeoDrawer/components/TabWrapper.d.ts.map +1 -0
- package/dist/components/SeoDrawer/components/TabWrapper.js +8 -0
- package/dist/components/SeoDrawer/components/TabWrapper.js.map +1 -0
- package/dist/components/SeoDrawer/index.d.ts +11 -4
- package/dist/components/SeoDrawer/index.d.ts.map +1 -1
- package/dist/components/SeoDrawer/index.js +38 -16
- package/dist/components/SeoDrawer/index.js.map +1 -1
- package/dist/components/SeoDrawer/keyphraseState.d.ts +16 -0
- package/dist/components/SeoDrawer/keyphraseState.d.ts.map +1 -0
- package/dist/components/SeoDrawer/keyphraseState.js +73 -0
- package/dist/components/SeoDrawer/keyphraseState.js.map +1 -0
- package/dist/components/SeoDrawer/keyphraseStorage.d.ts +5 -0
- package/dist/components/SeoDrawer/keyphraseStorage.d.ts.map +1 -0
- package/dist/components/SeoDrawer/keyphraseStorage.js +60 -0
- package/dist/components/SeoDrawer/keyphraseStorage.js.map +1 -0
- package/dist/components/SeoDrawer/tabs/InclusiveTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/InclusiveTab.js +3 -2
- package/dist/components/SeoDrawer/tabs/InclusiveTab.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/KeyphraseTab.d.ts +14 -7
- package/dist/components/SeoDrawer/tabs/KeyphraseTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/KeyphraseTab.js +110 -69
- package/dist/components/SeoDrawer/tabs/KeyphraseTab.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/OnPageTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/OnPageTab.js +3 -2
- package/dist/components/SeoDrawer/tabs/OnPageTab.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/ReadabilityTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/ReadabilityTab.js +3 -2
- package/dist/components/SeoDrawer/tabs/ReadabilityTab.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/SerpTab.d.ts +2 -1
- package/dist/components/SeoDrawer/tabs/SerpTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/SerpTab.js +14 -3
- package/dist/components/SeoDrawer/tabs/SerpTab.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/VitalsTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/VitalsTab.js +7 -3
- package/dist/components/SeoDrawer/tabs/VitalsTab.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/keyphrase/KeyphraseCard.d.ts +21 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/KeyphraseCard.d.ts.map +1 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/KeyphraseCard.js +38 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/KeyphraseCard.js.map +1 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/KeyphraseDetail.d.ts +25 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/KeyphraseDetail.d.ts.map +1 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/KeyphraseDetail.js +127 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/KeyphraseDetail.js.map +1 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/KeyphraseRail.d.ts +12 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/KeyphraseRail.d.ts.map +1 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/KeyphraseRail.js +54 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/KeyphraseRail.js.map +1 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/SynonymsField.d.ts +7 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/SynonymsField.d.ts.map +1 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/SynonymsField.js +93 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/SynonymsField.js.map +1 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/icons.d.ts +2 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/icons.d.ts.map +1 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/icons.js +7 -0
- package/dist/components/SeoDrawer/tabs/keyphrase/icons.js.map +1 -0
- package/dist/components/SeoDrawer/useAnalysis.d.ts +0 -1
- package/dist/components/SeoDrawer/useAnalysis.d.ts.map +1 -1
- package/dist/components/SeoDrawer/useAnalysis.js +0 -3
- package/dist/components/SeoDrawer/useAnalysis.js.map +1 -1
- package/dist/components/SeoDrawer/useKeyphrases.d.ts +18 -0
- package/dist/components/SeoDrawer/useKeyphrases.d.ts.map +1 -0
- package/dist/components/SeoDrawer/useKeyphrases.js +78 -0
- package/dist/components/SeoDrawer/useKeyphrases.js.map +1 -0
- package/dist/components/SeoDrawer/useLiveDocument.d.ts +4 -3
- package/dist/components/SeoDrawer/useLiveDocument.d.ts.map +1 -1
- package/dist/components/SeoDrawer/useLiveDocument.js +17 -9
- package/dist/components/SeoDrawer/useLiveDocument.js.map +1 -1
- package/dist/components/SeoDrawer/variants.d.ts +1 -1
- package/dist/components/SeoDrawer/variants.d.ts.map +1 -1
- package/dist/components/SeoDrawer/variants.js +2 -1
- package/dist/components/SeoDrawer/variants.js.map +1 -1
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +2 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/engine/buildPaper.d.ts +2 -2
- package/dist/engine/buildPaper.d.ts.map +1 -1
- package/dist/engine/buildPaper.js +4 -2
- package/dist/engine/buildPaper.js.map +1 -1
- package/dist/engine/runAnalysis/index.d.ts.map +1 -1
- package/dist/engine/runAnalysis/index.js +7 -0
- package/dist/engine/runAnalysis/index.js.map +1 -1
- package/dist/engine/runAnalysis/services/derive-related.d.ts +4 -0
- package/dist/engine/runAnalysis/services/derive-related.d.ts.map +1 -0
- package/dist/engine/runAnalysis/services/derive-related.js +16 -0
- package/dist/engine/runAnalysis/services/derive-related.js.map +1 -0
- package/dist/engine/types/analysis.d.ts +11 -0
- package/dist/engine/types/analysis.d.ts.map +1 -1
- package/dist/ui/Button.d.ts +9 -0
- package/dist/ui/Button.d.ts.map +1 -0
- package/dist/ui/Button.js +34 -0
- package/dist/ui/Button.js.map +1 -0
- package/dist/ui/ScoreRing.d.ts +17 -4
- package/dist/ui/ScoreRing.d.ts.map +1 -1
- package/dist/ui/ScoreRing.js +38 -14
- package/dist/ui/ScoreRing.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/SeoDrawer/keyphrasePending.d.ts +0 -2
- package/dist/components/SeoDrawer/keyphrasePending.d.ts.map +0 -1
- package/dist/components/SeoDrawer/keyphrasePending.js +0 -9
- package/dist/components/SeoDrawer/keyphrasePending.js.map +0 -1
package/dist/ui/ScoreRing.js
CHANGED
|
@@ -1,26 +1,50 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { Loader2 } from "lucide-react";
|
|
3
5
|
import { cn } from "../utils/style";
|
|
4
6
|
import { statusVar } from "../components/SeoDrawer/variants";
|
|
5
|
-
|
|
7
|
+
const ringVar = cva("rounded-full flex-none grid place-items-center", {
|
|
8
|
+
variants: {
|
|
9
|
+
size: {
|
|
10
|
+
small: "w-[36px] h-[36px]",
|
|
11
|
+
medium: "w-[60px] h-[60px]"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
defaultVariants: { size: "medium" }
|
|
15
|
+
});
|
|
16
|
+
const innerVar = cva("rounded-full bg-neutral-0 grid place-items-center font-bold", {
|
|
17
|
+
variants: {
|
|
18
|
+
size: {
|
|
19
|
+
small: "w-[28px] h-[28px] text-[11px]",
|
|
20
|
+
medium: "w-[48px] h-[48px] text-[18px]"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: { size: "medium" }
|
|
24
|
+
});
|
|
25
|
+
const loaderVar = cva("animate-spin text-neutral-500", {
|
|
26
|
+
variants: {
|
|
27
|
+
size: {
|
|
28
|
+
small: "w-[16px] h-[16px]",
|
|
29
|
+
medium: "w-[26px] h-[26px]"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
defaultVariants: { size: "medium" }
|
|
33
|
+
});
|
|
34
|
+
function ScoreRing({ size = "medium", status, score }) {
|
|
35
|
+
if (status === "loading") {
|
|
36
|
+
return /* @__PURE__ */ jsx("span", { className: cn(ringVar({ size }), "bg-neutral-100"), children: /* @__PURE__ */ jsx(Loader2, { "aria-hidden": "true", className: loaderVar({ size }) }) });
|
|
37
|
+
}
|
|
38
|
+
const isIdle = status === "idle";
|
|
39
|
+
const fill = isIdle ? 100 : score;
|
|
6
40
|
return /* @__PURE__ */ jsx(
|
|
7
41
|
"div",
|
|
8
42
|
{
|
|
9
|
-
className: cn(
|
|
10
|
-
"w-[60px] h-[60px] rounded-full flex-none grid place-items-center",
|
|
11
|
-
statusVar({ status })
|
|
12
|
-
),
|
|
43
|
+
className: cn(ringVar({ size }), statusVar({ status })),
|
|
13
44
|
style: {
|
|
14
|
-
background: `conic-gradient(var(--seo-c) ${
|
|
45
|
+
background: `conic-gradient(var(--seo-c) ${fill}%, var(--theme-elevation-150) 0)`
|
|
15
46
|
},
|
|
16
|
-
children: /* @__PURE__ */ jsx(
|
|
17
|
-
"div",
|
|
18
|
-
{
|
|
19
|
-
className: "w-[48px] h-[48px] rounded-full bg-neutral-0 grid place-items-center font-bold text-[18px]",
|
|
20
|
-
style: { color: "var(--seo-c)" },
|
|
21
|
-
children: score
|
|
22
|
-
}
|
|
23
|
-
)
|
|
47
|
+
children: /* @__PURE__ */ jsx("div", { className: innerVar({ size }), style: { color: "var(--seo-c)" }, children: isIdle ? "-" : score })
|
|
24
48
|
}
|
|
25
49
|
);
|
|
26
50
|
}
|
package/dist/ui/ScoreRing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/ScoreRing.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Status } from \"../engine/types/analysis\";\nimport { cn } from \"../utils/style\";\nimport { statusVar } from \"../components/SeoDrawer/variants\";\n\
|
|
1
|
+
{"version":3,"sources":["../../src/ui/ScoreRing.tsx"],"sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport type { VariantProps } from \"class-variance-authority\";\nimport { Loader2 } from \"lucide-react\";\nimport type { Status } from \"../engine/types/analysis\";\nimport { cn } from \"../utils/style\";\nimport { statusVar } from \"../components/SeoDrawer/variants\";\n\nconst ringVar = cva(\"rounded-full flex-none grid place-items-center\", {\n variants: {\n size: {\n small: \"w-[36px] h-[36px]\",\n medium: \"w-[60px] h-[60px]\",\n },\n },\n defaultVariants: { size: \"medium\" },\n});\n\nconst innerVar = cva(\"rounded-full bg-neutral-0 grid place-items-center font-bold\", {\n variants: {\n size: {\n small: \"w-[28px] h-[28px] text-[11px]\",\n medium: \"w-[48px] h-[48px] text-[18px]\",\n },\n },\n defaultVariants: { size: \"medium\" },\n});\n\nconst loaderVar = cva(\"animate-spin text-neutral-500\", {\n variants: {\n size: {\n small: \"w-[16px] h-[16px]\",\n medium: \"w-[26px] h-[26px]\",\n },\n },\n defaultVariants: { size: \"medium\" },\n});\n\ntype RingSize = NonNullable<VariantProps<typeof ringVar>[\"size\"]>;\n\ntype ScoreRingProps = { size?: RingSize } & (\n | { status: Status; score: number }\n | { status: \"idle\"; score?: never }\n | { status: \"loading\"; score?: never }\n);\n\nexport function ScoreRing({ size = \"medium\", status, score }: ScoreRingProps) {\n if (status === \"loading\") {\n return (\n <span className={cn(ringVar({ size }), \"bg-neutral-100\")}>\n <Loader2 aria-hidden=\"true\" className={loaderVar({ size })} />\n </span>\n );\n }\n\n const isIdle = status === \"idle\";\n const fill = isIdle ? 100 : score;\n\n return (\n <div\n className={cn(ringVar({ size }), statusVar({ status }))}\n style={{\n background: `conic-gradient(var(--seo-c) ${fill}%, var(--theme-elevation-150) 0)`,\n }}\n >\n <div className={innerVar({ size })} style={{ color: \"var(--seo-c)\" }}>\n {isIdle ? \"-\" : score}\n </div>\n </div>\n );\n}\n"],"mappings":";AAmDQ;AAjDR,SAAS,WAAW;AAEpB,SAAS,eAAe;AAExB,SAAS,UAAU;AACnB,SAAS,iBAAiB;AAE1B,MAAM,UAAU,IAAI,kDAAkD;AAAA,EACpE,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,iBAAiB,EAAE,MAAM,SAAS;AACpC,CAAC;AAED,MAAM,WAAW,IAAI,+DAA+D;AAAA,EAClF,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,iBAAiB,EAAE,MAAM,SAAS;AACpC,CAAC;AAED,MAAM,YAAY,IAAI,iCAAiC;AAAA,EACrD,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,iBAAiB,EAAE,MAAM,SAAS;AACpC,CAAC;AAUM,SAAS,UAAU,EAAE,OAAO,UAAU,QAAQ,MAAM,GAAmB;AAC5E,MAAI,WAAW,WAAW;AACxB,WACE,oBAAC,UAAK,WAAW,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,gBAAgB,GACrD,8BAAC,WAAQ,eAAY,QAAO,WAAW,UAAU,EAAE,KAAK,CAAC,GAAG,GAC9D;AAAA,EAEJ;AAEA,QAAM,SAAS,WAAW;AAC1B,QAAM,OAAO,SAAS,MAAM;AAE5B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC;AAAA,MACtD,OAAO;AAAA,QACL,YAAY,+BAA+B,IAAI;AAAA,MACjD;AAAA,MAEA,8BAAC,SAAI,WAAW,SAAS,EAAE,KAAK,CAAC,GAAG,OAAO,EAAE,OAAO,eAAe,GAChE,mBAAS,MAAM,OAClB;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyphrasePending.d.ts","sourceRoot":"","sources":["../../../src/components/SeoDrawer/keyphrasePending.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAGT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SeoDrawer/keyphrasePending.ts"],"sourcesContent":["export function isKeyphrasePending(\n liveKeyphrase: string,\n analyzedKeyphrase: string | null\n): boolean {\n if (liveKeyphrase.trim().length === 0) return false;\n return liveKeyphrase !== analyzedKeyphrase;\n}\n"],"mappings":"AAAO,SAAS,mBACd,eACA,mBACS;AACT,MAAI,cAAc,KAAK,EAAE,WAAW;AAAG,WAAO;AAC9C,SAAO,kBAAkB;AAC3B;","names":[]}
|