@salesmind-ai/design-system 1.0.0 → 1.2.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/dist/chunk-6WQKRQEE.cjs +33 -0
- package/dist/chunk-6WQKRQEE.cjs.map +1 -0
- package/dist/{chunk-D2RHF2OE.cjs → chunk-H5BOCR5Z.cjs} +10 -6
- package/dist/chunk-H5BOCR5Z.cjs.map +1 -0
- package/dist/chunk-HTLWFOLC.js +26 -0
- package/dist/chunk-HTLWFOLC.js.map +1 -0
- package/dist/{chunk-KXVFFEGD.js → chunk-MLINFRC3.js} +2 -19
- package/dist/chunk-MLINFRC3.js.map +1 -0
- package/dist/{chunk-DMRQPGQA.js → chunk-NB3BDIQO.js} +10 -6
- package/dist/chunk-NB3BDIQO.js.map +1 -0
- package/dist/{chunk-JPUJWI7F.cjs → chunk-QXUA5PQ3.cjs} +1 -19
- package/dist/chunk-QXUA5PQ3.cjs.map +1 -0
- package/dist/{chunk-KSEETC4E.js → chunk-REEHJV7M.js} +142 -3
- package/dist/chunk-REEHJV7M.js.map +1 -0
- package/dist/{chunk-LQB7QLD3.js → chunk-RY257SWH.js} +207 -3
- package/dist/chunk-RY257SWH.js.map +1 -0
- package/dist/{chunk-6BXKRDK5.cjs → chunk-UCWMJD4Y.cjs} +148 -7
- package/dist/chunk-UCWMJD4Y.cjs.map +1 -0
- package/dist/{chunk-UGKYP6F3.cjs → chunk-YL4FGGHF.cjs} +211 -2
- package/dist/chunk-YL4FGGHF.cjs.map +1 -0
- package/dist/core/index.cjs +13 -12
- package/dist/core/index.js +2 -1
- package/dist/{index-C8A3X92-.d.cts → index-I4Xi04oE.d.cts} +46 -2
- package/dist/{index-wZPBPkOV.d.ts → index-r__EEywy.d.ts} +46 -2
- package/dist/index.cjs +78 -49
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +658 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/marketing/index.cjs +35 -26
- package/dist/marketing/index.css +242 -0
- package/dist/marketing/index.css.map +1 -1
- package/dist/marketing/index.d.cts +1 -1
- package/dist/marketing/index.d.ts +1 -1
- package/dist/marketing/index.js +3 -2
- package/dist/sections/index.css +1 -1
- package/dist/sections/index.css.map +1 -1
- package/dist/social-proof/index.cjs +26 -4
- package/dist/social-proof/index.css +521 -0
- package/dist/social-proof/index.css.map +1 -1
- package/dist/social-proof/index.d.cts +99 -27
- package/dist/social-proof/index.d.ts +99 -27
- package/dist/social-proof/index.js +3 -1
- package/dist/web/index.cjs +7 -7
- package/dist/web/index.js +1 -1
- package/dist/web/server/index.cjs +7 -7
- package/dist/web/server/index.d.cts +0 -5
- package/dist/web/server/index.d.ts +0 -5
- package/dist/web/server/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-6BXKRDK5.cjs.map +0 -1
- package/dist/chunk-D2RHF2OE.cjs.map +0 -1
- package/dist/chunk-DMRQPGQA.js.map +0 -1
- package/dist/chunk-JPUJWI7F.cjs.map +0 -1
- package/dist/chunk-KSEETC4E.js.map +0 -1
- package/dist/chunk-KXVFFEGD.js.map +0 -1
- package/dist/chunk-LQB7QLD3.js.map +0 -1
- package/dist/chunk-UGKYP6F3.cjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -9,11 +9,12 @@ var chunkCVLD5RQK_cjs = require('./chunk-CVLD5RQK.cjs');
|
|
|
9
9
|
var chunk3NS6X2R4_cjs = require('./chunk-3NS6X2R4.cjs');
|
|
10
10
|
var chunkNT4LBP7D_cjs = require('./chunk-NT4LBP7D.cjs');
|
|
11
11
|
var chunkFXYOSA4E_cjs = require('./chunk-FXYOSA4E.cjs');
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
12
|
+
var chunkYL4FGGHF_cjs = require('./chunk-YL4FGGHF.cjs');
|
|
13
|
+
var chunkUCWMJD4Y_cjs = require('./chunk-UCWMJD4Y.cjs');
|
|
14
|
+
var chunk6WQKRQEE_cjs = require('./chunk-6WQKRQEE.cjs');
|
|
15
15
|
var chunk7EUR3AKV_cjs = require('./chunk-7EUR3AKV.cjs');
|
|
16
16
|
var chunkDP74LUXG_cjs = require('./chunk-DP74LUXG.cjs');
|
|
17
|
+
var chunkQXUA5PQ3_cjs = require('./chunk-QXUA5PQ3.cjs');
|
|
17
18
|
var chunk65DTHLVX_cjs = require('./chunk-65DTHLVX.cjs');
|
|
18
19
|
var chunkVM7WFMKI_cjs = require('./chunk-VM7WFMKI.cjs');
|
|
19
20
|
var chunkSGYXYMKZ_cjs = require('./chunk-SGYXYMKZ.cjs');
|
|
@@ -125,7 +126,7 @@ var LeadNotification = React5.forwardRef(
|
|
|
125
126
|
}, ref) => {
|
|
126
127
|
const { label: statusLabel, tone } = STATUS_CONFIG[status];
|
|
127
128
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
128
|
-
|
|
129
|
+
chunkQXUA5PQ3_cjs.Card,
|
|
129
130
|
{
|
|
130
131
|
ref,
|
|
131
132
|
tier: 1,
|
|
@@ -726,159 +727,187 @@ Object.defineProperty(exports, "SpotlightCard", {
|
|
|
726
727
|
});
|
|
727
728
|
Object.defineProperty(exports, "PlatformBadge", {
|
|
728
729
|
enumerable: true,
|
|
729
|
-
get: function () { return
|
|
730
|
+
get: function () { return chunkYL4FGGHF_cjs.PlatformBadge; }
|
|
731
|
+
});
|
|
732
|
+
Object.defineProperty(exports, "SocialProofCard", {
|
|
733
|
+
enumerable: true,
|
|
734
|
+
get: function () { return chunkYL4FGGHF_cjs.SocialProofCard; }
|
|
735
|
+
});
|
|
736
|
+
Object.defineProperty(exports, "SocialProofCarousel", {
|
|
737
|
+
enumerable: true,
|
|
738
|
+
get: function () { return chunkYL4FGGHF_cjs.SocialProofCarousel; }
|
|
739
|
+
});
|
|
740
|
+
Object.defineProperty(exports, "SocialProofFeatured", {
|
|
741
|
+
enumerable: true,
|
|
742
|
+
get: function () { return chunkYL4FGGHF_cjs.SocialProofFeatured; }
|
|
743
|
+
});
|
|
744
|
+
Object.defineProperty(exports, "SocialProofGrid", {
|
|
745
|
+
enumerable: true,
|
|
746
|
+
get: function () { return chunkYL4FGGHF_cjs.SocialProofGrid; }
|
|
747
|
+
});
|
|
748
|
+
Object.defineProperty(exports, "SocialProofLogos", {
|
|
749
|
+
enumerable: true,
|
|
750
|
+
get: function () { return chunkYL4FGGHF_cjs.SocialProofLogos; }
|
|
730
751
|
});
|
|
731
752
|
Object.defineProperty(exports, "StarRating", {
|
|
732
753
|
enumerable: true,
|
|
733
|
-
get: function () { return
|
|
754
|
+
get: function () { return chunkYL4FGGHF_cjs.StarRating; }
|
|
734
755
|
});
|
|
735
756
|
Object.defineProperty(exports, "VideoLightbox", {
|
|
736
757
|
enumerable: true,
|
|
737
|
-
get: function () { return
|
|
758
|
+
get: function () { return chunkYL4FGGHF_cjs.VideoLightbox; }
|
|
738
759
|
});
|
|
739
760
|
Object.defineProperty(exports, "ArchitectureDiagram", {
|
|
740
761
|
enumerable: true,
|
|
741
|
-
get: function () { return
|
|
762
|
+
get: function () { return chunkUCWMJD4Y_cjs.ArchitectureDiagram; }
|
|
742
763
|
});
|
|
743
764
|
Object.defineProperty(exports, "AuroraVoid", {
|
|
744
765
|
enumerable: true,
|
|
745
|
-
get: function () { return
|
|
766
|
+
get: function () { return chunkUCWMJD4Y_cjs.AuroraVoid; }
|
|
746
767
|
});
|
|
747
768
|
Object.defineProperty(exports, "BeforeAfterBlock", {
|
|
748
769
|
enumerable: true,
|
|
749
|
-
get: function () { return
|
|
770
|
+
get: function () { return chunkUCWMJD4Y_cjs.BeforeAfterBlock; }
|
|
750
771
|
});
|
|
751
772
|
Object.defineProperty(exports, "BookingEmbed", {
|
|
752
773
|
enumerable: true,
|
|
753
|
-
get: function () { return
|
|
774
|
+
get: function () { return chunkUCWMJD4Y_cjs.BookingEmbed; }
|
|
754
775
|
});
|
|
755
776
|
Object.defineProperty(exports, "CaseStudyCard", {
|
|
756
777
|
enumerable: true,
|
|
757
|
-
get: function () { return
|
|
778
|
+
get: function () { return chunkUCWMJD4Y_cjs.CaseStudyCard; }
|
|
758
779
|
});
|
|
759
780
|
Object.defineProperty(exports, "ComparisonTable", {
|
|
760
781
|
enumerable: true,
|
|
761
|
-
get: function () { return
|
|
782
|
+
get: function () { return chunkUCWMJD4Y_cjs.ComparisonTable; }
|
|
762
783
|
});
|
|
763
784
|
Object.defineProperty(exports, "CompetitorDiff", {
|
|
764
785
|
enumerable: true,
|
|
765
|
-
get: function () { return
|
|
786
|
+
get: function () { return chunkUCWMJD4Y_cjs.CompetitorDiff; }
|
|
766
787
|
});
|
|
767
788
|
Object.defineProperty(exports, "ComplianceGrid", {
|
|
768
789
|
enumerable: true,
|
|
769
|
-
get: function () { return
|
|
790
|
+
get: function () { return chunkUCWMJD4Y_cjs.ComplianceGrid; }
|
|
770
791
|
});
|
|
771
792
|
Object.defineProperty(exports, "EcosystemDiagram", {
|
|
772
793
|
enumerable: true,
|
|
773
|
-
get: function () { return
|
|
794
|
+
get: function () { return chunkUCWMJD4Y_cjs.EcosystemDiagram; }
|
|
774
795
|
});
|
|
775
796
|
Object.defineProperty(exports, "EnterpriseSignaling", {
|
|
776
797
|
enumerable: true,
|
|
777
|
-
get: function () { return
|
|
798
|
+
get: function () { return chunkUCWMJD4Y_cjs.EnterpriseSignaling; }
|
|
778
799
|
});
|
|
779
800
|
Object.defineProperty(exports, "EvolutionTimeline", {
|
|
780
801
|
enumerable: true,
|
|
781
|
-
get: function () { return
|
|
802
|
+
get: function () { return chunkUCWMJD4Y_cjs.EvolutionTimeline; }
|
|
782
803
|
});
|
|
783
804
|
Object.defineProperty(exports, "GridOverlay", {
|
|
784
805
|
enumerable: true,
|
|
785
|
-
get: function () { return
|
|
806
|
+
get: function () { return chunkUCWMJD4Y_cjs.GridOverlay; }
|
|
786
807
|
});
|
|
787
808
|
Object.defineProperty(exports, "GuaranteeHighlight", {
|
|
788
809
|
enumerable: true,
|
|
789
|
-
get: function () { return
|
|
810
|
+
get: function () { return chunkUCWMJD4Y_cjs.GuaranteeHighlight; }
|
|
790
811
|
});
|
|
791
812
|
Object.defineProperty(exports, "HeroComposition", {
|
|
792
813
|
enumerable: true,
|
|
793
|
-
get: function () { return
|
|
814
|
+
get: function () { return chunkUCWMJD4Y_cjs.HeroComposition; }
|
|
794
815
|
});
|
|
795
816
|
Object.defineProperty(exports, "ICPFilter", {
|
|
796
817
|
enumerable: true,
|
|
797
|
-
get: function () { return
|
|
818
|
+
get: function () { return chunkUCWMJD4Y_cjs.ICPFilter; }
|
|
798
819
|
});
|
|
799
820
|
Object.defineProperty(exports, "IntelligenceBlock", {
|
|
800
821
|
enumerable: true,
|
|
801
|
-
get: function () { return
|
|
822
|
+
get: function () { return chunkUCWMJD4Y_cjs.IntelligenceBlock; }
|
|
802
823
|
});
|
|
803
824
|
Object.defineProperty(exports, "IntentCTA", {
|
|
804
825
|
enumerable: true,
|
|
805
|
-
get: function () { return
|
|
826
|
+
get: function () { return chunkUCWMJD4Y_cjs.IntentCTA; }
|
|
806
827
|
});
|
|
807
828
|
Object.defineProperty(exports, "KPIPanel", {
|
|
808
829
|
enumerable: true,
|
|
809
|
-
get: function () { return
|
|
830
|
+
get: function () { return chunkUCWMJD4Y_cjs.KPIPanel; }
|
|
831
|
+
});
|
|
832
|
+
Object.defineProperty(exports, "MarketingHero", {
|
|
833
|
+
enumerable: true,
|
|
834
|
+
get: function () { return chunkUCWMJD4Y_cjs.MarketingHero; }
|
|
835
|
+
});
|
|
836
|
+
Object.defineProperty(exports, "MarketingSection", {
|
|
837
|
+
enumerable: true,
|
|
838
|
+
get: function () { return chunkUCWMJD4Y_cjs.MarketingSection; }
|
|
810
839
|
});
|
|
811
840
|
Object.defineProperty(exports, "ObjectionFAQ", {
|
|
812
841
|
enumerable: true,
|
|
813
|
-
get: function () { return
|
|
842
|
+
get: function () { return chunkUCWMJD4Y_cjs.ObjectionFAQ; }
|
|
814
843
|
});
|
|
815
844
|
Object.defineProperty(exports, "PartnerValueProp", {
|
|
816
845
|
enumerable: true,
|
|
817
|
-
get: function () { return
|
|
846
|
+
get: function () { return chunkUCWMJD4Y_cjs.PartnerValueProp; }
|
|
818
847
|
});
|
|
819
848
|
Object.defineProperty(exports, "PricingCard", {
|
|
820
849
|
enumerable: true,
|
|
821
|
-
get: function () { return
|
|
850
|
+
get: function () { return chunkUCWMJD4Y_cjs.PricingCard; }
|
|
822
851
|
});
|
|
823
852
|
Object.defineProperty(exports, "ProblemAgitation", {
|
|
824
853
|
enumerable: true,
|
|
825
|
-
get: function () { return
|
|
854
|
+
get: function () { return chunkUCWMJD4Y_cjs.ProblemAgitation; }
|
|
826
855
|
});
|
|
827
856
|
Object.defineProperty(exports, "ROICalculator", {
|
|
828
857
|
enumerable: true,
|
|
829
|
-
get: function () { return
|
|
858
|
+
get: function () { return chunkUCWMJD4Y_cjs.ROICalculator; }
|
|
830
859
|
});
|
|
831
860
|
Object.defineProperty(exports, "SegmentSwitch", {
|
|
832
861
|
enumerable: true,
|
|
833
|
-
get: function () { return
|
|
862
|
+
get: function () { return chunkUCWMJD4Y_cjs.SegmentSwitch; }
|
|
834
863
|
});
|
|
835
864
|
Object.defineProperty(exports, "StickyActionBar", {
|
|
836
865
|
enumerable: true,
|
|
837
|
-
get: function () { return
|
|
866
|
+
get: function () { return chunkUCWMJD4Y_cjs.StickyActionBar; }
|
|
838
867
|
});
|
|
839
868
|
Object.defineProperty(exports, "ValueAnchor", {
|
|
840
869
|
enumerable: true,
|
|
841
|
-
get: function () { return
|
|
870
|
+
get: function () { return chunkUCWMJD4Y_cjs.ValueAnchor; }
|
|
842
871
|
});
|
|
843
872
|
Object.defineProperty(exports, "Vignette", {
|
|
844
873
|
enumerable: true,
|
|
845
|
-
get: function () { return
|
|
874
|
+
get: function () { return chunkUCWMJD4Y_cjs.Vignette; }
|
|
846
875
|
});
|
|
847
876
|
Object.defineProperty(exports, "Badge", {
|
|
848
877
|
enumerable: true,
|
|
849
|
-
get: function () { return
|
|
878
|
+
get: function () { return chunk6WQKRQEE_cjs.Badge; }
|
|
879
|
+
});
|
|
880
|
+
Object.defineProperty(exports, "Button", {
|
|
881
|
+
enumerable: true,
|
|
882
|
+
get: function () { return chunk7EUR3AKV_cjs.Button; }
|
|
883
|
+
});
|
|
884
|
+
Object.defineProperty(exports, "MetricCounter", {
|
|
885
|
+
enumerable: true,
|
|
886
|
+
get: function () { return chunkDP74LUXG_cjs.MetricCounter; }
|
|
850
887
|
});
|
|
851
888
|
Object.defineProperty(exports, "Card", {
|
|
852
889
|
enumerable: true,
|
|
853
|
-
get: function () { return
|
|
890
|
+
get: function () { return chunkQXUA5PQ3_cjs.Card; }
|
|
854
891
|
});
|
|
855
892
|
Object.defineProperty(exports, "CardContent", {
|
|
856
893
|
enumerable: true,
|
|
857
|
-
get: function () { return
|
|
894
|
+
get: function () { return chunkQXUA5PQ3_cjs.CardContent; }
|
|
858
895
|
});
|
|
859
896
|
Object.defineProperty(exports, "CardDescription", {
|
|
860
897
|
enumerable: true,
|
|
861
|
-
get: function () { return
|
|
898
|
+
get: function () { return chunkQXUA5PQ3_cjs.CardDescription; }
|
|
862
899
|
});
|
|
863
900
|
Object.defineProperty(exports, "CardFooter", {
|
|
864
901
|
enumerable: true,
|
|
865
|
-
get: function () { return
|
|
902
|
+
get: function () { return chunkQXUA5PQ3_cjs.CardFooter; }
|
|
866
903
|
});
|
|
867
904
|
Object.defineProperty(exports, "CardHeader", {
|
|
868
905
|
enumerable: true,
|
|
869
|
-
get: function () { return
|
|
906
|
+
get: function () { return chunkQXUA5PQ3_cjs.CardHeader; }
|
|
870
907
|
});
|
|
871
908
|
Object.defineProperty(exports, "CardTitle", {
|
|
872
909
|
enumerable: true,
|
|
873
|
-
get: function () { return
|
|
874
|
-
});
|
|
875
|
-
Object.defineProperty(exports, "Button", {
|
|
876
|
-
enumerable: true,
|
|
877
|
-
get: function () { return chunk7EUR3AKV_cjs.Button; }
|
|
878
|
-
});
|
|
879
|
-
Object.defineProperty(exports, "MetricCounter", {
|
|
880
|
-
enumerable: true,
|
|
881
|
-
get: function () { return chunkDP74LUXG_cjs.MetricCounter; }
|
|
910
|
+
get: function () { return chunkQXUA5PQ3_cjs.CardTitle; }
|
|
882
911
|
});
|
|
883
912
|
Object.defineProperty(exports, "ArticleCard", {
|
|
884
913
|
enumerable: true,
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/GradientText/GradientText.tsx","../src/components/StatusBadge/StatusBadge.tsx","../src/components/Chip/Chip.tsx","../src/components/LeadNotification/LeadNotification.tsx","../src/components/MarkLockup/MarkLockup.tsx","../src/components/MarkLockup/_markSvg.tsx","../src/components/Logo/Logo.tsx","../src/components/FlowchartBadge/FlowchartBadge.tsx","../src/components/FlowchartConnector/FlowchartConnector.tsx","../src/components/FlowchartCard/FlowchartCard.tsx"],"names":["React","clsx","jsx","forwardRef","jsxs"],"mappings":"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","sourcesContent":["import React, { forwardRef } from 'react'\nimport clsx from 'clsx'\nimport './GradientText.css'\n\nexport type GradientPreset = 'brand' | 'rainbow' | 'sunset' | 'aurora-pink-gold' | 'aurora-plum-pink' | 'display-headline'\n\nexport interface GradientTextProps extends React.HTMLAttributes<HTMLSpanElement> {\n /** Gradient color preset. Default: 'brand' (SalesMind pink→gold) */\n gradient?: GradientPreset\n /** HTML element tag. Default: 'span' */\n as?: 'span' | 'em' | 'strong' | 'mark'\n children: React.ReactNode\n}\n\nconst GradientText = forwardRef<HTMLSpanElement, GradientTextProps>(\n ({ gradient = 'brand', as: Tag = 'span', className, children, ...props }, ref) => {\n return (\n <Tag\n ref={ref}\n className={clsx('ds-gradient-text', `ds-gradient-text--${gradient}`, className)}\n {...props}\n >\n {children}\n </Tag>\n )\n }\n)\nGradientText.displayName = 'GradientText'\n\nexport { GradientText }\n","import React from 'react';\nimport clsx from 'clsx';\nimport './StatusBadge.css';\n\n/** Semantic tone values shared across Badge, Chip, and StatusBadge. */\nexport type BadgeTone =\n | 'aurora-pink'\n | 'aurora-gold'\n | 'aurora-plum'\n | 'status-success'\n | 'status-warning'\n | 'status-error'\n | 'neutral';\n\nexport interface StatusBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n /**\n * Semantic tone — maps to a colour family.\n * - `'aurora-pink'` / `'aurora-gold'` / `'aurora-plum'` — aurora colour tones\n * - `'status-success'` — green; used for \"Lead replied\", positive states\n * - `'status-warning'` — amber; used for \"Pending\", needs-attention states\n * - `'status-error'` — red; used for failure or critical states\n * - `'neutral'` — muted glass, no colour association\n * @default 'neutral'\n */\n tone?: BadgeTone;\n /**\n * When true, renders a small colour dot before the label.\n * Useful for \"online\" or state indicators.\n * @default false\n */\n dot?: boolean;\n}\n\n/**\n * StatusBadge — state indicator with optional dot and tone system.\n *\n * **Semantic distinction:**\n * - `Badge` = static metadata (e.g. \"NEW\", \"BETA\")\n * - `StatusBadge` = dynamic state indicator (success/warning/error/info)\n * - `Chip` = removable selection token\n *\n * @example\n * <StatusBadge tone=\"status-success\" dot>Lead replied</StatusBadge>\n * <StatusBadge tone=\"status-warning\">Pending</StatusBadge>\n */\nexport const StatusBadge = React.forwardRef<HTMLSpanElement, StatusBadgeProps>(\n ({ className, tone = 'neutral', dot = false, children, ...props }, ref) => {\n return (\n <span\n ref={ref}\n className={clsx(\n 'ds-status-badge',\n `ds-status-badge--${tone}`,\n dot && 'ds-status-badge--dot',\n className,\n )}\n {...props}\n >\n {dot && <span className=\"ds-status-badge__dot\" aria-hidden=\"true\" />}\n {children}\n </span>\n );\n },\n);\n\nStatusBadge.displayName = 'StatusBadge';\n","import { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport './Chip.css';\n\nimport type { BadgeTone } from '../StatusBadge/StatusBadge';\n\nexport type { BadgeTone };\n\nexport interface ChipProps {\n /**\n * Display label of the chip.\n * @example 'KEEN: AURORA'\n */\n label: string;\n /**\n * Callback invoked when the dismiss (×) button is clicked.\n * When provided, a dismiss button is rendered.\n */\n onRemove?: () => void;\n /**\n * Semantic tone — maps to a colour family.\n * - `'aurora-pink'` / `'aurora-gold'` / `'aurora-plum'` — aurora palette\n * - `'status-success'` / `'status-warning'` / `'status-error'` — state colours\n * - `'neutral'` — muted glass (default)\n * @default 'neutral'\n */\n tone?: BadgeTone;\n /**\n * When true, the chip is non-interactive and shows reduced opacity.\n * @default false\n */\n disabled?: boolean;\n /**\n * Size variant.\n * - `'sm'` = compact pill, 0.6875rem text\n * - `'md'` = standard pill, 0.75rem text (default)\n * @default 'md'\n */\n size?: 'sm' | 'md';\n /** Additional CSS class names. */\n className?: string;\n}\n\n/**\n * Chip — removable selection token (filter pill).\n *\n * **Semantic distinction:**\n * - `Badge` = static metadata (e.g. \"NEW\", \"BETA\")\n * - `StatusBadge` = dynamic state indicator (success/warning/error)\n * - `Chip` = removable selection token with dismiss action\n *\n * @example\n * <Chip label=\"KEEN: AURORA\" tone=\"aurora-pink\" onRemove={() => remove('aurora')} />\n * <Chip label=\"Glass\" tone=\"neutral\" />\n */\nexport const Chip = forwardRef<HTMLSpanElement, ChipProps>(\n (\n {\n label,\n onRemove,\n tone = 'neutral',\n disabled = false,\n size = 'md',\n className,\n },\n ref,\n ) => {\n return (\n <span\n ref={ref}\n className={clsx(\n 'ds-chip',\n `ds-chip--${tone}`,\n `ds-chip--${size}`,\n disabled && 'ds-chip--disabled',\n className,\n )}\n aria-disabled={disabled || undefined}\n >\n <span className=\"ds-chip__label\">{label}</span>\n {onRemove && (\n <button\n type=\"button\"\n className=\"ds-chip__dismiss\"\n onClick={disabled ? undefined : onRemove}\n disabled={disabled}\n aria-label={`Remove ${label}`}\n >\n ×\n </button>\n )}\n </span>\n );\n },\n);\n\nChip.displayName = 'Chip';\n","import { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { Card } from '../Card/Card';\nimport { StatusBadge } from '../StatusBadge/StatusBadge';\nimport { Button } from '../Button/Button';\nimport './LeadNotification.css';\n\n/* ============================================================================\n D7 — Fictional brands ONLY in demo data:\n Acme, Northwind, Examplco, Initech, Globex, Stark\n NEVER: Vercel, Stripe, Linear, Notion, Airbnb\n ============================================================================ */\n\nexport type LeadStatus = 'replied' | 'opened' | 'pending';\n\nexport interface LeadAction {\n /** Button label. */\n label: string;\n /** Callback invoked on click. */\n onClick: () => void;\n}\n\nexport interface LeadNotificationProps {\n /**\n * Lead first + last name.\n * @example 'Sarah Patel'\n */\n name?: string;\n /**\n * Lead company name. Use fictional brands only (D7: Acme, Northwind, Examplco, etc.)\n * @example 'Acme'\n */\n company?: string;\n /**\n * Quoted excerpt from the lead's reply.\n * @example 'This looks promising — can we hop on a 15-minute call this week?'\n */\n quote?: string;\n /**\n * Current lead status — determines StatusBadge tone and label.\n * - `'replied'` → success tone (\"Lead replied\")\n * - `'opened'` → warning tone (\"Email opened\")\n * - `'pending'` → neutral tone (\"Awaiting reply\")\n * @default 'replied'\n */\n status?: LeadStatus;\n /**\n * Primary CTA button (accept, schedule, etc.).\n * @default { label: 'Accept', onClick: noop }\n */\n primaryAction?: LeadAction;\n /**\n * Secondary CTA button (snooze, dismiss, etc.).\n * @default { label: 'Snooze 1h', onClick: noop }\n */\n secondaryAction?: LeadAction;\n /** Additional CSS class names. */\n className?: string;\n}\n\nconst noop = () => {};\n\nconst STATUS_CONFIG: Record<\n LeadStatus,\n { label: string; tone: 'status-success' | 'status-warning' | 'neutral' }\n> = {\n replied: { label: 'Lead replied', tone: 'status-success' },\n opened: { label: 'Email opened', tone: 'status-warning' },\n pending: { label: 'Awaiting reply', tone: 'neutral' },\n};\n\n/**\n * LeadNotification — hero notification card for an active lead reply.\n *\n * Composes Card v2 (tier=1, aurora=true) + StatusBadge + Button v2.\n * Fictional demo brands only (D7): Acme, Northwind, Examplco, Initech, Globex.\n *\n * @example\n * <LeadNotification\n * name=\"Sarah Patel\"\n * company=\"Acme\"\n * quote=\"This looks promising — can we hop on a 15-minute call?\"\n * status=\"replied\"\n * primaryAction={{ label: 'Accept', onClick: handleAccept }}\n * secondaryAction={{ label: 'Snooze 1h', onClick: handleSnooze }}\n * />\n */\nexport const LeadNotification = forwardRef<HTMLDivElement, LeadNotificationProps>(\n (\n {\n name = 'Sarah Patel',\n company = 'Acme',\n quote = 'This looks promising — can we hop on a 15-minute call this week?',\n status = 'replied',\n primaryAction = { label: 'Accept', onClick: noop },\n secondaryAction = { label: 'Snooze 1h', onClick: noop },\n className,\n },\n ref,\n ) => {\n const { label: statusLabel, tone } = STATUS_CONFIG[status];\n\n return (\n <Card\n ref={ref}\n tier={1}\n aurora\n radius=\"card\"\n className={clsx('ds-lead-notification', className)}\n >\n {/* Status indicator row */}\n <div className=\"ds-lead-notification__status\">\n <StatusBadge tone={tone} dot>\n {statusLabel}\n </StatusBadge>\n </div>\n\n {/* Headline */}\n <h3 className=\"ds-lead-notification__headline\">\n <span className=\"ds-lead-notification__name\">{name}</span>\n {' from '}\n <span className=\"ds-lead-notification__company\">{company}</span>\n </h3>\n\n {/* Quote */}\n <blockquote className=\"ds-lead-notification__quote\">\n “{quote}”\n </blockquote>\n\n {/* Actions */}\n <div className=\"ds-lead-notification__actions\">\n <Button\n variant=\"primary\"\n size=\"sm\"\n onClick={primaryAction.onClick}\n >\n {primaryAction.label}\n </Button>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={secondaryAction.onClick}\n >\n {secondaryAction.label}\n </Button>\n </div>\n </Card>\n );\n },\n);\n\nLeadNotification.displayName = 'LeadNotification';\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithRef } from 'react';\nimport clsx from 'clsx';\nimport { MarkSvg, MARK_SIZES } from './_markSvg';\nimport './MarkLockup.css';\n\nexport interface MarkLockupOwnProps {\n /**\n * Size scale of the lockup.\n * - `'sm'` = 20px ellipse mark, 14px wordmark\n * - `'md'` = 28px ellipse mark, 16px wordmark (default)\n * - `'lg'` = 40px ellipse mark, 18px wordmark\n * @default 'md'\n */\n size?: keyof typeof MARK_SIZES;\n /**\n * When true, renders the wordmark in light colour (--text-primary at full opacity).\n * Use on aurora-gradient or dark backgrounds.\n * @default false\n */\n inverted?: boolean;\n /** Additional CSS class names. */\n className?: string;\n}\n\n// Merge own props with HTML div attributes\nexport type MarkLockupProps = MarkLockupOwnProps &\n Omit<ComponentPropsWithRef<'div'>, keyof MarkLockupOwnProps>;\n\n\n/**\n * MarkLockup — SalesMind AI brand mark + wordmark.\n *\n * Renders an inline SVG ellipse mark (aurora-pink → aurora-gold gradient)\n * alongside the \"SalesMind AI\" wordmark in Anton (--font-family-display).\n *\n * @example\n * <MarkLockup />\n * <MarkLockup size=\"lg\" inverted />\n */\nexport const MarkLockup = forwardRef<HTMLDivElement, MarkLockupProps>(\n ({ size = 'md', inverted = false, className, ...props }, ref) => {\n const gradientId = `aurora-mark-gradient-${size}`;\n\n return (\n <div\n ref={ref}\n className={clsx(\n 'ds-mark-lockup',\n `ds-mark-lockup--${size}`,\n inverted && 'ds-mark-lockup--inverted',\n className,\n )}\n {...props}\n >\n <MarkSvg size={size} gradientId={gradientId} className=\"ds-mark-lockup__mark\" />\n {/* Wordmark */}\n <span className=\"ds-mark-lockup__wordmark\">SalesMind AI</span>\n </div>\n );\n },\n);\n\nMarkLockup.displayName = 'MarkLockup';\n","/**\n * _markSvg — internal shared SVG ellipse mark.\n *\n * Single source of truth for the SalesMind AI aurora ellipse mark.\n * Used by MarkLockup and Logo to avoid duplication.\n *\n * @internal — not exported from the barrel; import via relative path only.\n */\n\nexport const MARK_SIZES = {\n sm: 20,\n md: 28,\n lg: 40,\n} as const;\n\nexport type MarkSize = keyof typeof MARK_SIZES;\n\nexport interface MarkSvgProps {\n size: MarkSize;\n /** Unique SVG gradient id — caller is responsible for uniqueness in the page. */\n gradientId: string;\n /** Gradient start colour (stop 0%). Defaults to aurora-pink-raw. */\n stopStart?: string;\n /** Gradient end colour (stop 100%). Defaults to aurora-gold-raw. */\n stopEnd?: string;\n className?: string;\n}\n\n/**\n * MarkSvg — the aurora ellipse SVG mark with a configurable linear gradient.\n */\nexport function MarkSvg({\n size,\n gradientId,\n stopStart = 'var(--aurora-pink-raw)',\n stopEnd = 'var(--aurora-gold-raw)',\n className,\n}: MarkSvgProps) {\n const markSize = MARK_SIZES[size];\n return (\n <svg\n className={className}\n width={markSize}\n height={markSize}\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <defs>\n <linearGradient id={gradientId} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor={stopStart} />\n <stop offset=\"100%\" stopColor={stopEnd} />\n </linearGradient>\n </defs>\n {/* Ellipse mark — aurora-pink to aurora-gold diagonal */}\n <ellipse\n cx=\"20\"\n cy=\"20\"\n rx=\"18\"\n ry=\"14\"\n fill={`url(#${gradientId})`}\n transform=\"rotate(-20 20 20)\"\n />\n </svg>\n );\n}\n","import { forwardRef } from 'react';\nimport type { HTMLAttributes } from 'react';\nimport clsx from 'clsx';\nimport { MarkSvg } from '../MarkLockup/_markSvg';\nimport './Logo.css';\n\nexport type LogoVariant = 'mark-only' | 'wordmark-only' | 'lockup';\nexport type LogoTone = 'aurora' | 'mono-light' | 'mono-dark';\nexport type LogoSize = 'sm' | 'md' | 'lg';\n\nexport interface LogoOwnProps {\n /**\n * Visual variant.\n * - `'lockup'` — mark + wordmark side by side (default)\n * - `'mark-only'` — aurora ellipse mark alone\n * - `'wordmark-only'` — \"SalesMind AI\" text alone\n * @default 'lockup'\n */\n variant?: LogoVariant;\n /**\n * Colour tone for surface adaptation.\n * - `'aurora'` — coloured aurora gradient mark, dark wordmark (default)\n * - `'mono-light'` — white mark + white wordmark (for dark/coloured backgrounds)\n * - `'mono-dark'` — dark-tone mark + dark wordmark (for light backgrounds)\n * @default 'aurora'\n */\n tone?: LogoTone;\n /**\n * Size scale.\n * - `'sm'` = 20px mark, 14px wordmark\n * - `'md'` = 28px mark, 16px wordmark (default)\n * - `'lg'` = 40px mark, 18px wordmark\n * @default 'md'\n */\n size?: LogoSize;\n /** Additional CSS class names. */\n className?: string;\n}\n\nexport type LogoProps = LogoOwnProps &\n Omit<HTMLAttributes<HTMLDivElement>, 'children' | keyof LogoOwnProps>;\n\nconst MARK_COLORS: Record<LogoTone, { stopStart: string; stopEnd: string }> = {\n aurora: {\n stopStart: 'var(--aurora-pink-raw)',\n stopEnd: 'var(--aurora-gold-raw)',\n },\n 'mono-light': {\n stopStart: 'rgba(255, 255, 255, 0.95)',\n stopEnd: 'rgba(255, 255, 255, 0.75)',\n },\n 'mono-dark': {\n stopStart: 'var(--text-primary)',\n stopEnd: 'var(--aurora-plum-raw)',\n },\n};\n\n/**\n * Logo — SalesMind AI brand identity component.\n *\n * Composes the aurora ellipse mark and/or \"SalesMind AI\" wordmark.\n * Uses the same mark SVG as MarkLockup (single source of truth).\n *\n * @example\n * <Logo />\n * <Logo variant=\"mark-only\" size=\"lg\" />\n * <Logo variant=\"wordmark-only\" tone=\"mono-light\" />\n */\nexport const Logo = forwardRef<HTMLDivElement, LogoProps>(\n ({ variant = 'lockup', tone = 'aurora', size = 'md', className, ...props }, ref) => {\n const gradientId = `logo-mark-gradient-${size}-${tone}`;\n const colors = MARK_COLORS[tone];\n const showMark = variant === 'lockup' || variant === 'mark-only';\n const showWordmark = variant === 'lockup' || variant === 'wordmark-only';\n\n return (\n <div\n ref={ref}\n className={clsx(\n 'ds-logo',\n `ds-logo--${variant}`,\n `ds-logo--tone-${tone}`,\n `ds-logo--${size}`,\n className,\n )}\n {...props}\n >\n {showMark && (\n <MarkSvg\n size={size}\n gradientId={gradientId}\n stopStart={colors.stopStart}\n stopEnd={colors.stopEnd}\n className=\"ds-logo__mark\"\n />\n )}\n {showWordmark && (\n <span className=\"ds-logo__wordmark\">SalesMind AI</span>\n )}\n </div>\n );\n },\n);\n\nLogo.displayName = 'Logo';\n","import React from 'react';\nimport clsx from 'clsx';\nimport './FlowchartBadge.css';\n\nexport interface FlowchartBadgeProps extends React.ComponentPropsWithoutRef<'div'> {\n icon?: React.ReactNode;\n color?: 'default' | 'accent' | 'success' | 'warning';\n size?: 'sm' | 'md';\n}\n\nexport const FlowchartBadge = React.forwardRef<HTMLDivElement, FlowchartBadgeProps>(\n ({ className, icon, color = 'default', size = 'md', children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={clsx('ds-flowchart-badge', `ds-flowchart-badge--${color}`, `ds-flowchart-badge--${size}`, className)}\n {...props}\n >\n {icon}\n {children}\n </div>\n );\n },\n);\n\nFlowchartBadge.displayName = 'FlowchartBadge';\n","import React from 'react';\nimport clsx from 'clsx';\nimport './FlowchartConnector.css';\n\nexport interface FlowchartConnectorProps extends React.ComponentPropsWithoutRef<'div'> {\n direction?: 'down' | 'up';\n showArrow?: boolean;\n showJunction?: boolean;\n length?: 'sm' | 'md' | 'lg';\n}\n\nexport const FlowchartConnector = React.forwardRef<HTMLDivElement, FlowchartConnectorProps>(\n (\n {\n className,\n direction = 'down',\n showArrow = true,\n showJunction = false,\n length = 'md',\n ...props\n },\n ref,\n ) => {\n const classes = clsx(\n 'ds-flowchart-connector',\n `ds-flowchart-connector--${direction}`,\n `ds-flowchart-connector--${length}`,\n showArrow && 'ds-flowchart-connector--arrow',\n showJunction && 'ds-flowchart-connector--junction',\n className,\n );\n\n return <div ref={ref} className={classes} {...props} aria-hidden=\"true\" />;\n },\n);\n\nFlowchartConnector.displayName = 'FlowchartConnector';\n","import React from 'react';\nimport clsx from 'clsx';\nimport './FlowchartCard.css';\n\n/* ============================================================================\n FLOWCHART CARD — Compound component for flowchart step cards\n ============================================================================ */\n\nexport interface FlowchartCardProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Highlights the card as the currently active step */\n active?: boolean;\n /** Visual density variant */\n variant?: 'default' | 'compact';\n}\n\nexport const FlowchartCard = React.forwardRef<HTMLDivElement, FlowchartCardProps>(\n ({ className, active, variant, ...props }, ref) => (\n <div\n ref={ref}\n className={clsx(\n 'ds-flowchart-card',\n active && 'ds-flowchart-card--active',\n variant === 'compact' && 'ds-flowchart-card--compact',\n className,\n )}\n {...props}\n />\n ),\n);\nFlowchartCard.displayName = 'FlowchartCard';\n\nexport const FlowchartCardHeader = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={clsx('ds-flowchart-card__header', className)} {...props} />\n));\nFlowchartCardHeader.displayName = 'FlowchartCardHeader';\n\nexport const FlowchartCardTitle = React.forwardRef<\n HTMLHeadingElement,\n React.ComponentPropsWithoutRef<'h3'>\n>(({ className, ...props }, ref) => (\n <h3 ref={ref} className={clsx('ds-flowchart-card__title', className)} {...props} />\n));\nFlowchartCardTitle.displayName = 'FlowchartCardTitle';\n\nexport const FlowchartCardContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={clsx('ds-flowchart-card__content', className)} {...props} />\n));\nFlowchartCardContent.displayName = 'FlowchartCardContent';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/GradientText/GradientText.tsx","../src/components/StatusBadge/StatusBadge.tsx","../src/components/Chip/Chip.tsx","../src/components/LeadNotification/LeadNotification.tsx","../src/components/MarkLockup/MarkLockup.tsx","../src/components/MarkLockup/_markSvg.tsx","../src/components/Logo/Logo.tsx","../src/components/FlowchartBadge/FlowchartBadge.tsx","../src/components/FlowchartConnector/FlowchartConnector.tsx","../src/components/FlowchartCard/FlowchartCard.tsx"],"names":["React","clsx","jsx","forwardRef","jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,kBAAkB;AAClC,OAAO,UAAU;AAgBX;AAHN,IAAM,eAAe;AAAA,EACnB,CAAC,EAAE,WAAW,SAAS,IAAI,MAAM,QAAQ,WAAW,UAAU,GAAG,MAAM,GAAG,QAAQ;AAChF,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,KAAK,oBAAoB,qBAAqB,QAAQ,IAAI,SAAS;AAAA,QAC7E,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,aAAa,cAAc;;;AC3B3B,OAAOA,YAAW;AAClB,OAAOC,WAAU;AA+CX,SAUU,OAAAC,MAVV;AAHC,IAAM,cAAcF,OAAM;AAAA,EAC/B,CAAC,EAAE,WAAW,OAAO,WAAW,MAAM,OAAO,UAAU,GAAG,MAAM,GAAG,QAAQ;AACzE,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAWC;AAAA,UACT;AAAA,UACA,oBAAoB,IAAI;AAAA,UACxB,OAAO;AAAA,UACP;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEH;AAAA,iBAAO,gBAAAC,KAAC,UAAK,WAAU,wBAAuB,eAAY,QAAO;AAAA,UACjE;AAAA;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,YAAY,cAAc;;;ACjE1B,SAAS,cAAAC,mBAAkB;AAC3B,OAAOF,WAAU;AAmEX,SAWE,OAAAC,MAXF,QAAAE,aAAA;AAbC,IAAM,OAAOD;AAAA,EAClB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP,WAAW;AAAA,IACX,OAAO;AAAA,IACP;AAAA,EACF,GACA,QACG;AACH,WACE,gBAAAC;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAWH;AAAA,UACT;AAAA,UACA,YAAY,IAAI;AAAA,UAChB,YAAY,IAAI;AAAA,UAChB,YAAY;AAAA,UACZ;AAAA,QACF;AAAA,QACA,iBAAe,YAAY;AAAA,QAE3B;AAAA,0BAAAC,KAAC,UAAK,WAAU,kBAAkB,iBAAM;AAAA,UACvC,YACC,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,WAAU;AAAA,cACV,SAAS,WAAW,SAAY;AAAA,cAChC;AAAA,cACA,cAAY,UAAU,KAAK;AAAA,cAC5B;AAAA;AAAA,UAED;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;;;AChGnB,SAAS,cAAAC,mBAAkB;AAC3B,OAAOF,WAAU;AA+GP,gBAAAC,MAMF,QAAAE,aANE;AApDV,IAAM,OAAO,MAAM;AAAC;AAEpB,IAAM,gBAGF;AAAA,EACF,SAAS,EAAE,OAAO,gBAAgB,MAAM,iBAAiB;AAAA,EACzD,QAAQ,EAAE,OAAO,gBAAgB,MAAM,iBAAiB;AAAA,EACxD,SAAS,EAAE,OAAO,kBAAkB,MAAM,UAAU;AACtD;AAkBO,IAAM,mBAAmBD;AAAA,EAC9B,CACE;AAAA,IACE,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,gBAAgB,EAAE,OAAO,UAAU,SAAS,KAAK;AAAA,IACjD,kBAAkB,EAAE,OAAO,aAAa,SAAS,KAAK;AAAA,IACtD;AAAA,EACF,GACA,QACG;AACH,UAAM,EAAE,OAAO,aAAa,KAAK,IAAI,cAAc,MAAM;AAEzD,WACE,gBAAAC;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAM;AAAA,QACN,QAAM;AAAA,QACN,QAAO;AAAA,QACP,WAAWH,MAAK,wBAAwB,SAAS;AAAA,QAGjD;AAAA,0BAAAC,KAAC,SAAI,WAAU,gCACb,0BAAAA,KAAC,eAAY,MAAY,KAAG,MACzB,uBACH,GACF;AAAA,UAGA,gBAAAE,MAAC,QAAG,WAAU,kCACZ;AAAA,4BAAAF,KAAC,UAAK,WAAU,8BAA8B,gBAAK;AAAA,YAClD;AAAA,YACD,gBAAAA,KAAC,UAAK,WAAU,iCAAiC,mBAAQ;AAAA,aAC3D;AAAA,UAGA,gBAAAE,MAAC,gBAAW,WAAU,+BAA8B;AAAA;AAAA,YAC1C;AAAA,YAAM;AAAA,aAChB;AAAA,UAGA,gBAAAA,MAAC,SAAI,WAAU,iCACb;AAAA,4BAAAF;AAAA,cAAC;AAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS,cAAc;AAAA,gBAEtB,wBAAc;AAAA;AAAA,YACjB;AAAA,YACA,gBAAAA;AAAA,cAAC;AAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS,gBAAgB;AAAA,gBAExB,0BAAgB;AAAA;AAAA,YACnB;AAAA,aACF;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,iBAAiB,cAAc;;;ACvJ/B,SAAS,cAAAC,mBAAkB;AAE3B,OAAOF,WAAU;;;ACiDT,SACE,OAAAC,MADF,QAAAE,aAAA;AA1CD,IAAM,aAAa;AAAA,EACxB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAkBO,SAAS,QAAQ;AAAA,EACtB;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,UAAU;AAAA,EACV;AACF,GAAiB;AACf,QAAM,WAAW,WAAW,IAAI;AAChC,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACN,eAAY;AAAA,MACZ,WAAU;AAAA,MAEV;AAAA,wBAAAF,KAAC,UACC,0BAAAE,MAAC,oBAAe,IAAI,YAAY,IAAG,MAAK,IAAG,MAAK,IAAG,QAAO,IAAG,QAC3D;AAAA,0BAAAF,KAAC,UAAK,QAAO,MAAK,WAAW,WAAW;AAAA,UACxC,gBAAAA,KAAC,UAAK,QAAO,QAAO,WAAW,SAAS;AAAA,WAC1C,GACF;AAAA,QAEA,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,IAAG;AAAA,YACH,IAAG;AAAA,YACH,IAAG;AAAA,YACH,MAAM,QAAQ,UAAU;AAAA,YACxB,WAAU;AAAA;AAAA,QACZ;AAAA;AAAA;AAAA,EACF;AAEJ;;;ADtBM,SAUE,OAAAA,MAVF,QAAAE,aAAA;AALC,IAAM,aAAaD;AAAA,EACxB,CAAC,EAAE,OAAO,MAAM,WAAW,OAAO,WAAW,GAAG,MAAM,GAAG,QAAQ;AAC/D,UAAM,aAAa,wBAAwB,IAAI;AAE/C,WACE,gBAAAC;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAWH;AAAA,UACT;AAAA,UACA,mBAAmB,IAAI;AAAA,UACvB,YAAY;AAAA,UACZ;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEJ;AAAA,0BAAAC,KAAC,WAAQ,MAAY,YAAwB,WAAU,wBAAuB;AAAA,UAE9E,gBAAAA,KAAC,UAAK,WAAU,4BAA2B,0BAAY;AAAA;AAAA;AAAA,IACzD;AAAA,EAEJ;AACF;AAEA,WAAW,cAAc;;;AE/DzB,SAAS,cAAAC,mBAAkB;AAE3B,OAAOF,WAAU;AA0EX,SAYI,OAAAC,MAZJ,QAAAE,aAAA;AAlCN,IAAM,cAAwE;AAAA,EAC5E,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AAAA,EACA,cAAc;AAAA,IACZ,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AAAA,EACA,aAAa;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AACF;AAaO,IAAM,OAAOD;AAAA,EAClB,CAAC,EAAE,UAAU,UAAU,OAAO,UAAU,OAAO,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ;AAClF,UAAM,aAAa,sBAAsB,IAAI,IAAI,IAAI;AACrD,UAAM,SAAS,YAAY,IAAI;AAC/B,UAAM,WAAW,YAAY,YAAY,YAAY;AACrD,UAAM,eAAe,YAAY,YAAY,YAAY;AAEzD,WACE,gBAAAC;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAWH;AAAA,UACT;AAAA,UACA,YAAY,OAAO;AAAA,UACnB,iBAAiB,IAAI;AAAA,UACrB,YAAY,IAAI;AAAA,UAChB;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEH;AAAA,sBACC,gBAAAC;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,WAAW,OAAO;AAAA,cAClB,SAAS,OAAO;AAAA,cAChB,WAAU;AAAA;AAAA,UACZ;AAAA,UAED,gBACC,gBAAAA,KAAC,UAAK,WAAU,qBAAoB,0BAAY;AAAA;AAAA;AAAA,IAEpD;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;;;ACxGnB,OAAOF,YAAW;AAClB,OAAOC,WAAU;AAYX,iBAAAG,aAAA;AAHC,IAAM,iBAAiBJ,OAAM;AAAA,EAClC,CAAC,EAAE,WAAW,MAAM,QAAQ,WAAW,OAAO,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ;AAChF,WACE,gBAAAI;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAWH,MAAK,sBAAsB,uBAAuB,KAAK,IAAI,uBAAuB,IAAI,IAAI,SAAS;AAAA,QAC7G,GAAG;AAAA,QAEH;AAAA;AAAA,UACA;AAAA;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,eAAe,cAAc;;;ACzB7B,OAAOD,YAAW;AAClB,OAAOC,WAAU;AA+BN,gBAAAC,YAAA;AArBJ,IAAM,qBAAqBF,OAAM;AAAA,EACtC,CACE;AAAA,IACE;AAAA,IACA,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,SAAS;AAAA,IACT,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,UAAUC;AAAA,MACd;AAAA,MACA,2BAA2B,SAAS;AAAA,MACpC,2BAA2B,MAAM;AAAA,MACjC,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB;AAAA,IACF;AAEA,WAAO,gBAAAC,KAAC,SAAI,KAAU,WAAW,SAAU,GAAG,OAAO,eAAY,QAAO;AAAA,EAC1E;AACF;AAEA,mBAAmB,cAAc;;;ACpCjC,OAAOF,YAAW;AAClB,OAAOC,WAAU;AAgBb,gBAAAC,YAAA;AAFG,IAAM,gBAAgBF,OAAM;AAAA,EACjC,CAAC,EAAE,WAAW,QAAQ,SAAS,GAAG,MAAM,GAAG,QACzC,gBAAAE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAWD;AAAA,QACT;AAAA,QACA,UAAU;AAAA,QACV,YAAY,aAAa;AAAA,QACzB;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AACA,cAAc,cAAc;AAErB,IAAM,sBAAsBD,OAAM,WAGvC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,gBAAAE,KAAC,SAAI,KAAU,WAAWD,MAAK,6BAA6B,SAAS,GAAI,GAAG,OAAO,CACpF;AACD,oBAAoB,cAAc;AAE3B,IAAM,qBAAqBD,OAAM,WAGtC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,gBAAAE,KAAC,QAAG,KAAU,WAAWD,MAAK,4BAA4B,SAAS,GAAI,GAAG,OAAO,CAClF;AACD,mBAAmB,cAAc;AAE1B,IAAM,uBAAuBD,OAAM,WAGxC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,gBAAAE,KAAC,SAAI,KAAU,WAAWD,MAAK,8BAA8B,SAAS,GAAI,GAAG,OAAO,CACrF;AACD,qBAAqB,cAAc","sourcesContent":["import React, { forwardRef } from 'react'\nimport clsx from 'clsx'\nimport './GradientText.css'\n\nexport type GradientPreset = 'brand' | 'rainbow' | 'sunset' | 'aurora-pink-gold' | 'aurora-plum-pink' | 'display-headline'\n\nexport interface GradientTextProps extends React.HTMLAttributes<HTMLSpanElement> {\n /** Gradient color preset. Default: 'brand' (SalesMind pink→gold) */\n gradient?: GradientPreset\n /** HTML element tag. Default: 'span' */\n as?: 'span' | 'em' | 'strong' | 'mark'\n children: React.ReactNode\n}\n\nconst GradientText = forwardRef<HTMLSpanElement, GradientTextProps>(\n ({ gradient = 'brand', as: Tag = 'span', className, children, ...props }, ref) => {\n return (\n <Tag\n ref={ref}\n className={clsx('ds-gradient-text', `ds-gradient-text--${gradient}`, className)}\n {...props}\n >\n {children}\n </Tag>\n )\n }\n)\nGradientText.displayName = 'GradientText'\n\nexport { GradientText }\n","import React from 'react';\nimport clsx from 'clsx';\nimport './StatusBadge.css';\n\n/** Semantic tone values shared across Badge, Chip, and StatusBadge. */\nexport type BadgeTone =\n | 'aurora-pink'\n | 'aurora-gold'\n | 'aurora-plum'\n | 'status-success'\n | 'status-warning'\n | 'status-error'\n | 'neutral';\n\nexport interface StatusBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n /**\n * Semantic tone — maps to a colour family.\n * - `'aurora-pink'` / `'aurora-gold'` / `'aurora-plum'` — aurora colour tones\n * - `'status-success'` — green; used for \"Lead replied\", positive states\n * - `'status-warning'` — amber; used for \"Pending\", needs-attention states\n * - `'status-error'` — red; used for failure or critical states\n * - `'neutral'` — muted glass, no colour association\n * @default 'neutral'\n */\n tone?: BadgeTone;\n /**\n * When true, renders a small colour dot before the label.\n * Useful for \"online\" or state indicators.\n * @default false\n */\n dot?: boolean;\n}\n\n/**\n * StatusBadge — state indicator with optional dot and tone system.\n *\n * **Semantic distinction:**\n * - `Badge` = static metadata (e.g. \"NEW\", \"BETA\")\n * - `StatusBadge` = dynamic state indicator (success/warning/error/info)\n * - `Chip` = removable selection token\n *\n * @example\n * <StatusBadge tone=\"status-success\" dot>Lead replied</StatusBadge>\n * <StatusBadge tone=\"status-warning\">Pending</StatusBadge>\n */\nexport const StatusBadge = React.forwardRef<HTMLSpanElement, StatusBadgeProps>(\n ({ className, tone = 'neutral', dot = false, children, ...props }, ref) => {\n return (\n <span\n ref={ref}\n className={clsx(\n 'ds-status-badge',\n `ds-status-badge--${tone}`,\n dot && 'ds-status-badge--dot',\n className,\n )}\n {...props}\n >\n {dot && <span className=\"ds-status-badge__dot\" aria-hidden=\"true\" />}\n {children}\n </span>\n );\n },\n);\n\nStatusBadge.displayName = 'StatusBadge';\n","import { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport './Chip.css';\n\nimport type { BadgeTone } from '../StatusBadge/StatusBadge';\n\nexport type { BadgeTone };\n\nexport interface ChipProps {\n /**\n * Display label of the chip.\n * @example 'KEEN: AURORA'\n */\n label: string;\n /**\n * Callback invoked when the dismiss (×) button is clicked.\n * When provided, a dismiss button is rendered.\n */\n onRemove?: () => void;\n /**\n * Semantic tone — maps to a colour family.\n * - `'aurora-pink'` / `'aurora-gold'` / `'aurora-plum'` — aurora palette\n * - `'status-success'` / `'status-warning'` / `'status-error'` — state colours\n * - `'neutral'` — muted glass (default)\n * @default 'neutral'\n */\n tone?: BadgeTone;\n /**\n * When true, the chip is non-interactive and shows reduced opacity.\n * @default false\n */\n disabled?: boolean;\n /**\n * Size variant.\n * - `'sm'` = compact pill, 0.6875rem text\n * - `'md'` = standard pill, 0.75rem text (default)\n * @default 'md'\n */\n size?: 'sm' | 'md';\n /** Additional CSS class names. */\n className?: string;\n}\n\n/**\n * Chip — removable selection token (filter pill).\n *\n * **Semantic distinction:**\n * - `Badge` = static metadata (e.g. \"NEW\", \"BETA\")\n * - `StatusBadge` = dynamic state indicator (success/warning/error)\n * - `Chip` = removable selection token with dismiss action\n *\n * @example\n * <Chip label=\"KEEN: AURORA\" tone=\"aurora-pink\" onRemove={() => remove('aurora')} />\n * <Chip label=\"Glass\" tone=\"neutral\" />\n */\nexport const Chip = forwardRef<HTMLSpanElement, ChipProps>(\n (\n {\n label,\n onRemove,\n tone = 'neutral',\n disabled = false,\n size = 'md',\n className,\n },\n ref,\n ) => {\n return (\n <span\n ref={ref}\n className={clsx(\n 'ds-chip',\n `ds-chip--${tone}`,\n `ds-chip--${size}`,\n disabled && 'ds-chip--disabled',\n className,\n )}\n aria-disabled={disabled || undefined}\n >\n <span className=\"ds-chip__label\">{label}</span>\n {onRemove && (\n <button\n type=\"button\"\n className=\"ds-chip__dismiss\"\n onClick={disabled ? undefined : onRemove}\n disabled={disabled}\n aria-label={`Remove ${label}`}\n >\n ×\n </button>\n )}\n </span>\n );\n },\n);\n\nChip.displayName = 'Chip';\n","import { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { Card } from '../Card/Card';\nimport { StatusBadge } from '../StatusBadge/StatusBadge';\nimport { Button } from '../Button/Button';\nimport './LeadNotification.css';\n\n/* ============================================================================\n D7 — Fictional brands ONLY in demo data:\n Acme, Northwind, Examplco, Initech, Globex, Stark\n NEVER: Vercel, Stripe, Linear, Notion, Airbnb\n ============================================================================ */\n\nexport type LeadStatus = 'replied' | 'opened' | 'pending';\n\nexport interface LeadAction {\n /** Button label. */\n label: string;\n /** Callback invoked on click. */\n onClick: () => void;\n}\n\nexport interface LeadNotificationProps {\n /**\n * Lead first + last name.\n * @example 'Sarah Patel'\n */\n name?: string;\n /**\n * Lead company name. Use fictional brands only (D7: Acme, Northwind, Examplco, etc.)\n * @example 'Acme'\n */\n company?: string;\n /**\n * Quoted excerpt from the lead's reply.\n * @example 'This looks promising — can we hop on a 15-minute call this week?'\n */\n quote?: string;\n /**\n * Current lead status — determines StatusBadge tone and label.\n * - `'replied'` → success tone (\"Lead replied\")\n * - `'opened'` → warning tone (\"Email opened\")\n * - `'pending'` → neutral tone (\"Awaiting reply\")\n * @default 'replied'\n */\n status?: LeadStatus;\n /**\n * Primary CTA button (accept, schedule, etc.).\n * @default { label: 'Accept', onClick: noop }\n */\n primaryAction?: LeadAction;\n /**\n * Secondary CTA button (snooze, dismiss, etc.).\n * @default { label: 'Snooze 1h', onClick: noop }\n */\n secondaryAction?: LeadAction;\n /** Additional CSS class names. */\n className?: string;\n}\n\nconst noop = () => {};\n\nconst STATUS_CONFIG: Record<\n LeadStatus,\n { label: string; tone: 'status-success' | 'status-warning' | 'neutral' }\n> = {\n replied: { label: 'Lead replied', tone: 'status-success' },\n opened: { label: 'Email opened', tone: 'status-warning' },\n pending: { label: 'Awaiting reply', tone: 'neutral' },\n};\n\n/**\n * LeadNotification — hero notification card for an active lead reply.\n *\n * Composes Card v2 (tier=1, aurora=true) + StatusBadge + Button v2.\n * Fictional demo brands only (D7): Acme, Northwind, Examplco, Initech, Globex.\n *\n * @example\n * <LeadNotification\n * name=\"Sarah Patel\"\n * company=\"Acme\"\n * quote=\"This looks promising — can we hop on a 15-minute call?\"\n * status=\"replied\"\n * primaryAction={{ label: 'Accept', onClick: handleAccept }}\n * secondaryAction={{ label: 'Snooze 1h', onClick: handleSnooze }}\n * />\n */\nexport const LeadNotification = forwardRef<HTMLDivElement, LeadNotificationProps>(\n (\n {\n name = 'Sarah Patel',\n company = 'Acme',\n quote = 'This looks promising — can we hop on a 15-minute call this week?',\n status = 'replied',\n primaryAction = { label: 'Accept', onClick: noop },\n secondaryAction = { label: 'Snooze 1h', onClick: noop },\n className,\n },\n ref,\n ) => {\n const { label: statusLabel, tone } = STATUS_CONFIG[status];\n\n return (\n <Card\n ref={ref}\n tier={1}\n aurora\n radius=\"card\"\n className={clsx('ds-lead-notification', className)}\n >\n {/* Status indicator row */}\n <div className=\"ds-lead-notification__status\">\n <StatusBadge tone={tone} dot>\n {statusLabel}\n </StatusBadge>\n </div>\n\n {/* Headline */}\n <h3 className=\"ds-lead-notification__headline\">\n <span className=\"ds-lead-notification__name\">{name}</span>\n {' from '}\n <span className=\"ds-lead-notification__company\">{company}</span>\n </h3>\n\n {/* Quote */}\n <blockquote className=\"ds-lead-notification__quote\">\n “{quote}”\n </blockquote>\n\n {/* Actions */}\n <div className=\"ds-lead-notification__actions\">\n <Button\n variant=\"primary\"\n size=\"sm\"\n onClick={primaryAction.onClick}\n >\n {primaryAction.label}\n </Button>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={secondaryAction.onClick}\n >\n {secondaryAction.label}\n </Button>\n </div>\n </Card>\n );\n },\n);\n\nLeadNotification.displayName = 'LeadNotification';\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithRef } from 'react';\nimport clsx from 'clsx';\nimport { MarkSvg, MARK_SIZES } from './_markSvg';\nimport './MarkLockup.css';\n\nexport interface MarkLockupOwnProps {\n /**\n * Size scale of the lockup.\n * - `'sm'` = 20px ellipse mark, 14px wordmark\n * - `'md'` = 28px ellipse mark, 16px wordmark (default)\n * - `'lg'` = 40px ellipse mark, 18px wordmark\n * @default 'md'\n */\n size?: keyof typeof MARK_SIZES;\n /**\n * When true, renders the wordmark in light colour (--text-primary at full opacity).\n * Use on aurora-gradient or dark backgrounds.\n * @default false\n */\n inverted?: boolean;\n /** Additional CSS class names. */\n className?: string;\n}\n\n// Merge own props with HTML div attributes\nexport type MarkLockupProps = MarkLockupOwnProps &\n Omit<ComponentPropsWithRef<'div'>, keyof MarkLockupOwnProps>;\n\n\n/**\n * MarkLockup — SalesMind AI brand mark + wordmark.\n *\n * Renders an inline SVG ellipse mark (aurora-pink → aurora-gold gradient)\n * alongside the \"SalesMind AI\" wordmark in Anton (--font-family-display).\n *\n * @example\n * <MarkLockup />\n * <MarkLockup size=\"lg\" inverted />\n */\nexport const MarkLockup = forwardRef<HTMLDivElement, MarkLockupProps>(\n ({ size = 'md', inverted = false, className, ...props }, ref) => {\n const gradientId = `aurora-mark-gradient-${size}`;\n\n return (\n <div\n ref={ref}\n className={clsx(\n 'ds-mark-lockup',\n `ds-mark-lockup--${size}`,\n inverted && 'ds-mark-lockup--inverted',\n className,\n )}\n {...props}\n >\n <MarkSvg size={size} gradientId={gradientId} className=\"ds-mark-lockup__mark\" />\n {/* Wordmark */}\n <span className=\"ds-mark-lockup__wordmark\">SalesMind AI</span>\n </div>\n );\n },\n);\n\nMarkLockup.displayName = 'MarkLockup';\n","/**\n * _markSvg — internal shared SVG ellipse mark.\n *\n * Single source of truth for the SalesMind AI aurora ellipse mark.\n * Used by MarkLockup and Logo to avoid duplication.\n *\n * @internal — not exported from the barrel; import via relative path only.\n */\n\nexport const MARK_SIZES = {\n sm: 20,\n md: 28,\n lg: 40,\n} as const;\n\nexport type MarkSize = keyof typeof MARK_SIZES;\n\nexport interface MarkSvgProps {\n size: MarkSize;\n /** Unique SVG gradient id — caller is responsible for uniqueness in the page. */\n gradientId: string;\n /** Gradient start colour (stop 0%). Defaults to aurora-pink-raw. */\n stopStart?: string;\n /** Gradient end colour (stop 100%). Defaults to aurora-gold-raw. */\n stopEnd?: string;\n className?: string;\n}\n\n/**\n * MarkSvg — the aurora ellipse SVG mark with a configurable linear gradient.\n */\nexport function MarkSvg({\n size,\n gradientId,\n stopStart = 'var(--aurora-pink-raw)',\n stopEnd = 'var(--aurora-gold-raw)',\n className,\n}: MarkSvgProps) {\n const markSize = MARK_SIZES[size];\n return (\n <svg\n className={className}\n width={markSize}\n height={markSize}\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <defs>\n <linearGradient id={gradientId} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor={stopStart} />\n <stop offset=\"100%\" stopColor={stopEnd} />\n </linearGradient>\n </defs>\n {/* Ellipse mark — aurora-pink to aurora-gold diagonal */}\n <ellipse\n cx=\"20\"\n cy=\"20\"\n rx=\"18\"\n ry=\"14\"\n fill={`url(#${gradientId})`}\n transform=\"rotate(-20 20 20)\"\n />\n </svg>\n );\n}\n","import { forwardRef } from 'react';\nimport type { HTMLAttributes } from 'react';\nimport clsx from 'clsx';\nimport { MarkSvg } from '../MarkLockup/_markSvg';\nimport './Logo.css';\n\nexport type LogoVariant = 'mark-only' | 'wordmark-only' | 'lockup';\nexport type LogoTone = 'aurora' | 'mono-light' | 'mono-dark';\nexport type LogoSize = 'sm' | 'md' | 'lg';\n\nexport interface LogoOwnProps {\n /**\n * Visual variant.\n * - `'lockup'` — mark + wordmark side by side (default)\n * - `'mark-only'` — aurora ellipse mark alone\n * - `'wordmark-only'` — \"SalesMind AI\" text alone\n * @default 'lockup'\n */\n variant?: LogoVariant;\n /**\n * Colour tone for surface adaptation.\n * - `'aurora'` — coloured aurora gradient mark, dark wordmark (default)\n * - `'mono-light'` — white mark + white wordmark (for dark/coloured backgrounds)\n * - `'mono-dark'` — dark-tone mark + dark wordmark (for light backgrounds)\n * @default 'aurora'\n */\n tone?: LogoTone;\n /**\n * Size scale.\n * - `'sm'` = 20px mark, 14px wordmark\n * - `'md'` = 28px mark, 16px wordmark (default)\n * - `'lg'` = 40px mark, 18px wordmark\n * @default 'md'\n */\n size?: LogoSize;\n /** Additional CSS class names. */\n className?: string;\n}\n\nexport type LogoProps = LogoOwnProps &\n Omit<HTMLAttributes<HTMLDivElement>, 'children' | keyof LogoOwnProps>;\n\nconst MARK_COLORS: Record<LogoTone, { stopStart: string; stopEnd: string }> = {\n aurora: {\n stopStart: 'var(--aurora-pink-raw)',\n stopEnd: 'var(--aurora-gold-raw)',\n },\n 'mono-light': {\n stopStart: 'rgba(255, 255, 255, 0.95)',\n stopEnd: 'rgba(255, 255, 255, 0.75)',\n },\n 'mono-dark': {\n stopStart: 'var(--text-primary)',\n stopEnd: 'var(--aurora-plum-raw)',\n },\n};\n\n/**\n * Logo — SalesMind AI brand identity component.\n *\n * Composes the aurora ellipse mark and/or \"SalesMind AI\" wordmark.\n * Uses the same mark SVG as MarkLockup (single source of truth).\n *\n * @example\n * <Logo />\n * <Logo variant=\"mark-only\" size=\"lg\" />\n * <Logo variant=\"wordmark-only\" tone=\"mono-light\" />\n */\nexport const Logo = forwardRef<HTMLDivElement, LogoProps>(\n ({ variant = 'lockup', tone = 'aurora', size = 'md', className, ...props }, ref) => {\n const gradientId = `logo-mark-gradient-${size}-${tone}`;\n const colors = MARK_COLORS[tone];\n const showMark = variant === 'lockup' || variant === 'mark-only';\n const showWordmark = variant === 'lockup' || variant === 'wordmark-only';\n\n return (\n <div\n ref={ref}\n className={clsx(\n 'ds-logo',\n `ds-logo--${variant}`,\n `ds-logo--tone-${tone}`,\n `ds-logo--${size}`,\n className,\n )}\n {...props}\n >\n {showMark && (\n <MarkSvg\n size={size}\n gradientId={gradientId}\n stopStart={colors.stopStart}\n stopEnd={colors.stopEnd}\n className=\"ds-logo__mark\"\n />\n )}\n {showWordmark && (\n <span className=\"ds-logo__wordmark\">SalesMind AI</span>\n )}\n </div>\n );\n },\n);\n\nLogo.displayName = 'Logo';\n","import React from 'react';\nimport clsx from 'clsx';\nimport './FlowchartBadge.css';\n\nexport interface FlowchartBadgeProps extends React.ComponentPropsWithoutRef<'div'> {\n icon?: React.ReactNode;\n color?: 'default' | 'accent' | 'success' | 'warning';\n size?: 'sm' | 'md';\n}\n\nexport const FlowchartBadge = React.forwardRef<HTMLDivElement, FlowchartBadgeProps>(\n ({ className, icon, color = 'default', size = 'md', children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={clsx('ds-flowchart-badge', `ds-flowchart-badge--${color}`, `ds-flowchart-badge--${size}`, className)}\n {...props}\n >\n {icon}\n {children}\n </div>\n );\n },\n);\n\nFlowchartBadge.displayName = 'FlowchartBadge';\n","import React from 'react';\nimport clsx from 'clsx';\nimport './FlowchartConnector.css';\n\nexport interface FlowchartConnectorProps extends React.ComponentPropsWithoutRef<'div'> {\n direction?: 'down' | 'up';\n showArrow?: boolean;\n showJunction?: boolean;\n length?: 'sm' | 'md' | 'lg';\n}\n\nexport const FlowchartConnector = React.forwardRef<HTMLDivElement, FlowchartConnectorProps>(\n (\n {\n className,\n direction = 'down',\n showArrow = true,\n showJunction = false,\n length = 'md',\n ...props\n },\n ref,\n ) => {\n const classes = clsx(\n 'ds-flowchart-connector',\n `ds-flowchart-connector--${direction}`,\n `ds-flowchart-connector--${length}`,\n showArrow && 'ds-flowchart-connector--arrow',\n showJunction && 'ds-flowchart-connector--junction',\n className,\n );\n\n return <div ref={ref} className={classes} {...props} aria-hidden=\"true\" />;\n },\n);\n\nFlowchartConnector.displayName = 'FlowchartConnector';\n","import React from 'react';\nimport clsx from 'clsx';\nimport './FlowchartCard.css';\n\n/* ============================================================================\n FLOWCHART CARD — Compound component for flowchart step cards\n ============================================================================ */\n\nexport interface FlowchartCardProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Highlights the card as the currently active step */\n active?: boolean;\n /** Visual density variant */\n variant?: 'default' | 'compact';\n}\n\nexport const FlowchartCard = React.forwardRef<HTMLDivElement, FlowchartCardProps>(\n ({ className, active, variant, ...props }, ref) => (\n <div\n ref={ref}\n className={clsx(\n 'ds-flowchart-card',\n active && 'ds-flowchart-card--active',\n variant === 'compact' && 'ds-flowchart-card--compact',\n className,\n )}\n {...props}\n />\n ),\n);\nFlowchartCard.displayName = 'FlowchartCard';\n\nexport const FlowchartCardHeader = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={clsx('ds-flowchart-card__header', className)} {...props} />\n));\nFlowchartCardHeader.displayName = 'FlowchartCardHeader';\n\nexport const FlowchartCardTitle = React.forwardRef<\n HTMLHeadingElement,\n React.ComponentPropsWithoutRef<'h3'>\n>(({ className, ...props }, ref) => (\n <h3 ref={ref} className={clsx('ds-flowchart-card__title', className)} {...props} />\n));\nFlowchartCardTitle.displayName = 'FlowchartCardTitle';\n\nexport const FlowchartCardContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={clsx('ds-flowchart-card__content', className)} {...props} />\n));\nFlowchartCardContent.displayName = 'FlowchartCardContent';\n"]}
|