@repobit/dex-system-design 0.24.7 → 0.24.8
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/CHANGELOG.md +7 -0
- package/package.json +4 -4
- package/src/components/ai-guardian-demo.stories.js +236 -19
- package/src/components/install-options/install-options.css.js +6 -0
- package/src/components/install-options/install-options.js +17 -2
- package/src/components/review/review-grid.css.js +3 -2
- package/src/components/review/review.css.js +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.24.8](https://github.com/bitdefender/dex-core/compare/@repobit/dex-system-design@0.24.7...@repobit/dex-system-design@0.24.8) (2026-09-08)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **DEX-1014:** review component adjustments and AI Bitdefender new component
|
|
11
|
+
|
|
12
|
+
|
|
6
13
|
## [0.24.7](https://github.com/bitdefender/dex-core/compare/@repobit/dex-system-design@0.24.6...@repobit/dex-system-design@0.24.7) (2026-09-07)
|
|
7
14
|
|
|
8
15
|
### Bug Fixes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@repobit/dex-system-design",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.8",
|
|
4
4
|
"description": "Design system based on Web Components.",
|
|
5
5
|
"author": "Iordache Matei Cezar <miordache@bitdefender.com>",
|
|
6
6
|
"homepage": "https://github.com/bitdefender/dex-core#readme",
|
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
"url": "https://github.com/bitdefender/dex-core/issues"
|
|
75
75
|
},
|
|
76
76
|
"dependencies": {
|
|
77
|
-
"@repobit/dex-store": "1.6.
|
|
78
|
-
"@repobit/dex-store-elements": "2.0.
|
|
77
|
+
"@repobit/dex-store": "1.6.24",
|
|
78
|
+
"@repobit/dex-store-elements": "2.0.29",
|
|
79
79
|
"lit": "^3.3.2"
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
@@ -92,5 +92,5 @@
|
|
|
92
92
|
"volta": {
|
|
93
93
|
"node": "24.14.0"
|
|
94
94
|
},
|
|
95
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "bf388f1fa589bd68fb763b66bb7ed9e2e598724c"
|
|
96
96
|
}
|
|
@@ -430,14 +430,6 @@ function aiGuardianBody() {
|
|
|
430
430
|
}
|
|
431
431
|
|
|
432
432
|
|
|
433
|
-
|
|
434
|
-
// ---------------------------------------------------------------------------
|
|
435
|
-
// PATCH pentru ai-guardian-demo.stories.js
|
|
436
|
-
// 1. Adauga importul: import "./install-options/install-options.js";
|
|
437
|
-
// (prompt-panel.js NU mai e nevoie -- totul e integrat in bd-install-options)
|
|
438
|
-
// 2. Inlocuieste functia skillScannerBody() cu varianta de mai jos.
|
|
439
|
-
// ---------------------------------------------------------------------------
|
|
440
|
-
|
|
441
433
|
function skillScannerBody() {
|
|
442
434
|
return html`
|
|
443
435
|
<bd-header-code
|
|
@@ -668,22 +660,242 @@ function skillScannerBody() {
|
|
|
668
660
|
</bd-bento-item>
|
|
669
661
|
</bd-bento-grid>
|
|
670
662
|
</div>
|
|
663
|
+
|
|
664
|
+
<bd-process-steps
|
|
665
|
+
title="How a scan works"
|
|
666
|
+
description='You ask in plain language, "scan the foo skill for security risks", and the skill does the rest. There is no separate command-line tool to learn.'
|
|
667
|
+
.steps=${[
|
|
668
|
+
{
|
|
669
|
+
title : "1. Resolve",
|
|
670
|
+
description: "The scanner resolves the target (a directory, an installed skill name, a zip, or a URL) into a skill root."
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
title : "2. Pack & hash",
|
|
674
|
+
description: "It packs the skill into a normalized archive and computes a skill-level SHA-256, then checks for a cached report before repeating any work."
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
title : "3. Collect & enrich",
|
|
678
|
+
description: "It walks, hashes and recurses into every file, then runs all 18 indicator extractors and 71 behavioural patterns over the text content."
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
title : "4. Embed",
|
|
682
|
+
description: "It computes semantic embeddings on your machine, unless you disable them."
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
title : "5. Submit metadata",
|
|
686
|
+
description: "Hashes, indicators with short matched excerpts, counts, metadata and embeddings go to the backend. In scan mode it sends no full file contents."
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
title : "6. Report",
|
|
690
|
+
description: "The backend returns a risk level, summary and findings, rendered as Markdown in your session."
|
|
691
|
+
}
|
|
692
|
+
]}
|
|
693
|
+
></bd-process-steps>
|
|
694
|
+
|
|
695
|
+
<div style="padding: 48px 24px 24px;">
|
|
696
|
+
<bd-compatibility-table
|
|
697
|
+
variant="risk"
|
|
698
|
+
title="What you can point it at"
|
|
699
|
+
description="The scanner accepts four target types: a directory, an installed skill name, a zip archive, or a URL."
|
|
700
|
+
.columns=${["Target", "Behaviour"]}
|
|
701
|
+
.rows=${[
|
|
702
|
+
{ category: "Directory path", coverage: "Scanned directly as the skill root." },
|
|
703
|
+
{ category: "Skill name", coverage: "Resolved via the harness's known skill directories, project- and user-level." },
|
|
704
|
+
{ category: ".zip archive", coverage: "Extracted to a temp directory, then scanned." },
|
|
705
|
+
{ category: "URL", coverage: "Sent to the backend for scanning (scan mode only)." }
|
|
706
|
+
]}
|
|
707
|
+
></bd-compatibility-table>
|
|
708
|
+
</div>
|
|
709
|
+
</section>
|
|
710
|
+
|
|
711
|
+
<section id="anchor-5-section">
|
|
712
|
+
<bd-install-options
|
|
713
|
+
eyebrow="Trust & transparency"
|
|
714
|
+
title="What leaves your machine"
|
|
715
|
+
description="Two modes, both agent-driven. Scan is the default: only hashes, extracted indicators and metadata are transmitted, and full files are never uploaded. Submit is opt-in: the complete skill archive is uploaded for deeper analysis, and only when you explicitly ask for it."
|
|
716
|
+
>
|
|
717
|
+
<bd-compatibility-table
|
|
718
|
+
variant="risk"
|
|
719
|
+
.columns=${["Mode", "Transmitted"]}
|
|
720
|
+
.rows=${[
|
|
721
|
+
{
|
|
722
|
+
category: "Scan (default)",
|
|
723
|
+
coverage: "File hashes (SHA-256/MD5), extracted indicators and pattern matches — including short excerpts of matched content (regex fragments ≤100 chars, decoded base64 snippets ≤500 chars) — file metadata, finding counts, SKILL.md frontmatter, dependency metadata, and local embeddings. Full file contents are not transmitted."
|
|
724
|
+
},
|
|
725
|
+
{
|
|
726
|
+
category: "Submit (opt-in)",
|
|
727
|
+
coverage: "The complete skill archive, uploaded for deep analysis. The agent will not do this unless you explicitly ask."
|
|
728
|
+
}
|
|
729
|
+
]}
|
|
730
|
+
></bd-compatibility-table>
|
|
731
|
+
|
|
732
|
+
<div style="background: var(--color-neutral-0); border: 1px solid var(--color-neutral-100); border-radius: var(--radius-xl); padding: 24px; box-sizing: border-box; margin-top: 24px;">
|
|
733
|
+
<bd-h as="h3" style="margin: 0 0 16px;">The contract the agent is held to</bd-h>
|
|
734
|
+
<ul style="list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px;">
|
|
735
|
+
<li style="display: flex; align-items: flex-start; gap: 12px;">
|
|
736
|
+
<span aria-hidden="true" style="flex-shrink: 0; width: 20px; height: 20px; border-radius: 999px; background: var(--color-green-600, #16a34a); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; margin-top: 2px;">✓</span>
|
|
737
|
+
<bd-p kind="regular" style="margin:0;">Scan mode is the default: a casual request never uploads your files.</bd-p>
|
|
738
|
+
</li>
|
|
739
|
+
<li style="display: flex; align-items: flex-start; gap: 12px;">
|
|
740
|
+
<span aria-hidden="true" style="flex-shrink: 0; width: 20px; height: 20px; border-radius: 999px; background: var(--color-green-600, #16a34a); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; margin-top: 2px;">✓</span>
|
|
741
|
+
<bd-p kind="regular" style="margin:0;">Submit is opt-in only: the agent won't upload the full archive unless you explicitly ask.</bd-p>
|
|
742
|
+
</li>
|
|
743
|
+
<li style="display: flex; align-items: flex-start; gap: 12px;">
|
|
744
|
+
<span aria-hidden="true" style="flex-shrink: 0; width: 20px; height: 20px; border-radius: 999px; background: var(--color-green-600, #16a34a); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; margin-top: 2px;">✓</span>
|
|
745
|
+
<bd-p kind="regular" style="margin:0;">The agent relays, it doesn't overrule: it presents the backend's report and never substitutes its own verdict.</bd-p>
|
|
746
|
+
</li>
|
|
747
|
+
<li style="display: flex; align-items: flex-start; gap: 12px;">
|
|
748
|
+
<span aria-hidden="true" style="flex-shrink: 0; width: 20px; height: 20px; border-radius: 999px; background: var(--color-green-600, #16a34a); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; margin-top: 2px;">✓</span>
|
|
749
|
+
<bd-p kind="regular" style="margin:0;">Errors are surfaced as they are: on failure you get the specific reason.</bd-p>
|
|
750
|
+
</li>
|
|
751
|
+
<li style="display: flex; align-items: flex-start; gap: 12px;">
|
|
752
|
+
<span aria-hidden="true" style="flex-shrink: 0; width: 20px; height: 20px; border-radius: 999px; background: var(--color-green-600, #16a34a); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; margin-top: 2px;">✓</span>
|
|
753
|
+
<bd-p kind="regular" style="margin:0;">Self-updates are Ed25519-signature-verified against a key pinned in the client, staged with path-traversal-safe extraction, and rolled back automatically on failure.</bd-p>
|
|
754
|
+
</li>
|
|
755
|
+
</ul>
|
|
756
|
+
</div>
|
|
757
|
+
|
|
758
|
+
<div style="background: var(--color-yellow-50, #fffbeb); border: 1px solid var(--color-yellow-300, #fcd34d); border-radius: var(--radius-md); padding: 16px 20px; color: var(--color-yellow-800, #92400e); margin-top: 24px;">
|
|
759
|
+
<bd-p kind="small" style="margin:0;">A scan that returns no findings means no known threat patterns were detected — not that the skill is safe.</bd-p>
|
|
760
|
+
</div>
|
|
761
|
+
</bd-install-options>
|
|
671
762
|
</section>
|
|
672
763
|
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
764
|
+
<section id="anchor-6-section" class="faq">
|
|
765
|
+
<bd-trust-panel
|
|
766
|
+
eyebrow="Why trust it"
|
|
767
|
+
title="Built by Bitdefender"
|
|
768
|
+
description="Agent Skill Scanner is made by Bitdefender, the company that has protected people and organisations since 2001. The figures and recognitions below describe Bitdefender the company — not the scanner itself."
|
|
769
|
+
link-label="Why millions trust Bitdefender"
|
|
770
|
+
link-href="#"
|
|
771
|
+
.stats=${[
|
|
772
|
+
{ value: "50B+", label: "threats blocked every year" },
|
|
773
|
+
{ value: "580+", label: "technology patents" },
|
|
774
|
+
{ value: "170+", label: "countries protected" },
|
|
775
|
+
{ value: "15+", label: "years of AI-driven security" },
|
|
776
|
+
{ value: "50%+", label: "of employees work in R&D" },
|
|
777
|
+
{ value: "30+", label: "law-enforcement partnerships" }
|
|
778
|
+
]}
|
|
779
|
+
.cards=${[
|
|
780
|
+
{
|
|
781
|
+
eyebrow : "Brand partnership",
|
|
782
|
+
title : "Trusted by Ferrari as cybersecurity partner",
|
|
783
|
+
description: "A partnership born from a passion for high performance and technological innovation — Bitdefender supports Ferrari with Advanced Threat Intelligence to improve detection and response to cyber threats.",
|
|
784
|
+
linkLabel : "Learn more",
|
|
785
|
+
linkHref : "#"
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
eyebrow : "Brand recognition",
|
|
789
|
+
title : "Award-winning security software you can trust. Always.",
|
|
790
|
+
description: "Consistently top-ranked by the world's leading independent testing labs and tech publications.",
|
|
791
|
+
linkLabel : "Learn more",
|
|
792
|
+
linkHref : "#"
|
|
793
|
+
}
|
|
794
|
+
]}
|
|
795
|
+
>
|
|
796
|
+
<span slot="card-1-logos" style="font-weight:700; color:#006DFF; font-size:18px;">Bitdefender</span>
|
|
797
|
+
<span slot="card-1-logos" style="font-size:12px; color:#374151; font-weight:600;">FERRARI TEAM PARTNER</span>
|
|
798
|
+
|
|
799
|
+
<bd-pc-mag-icon slot="card-2-logos" height="32"></bd-pc-mag-icon>
|
|
800
|
+
<bd-av-comparatives-icon slot="card-2-logos" height="32"></bd-av-comparatives-icon>
|
|
801
|
+
<bd-top-product-icon slot="card-2-logos" height="32"></bd-top-product-icon>
|
|
802
|
+
<bd-best-brands-icon slot="card-2-logos" height="32"></bd-best-brands-icon>
|
|
803
|
+
<bd-laurel-icon slot="card-2-logos" height="32"></bd-laurel-icon>
|
|
804
|
+
</bd-trust-panel>
|
|
805
|
+
|
|
806
|
+
<div style="padding: 24px 24px 48px;">
|
|
807
|
+
<bd-accordion-bg title="Frequently asked questions">
|
|
808
|
+
<bd-accordion-bg-item title="What is Agent Skill Scanner?">
|
|
809
|
+
<bd-p>Agent Skill Scanner is a Bitdefender agent skill that audits other agent skills before you install or trust them. It runs 71 behavioural detectors across 16 threat categories, extracts 18 indicator types from every file, and returns an LLM-generated security report with a risk level, summary, and per-file findings.</bd-p>
|
|
810
|
+
</bd-accordion-bg-item>
|
|
811
|
+
|
|
812
|
+
<bd-accordion-bg-item title="How do I install Agent Skill Scanner?">
|
|
813
|
+
<bd-p>Three ways: run "npx skills add bitdefender/agent-skill-scanner" via skills.sh; clone the GitHub repository and copy the agent-skill-scanner folder into your skills directory; or download the zip archive and unzip it there. It requires Python 3.12 or 3.13 and installs its own dependencies on first use.</bd-p>
|
|
814
|
+
</bd-accordion-bg-item>
|
|
815
|
+
|
|
816
|
+
<bd-accordion-bg-item title="How do I scan a skill?">
|
|
817
|
+
<bd-p>Ask your agent in plain language, for example "scan the foo skill for security risks". There is no separate command to learn: the harness invokes the skill, resolves the target (a directory, an installed skill name, a zip, or a URL), and presents the Markdown report.</bd-p>
|
|
818
|
+
</bd-accordion-bg-item>
|
|
819
|
+
|
|
820
|
+
<bd-accordion-bg-item title="Does it upload my files?">
|
|
821
|
+
<bd-p>Not by default. In scan mode the scanner transmits only file hashes, extracted indicators with short matched excerpts, metadata and local embeddings; full file contents are never uploaded. The opt-in submit mode uploads the complete skill archive for deeper analysis, and the agent will only use it when you explicitly ask.</bd-p>
|
|
822
|
+
</bd-accordion-bg-item>
|
|
823
|
+
|
|
824
|
+
<bd-accordion-bg-item title="Which agents and harnesses does it work with?">
|
|
825
|
+
<bd-p>It is an agent skill for use inside a harness such as Claude Code, Codex, OpenClaw, or opencode. It is not a standalone CLI tool. Any harness that reads a skills directory and lets the agent execute the skill's instructions can run it.</bd-p>
|
|
826
|
+
</bd-accordion-bg-item>
|
|
827
|
+
|
|
828
|
+
<bd-accordion-bg-item title="What does a CLEAN result mean?">
|
|
829
|
+
<bd-p>CLEAN means no known threat patterns were detected, not that the skill is safe. Detection covers 71 behavioural patterns and 18 indicator types, but no scanner proves the absence of malicious intent. Treat the report as strong signal for a trust decision, not a guarantee.</bd-p>
|
|
830
|
+
</bd-accordion-bg-item>
|
|
831
|
+
|
|
832
|
+
<bd-accordion-bg-item title="How much does it cost?">
|
|
833
|
+
<bd-p>Agent Skill Scanner is available at no charge from skills.sh and GitHub. Use is subject to Bitdefender's End User License Agreement and Privacy Policy.</bd-p>
|
|
834
|
+
</bd-accordion-bg-item>
|
|
835
|
+
</bd-accordion-bg>
|
|
836
|
+
</div>
|
|
837
|
+
</section>
|
|
678
838
|
</div>
|
|
679
839
|
|
|
840
|
+
<bd-cta-banner
|
|
841
|
+
title="Scan before you trust"
|
|
842
|
+
description="A skill is code you hand to your agent. One command stands between you and running it blind."
|
|
843
|
+
>
|
|
844
|
+
<bd-button-link
|
|
845
|
+
slot="primary-button"
|
|
846
|
+
label="Install with npx"
|
|
847
|
+
kind="white"
|
|
848
|
+
size="md"
|
|
849
|
+
strong
|
|
850
|
+
>Install with npx</bd-button-link>
|
|
851
|
+
|
|
852
|
+
<bd-button-link
|
|
853
|
+
slot="secondary-button"
|
|
854
|
+
label="View on GitHub"
|
|
855
|
+
kind="outline-white"
|
|
856
|
+
size="md"
|
|
857
|
+
strong
|
|
858
|
+
>View on GitHub</bd-button-link>
|
|
859
|
+
</bd-cta-banner>
|
|
860
|
+
|
|
861
|
+
<section id="anchor-11-section">
|
|
862
|
+
<bd-agent-endpoints
|
|
863
|
+
eyebrow="For AI agents and assistants"
|
|
864
|
+
title="Machine-readable endpoints"
|
|
865
|
+
description="This site is built to be read by AI assistants, browsers, and agents. Structured, curated context is available at:"
|
|
866
|
+
.endpoints=${[
|
|
867
|
+
{ label: "/llms.txt", href: "/llms.txt" },
|
|
868
|
+
{ label: "/llms-full.txt", href: "/llms-full.txt" },
|
|
869
|
+
{ label: "/skill-scanner/index.md", href: "/skill-scanner/index.md" },
|
|
870
|
+
{ label: "/sitemap.xml", href: "/sitemap.xml" },
|
|
871
|
+
{ label: "/robots.txt", href: "/robots.txt" }
|
|
872
|
+
]}
|
|
873
|
+
>
|
|
874
|
+
<div slot="rows" style="border-top: 1px solid var(--color-neutral-100); margin-top: 24px; padding-top: 24px;">
|
|
875
|
+
<bd-p kind="regular" style="color: var(--color-neutral-700); margin: 0;">
|
|
876
|
+
By using Bitdefender Agent Skill Scanner, you confirm that you are over 16 years old and you have read and agreed to Bitdefender's
|
|
877
|
+
<bd-link href="#" kind="primary">End User License Agreement</bd-link>
|
|
878
|
+
and
|
|
879
|
+
<bd-link href="#" kind="primary">Privacy Policy</bd-link>.
|
|
880
|
+
</bd-p>
|
|
881
|
+
</div>
|
|
882
|
+
|
|
883
|
+
<div slot="rows" style="border-top: 1px solid var(--color-neutral-100); margin-top: 24px; padding-top: 24px;">
|
|
884
|
+
<bd-p kind="regular" style="color: var(--color-neutral-700); margin: 0;">
|
|
885
|
+
No security product guarantees complete protection. A scan that returns no findings means no known threat patterns were detected — not that the skill is safe. Effectiveness depends on configuration, runtime environment and the skills analysed. Features and availability may vary.
|
|
886
|
+
</bd-p>
|
|
887
|
+
</div>
|
|
888
|
+
</bd-agent-endpoints>
|
|
889
|
+
</section>
|
|
890
|
+
|
|
680
891
|
<!--
|
|
681
|
-
TODO:
|
|
682
|
-
|
|
683
|
-
la fel ca înainte — se adaugă când vine conținutul.
|
|
892
|
+
TODO: daca mai exista sectiuni sub asta pentru Skill Scanner,
|
|
893
|
+
se adauga cand vine continutul.
|
|
684
894
|
-->
|
|
685
895
|
`;
|
|
686
896
|
}
|
|
897
|
+
|
|
898
|
+
|
|
687
899
|
function sharedFooter() {
|
|
688
900
|
return html`
|
|
689
901
|
<bd-footer>
|
|
@@ -831,9 +1043,14 @@ section (\`bd-accordion-bg\`, 9 questions), \`bd-cta-banner\`, \`bd-agent-endpoi
|
|
|
831
1043
|
and \`bd-trust-panel\`.
|
|
832
1044
|
|
|
833
1045
|
**Skill Scanner** page: same top nav (tab now active), a dedicated
|
|
834
|
-
\`bd-header-code\`
|
|
835
|
-
|
|
836
|
-
|
|
1046
|
+
\`bd-header-code\`, \`bd-quick-answer\`, and a sticky \`bd-anchor-nav\` (6 items:
|
|
1047
|
+
Install, Overview, What it detects, How it works, Privacy, FAQ) wrapping
|
|
1048
|
+
\`bd-install-options\` (cards + "Then just ask" prompt panel), \`bd-overview\`,
|
|
1049
|
+
a \`bd-compatibility-table\` inside a chevron accordion, a \`bd-bento-grid\` +
|
|
1050
|
+
\`bd-process-steps\` + another \`bd-compatibility-table\` for "How it works",
|
|
1051
|
+
another \`bd-install-options\` (generic-slot variant: table + checklist + note)
|
|
1052
|
+
for "Privacy", and a \`bd-trust-panel\` under "FAQ". The FAQ accordion itself
|
|
1053
|
+
(actual questions) is still a placeholder — content not provided yet.
|
|
837
1054
|
|
|
838
1055
|
Both pages share the same \`bd-footer\` at the bottom.
|
|
839
1056
|
`
|
|
@@ -43,6 +43,12 @@ export default css`
|
|
|
43
43
|
margin: 0 auto var(--spacing-40);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
/* Slot generic pentru orice continut in afara grid-ului fix de carduri */
|
|
47
|
+
.bd-installoptions-body {
|
|
48
|
+
max-width: var(--layout-ensemble-max-width, 1200px);
|
|
49
|
+
margin: 0 auto;
|
|
50
|
+
}
|
|
51
|
+
|
|
46
52
|
.bd-installoptions-worksin-label {
|
|
47
53
|
color: var(--color-neutral-500);
|
|
48
54
|
font-family: var(--typography-fontFamily-mono, monospace);
|
|
@@ -171,10 +171,25 @@ class BdInstallOptions extends LitElement {
|
|
|
171
171
|
|
|
172
172
|
${this._renderWorksIn()}
|
|
173
173
|
|
|
174
|
-
|
|
175
|
-
|
|
174
|
+
<!--
|
|
175
|
+
Slot generic (fara nume) -- pentru orice continut care nu se
|
|
176
|
+
potriveste cu grid-ul fix de carduri (ex: un tabel, o casuta
|
|
177
|
+
checklist, o nota de avertizare). Cardurile ramase implicite
|
|
178
|
+
(this.cards) tot se randeaza mai jos daca sunt pasate; cele doua
|
|
179
|
+
pot coexista sau poti folosi doar unul din ele.
|
|
180
|
+
-->
|
|
181
|
+
<div class="bd-installoptions-body">
|
|
182
|
+
<slot></slot>
|
|
176
183
|
</div>
|
|
177
184
|
|
|
185
|
+
${this.cards.length
|
|
186
|
+
? html`
|
|
187
|
+
<div class="bd-installoptions-grid">
|
|
188
|
+
${this.cards.map((card) => this._renderCard(card))}
|
|
189
|
+
</div>
|
|
190
|
+
`
|
|
191
|
+
: nothing}
|
|
192
|
+
|
|
178
193
|
${this._renderPromptPanel()}
|
|
179
194
|
</div>
|
|
180
195
|
`;
|
|
@@ -5,8 +5,9 @@ export default css`
|
|
|
5
5
|
display: block;
|
|
6
6
|
width: 100%;
|
|
7
7
|
box-sizing: border-box;
|
|
8
|
-
max-width: 1290px;
|
|
9
|
-
|
|
8
|
+
max-width: var(--layout-ensemble-max-width, 1290px);
|
|
9
|
+
margin: 0 auto;
|
|
10
|
+
padding-inline: var(--layout-ensemble-inline-padding, var(--spacing-24));
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
.bd-reviewgrid-title {
|