@focus-reactive/payload-plugin-seo 1.2.0 → 1.4.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 +210 -43
- package/dist/admin.css +12 -9
- package/dist/components/SeoButton/ScoreBadge.d.ts.map +1 -1
- package/dist/components/SeoButton/ScoreBadge.js +10 -7
- package/dist/components/SeoButton/ScoreBadge.js.map +1 -1
- package/dist/components/SeoButton/SeoButtonInner.d.ts +3 -1
- package/dist/components/SeoButton/SeoButtonInner.d.ts.map +1 -1
- package/dist/components/SeoButton/SeoButtonInner.js +5 -2
- package/dist/components/SeoButton/SeoButtonInner.js.map +1 -1
- package/dist/components/SeoDrawer/TabsNav/index.d.ts.map +1 -1
- package/dist/components/SeoDrawer/TabsNav/index.js +15 -4
- package/dist/components/SeoDrawer/TabsNav/index.js.map +1 -1
- package/dist/components/SeoDrawer/TabsNav/variants.d.ts.map +1 -1
- package/dist/components/SeoDrawer/TabsNav/variants.js +12 -9
- package/dist/components/SeoDrawer/TabsNav/variants.js.map +1 -1
- package/dist/components/SeoDrawer/analysisDecision.d.ts.map +1 -1
- package/dist/components/SeoDrawer/analysisDecision.js.map +1 -1
- package/dist/components/SeoDrawer/build-analysis-input.d.ts +9 -7
- package/dist/components/SeoDrawer/build-analysis-input.d.ts.map +1 -1
- package/dist/components/SeoDrawer/build-analysis-input.js +39 -11
- package/dist/components/SeoDrawer/build-analysis-input.js.map +1 -1
- package/dist/components/SeoDrawer/buildInput.d.ts +1 -1
- package/dist/components/SeoDrawer/buildInput.d.ts.map +1 -1
- package/dist/components/SeoDrawer/buildInput.js +12 -2
- package/dist/components/SeoDrawer/buildInput.js.map +1 -1
- package/dist/components/SeoDrawer/components/Header.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/Header.js +20 -2
- package/dist/components/SeoDrawer/components/Header.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingLevelTiles.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingLevelTiles.js +23 -5
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingLevelTiles.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/Chevron.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/Chevron.js +12 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/Chevron.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeGroup.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeGroup.js +43 -4
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeGroup.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeRow.d.ts +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeRow.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeRow.js +45 -10
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeRow.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/index.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/index.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/useHeadingRails.d.ts +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/useHeadingRails.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/useHeadingRails.js +6 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/useHeadingRails.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/index.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/index.js.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/highlight-keyphrase.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/highlight-keyphrase.js +3 -1
- package/dist/components/SeoDrawer/components/SerpPreview/highlight-keyphrase.js.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/index.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/index.js +8 -1
- package/dist/components/SeoDrawer/components/SerpPreview/index.js.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/serp-favicon.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/serp-favicon.js.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/variants.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/variants.js +9 -6
- package/dist/components/SeoDrawer/components/SerpPreview/variants.js.map +1 -1
- package/dist/components/SeoDrawer/index.d.ts.map +1 -1
- package/dist/components/SeoDrawer/index.js +50 -15
- package/dist/components/SeoDrawer/index.js.map +1 -1
- package/dist/components/SeoDrawer/keyphrasePending.d.ts.map +1 -1
- package/dist/components/SeoDrawer/keyphrasePending.js.map +1 -1
- package/dist/components/SeoDrawer/languagePacks.d.ts.map +1 -1
- package/dist/components/SeoDrawer/languagePacks.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/InclusiveTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/InclusiveTab.js +31 -10
- package/dist/components/SeoDrawer/tabs/InclusiveTab.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/KeyphraseTab.d.ts +1 -1
- package/dist/components/SeoDrawer/tabs/KeyphraseTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/KeyphraseTab.js +8 -1
- package/dist/components/SeoDrawer/tabs/KeyphraseTab.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/SerpTab.d.ts +1 -1
- package/dist/components/SeoDrawer/tabs/SerpTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/SerpTab.js +5 -1
- 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 +32 -9
- package/dist/components/SeoDrawer/tabs/VitalsTab.js.map +1 -1
- package/dist/components/SeoDrawer/useAnalysis.d.ts +1 -1
- package/dist/components/SeoDrawer/useAnalysis.d.ts.map +1 -1
- package/dist/components/SeoDrawer/useAnalysis.js +6 -1
- package/dist/components/SeoDrawer/useAnalysis.js.map +1 -1
- package/dist/components/SeoDrawer/useLiveDocument.d.ts +5 -3
- package/dist/components/SeoDrawer/useLiveDocument.d.ts.map +1 -1
- package/dist/components/SeoDrawer/useLiveDocument.js +82 -37
- package/dist/components/SeoDrawer/useLiveDocument.js.map +1 -1
- package/dist/components/icons.d.ts.map +1 -1
- package/dist/components/icons.js +16 -1
- package/dist/components/icons.js.map +1 -1
- package/dist/constants/checkIds.d.ts.map +1 -1
- package/dist/constants/checkIds.js +18 -2
- package/dist/constants/checkIds.js.map +1 -1
- package/dist/content/extract/context.d.ts +11 -0
- package/dist/content/extract/context.d.ts.map +1 -0
- package/dist/content/extract/context.js +1 -0
- package/dist/content/extract/context.js.map +1 -0
- package/dist/content/extract/extract.d.ts +18 -0
- package/dist/content/extract/extract.d.ts.map +1 -0
- package/dist/content/extract/extract.js +211 -0
- package/dist/content/extract/extract.js.map +1 -0
- package/dist/content/extract/selection.d.ts +3 -0
- package/dist/content/extract/selection.d.ts.map +1 -0
- package/dist/content/extract/selection.js +32 -0
- package/dist/content/extract/selection.js.map +1 -0
- package/dist/content/index.d.ts +5 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +14 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/lexical/transform.d.ts +5 -0
- package/dist/content/lexical/transform.d.ts.map +1 -0
- package/dist/content/lexical/transform.js +56 -0
- package/dist/content/lexical/transform.js.map +1 -0
- package/dist/content/registry.d.ts +4 -0
- package/dist/content/registry.d.ts.map +1 -0
- package/dist/content/registry.js +22 -0
- package/dist/content/registry.js.map +1 -0
- package/dist/content/resolve/collect-refs.d.ts +8 -0
- package/dist/content/resolve/collect-refs.d.ts.map +1 -0
- package/dist/content/resolve/collect-refs.js +79 -0
- package/dist/content/resolve/collect-refs.js.map +1 -0
- package/dist/content/resolve/hydrate.d.ts +7 -0
- package/dist/content/resolve/hydrate.d.ts.map +1 -0
- package/dist/content/resolve/hydrate.js +123 -0
- package/dist/content/resolve/hydrate.js.map +1 -0
- package/dist/content/resolve/resolver.d.ts +7 -0
- package/dist/content/resolve/resolver.d.ts.map +1 -0
- package/dist/content/{uploads/media-resolver.js → resolve/resolver.js} +21 -16
- package/dist/content/resolve/resolver.js.map +1 -0
- package/dist/content/resolve/types.d.ts +12 -0
- package/dist/content/resolve/types.d.ts.map +1 -0
- package/dist/content/resolve/types.js +7 -0
- package/dist/content/resolve/types.js.map +1 -0
- package/dist/content/schema/helpers.d.ts +9 -0
- package/dist/content/schema/helpers.d.ts.map +1 -0
- package/dist/content/schema/helpers.js +60 -0
- package/dist/content/schema/helpers.js.map +1 -0
- package/dist/content/schema/nodes.d.ts +26 -0
- package/dist/content/schema/nodes.d.ts.map +1 -0
- package/dist/content/schema/nodes.js +8 -0
- package/dist/content/schema/nodes.js.map +1 -0
- package/dist/content/schema/serialize.d.ts +3 -0
- package/dist/content/schema/serialize.d.ts.map +1 -0
- package/dist/content/schema/serialize.js +31 -0
- package/dist/content/schema/serialize.js.map +1 -0
- package/dist/content/walk/walkFields.d.ts +17 -0
- package/dist/content/walk/walkFields.d.ts.map +1 -0
- package/dist/content/walk/walkFields.js +88 -0
- package/dist/content/walk/walkFields.js.map +1 -0
- package/dist/engine/assessorAdapter.d.ts.map +1 -1
- package/dist/engine/assessorAdapter.js.map +1 -1
- package/dist/engine/extractCheckData.d.ts.map +1 -1
- package/dist/engine/extractCheckData.js +19 -5
- package/dist/engine/extractCheckData.js.map +1 -1
- package/dist/engine/helpers/title-progress.d.ts +1 -1
- package/dist/engine/helpers/title-progress.js.map +1 -1
- package/dist/engine/inclusiveScore.d.ts.map +1 -1
- package/dist/engine/inclusiveScore.js.map +1 -1
- package/dist/engine/recommendations.d.ts.map +1 -1
- package/dist/engine/recommendations.js.map +1 -1
- package/dist/engine/runAnalysis/services/derive-inclusive.js.map +1 -1
- package/dist/engine/runAnalysis/services/derive-readability.d.ts.map +1 -1
- package/dist/engine/runAnalysis/services/derive-readability.js +5 -1
- package/dist/engine/runAnalysis/services/derive-readability.js.map +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/heading-tree.d.ts.map +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/heading-tree.js.map +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/index.d.ts.map +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/index.js +9 -1
- package/dist/engine/runAnalysis/services/derive-vitals/index.js.map +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/researches.d.ts +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/researches.d.ts.map +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/researches.js +8 -2
- package/dist/engine/runAnalysis/services/derive-vitals/researches.js.map +1 -1
- package/dist/engine/runAnalysis/utils/enrich.d.ts.map +1 -1
- package/dist/engine/runAnalysis/utils/enrich.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/constants.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/constants.js +9 -1
- package/dist/engine/visualization/resolveVisualization/constants.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/index.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/index.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveDrilldown.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveDrilldown.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveLinks.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveLinks.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveProportionCount.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveProportionCount.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveValueRange.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveValueRange.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/utils/pluralize.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/utils/pluralize.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/utils/readDrilldownItems.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/utils/readDrilldownItems.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/utils/readNumber.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/utils/readNumber.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +9 -2
- package/dist/plugin.js.map +1 -1
- package/dist/types/config.d.ts +30 -7
- package/dist/types/config.d.ts.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DensityGauge.d.ts.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DensityGauge.js +24 -5
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DensityGauge.js.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DistributionBar.d.ts.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DistributionBar.js +8 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DistributionBar.js.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DrillDown.d.ts.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DrillDown.js +11 -4
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DrillDown.js.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/SegmentBar.d.ts.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/SegmentBar.js +7 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/SegmentBar.js.map +1 -1
- package/dist/ui/CheckRow/index.d.ts.map +1 -1
- package/dist/ui/CheckRow/index.js +23 -9
- package/dist/ui/CheckRow/index.js.map +1 -1
- package/dist/ui/FilterPills.d.ts.map +1 -1
- package/dist/ui/FilterPills.js +78 -19
- package/dist/ui/FilterPills.js.map +1 -1
- package/dist/ui/KpiCard.d.ts.map +1 -1
- package/dist/ui/KpiCard.js.map +1 -1
- package/dist/ui/Pill.d.ts.map +1 -1
- package/dist/ui/Pill.js +11 -8
- package/dist/ui/Pill.js.map +1 -1
- package/dist/ui/ScoreRing.d.ts.map +1 -1
- package/dist/ui/ScoreRing.js +12 -2
- package/dist/ui/ScoreRing.js.map +1 -1
- package/dist/ui/SectionWrapper.d.ts.map +1 -1
- package/dist/ui/SectionWrapper.js.map +1 -1
- package/dist/ui/SegmentedControl.d.ts +1 -1
- package/dist/ui/SegmentedControl.d.ts.map +1 -1
- package/dist/ui/SegmentedControl.js +49 -33
- package/dist/ui/SegmentedControl.js.map +1 -1
- package/dist/ui/Tooltip.d.ts +1 -1
- package/dist/ui/Tooltip.d.ts.map +1 -1
- package/dist/ui/Tooltip.js +8 -1
- package/dist/ui/Tooltip.js.map +1 -1
- package/dist/utils/config/overrideAdmin.d.ts.map +1 -1
- package/dist/utils/config/overrideAdmin.js +9 -1
- package/dist/utils/config/overrideAdmin.js.map +1 -1
- package/dist/utils/style.d.ts.map +1 -1
- package/dist/utils/style.js.map +1 -1
- package/package.json +9 -7
- package/dist/content/extractContent.d.ts +0 -3
- package/dist/content/extractContent.d.ts.map +0 -1
- package/dist/content/extractContent.js +0 -31
- package/dist/content/extractContent.js.map +0 -1
- package/dist/content/uploads/collect-upload-refs.d.ts +0 -5
- package/dist/content/uploads/collect-upload-refs.d.ts.map +0 -1
- package/dist/content/uploads/collect-upload-refs.js +0 -19
- package/dist/content/uploads/collect-upload-refs.js.map +0 -1
- package/dist/content/uploads/hydrate-values.d.ts +0 -5
- package/dist/content/uploads/hydrate-values.d.ts.map +0 -1
- package/dist/content/uploads/hydrate-values.js +0 -15
- package/dist/content/uploads/hydrate-values.js.map +0 -1
- package/dist/content/uploads/media-resolver.d.ts +0 -7
- package/dist/content/uploads/media-resolver.d.ts.map +0 -1
- package/dist/content/uploads/media-resolver.js.map +0 -1
- package/dist/content/uploads/transform-lexical-uploads.d.ts +0 -5
- package/dist/content/uploads/transform-lexical-uploads.d.ts.map +0 -1
- package/dist/content/uploads/transform-lexical-uploads.js +0 -34
- package/dist/content/uploads/transform-lexical-uploads.js.map +0 -1
- package/dist/content/uploads/transform-upload-values.d.ts +0 -10
- package/dist/content/uploads/transform-upload-values.d.ts.map +0 -1
- package/dist/content/uploads/transform-upload-values.js +0 -108
- package/dist/content/uploads/transform-upload-values.js.map +0 -1
- package/dist/content/uploads/types.d.ts +0 -8
- package/dist/content/uploads/types.d.ts.map +0 -1
- package/dist/content/uploads/types.js +0 -7
- package/dist/content/uploads/types.js.map +0 -1
- package/dist/content/walkValue.d.ts +0 -14
- package/dist/content/walkValue.d.ts.map +0 -1
- package/dist/content/walkValue.js +0 -62
- package/dist/content/walkValue.js.map +0 -1
|
@@ -2,15 +2,18 @@
|
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { cva } from "class-variance-authority";
|
|
4
4
|
import { cn } from "../../utils/style";
|
|
5
|
-
const badgeVariants = cva(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
const badgeVariants = cva(
|
|
6
|
+
"absolute -top-1 -right-1 min-w-[14px] h-[14px] px-[3px] rounded-full text-white text-[9px] font-semibold leading-[14px] text-center pointer-events-none select-none",
|
|
7
|
+
{
|
|
8
|
+
variants: {
|
|
9
|
+
status: {
|
|
10
|
+
good: "bg-seo-good",
|
|
11
|
+
warn: "bg-seo-warn",
|
|
12
|
+
bad: "bg-seo-bad"
|
|
13
|
+
}
|
|
11
14
|
}
|
|
12
15
|
}
|
|
13
|
-
|
|
16
|
+
);
|
|
14
17
|
function ScoreBadge({ score, status, className }) {
|
|
15
18
|
return /* @__PURE__ */ jsx("span", { "aria-label": `SEO score ${score}`, className: cn(badgeVariants({ status }), className), children: score });
|
|
16
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SeoButton/ScoreBadge.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Status } from \"../../engine/types/analysis\";\nimport { cva } from \"class-variance-authority\";\nimport { cn } from \"../../utils/style\";\n\nconst badgeVariants = cva(\"absolute -top-1 -right-1 min-w-[14px] h-[14px] px-[3px] rounded-full text-white text-[9px] font-semibold leading-[14px] text-center pointer-events-none select-none\"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SeoButton/ScoreBadge.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Status } from \"../../engine/types/analysis\";\nimport { cva } from \"class-variance-authority\";\nimport { cn } from \"../../utils/style\";\n\nconst badgeVariants = cva(\n \"absolute -top-1 -right-1 min-w-[14px] h-[14px] px-[3px] rounded-full text-white text-[9px] font-semibold leading-[14px] text-center pointer-events-none select-none\",\n {\n variants: {\n status: {\n good: \"bg-seo-good\",\n warn: \"bg-seo-warn\",\n bad: \"bg-seo-bad\",\n },\n },\n }\n);\n\ninterface ScoreBadgeProps {\n score: number;\n status: Status;\n className?: string;\n}\n\nexport function ScoreBadge({ score, status, className }: ScoreBadgeProps) {\n return (\n <span aria-label={`SEO score ${score}`} className={cn(badgeVariants({ status }), className)}>\n {score}\n </span>\n );\n}\n"],"mappings":";AA2BI;AAxBJ,SAAS,WAAW;AACpB,SAAS,UAAU;AAEnB,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,QACN,KAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;AAQO,SAAS,WAAW,EAAE,OAAO,QAAQ,UAAU,GAAoB;AACxE,SACE,oBAAC,UAAK,cAAY,aAAa,KAAK,IAAI,WAAW,GAAG,cAAc,EAAE,OAAO,CAAC,GAAG,SAAS,GACvF,iBACH;AAEJ;","names":[]}
|
|
@@ -8,6 +8,8 @@ export interface SeoButtonProps {
|
|
|
8
8
|
faviconUrl: string;
|
|
9
9
|
};
|
|
10
10
|
supportedLocales: string[];
|
|
11
|
+
resolveDepth: number;
|
|
12
|
+
slugPaths: Record<string, string>;
|
|
11
13
|
}
|
|
12
|
-
export declare function SeoButtonInner({ collectionSlug, fields, site, supportedLocales }: SeoButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function SeoButtonInner({ collectionSlug, fields, site, supportedLocales, extractContentPath, resolveDepth, slugPaths }: SeoButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
13
15
|
//# sourceMappingURL=SeoButtonInner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeoButtonInner.d.ts","sourceRoot":"","sources":["../../../src/components/SeoButton/SeoButtonInner.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,gBAAgB,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"SeoButtonInner.d.ts","sourceRoot":"","sources":["../../../src/components/SeoButton/SeoButtonInner.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAID,wBAAgB,cAAc,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,cAAc,2CAwD7I"}
|
|
@@ -9,14 +9,17 @@ import { isKeyphrasePending } from "../SeoDrawer/keyphrasePending";
|
|
|
9
9
|
import { useAnalysis } from "../SeoDrawer/useAnalysis";
|
|
10
10
|
import { useLiveDocument } from "../SeoDrawer/useLiveDocument";
|
|
11
11
|
const DRAWER_SLUG = "seo-analytics-drawer";
|
|
12
|
-
function SeoButtonInner({ collectionSlug, fields, site, supportedLocales }) {
|
|
12
|
+
function SeoButtonInner({ collectionSlug, fields, site, supportedLocales, extractContentPath, resolveDepth, slugPaths }) {
|
|
13
13
|
const { openModal } = useModal();
|
|
14
14
|
const [keyphrase, setKeyphrase] = useState("");
|
|
15
15
|
const { signature, getInput, invalidateMedia } = useLiveDocument({
|
|
16
16
|
collectionSlug,
|
|
17
17
|
fields,
|
|
18
18
|
site: { name: site.name, baseUrl: site.baseUrl },
|
|
19
|
-
keyphrase
|
|
19
|
+
keyphrase,
|
|
20
|
+
extractContentPath,
|
|
21
|
+
resolveDepth,
|
|
22
|
+
slugPaths
|
|
20
23
|
});
|
|
21
24
|
const { result, analyzing, analyzedKeyphrase, analyzeNow } = useAnalysis({
|
|
22
25
|
getInput,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SeoButton/SeoButtonInner.tsx"],"sourcesContent":["\"use client\";\n\nimport { Button, useModal } from \"@payloadcms/ui\";\nimport { Gauge } from \"lucide-react\";\nimport { useCallback, useState } from \"react\";\nimport { ScoreBadge } from \"./ScoreBadge\";\nimport { SeoDrawer } from \"../SeoDrawer\";\nimport { isKeyphrasePending } from \"../SeoDrawer/keyphrasePending\";\nimport { useAnalysis } from \"../SeoDrawer/useAnalysis\";\nimport { useLiveDocument } from \"../SeoDrawer/useLiveDocument\";\n\nexport interface SeoButtonProps {\n collectionSlug: string;\n fields: Record<string, string>;\n extractContentPath: string | null;\n site: { name: string; baseUrl: string; faviconUrl: string };\n supportedLocales: string[];\n}\n\nconst DRAWER_SLUG = \"seo-analytics-drawer\";\n\nexport function SeoButtonInner({ collectionSlug, fields, site, supportedLocales }: SeoButtonProps) {\n const { openModal } = useModal();\n const [keyphrase, setKeyphrase] = useState(\"\");\n\n const { signature, getInput, invalidateMedia } = useLiveDocument({\n collectionSlug,\n fields,\n site: { name: site.name, baseUrl: site.baseUrl },\n keyphrase,\n });\n const { result, analyzing, analyzedKeyphrase, analyzeNow } = useAnalysis({\n getInput,\n signature,\n supportedLocales,\n });\n\n const keyphrasePending = isKeyphrasePending(keyphrase, analyzedKeyphrase);\n const overall = result?.overall ?? null;\n\n const open = useCallback(() => {\n invalidateMedia();\n analyzeNow();\n openModal(DRAWER_SLUG);\n }, [analyzeNow, invalidateMedia, openModal]);\n\n return (\n <span className=\"relative inline-flex\">\n <Button\n aria-label=\"SEO Analytics\"\n buttonStyle=\"none\"\n className=\"seo-doc-btn m-0 w-[calc(var(--base)*1.6)] h-[calc(var(--base)*1.6)] inline-flex items-center justify-center border border-[var(--theme-elevation-100)] rounded-rs bg-transparent text-neutral-800 transition-[border-color,background-color] duration-100 hover:border-neutral-300 hover:bg-neutral-100\"\n extraButtonProps={{ title: undefined }}\n icon={<Gauge />}\n iconStyle=\"without-border\"\n margin={false}\n onClick={open}\n size=\"small\"\n tooltip=\"SEO Analytics\"\n />\n {overall && <ScoreBadge score={overall.seoScore} status={overall.status} />}\n\n <SeoDrawer\n analyzeNow={analyzeNow}\n analyzing={analyzing}\n drawerSlug={DRAWER_SLUG}\n keyphrase={keyphrase}\n keyphrasePending={keyphrasePending}\n result={result}\n setKeyphrase={setKeyphrase}\n site={site}\n />\n </span>\n );\n}\n"],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SeoButton/SeoButtonInner.tsx"],"sourcesContent":["\"use client\";\n\nimport { Button, useModal } from \"@payloadcms/ui\";\nimport { Gauge } from \"lucide-react\";\nimport { useCallback, useState } from \"react\";\nimport { ScoreBadge } from \"./ScoreBadge\";\nimport { SeoDrawer } from \"../SeoDrawer\";\nimport { isKeyphrasePending } from \"../SeoDrawer/keyphrasePending\";\nimport { useAnalysis } from \"../SeoDrawer/useAnalysis\";\nimport { useLiveDocument } from \"../SeoDrawer/useLiveDocument\";\n\nexport interface SeoButtonProps {\n collectionSlug: string;\n fields: Record<string, string>;\n extractContentPath: string | null;\n site: { name: string; baseUrl: string; faviconUrl: string };\n supportedLocales: string[];\n resolveDepth: number;\n slugPaths: Record<string, string>;\n}\n\nconst DRAWER_SLUG = \"seo-analytics-drawer\";\n\nexport function SeoButtonInner({ collectionSlug, fields, site, supportedLocales, extractContentPath, resolveDepth, slugPaths }: SeoButtonProps) {\n const { openModal } = useModal();\n const [keyphrase, setKeyphrase] = useState(\"\");\n\n const { signature, getInput, invalidateMedia } = useLiveDocument({\n collectionSlug,\n fields,\n site: { name: site.name, baseUrl: site.baseUrl },\n keyphrase,\n extractContentPath,\n resolveDepth,\n slugPaths,\n });\n const { result, analyzing, analyzedKeyphrase, analyzeNow } = useAnalysis({\n getInput,\n signature,\n supportedLocales,\n });\n\n const keyphrasePending = isKeyphrasePending(keyphrase, analyzedKeyphrase);\n const overall = result?.overall ?? null;\n\n const open = useCallback(() => {\n invalidateMedia();\n analyzeNow();\n openModal(DRAWER_SLUG);\n }, [analyzeNow, invalidateMedia, openModal]);\n\n return (\n <span className=\"relative inline-flex\">\n <Button\n aria-label=\"SEO Analytics\"\n buttonStyle=\"none\"\n className=\"seo-doc-btn m-0 w-[calc(var(--base)*1.6)] h-[calc(var(--base)*1.6)] inline-flex items-center justify-center border border-[var(--theme-elevation-100)] rounded-rs bg-transparent text-neutral-800 transition-[border-color,background-color] duration-100 hover:border-neutral-300 hover:bg-neutral-100\"\n extraButtonProps={{ title: undefined }}\n icon={<Gauge />}\n iconStyle=\"without-border\"\n margin={false}\n onClick={open}\n size=\"small\"\n tooltip=\"SEO Analytics\"\n />\n {overall && <ScoreBadge score={overall.seoScore} status={overall.status} />}\n\n <SeoDrawer\n analyzeNow={analyzeNow}\n analyzing={analyzing}\n drawerSlug={DRAWER_SLUG}\n keyphrase={keyphrase}\n keyphrasePending={keyphrasePending}\n result={result}\n setKeyphrase={setKeyphrase}\n site={site}\n />\n </span>\n );\n}\n"],"mappings":";AAoDI,SAMU,KANV;AAlDJ,SAAS,QAAQ,gBAAgB;AACjC,SAAS,aAAa;AACtB,SAAS,aAAa,gBAAgB;AACtC,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,0BAA0B;AACnC,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAYhC,MAAM,cAAc;AAEb,SAAS,eAAe,EAAE,gBAAgB,QAAQ,MAAM,kBAAkB,oBAAoB,cAAc,UAAU,GAAmB;AAC9I,QAAM,EAAE,UAAU,IAAI,SAAS;AAC/B,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,EAAE;AAE7C,QAAM,EAAE,WAAW,UAAU,gBAAgB,IAAI,gBAAgB;AAAA,IAC/D;AAAA,IACA;AAAA,IACA,MAAM,EAAE,MAAM,KAAK,MAAM,SAAS,KAAK,QAAQ;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACD,QAAM,EAAE,QAAQ,WAAW,mBAAmB,WAAW,IAAI,YAAY;AAAA,IACvE;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,mBAAmB,mBAAmB,WAAW,iBAAiB;AACxE,QAAM,UAAU,QAAQ,WAAW;AAEnC,QAAM,OAAO,YAAY,MAAM;AAC7B,oBAAgB;AAChB,eAAW;AACX,cAAU,WAAW;AAAA,EACvB,GAAG,CAAC,YAAY,iBAAiB,SAAS,CAAC;AAE3C,SACE,qBAAC,UAAK,WAAU,wBACd;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,cAAW;AAAA,QACX,aAAY;AAAA,QACZ,WAAU;AAAA,QACV,kBAAkB,EAAE,OAAO,OAAU;AAAA,QACrC,MAAM,oBAAC,SAAM;AAAA,QACb,WAAU;AAAA,QACV,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAK;AAAA,QACL,SAAQ;AAAA;AAAA,IACV;AAAA,IACC,WAAW,oBAAC,cAAW,OAAO,QAAQ,UAAU,QAAQ,QAAQ,QAAQ;AAAA,IAEzE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,YAAY;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SeoDrawer/TabsNav/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGtC,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED,wBAAgB,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SeoDrawer/TabsNav/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGtC,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED,wBAAgB,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,YAAY,2CAkBzD"}
|
|
@@ -3,10 +3,21 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { TABS } from "./constants";
|
|
4
4
|
import { tabVariants } from "./variants";
|
|
5
5
|
function TabsNav({ active, onChange }) {
|
|
6
|
-
return /* @__PURE__ */ jsx("nav", { role: "tablist", className: "flex gap-[20px] border-b border-neutral-200 overflow-x-auto", children: TABS.map(({ key, label, icon: Icon }) => /* @__PURE__ */ jsxs(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
return /* @__PURE__ */ jsx("nav", { role: "tablist", className: "flex gap-[20px] border-b border-neutral-200 overflow-x-auto", children: TABS.map(({ key, label, icon: Icon }) => /* @__PURE__ */ jsxs(
|
|
7
|
+
"button",
|
|
8
|
+
{
|
|
9
|
+
type: "button",
|
|
10
|
+
role: "tab",
|
|
11
|
+
"aria-selected": active === key,
|
|
12
|
+
className: tabVariants({ active: active === key }),
|
|
13
|
+
onClick: () => onChange(key),
|
|
14
|
+
children: [
|
|
15
|
+
/* @__PURE__ */ jsx(Icon, { size: 14, "aria-hidden": "true" }),
|
|
16
|
+
/* @__PURE__ */ jsx("span", { children: label })
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
key
|
|
20
|
+
)) });
|
|
10
21
|
}
|
|
11
22
|
export {
|
|
12
23
|
TabsNav
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SeoDrawer/TabsNav/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { TABS } from \"./constants\";\nimport type { TabKey } from \"./types\";\nimport { tabVariants } from \"./variants\";\n\nexport type { TabKey } from \"./types\";\n\nexport interface TabsNavProps {\n active: TabKey;\n onChange: (next: TabKey) => void;\n}\n\nexport function TabsNav({ active, onChange }: TabsNavProps) {\n return (\n <nav role=\"tablist\" className=\"flex gap-[20px] border-b border-neutral-200 overflow-x-auto\">\n {TABS.map(({ key, label, icon: Icon }) => (\n <button
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SeoDrawer/TabsNav/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { TABS } from \"./constants\";\nimport type { TabKey } from \"./types\";\nimport { tabVariants } from \"./variants\";\n\nexport type { TabKey } from \"./types\";\n\nexport interface TabsNavProps {\n active: TabKey;\n onChange: (next: TabKey) => void;\n}\n\nexport function TabsNav({ active, onChange }: TabsNavProps) {\n return (\n <nav role=\"tablist\" className=\"flex gap-[20px] border-b border-neutral-200 overflow-x-auto\">\n {TABS.map(({ key, label, icon: Icon }) => (\n <button\n key={key}\n type=\"button\"\n role=\"tab\"\n aria-selected={active === key}\n className={tabVariants({ active: active === key })}\n onClick={() => onChange(key)}\n >\n <Icon size={14} aria-hidden=\"true\" />\n <span>{label}</span>\n </button>\n ))}\n </nav>\n );\n}\n"],"mappings":";AAiBQ,SAQE,KARF;AAfR,SAAS,YAAY;AAErB,SAAS,mBAAmB;AASrB,SAAS,QAAQ,EAAE,QAAQ,SAAS,GAAiB;AAC1D,SACE,oBAAC,SAAI,MAAK,WAAU,WAAU,+DAC3B,eAAK,IAAI,CAAC,EAAE,KAAK,OAAO,MAAM,KAAK,MAClC;AAAA,IAAC;AAAA;AAAA,MAEC,MAAK;AAAA,MACL,MAAK;AAAA,MACL,iBAAe,WAAW;AAAA,MAC1B,WAAW,YAAY,EAAE,QAAQ,WAAW,IAAI,CAAC;AAAA,MACjD,SAAS,MAAM,SAAS,GAAG;AAAA,MAE3B;AAAA,4BAAC,QAAK,MAAM,IAAI,eAAY,QAAO;AAAA,QACnC,oBAAC,UAAM,iBAAM;AAAA;AAAA;AAAA,IARR;AAAA,EASP,CACD,GACH;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../../src/components/SeoDrawer/TabsNav/variants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;
|
|
1
|
+
{"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../../src/components/SeoDrawer/TabsNav/variants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;8EAWvB,CAAC"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { cva } from "class-variance-authority";
|
|
2
|
-
const tabVariants = cva(
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
2
|
+
const tabVariants = cva(
|
|
3
|
+
"inline-flex items-center gap-[6px] py-[11px] bg-transparent whitespace-nowrap text-[12.5px] cursor-pointer",
|
|
4
|
+
{
|
|
5
|
+
variants: {
|
|
6
|
+
active: {
|
|
7
|
+
true: "text-neutral-1000 font-medium",
|
|
8
|
+
false: "text-neutral-500 hover:text-neutral-800"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
defaultVariants: { active: false }
|
|
12
|
+
}
|
|
13
|
+
);
|
|
11
14
|
export {
|
|
12
15
|
tabVariants
|
|
13
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SeoDrawer/TabsNav/variants.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const tabVariants = cva(\"inline-flex items-center gap-[6px] py-[11px] bg-transparent whitespace-nowrap text-[12.5px] cursor-pointer\"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SeoDrawer/TabsNav/variants.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const tabVariants = cva(\n \"inline-flex items-center gap-[6px] py-[11px] bg-transparent whitespace-nowrap text-[12.5px] cursor-pointer\",\n {\n variants: {\n active: {\n true: \"text-neutral-1000 font-medium\",\n false: \"text-neutral-500 hover:text-neutral-800\",\n },\n },\n defaultVariants: { active: false },\n }\n);\n"],"mappings":"AAAA,SAAS,WAAW;AAEb,MAAM,cAAc;AAAA,EACzB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,iBAAiB,EAAE,QAAQ,MAAM;AAAA,EACnC;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysisDecision.d.ts","sourceRoot":"","sources":["../../../src/components/SeoDrawer/analysisDecision.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;AAExC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"analysisDecision.d.ts","sourceRoot":"","sources":["../../../src/components/SeoDrawer/analysisDecision.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;AAExC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GAAG,UAAU,CAMb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SeoDrawer/analysisDecision.ts"],"sourcesContent":["export type AutoAction = \"skip\" | \"run\";\n\nexport function decideAutoAction(args: {
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SeoDrawer/analysisDecision.ts"],"sourcesContent":["export type AutoAction = \"skip\" | \"run\";\n\nexport function decideAutoAction(args: {\n enabled: boolean;\n signature: string;\n lastSignature: string | null;\n}): AutoAction {\n const { enabled, signature, lastSignature } = args;\n\n if (!enabled) return \"skip\";\n if (signature === lastSignature) return \"skip\";\n return \"run\";\n}\n"],"mappings":"AAEO,SAAS,iBAAiB,MAIlB;AACb,QAAM,EAAE,SAAS,WAAW,cAAc,IAAI;AAE9C,MAAI,CAAC;AAAS,WAAO;AACrB,MAAI,cAAc;AAAe,WAAO;AACxC,SAAO;AACT;","names":[]}
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import type { ClientField } from "payload";
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { ExtractContext } from "../../content/extract/context";
|
|
3
|
+
import type { DocResolver } from "../../content/resolve/resolver";
|
|
4
4
|
import type { AnalysisInput } from "../../engine/types/analysis";
|
|
5
|
-
import type {
|
|
5
|
+
import type { ContentExtractor, SeoFieldPaths } from "../../types/config";
|
|
6
6
|
export interface BuildAnalysisInputArgs {
|
|
7
7
|
values: Record<string, unknown>;
|
|
8
8
|
locale: string | {
|
|
9
9
|
code?: string;
|
|
10
10
|
} | null | undefined;
|
|
11
11
|
payloadLocale: string | undefined;
|
|
12
|
+
apiRoute?: string;
|
|
12
13
|
keyphrase: string;
|
|
13
14
|
fields: SeoFieldPaths;
|
|
14
15
|
site: {
|
|
15
16
|
name: string;
|
|
16
17
|
baseUrl: string;
|
|
17
18
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
resolver:
|
|
21
|
-
|
|
19
|
+
hostFields: ClientField[];
|
|
20
|
+
ctx: ExtractContext;
|
|
21
|
+
resolver: DocResolver;
|
|
22
|
+
resolveDepth: number;
|
|
23
|
+
override?: ContentExtractor;
|
|
22
24
|
}
|
|
23
25
|
export declare function buildAnalysisInput(args: BuildAnalysisInputArgs): Promise<AnalysisInput>;
|
|
24
26
|
//# sourceMappingURL=build-analysis-input.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-analysis-input.d.ts","sourceRoot":"","sources":["../../../src/components/SeoDrawer/build-analysis-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"build-analysis-input.d.ts","sourceRoot":"","sources":["../../../src/components/SeoDrawer/build-analysis-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAoB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG5F,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IACtD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAgBD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,CAY7F"}
|
|
@@ -1,17 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { serialize } from "../../content/schema/serialize";
|
|
2
|
+
import { extractContent } from "../../content/extract/extract";
|
|
3
|
+
import { collectRefs } from "../../content/resolve/collect-refs";
|
|
4
|
+
import { hydrate } from "../../content/resolve/hydrate";
|
|
5
|
+
import { makeExcluded, makeIncluded } from "../../content/extract/selection";
|
|
4
6
|
import { buildInput } from "./buildInput";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
return
|
|
7
|
+
function normalizeSelection(content) {
|
|
8
|
+
if (content == null)
|
|
9
|
+
return { include: [], exclude: [] };
|
|
10
|
+
if (typeof content === "string")
|
|
11
|
+
return { include: [content], exclude: [] };
|
|
12
|
+
const sel = content;
|
|
13
|
+
return { include: sel.include ?? [], exclude: sel.exclude ?? [] };
|
|
14
|
+
}
|
|
15
|
+
function metadataPaths(fields) {
|
|
16
|
+
return [fields.seoTitle, fields.metaDescription, fields.slug ?? "slug"].filter((p) => p !== void 0);
|
|
12
17
|
}
|
|
13
18
|
async function buildAnalysisInput(args) {
|
|
14
|
-
const
|
|
19
|
+
const ir = await extractIntermediateRepresentation(args);
|
|
20
|
+
const contentHtml = serialize(ir);
|
|
15
21
|
return buildInput({
|
|
16
22
|
values: args.values,
|
|
17
23
|
contentHtml,
|
|
@@ -21,6 +27,28 @@ async function buildAnalysisInput(args) {
|
|
|
21
27
|
site: args.site
|
|
22
28
|
});
|
|
23
29
|
}
|
|
30
|
+
async function extractIntermediateRepresentation(args) {
|
|
31
|
+
const selection = normalizeSelection(args.fields.content);
|
|
32
|
+
const meta = metadataPaths(args.fields);
|
|
33
|
+
if (args.fields.content == null)
|
|
34
|
+
return [];
|
|
35
|
+
const excluded = makeExcluded(meta, selection.exclude);
|
|
36
|
+
const included = makeIncluded(selection.include);
|
|
37
|
+
const prune = (path) => excluded(path) || !included(path);
|
|
38
|
+
const refs = args.resolveDepth >= 1 ? collectRefs(args.values, args.hostFields, args.ctx, prune) : [];
|
|
39
|
+
const resolved = refs.length > 0 ? await args.resolver.resolve(refs, args.payloadLocale, args.resolveDepth - 1) : /* @__PURE__ */ new Map();
|
|
40
|
+
const ctx = { ...args.ctx, resolved };
|
|
41
|
+
if (args.override)
|
|
42
|
+
return await args.override(hydrate(args.values, args.hostFields, ctx, resolved), { locale: args.payloadLocale, apiRoute: args.apiRoute });
|
|
43
|
+
return extractContent({
|
|
44
|
+
values: args.values,
|
|
45
|
+
fields: args.hostFields,
|
|
46
|
+
ctx,
|
|
47
|
+
selection,
|
|
48
|
+
metadataPaths: meta,
|
|
49
|
+
depth: args.resolveDepth
|
|
50
|
+
});
|
|
51
|
+
}
|
|
24
52
|
export {
|
|
25
53
|
buildAnalysisInput
|
|
26
54
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SeoDrawer/build-analysis-input.ts"],"sourcesContent":["import type { ClientField } from \"payload\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SeoDrawer/build-analysis-input.ts"],"sourcesContent":["import type { ClientField } from \"payload\";\nimport type { ContentNode } from \"../../content/schema/nodes\";\nimport { serialize } from \"../../content/schema/serialize\";\nimport { extractContent } from \"../../content/extract/extract\";\nimport type { ExtractContext } from \"../../content/extract/context\";\nimport { collectRefs } from \"../../content/resolve/collect-refs\";\nimport { hydrate } from \"../../content/resolve/hydrate\";\nimport type { DocResolver } from \"../../content/resolve/resolver\";\nimport type { ResolvedDoc } from \"../../content/resolve/types\";\nimport { makeExcluded, makeIncluded } from \"../../content/extract/selection\";\nimport type { AnalysisInput } from \"../../engine/types/analysis\";\nimport type { ContentExtractor, ContentSelection, SeoFieldPaths } from \"../../types/config\";\nimport { buildInput } from \"./buildInput\";\n\nexport interface BuildAnalysisInputArgs {\n values: Record<string, unknown>;\n locale: string | { code?: string } | null | undefined;\n payloadLocale: string | undefined;\n apiRoute?: string;\n keyphrase: string;\n fields: SeoFieldPaths;\n site: { name: string; baseUrl: string };\n hostFields: ClientField[];\n ctx: ExtractContext;\n resolver: DocResolver;\n resolveDepth: number;\n override?: ContentExtractor;\n}\n\nfunction normalizeSelection(content: SeoFieldPaths[\"content\"]): {\n include: string[];\n exclude: string[];\n} {\n if (content == null) return { include: [], exclude: [] };\n if (typeof content === \"string\") return { include: [content], exclude: [] };\n const sel = content as ContentSelection;\n return { include: sel.include ?? [], exclude: sel.exclude ?? [] };\n}\n\nfunction metadataPaths(fields: SeoFieldPaths): string[] {\n return [fields.seoTitle, fields.metaDescription, fields.slug ?? \"slug\"].filter((p): p is string => p !== undefined);\n}\n\nexport async function buildAnalysisInput(args: BuildAnalysisInputArgs): Promise<AnalysisInput> {\n const ir = await extractIntermediateRepresentation(args);\n const contentHtml = serialize(ir);\n\n return buildInput({\n values: args.values,\n contentHtml,\n locale: args.locale,\n keyphrase: args.keyphrase,\n fields: args.fields,\n site: args.site,\n });\n}\n\nasync function extractIntermediateRepresentation(args: BuildAnalysisInputArgs): Promise<ContentNode[]> {\n const selection = normalizeSelection(args.fields.content);\n const meta = metadataPaths(args.fields);\n\n if (args.fields.content == null) return [];\n\n const excluded = makeExcluded(meta, selection.exclude);\n const included = makeIncluded(selection.include);\n const prune = (path: string) => excluded(path) || !included(path);\n\n const refs = args.resolveDepth >= 1 ? collectRefs(args.values, args.hostFields, args.ctx, prune) : [];\n const resolved = refs.length > 0 ? await args.resolver.resolve(refs, args.payloadLocale, args.resolveDepth - 1) : new Map<string, ResolvedDoc>();\n\n const ctx: ExtractContext = { ...args.ctx, resolved };\n\n if (args.override) return await args.override(hydrate(args.values, args.hostFields, ctx, resolved), { locale: args.payloadLocale, apiRoute: args.apiRoute });\n\n return extractContent({\n values: args.values,\n fields: args.hostFields,\n ctx,\n selection,\n metadataPaths: meta,\n depth: args.resolveDepth,\n });\n}\n"],"mappings":"AAEA,SAAS,iBAAiB;AAC1B,SAAS,sBAAsB;AAE/B,SAAS,mBAAmB;AAC5B,SAAS,eAAe;AAGxB,SAAS,cAAc,oBAAoB;AAG3C,SAAS,kBAAkB;AAiB3B,SAAS,mBAAmB,SAG1B;AACA,MAAI,WAAW;AAAM,WAAO,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,EAAE;AACvD,MAAI,OAAO,YAAY;AAAU,WAAO,EAAE,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE;AAC1E,QAAM,MAAM;AACZ,SAAO,EAAE,SAAS,IAAI,WAAW,CAAC,GAAG,SAAS,IAAI,WAAW,CAAC,EAAE;AAClE;AAEA,SAAS,cAAc,QAAiC;AACtD,SAAO,CAAC,OAAO,UAAU,OAAO,iBAAiB,OAAO,QAAQ,MAAM,EAAE,OAAO,CAAC,MAAmB,MAAM,MAAS;AACpH;AAEA,eAAsB,mBAAmB,MAAsD;AAC7F,QAAM,KAAK,MAAM,kCAAkC,IAAI;AACvD,QAAM,cAAc,UAAU,EAAE;AAEhC,SAAO,WAAW;AAAA,IAChB,QAAQ,KAAK;AAAA,IACb;AAAA,IACA,QAAQ,KAAK;AAAA,IACb,WAAW,KAAK;AAAA,IAChB,QAAQ,KAAK;AAAA,IACb,MAAM,KAAK;AAAA,EACb,CAAC;AACH;AAEA,eAAe,kCAAkC,MAAsD;AACrG,QAAM,YAAY,mBAAmB,KAAK,OAAO,OAAO;AACxD,QAAM,OAAO,cAAc,KAAK,MAAM;AAEtC,MAAI,KAAK,OAAO,WAAW;AAAM,WAAO,CAAC;AAEzC,QAAM,WAAW,aAAa,MAAM,UAAU,OAAO;AACrD,QAAM,WAAW,aAAa,UAAU,OAAO;AAC/C,QAAM,QAAQ,CAAC,SAAiB,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI;AAEhE,QAAM,OAAO,KAAK,gBAAgB,IAAI,YAAY,KAAK,QAAQ,KAAK,YAAY,KAAK,KAAK,KAAK,IAAI,CAAC;AACpG,QAAM,WAAW,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,QAAQ,MAAM,KAAK,eAAe,KAAK,eAAe,CAAC,IAAI,oBAAI,IAAyB;AAE/I,QAAM,MAAsB,EAAE,GAAG,KAAK,KAAK,SAAS;AAEpD,MAAI,KAAK;AAAU,WAAO,MAAM,KAAK,SAAS,QAAQ,KAAK,QAAQ,KAAK,YAAY,KAAK,QAAQ,GAAG,EAAE,QAAQ,KAAK,eAAe,UAAU,KAAK,SAAS,CAAC;AAE3J,SAAO,eAAe;AAAA,IACpB,QAAQ,KAAK;AAAA,IACb,QAAQ,KAAK;AAAA,IACb;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,OAAO,KAAK;AAAA,EACd,CAAC;AACH;","names":[]}
|
|
@@ -13,5 +13,5 @@ export interface BuildInputArgs {
|
|
|
13
13
|
baseUrl: string;
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
export declare function buildInput({ values, contentHtml, locale, keyphrase, fields, site }: BuildInputArgs): AnalysisInput;
|
|
16
|
+
export declare function buildInput({ values, contentHtml, locale, keyphrase, fields, site, }: BuildInputArgs): AnalysisInput;
|
|
17
17
|
//# sourceMappingURL=buildInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildInput.d.ts","sourceRoot":"","sources":["../../../src/components/SeoDrawer/buildInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"buildInput.d.ts","sourceRoot":"","sources":["../../../src/components/SeoDrawer/buildInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA2BxD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,WAAW,EACX,MAAM,EACN,SAAS,EACT,MAAM,EACN,IAAI,GACL,EAAE,cAAc,GAAG,aAAa,CAkBhC"}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
function valueAt(values, path) {
|
|
2
2
|
if (!path)
|
|
3
3
|
return "";
|
|
4
|
-
const v = path.split(".").reduce(
|
|
4
|
+
const v = path.split(".").reduce(
|
|
5
|
+
(acc, k) => acc && typeof acc === "object" ? acc[k] : void 0,
|
|
6
|
+
values
|
|
7
|
+
);
|
|
5
8
|
return typeof v === "string" ? v : "";
|
|
6
9
|
}
|
|
7
10
|
function normalizeLocale(locale) {
|
|
8
11
|
const code = (typeof locale === "object" && locale ? locale.code : locale != null ? String(locale) : void 0) ?? "en";
|
|
9
12
|
return code.includes("_") ? code : `${code}_${code.toUpperCase()}`;
|
|
10
13
|
}
|
|
11
|
-
function buildInput({
|
|
14
|
+
function buildInput({
|
|
15
|
+
values,
|
|
16
|
+
contentHtml,
|
|
17
|
+
locale,
|
|
18
|
+
keyphrase,
|
|
19
|
+
fields,
|
|
20
|
+
site
|
|
21
|
+
}) {
|
|
12
22
|
const title = valueAt(values, fields.seoTitle) || valueAt(values, "title");
|
|
13
23
|
return {
|
|
14
24
|
title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SeoDrawer/buildInput.ts"],"sourcesContent":["import type { AnalysisInput } from \"../../engine/types/analysis\";\nimport type { SeoFieldPaths } from \"../../types/config\";\n\nfunction valueAt(values: Record<string, unknown>, path?: string): string {\n if (!path) return \"\";\n\n const v = path.split(\".\").reduce<unknown>((acc, k)
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SeoDrawer/buildInput.ts"],"sourcesContent":["import type { AnalysisInput } from \"../../engine/types/analysis\";\nimport type { SeoFieldPaths } from \"../../types/config\";\n\nfunction valueAt(values: Record<string, unknown>, path?: string): string {\n if (!path) return \"\";\n\n const v = path\n .split(\".\")\n .reduce<unknown>(\n (acc, k) =>\n acc && typeof acc === \"object\" ? (acc as Record<string, unknown>)[k] : undefined,\n values\n );\n\n return typeof v === \"string\" ? v : \"\";\n}\n\nfunction normalizeLocale(locale: string | { code?: string } | null | undefined): string {\n const code =\n (typeof locale === \"object\" && locale\n ? locale.code\n : locale != null\n ? String(locale)\n : undefined) ?? \"en\";\n\n return code.includes(\"_\") ? code : `${code}_${code.toUpperCase()}`;\n}\n\nexport interface BuildInputArgs {\n values: Record<string, unknown>;\n contentHtml: string;\n locale: string | { code?: string } | null | undefined;\n keyphrase: string;\n fields: SeoFieldPaths;\n site: { name: string; baseUrl: string };\n}\n\nexport function buildInput({\n values,\n contentHtml,\n locale,\n keyphrase,\n fields,\n site,\n}: BuildInputArgs): AnalysisInput {\n const title = valueAt(values, fields.seoTitle) || valueAt(values, \"title\");\n\n return {\n title,\n slug: valueAt(values, fields.slug ?? \"slug\"),\n description: valueAt(values, fields.metaDescription),\n contentHtml,\n keyphrase,\n locale: normalizeLocale(locale),\n site,\n has: {\n seoTitle: Boolean(fields.seoTitle && valueAt(values, fields.seoTitle)),\n metaDescription: Boolean(fields.metaDescription),\n slug: Boolean(fields.slug ?? \"slug\"),\n content: Boolean(fields.content),\n },\n };\n}\n"],"mappings":"AAGA,SAAS,QAAQ,QAAiC,MAAuB;AACvE,MAAI,CAAC;AAAM,WAAO;AAElB,QAAM,IAAI,KACP,MAAM,GAAG,EACT;AAAA,IACC,CAAC,KAAK,MACJ,OAAO,OAAO,QAAQ,WAAY,IAAgC,CAAC,IAAI;AAAA,IACzE;AAAA,EACF;AAEF,SAAO,OAAO,MAAM,WAAW,IAAI;AACrC;AAEA,SAAS,gBAAgB,QAA+D;AACtF,QAAM,QACH,OAAO,WAAW,YAAY,SAC3B,OAAO,OACP,UAAU,OACR,OAAO,MAAM,IACb,WAAc;AAEtB,SAAO,KAAK,SAAS,GAAG,IAAI,OAAO,GAAG,IAAI,IAAI,KAAK,YAAY,CAAC;AAClE;AAWO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAkC;AAChC,QAAM,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,KAAK,QAAQ,QAAQ,OAAO;AAEzE,SAAO;AAAA,IACL;AAAA,IACA,MAAM,QAAQ,QAAQ,OAAO,QAAQ,MAAM;AAAA,IAC3C,aAAa,QAAQ,QAAQ,OAAO,eAAe;AAAA,IACnD;AAAA,IACA;AAAA,IACA,QAAQ,gBAAgB,MAAM;AAAA,IAC9B;AAAA,IACA,KAAK;AAAA,MACH,UAAU,QAAQ,OAAO,YAAY,QAAQ,QAAQ,OAAO,QAAQ,CAAC;AAAA,MACrE,iBAAiB,QAAQ,OAAO,eAAe;AAAA,MAC/C,MAAM,QAAQ,OAAO,QAAQ,MAAM;AAAA,MACnC,SAAS,QAAQ,OAAO,OAAO;AAAA,IACjC;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/SeoDrawer/components/Header.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAKlE,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/SeoDrawer/components/Header.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAKlE,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,WAAW,2CA+BrE"}
|
|
@@ -11,8 +11,26 @@ function Header({ drawerSlug, total, totalStatus }) {
|
|
|
11
11
|
/* @__PURE__ */ jsx("h2", { className: "text-[16px] font-semibold m-0", children: "SEO Analytics" }),
|
|
12
12
|
totalStatus === "idle" ? null : /* @__PURE__ */ jsx(Pill, { variant: totalStatus, children: total })
|
|
13
13
|
] }),
|
|
14
|
-
/* @__PURE__ */ jsx(
|
|
15
|
-
|
|
14
|
+
/* @__PURE__ */ jsx(
|
|
15
|
+
"button",
|
|
16
|
+
{
|
|
17
|
+
"aria-label": "Close",
|
|
18
|
+
className: "drawer__header__close",
|
|
19
|
+
onClick: () => closeModal(drawerSlug),
|
|
20
|
+
type: "button",
|
|
21
|
+
children: /* @__PURE__ */ jsx(XIcon, {})
|
|
22
|
+
}
|
|
23
|
+
),
|
|
24
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-x-0 bottom-0 h-[2px] bg-neutral-150", children: /* @__PURE__ */ jsx(
|
|
25
|
+
"i",
|
|
26
|
+
{
|
|
27
|
+
className: cn(
|
|
28
|
+
"block h-full",
|
|
29
|
+
totalStatus === "idle" ? void 0 : statusVar({ status: totalStatus })
|
|
30
|
+
),
|
|
31
|
+
style: { width: `${total}%`, background: "var(--seo-c)" }
|
|
32
|
+
}
|
|
33
|
+
) })
|
|
16
34
|
] });
|
|
17
35
|
}
|
|
18
36
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SeoDrawer/components/Header.tsx"],"sourcesContent":["\"use client\";\n\nimport { useModal, XIcon } from \"@payloadcms/ui\";\nimport type { TotalStatus } from \"../../../engine/types/analysis\";\nimport { cn } from \"../../../utils/style\";\nimport { statusVar } from \"../variants\";\nimport { Pill } from \"../../../ui/Pill\";\n\ninterface HeaderProps {\n drawerSlug: string;\n total: number;\n totalStatus: TotalStatus;\n}\n\nexport function Header({ drawerSlug, total, totalStatus }: HeaderProps) {\n const { closeModal } = useModal();\n\n return (\n <div className=\"relative flex items-center justify-between px-[4px] py-[16px]\">\n <div className=\"flex items-center gap-[11px]\">\n <h2 className=\"text-[16px] font-semibold m-0\">SEO Analytics</h2>\n\n {totalStatus === \"idle\" ? null : <Pill variant={totalStatus}>{total}</Pill>}\n </div>\n\n <button
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SeoDrawer/components/Header.tsx"],"sourcesContent":["\"use client\";\n\nimport { useModal, XIcon } from \"@payloadcms/ui\";\nimport type { TotalStatus } from \"../../../engine/types/analysis\";\nimport { cn } from \"../../../utils/style\";\nimport { statusVar } from \"../variants\";\nimport { Pill } from \"../../../ui/Pill\";\n\ninterface HeaderProps {\n drawerSlug: string;\n total: number;\n totalStatus: TotalStatus;\n}\n\nexport function Header({ drawerSlug, total, totalStatus }: HeaderProps) {\n const { closeModal } = useModal();\n\n return (\n <div className=\"relative flex items-center justify-between px-[4px] py-[16px]\">\n <div className=\"flex items-center gap-[11px]\">\n <h2 className=\"text-[16px] font-semibold m-0\">SEO Analytics</h2>\n\n {totalStatus === \"idle\" ? null : <Pill variant={totalStatus}>{total}</Pill>}\n </div>\n\n <button\n aria-label=\"Close\"\n className=\"drawer__header__close\"\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n\n <div className=\"absolute inset-x-0 bottom-0 h-[2px] bg-neutral-150\">\n <i\n className={cn(\n \"block h-full\",\n totalStatus === \"idle\" ? undefined : statusVar({ status: totalStatus })\n )}\n style={{ width: `${total}%`, background: \"var(--seo-c)\" }}\n />\n </div>\n </div>\n );\n}\n"],"mappings":";AAmBM,SACE,KADF;AAjBN,SAAS,UAAU,aAAa;AAEhC,SAAS,UAAU;AACnB,SAAS,iBAAiB;AAC1B,SAAS,YAAY;AAQd,SAAS,OAAO,EAAE,YAAY,OAAO,YAAY,GAAgB;AACtE,QAAM,EAAE,WAAW,IAAI,SAAS;AAEhC,SACE,qBAAC,SAAI,WAAU,iEACb;AAAA,yBAAC,SAAI,WAAU,gCACb;AAAA,0BAAC,QAAG,WAAU,iCAAgC,2BAAa;AAAA,MAE1D,gBAAgB,SAAS,OAAO,oBAAC,QAAK,SAAS,aAAc,iBAAM;AAAA,OACtE;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,cAAW;AAAA,QACX,WAAU;AAAA,QACV,SAAS,MAAM,WAAW,UAAU;AAAA,QACpC,MAAK;AAAA,QAEL,8BAAC,SAAM;AAAA;AAAA,IACT;AAAA,IAEA,oBAAC,SAAI,WAAU,sDACb;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,gBAAgB,SAAS,SAAY,UAAU,EAAE,QAAQ,YAAY,CAAC;AAAA,QACxE;AAAA,QACA,OAAO,EAAE,OAAO,GAAG,KAAK,KAAK,YAAY,eAAe;AAAA;AAAA,IAC1D,GACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadingLevelTiles.d.ts","sourceRoot":"","sources":["../../../../../src/components/SeoDrawer/components/HeadingsSection/HeadingLevelTiles.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAG3E,UAAU,sBAAsB;IAC9B,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"HeadingLevelTiles.d.ts","sourceRoot":"","sources":["../../../../../src/components/SeoDrawer/components/HeadingsSection/HeadingLevelTiles.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAG3E,UAAU,sBAAsB;IAC9B,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,2CAqCnE"}
|
|
@@ -12,11 +12,29 @@ function HeadingLevelTiles({ levels }) {
|
|
|
12
12
|
zero ? "border-dashed border-neutral-300 bg-neutral-50" : "border-neutral-200 bg-neutral-0"
|
|
13
13
|
),
|
|
14
14
|
children: [
|
|
15
|
-
/* @__PURE__ */ jsxs(
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
/* @__PURE__ */ jsxs(
|
|
16
|
+
"span",
|
|
17
|
+
{
|
|
18
|
+
className: cn(
|
|
19
|
+
"font-mono text-[12px] font-semibold",
|
|
20
|
+
zero ? "text-neutral-400" : "text-neutral-500"
|
|
21
|
+
),
|
|
22
|
+
children: [
|
|
23
|
+
"H",
|
|
24
|
+
level
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
),
|
|
28
|
+
/* @__PURE__ */ jsx(
|
|
29
|
+
"span",
|
|
30
|
+
{
|
|
31
|
+
className: cn(
|
|
32
|
+
"font-mono text-[12px] font-bold",
|
|
33
|
+
zero ? "text-neutral-300" : "text-neutral-1000"
|
|
34
|
+
),
|
|
35
|
+
children: count
|
|
36
|
+
}
|
|
37
|
+
)
|
|
20
38
|
]
|
|
21
39
|
},
|
|
22
40
|
level
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/SeoDrawer/components/HeadingsSection/HeadingLevelTiles.tsx"],"sourcesContent":["\"use client\";\n\nimport type { HeadingLevelCount } from \"../../../../engine/types/analysis\";\nimport { cn } from \"../../../../utils/style\";\n\ninterface HeadingLevelTilesProps {\n levels: HeadingLevelCount[];\n}\n\nexport function HeadingLevelTiles({ levels }: HeadingLevelTilesProps) {\n return (\n <div className=\"grid grid-cols-6 gap-[6px] px-[15px] pt-[8px] pb-[12px]\">\n {levels.map(({ level, count }) => {\n const zero = count === 0;\n\n return (\n <div\n key={level}\n className={cn(\n \"flex items-baseline justify-center gap-[5px] rounded-rs border px-[2px] py-[7px]\",\n zero
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/SeoDrawer/components/HeadingsSection/HeadingLevelTiles.tsx"],"sourcesContent":["\"use client\";\n\nimport type { HeadingLevelCount } from \"../../../../engine/types/analysis\";\nimport { cn } from \"../../../../utils/style\";\n\ninterface HeadingLevelTilesProps {\n levels: HeadingLevelCount[];\n}\n\nexport function HeadingLevelTiles({ levels }: HeadingLevelTilesProps) {\n return (\n <div className=\"grid grid-cols-6 gap-[6px] px-[15px] pt-[8px] pb-[12px]\">\n {levels.map(({ level, count }) => {\n const zero = count === 0;\n\n return (\n <div\n key={level}\n className={cn(\n \"flex items-baseline justify-center gap-[5px] rounded-rs border px-[2px] py-[7px]\",\n zero\n ? \"border-dashed border-neutral-300 bg-neutral-50\"\n : \"border-neutral-200 bg-neutral-0\"\n )}\n >\n <span\n className={cn(\n \"font-mono text-[12px] font-semibold\",\n zero ? \"text-neutral-400\" : \"text-neutral-500\"\n )}\n >\n H{level}\n </span>\n <span\n className={cn(\n \"font-mono text-[12px] font-bold\",\n zero ? \"text-neutral-300\" : \"text-neutral-1000\"\n )}\n >\n {count}\n </span>\n </div>\n );\n })}\n </div>\n );\n}\n"],"mappings":";AAyBY,SAQA,KARA;AAtBZ,SAAS,UAAU;AAMZ,SAAS,kBAAkB,EAAE,OAAO,GAA2B;AACpE,SACE,oBAAC,SAAI,WAAU,2DACZ,iBAAO,IAAI,CAAC,EAAE,OAAO,MAAM,MAAM;AAChC,UAAM,OAAO,UAAU;AAEvB,WACE;AAAA,MAAC;AAAA;AAAA,QAEC,WAAW;AAAA,UACT;AAAA,UACA,OACI,mDACA;AAAA,QACN;AAAA,QAEA;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT;AAAA,gBACA,OAAO,qBAAqB;AAAA,cAC9B;AAAA,cACD;AAAA;AAAA,gBACG;AAAA;AAAA;AAAA,UACJ;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT;AAAA,gBACA,OAAO,qBAAqB;AAAA,cAC9B;AAAA,cAEC;AAAA;AAAA,UACH;AAAA;AAAA;AAAA,MAvBK;AAAA,IAwBP;AAAA,EAEJ,CAAC,GACH;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chevron.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SeoDrawer/components/HeadingsSection/HeadingTree/Chevron.tsx"],"names":[],"mappings":"AAGA,wBAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"Chevron.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SeoDrawer/components/HeadingsSection/HeadingTree/Chevron.tsx"],"names":[],"mappings":"AAGA,wBAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,2CAYlD"}
|
|
@@ -2,7 +2,18 @@ import { jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { ChevronDown } from "lucide-react";
|
|
3
3
|
import { cn } from "../../../../../utils/style";
|
|
4
4
|
function Chevron({ open }) {
|
|
5
|
-
return /* @__PURE__ */ jsx(
|
|
5
|
+
return /* @__PURE__ */ jsx(
|
|
6
|
+
ChevronDown,
|
|
7
|
+
{
|
|
8
|
+
size: 13,
|
|
9
|
+
strokeWidth: 2.2,
|
|
10
|
+
"aria-hidden": "true",
|
|
11
|
+
className: cn(
|
|
12
|
+
"flex-none text-neutral-500 transition-transform duration-150",
|
|
13
|
+
!open && "-rotate-90"
|
|
14
|
+
)
|
|
15
|
+
}
|
|
16
|
+
);
|
|
6
17
|
}
|
|
7
18
|
export {
|
|
8
19
|
Chevron
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/SeoDrawer/components/HeadingsSection/HeadingTree/Chevron.tsx"],"sourcesContent":["import { ChevronDown } from \"lucide-react\";\nimport { cn } from \"../../../../../utils/style\";\n\nexport function Chevron({ open }: { open: boolean }) {\n return <ChevronDown
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/SeoDrawer/components/HeadingsSection/HeadingTree/Chevron.tsx"],"sourcesContent":["import { ChevronDown } from \"lucide-react\";\nimport { cn } from \"../../../../../utils/style\";\n\nexport function Chevron({ open }: { open: boolean }) {\n return (\n <ChevronDown\n size={13}\n strokeWidth={2.2}\n aria-hidden=\"true\"\n className={cn(\n \"flex-none text-neutral-500 transition-transform duration-150\",\n !open && \"-rotate-90\"\n )}\n />\n );\n}\n"],"mappings":"AAKI;AALJ,SAAS,mBAAmB;AAC5B,SAAS,UAAU;AAEZ,SAAS,QAAQ,EAAE,KAAK,GAAsB;AACnD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,aAAa;AAAA,MACb,eAAY;AAAA,MACZ,WAAW;AAAA,QACT;AAAA,QACA,CAAC,QAAQ;AAAA,MACX;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeGroup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadingTreeGroup.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"HeadingTreeGroup.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAuFxE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAe5F"}
|