@salesmind-ai/design-system 0.7.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.
Files changed (74) hide show
  1. package/dist/chunk-6WQKRQEE.cjs +33 -0
  2. package/dist/chunk-6WQKRQEE.cjs.map +1 -0
  3. package/dist/{chunk-R3ZECV5P.cjs → chunk-FVSL5YMB.cjs} +13 -34
  4. package/dist/chunk-FVSL5YMB.cjs.map +1 -0
  5. package/dist/{chunk-D2RHF2OE.cjs → chunk-H5BOCR5Z.cjs} +10 -6
  6. package/dist/chunk-H5BOCR5Z.cjs.map +1 -0
  7. package/dist/chunk-HTLWFOLC.js +26 -0
  8. package/dist/chunk-HTLWFOLC.js.map +1 -0
  9. package/dist/{chunk-KXVFFEGD.js → chunk-MLINFRC3.js} +2 -19
  10. package/dist/chunk-MLINFRC3.js.map +1 -0
  11. package/dist/{chunk-DMRQPGQA.js → chunk-NB3BDIQO.js} +10 -6
  12. package/dist/chunk-NB3BDIQO.js.map +1 -0
  13. package/dist/{chunk-JPUJWI7F.cjs → chunk-QXUA5PQ3.cjs} +1 -19
  14. package/dist/chunk-QXUA5PQ3.cjs.map +1 -0
  15. package/dist/{chunk-HHQ6J7B6.js → chunk-REEHJV7M.js} +145 -14
  16. package/dist/chunk-REEHJV7M.js.map +1 -0
  17. package/dist/{chunk-LQB7QLD3.js → chunk-RY257SWH.js} +207 -3
  18. package/dist/chunk-RY257SWH.js.map +1 -0
  19. package/dist/{chunk-WE4QIIVN.cjs → chunk-UCWMJD4Y.cjs} +151 -18
  20. package/dist/chunk-UCWMJD4Y.cjs.map +1 -0
  21. package/dist/{chunk-27Y5ESMM.js → chunk-VFO2MUPI.js} +13 -33
  22. package/dist/chunk-VFO2MUPI.js.map +1 -0
  23. package/dist/{chunk-UGKYP6F3.cjs → chunk-YL4FGGHF.cjs} +211 -2
  24. package/dist/chunk-YL4FGGHF.cjs.map +1 -0
  25. package/dist/core/index.cjs +13 -12
  26. package/dist/core/index.js +2 -1
  27. package/dist/{index-BJ8rBqrO.d.cts → index-I4Xi04oE.d.cts} +47 -3
  28. package/dist/{index-BxMqCbqE.d.ts → index-r__EEywy.d.ts} +47 -3
  29. package/dist/index.cjs +81 -56
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.css +658 -109
  32. package/dist/index.css.map +1 -1
  33. package/dist/index.d.cts +3 -3
  34. package/dist/index.d.ts +3 -3
  35. package/dist/index.js +6 -5
  36. package/dist/index.js.map +1 -1
  37. package/dist/marketing/index.cjs +35 -26
  38. package/dist/marketing/index.css +242 -0
  39. package/dist/marketing/index.css.map +1 -1
  40. package/dist/marketing/index.d.cts +1 -1
  41. package/dist/marketing/index.d.ts +1 -1
  42. package/dist/marketing/index.js +3 -2
  43. package/dist/sections/index.css +1 -1
  44. package/dist/sections/index.css.map +1 -1
  45. package/dist/social-proof/index.cjs +26 -4
  46. package/dist/social-proof/index.css +521 -0
  47. package/dist/social-proof/index.css.map +1 -1
  48. package/dist/social-proof/index.d.cts +99 -27
  49. package/dist/social-proof/index.d.ts +99 -27
  50. package/dist/social-proof/index.js +3 -1
  51. package/dist/styles/styles.css +0 -109
  52. package/dist/theme/index.cjs +3 -7
  53. package/dist/theme/index.css +0 -108
  54. package/dist/theme/index.css.map +1 -1
  55. package/dist/theme/index.d.cts +1 -28
  56. package/dist/theme/index.d.ts +1 -28
  57. package/dist/theme/index.js +1 -1
  58. package/dist/web/index.cjs +7 -7
  59. package/dist/web/index.js +1 -1
  60. package/dist/web/server/index.cjs +7 -7
  61. package/dist/web/server/index.d.cts +0 -5
  62. package/dist/web/server/index.d.ts +0 -5
  63. package/dist/web/server/index.js +1 -1
  64. package/package.json +1 -1
  65. package/dist/chunk-27Y5ESMM.js.map +0 -1
  66. package/dist/chunk-D2RHF2OE.cjs.map +0 -1
  67. package/dist/chunk-DMRQPGQA.js.map +0 -1
  68. package/dist/chunk-HHQ6J7B6.js.map +0 -1
  69. package/dist/chunk-JPUJWI7F.cjs.map +0 -1
  70. package/dist/chunk-KXVFFEGD.js.map +0 -1
  71. package/dist/chunk-LQB7QLD3.js.map +0 -1
  72. package/dist/chunk-R3ZECV5P.cjs.map +0 -1
  73. package/dist/chunk-UGKYP6F3.cjs.map +0 -1
  74. package/dist/chunk-WE4QIIVN.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -2,18 +2,19 @@
2
2
 
3
3
  var chunkOMP6FAZ6_cjs = require('./chunk-OMP6FAZ6.cjs');
4
4
  var chunkMQDEE7HC_cjs = require('./chunk-MQDEE7HC.cjs');
5
- var chunkR3ZECV5P_cjs = require('./chunk-R3ZECV5P.cjs');
5
+ var chunkFVSL5YMB_cjs = require('./chunk-FVSL5YMB.cjs');
6
6
  var chunkLUD52ZJF_cjs = require('./chunk-LUD52ZJF.cjs');
7
7
  var chunkEPD4ZEPY_cjs = require('./chunk-EPD4ZEPY.cjs');
8
8
  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 chunkUGKYP6F3_cjs = require('./chunk-UGKYP6F3.cjs');
13
- var chunkWE4QIIVN_cjs = require('./chunk-WE4QIIVN.cjs');
14
- var chunkJPUJWI7F_cjs = require('./chunk-JPUJWI7F.cjs');
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
- chunkJPUJWI7F_cjs.Card,
129
+ chunkQXUA5PQ3_cjs.Card,
129
130
  {
130
131
  ref,
131
132
  tier: 1,
@@ -438,15 +439,11 @@ Object.defineProperty(exports, "validateUtmField", {
438
439
  });
439
440
  Object.defineProperty(exports, "ColorPicker", {
440
441
  enumerable: true,
441
- get: function () { return chunkR3ZECV5P_cjs.ColorPicker; }
442
+ get: function () { return chunkFVSL5YMB_cjs.ColorPicker; }
442
443
  });
443
444
  Object.defineProperty(exports, "ThemeSelector", {
444
445
  enumerable: true,
445
- get: function () { return chunkR3ZECV5P_cjs.ThemeSelector; }
446
- });
447
- Object.defineProperty(exports, "VoidBackground", {
448
- enumerable: true,
449
- get: function () { return chunkR3ZECV5P_cjs.VoidBackground; }
446
+ get: function () { return chunkFVSL5YMB_cjs.ThemeSelector; }
450
447
  });
451
448
  Object.defineProperty(exports, "BREAKPOINTS", {
452
449
  enumerable: true,
@@ -730,159 +727,187 @@ Object.defineProperty(exports, "SpotlightCard", {
730
727
  });
731
728
  Object.defineProperty(exports, "PlatformBadge", {
732
729
  enumerable: true,
733
- get: function () { return chunkUGKYP6F3_cjs.PlatformBadge; }
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; }
734
751
  });
735
752
  Object.defineProperty(exports, "StarRating", {
736
753
  enumerable: true,
737
- get: function () { return chunkUGKYP6F3_cjs.StarRating; }
754
+ get: function () { return chunkYL4FGGHF_cjs.StarRating; }
738
755
  });
739
756
  Object.defineProperty(exports, "VideoLightbox", {
740
757
  enumerable: true,
741
- get: function () { return chunkUGKYP6F3_cjs.VideoLightbox; }
758
+ get: function () { return chunkYL4FGGHF_cjs.VideoLightbox; }
742
759
  });
743
760
  Object.defineProperty(exports, "ArchitectureDiagram", {
744
761
  enumerable: true,
745
- get: function () { return chunkWE4QIIVN_cjs.ArchitectureDiagram; }
762
+ get: function () { return chunkUCWMJD4Y_cjs.ArchitectureDiagram; }
746
763
  });
747
764
  Object.defineProperty(exports, "AuroraVoid", {
748
765
  enumerable: true,
749
- get: function () { return chunkWE4QIIVN_cjs.AuroraVoid; }
766
+ get: function () { return chunkUCWMJD4Y_cjs.AuroraVoid; }
750
767
  });
751
768
  Object.defineProperty(exports, "BeforeAfterBlock", {
752
769
  enumerable: true,
753
- get: function () { return chunkWE4QIIVN_cjs.BeforeAfterBlock; }
770
+ get: function () { return chunkUCWMJD4Y_cjs.BeforeAfterBlock; }
754
771
  });
755
772
  Object.defineProperty(exports, "BookingEmbed", {
756
773
  enumerable: true,
757
- get: function () { return chunkWE4QIIVN_cjs.BookingEmbed; }
774
+ get: function () { return chunkUCWMJD4Y_cjs.BookingEmbed; }
758
775
  });
759
776
  Object.defineProperty(exports, "CaseStudyCard", {
760
777
  enumerable: true,
761
- get: function () { return chunkWE4QIIVN_cjs.CaseStudyCard; }
778
+ get: function () { return chunkUCWMJD4Y_cjs.CaseStudyCard; }
762
779
  });
763
780
  Object.defineProperty(exports, "ComparisonTable", {
764
781
  enumerable: true,
765
- get: function () { return chunkWE4QIIVN_cjs.ComparisonTable; }
782
+ get: function () { return chunkUCWMJD4Y_cjs.ComparisonTable; }
766
783
  });
767
784
  Object.defineProperty(exports, "CompetitorDiff", {
768
785
  enumerable: true,
769
- get: function () { return chunkWE4QIIVN_cjs.CompetitorDiff; }
786
+ get: function () { return chunkUCWMJD4Y_cjs.CompetitorDiff; }
770
787
  });
771
788
  Object.defineProperty(exports, "ComplianceGrid", {
772
789
  enumerable: true,
773
- get: function () { return chunkWE4QIIVN_cjs.ComplianceGrid; }
790
+ get: function () { return chunkUCWMJD4Y_cjs.ComplianceGrid; }
774
791
  });
775
792
  Object.defineProperty(exports, "EcosystemDiagram", {
776
793
  enumerable: true,
777
- get: function () { return chunkWE4QIIVN_cjs.EcosystemDiagram; }
794
+ get: function () { return chunkUCWMJD4Y_cjs.EcosystemDiagram; }
778
795
  });
779
796
  Object.defineProperty(exports, "EnterpriseSignaling", {
780
797
  enumerable: true,
781
- get: function () { return chunkWE4QIIVN_cjs.EnterpriseSignaling; }
798
+ get: function () { return chunkUCWMJD4Y_cjs.EnterpriseSignaling; }
782
799
  });
783
800
  Object.defineProperty(exports, "EvolutionTimeline", {
784
801
  enumerable: true,
785
- get: function () { return chunkWE4QIIVN_cjs.EvolutionTimeline; }
802
+ get: function () { return chunkUCWMJD4Y_cjs.EvolutionTimeline; }
786
803
  });
787
804
  Object.defineProperty(exports, "GridOverlay", {
788
805
  enumerable: true,
789
- get: function () { return chunkWE4QIIVN_cjs.GridOverlay; }
806
+ get: function () { return chunkUCWMJD4Y_cjs.GridOverlay; }
790
807
  });
791
808
  Object.defineProperty(exports, "GuaranteeHighlight", {
792
809
  enumerable: true,
793
- get: function () { return chunkWE4QIIVN_cjs.GuaranteeHighlight; }
810
+ get: function () { return chunkUCWMJD4Y_cjs.GuaranteeHighlight; }
794
811
  });
795
812
  Object.defineProperty(exports, "HeroComposition", {
796
813
  enumerable: true,
797
- get: function () { return chunkWE4QIIVN_cjs.HeroComposition; }
814
+ get: function () { return chunkUCWMJD4Y_cjs.HeroComposition; }
798
815
  });
799
816
  Object.defineProperty(exports, "ICPFilter", {
800
817
  enumerable: true,
801
- get: function () { return chunkWE4QIIVN_cjs.ICPFilter; }
818
+ get: function () { return chunkUCWMJD4Y_cjs.ICPFilter; }
802
819
  });
803
820
  Object.defineProperty(exports, "IntelligenceBlock", {
804
821
  enumerable: true,
805
- get: function () { return chunkWE4QIIVN_cjs.IntelligenceBlock; }
822
+ get: function () { return chunkUCWMJD4Y_cjs.IntelligenceBlock; }
806
823
  });
807
824
  Object.defineProperty(exports, "IntentCTA", {
808
825
  enumerable: true,
809
- get: function () { return chunkWE4QIIVN_cjs.IntentCTA; }
826
+ get: function () { return chunkUCWMJD4Y_cjs.IntentCTA; }
810
827
  });
811
828
  Object.defineProperty(exports, "KPIPanel", {
812
829
  enumerable: true,
813
- get: function () { return chunkWE4QIIVN_cjs.KPIPanel; }
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; }
814
839
  });
815
840
  Object.defineProperty(exports, "ObjectionFAQ", {
816
841
  enumerable: true,
817
- get: function () { return chunkWE4QIIVN_cjs.ObjectionFAQ; }
842
+ get: function () { return chunkUCWMJD4Y_cjs.ObjectionFAQ; }
818
843
  });
819
844
  Object.defineProperty(exports, "PartnerValueProp", {
820
845
  enumerable: true,
821
- get: function () { return chunkWE4QIIVN_cjs.PartnerValueProp; }
846
+ get: function () { return chunkUCWMJD4Y_cjs.PartnerValueProp; }
822
847
  });
823
848
  Object.defineProperty(exports, "PricingCard", {
824
849
  enumerable: true,
825
- get: function () { return chunkWE4QIIVN_cjs.PricingCard; }
850
+ get: function () { return chunkUCWMJD4Y_cjs.PricingCard; }
826
851
  });
827
852
  Object.defineProperty(exports, "ProblemAgitation", {
828
853
  enumerable: true,
829
- get: function () { return chunkWE4QIIVN_cjs.ProblemAgitation; }
854
+ get: function () { return chunkUCWMJD4Y_cjs.ProblemAgitation; }
830
855
  });
831
856
  Object.defineProperty(exports, "ROICalculator", {
832
857
  enumerable: true,
833
- get: function () { return chunkWE4QIIVN_cjs.ROICalculator; }
858
+ get: function () { return chunkUCWMJD4Y_cjs.ROICalculator; }
834
859
  });
835
860
  Object.defineProperty(exports, "SegmentSwitch", {
836
861
  enumerable: true,
837
- get: function () { return chunkWE4QIIVN_cjs.SegmentSwitch; }
862
+ get: function () { return chunkUCWMJD4Y_cjs.SegmentSwitch; }
838
863
  });
839
864
  Object.defineProperty(exports, "StickyActionBar", {
840
865
  enumerable: true,
841
- get: function () { return chunkWE4QIIVN_cjs.StickyActionBar; }
866
+ get: function () { return chunkUCWMJD4Y_cjs.StickyActionBar; }
842
867
  });
843
868
  Object.defineProperty(exports, "ValueAnchor", {
844
869
  enumerable: true,
845
- get: function () { return chunkWE4QIIVN_cjs.ValueAnchor; }
870
+ get: function () { return chunkUCWMJD4Y_cjs.ValueAnchor; }
846
871
  });
847
872
  Object.defineProperty(exports, "Vignette", {
848
873
  enumerable: true,
849
- get: function () { return chunkWE4QIIVN_cjs.Vignette; }
874
+ get: function () { return chunkUCWMJD4Y_cjs.Vignette; }
850
875
  });
851
876
  Object.defineProperty(exports, "Badge", {
852
877
  enumerable: true,
853
- get: function () { return chunkJPUJWI7F_cjs.Badge; }
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; }
854
887
  });
855
888
  Object.defineProperty(exports, "Card", {
856
889
  enumerable: true,
857
- get: function () { return chunkJPUJWI7F_cjs.Card; }
890
+ get: function () { return chunkQXUA5PQ3_cjs.Card; }
858
891
  });
859
892
  Object.defineProperty(exports, "CardContent", {
860
893
  enumerable: true,
861
- get: function () { return chunkJPUJWI7F_cjs.CardContent; }
894
+ get: function () { return chunkQXUA5PQ3_cjs.CardContent; }
862
895
  });
863
896
  Object.defineProperty(exports, "CardDescription", {
864
897
  enumerable: true,
865
- get: function () { return chunkJPUJWI7F_cjs.CardDescription; }
898
+ get: function () { return chunkQXUA5PQ3_cjs.CardDescription; }
866
899
  });
867
900
  Object.defineProperty(exports, "CardFooter", {
868
901
  enumerable: true,
869
- get: function () { return chunkJPUJWI7F_cjs.CardFooter; }
902
+ get: function () { return chunkQXUA5PQ3_cjs.CardFooter; }
870
903
  });
871
904
  Object.defineProperty(exports, "CardHeader", {
872
905
  enumerable: true,
873
- get: function () { return chunkJPUJWI7F_cjs.CardHeader; }
906
+ get: function () { return chunkQXUA5PQ3_cjs.CardHeader; }
874
907
  });
875
908
  Object.defineProperty(exports, "CardTitle", {
876
909
  enumerable: true,
877
- get: function () { return chunkJPUJWI7F_cjs.CardTitle; }
878
- });
879
- Object.defineProperty(exports, "Button", {
880
- enumerable: true,
881
- get: function () { return chunk7EUR3AKV_cjs.Button; }
882
- });
883
- Object.defineProperty(exports, "MetricCounter", {
884
- enumerable: true,
885
- get: function () { return chunkDP74LUXG_cjs.MetricCounter; }
910
+ get: function () { return chunkQXUA5PQ3_cjs.CardTitle; }
886
911
  });
887
912
  Object.defineProperty(exports, "ArticleCard", {
888
913
  enumerable: true,
@@ -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 &ldquo;{quote}&rdquo;\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":"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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 &ldquo;{quote}&rdquo;\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"]}