@salesmind-ai/design-system 0.3.4 → 0.3.5

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 (197) hide show
  1. package/dist/admin/index.cjs +68 -2928
  2. package/dist/admin/index.cjs.map +1 -1
  3. package/dist/admin/index.js +5 -2915
  4. package/dist/admin/index.js.map +1 -1
  5. package/dist/blog/index.cjs +53 -1064
  6. package/dist/blog/index.cjs.map +1 -1
  7. package/dist/blog/index.js +8 -1054
  8. package/dist/blog/index.js.map +1 -1
  9. package/dist/charts/index.cjs +46 -2694
  10. package/dist/charts/index.cjs.map +1 -1
  11. package/dist/charts/index.js +3 -2680
  12. package/dist/charts/index.js.map +1 -1
  13. package/dist/chunk-2GARWEJK.js +17 -0
  14. package/dist/chunk-2GARWEJK.js.map +1 -0
  15. package/dist/chunk-2KQVZ5FB.js +485 -0
  16. package/dist/chunk-2KQVZ5FB.js.map +1 -0
  17. package/dist/chunk-2ZNR2F2V.cjs +194 -0
  18. package/dist/chunk-2ZNR2F2V.cjs.map +1 -0
  19. package/dist/chunk-3NKRFUAR.js +37 -0
  20. package/dist/chunk-3NKRFUAR.js.map +1 -0
  21. package/dist/chunk-3TGSIILM.cjs +201 -0
  22. package/dist/chunk-3TGSIILM.cjs.map +1 -0
  23. package/dist/chunk-4GM5BGBN.cjs +801 -0
  24. package/dist/chunk-4GM5BGBN.cjs.map +1 -0
  25. package/dist/chunk-5LGDEZWY.cjs +2434 -0
  26. package/dist/chunk-5LGDEZWY.cjs.map +1 -0
  27. package/dist/chunk-6H4DSTXR.js +786 -0
  28. package/dist/chunk-6H4DSTXR.js.map +1 -0
  29. package/dist/chunk-6HKQ5ILL.cjs +1624 -0
  30. package/dist/chunk-6HKQ5ILL.cjs.map +1 -0
  31. package/dist/chunk-6UNG76Y2.js +153 -0
  32. package/dist/chunk-6UNG76Y2.js.map +1 -0
  33. package/dist/chunk-7PX2AZ6Y.js +39 -0
  34. package/dist/chunk-7PX2AZ6Y.js.map +1 -0
  35. package/dist/chunk-B6AVAX4F.js +1415 -0
  36. package/dist/chunk-B6AVAX4F.js.map +1 -0
  37. package/dist/chunk-BILT5KD3.js +264 -0
  38. package/dist/chunk-BILT5KD3.js.map +1 -0
  39. package/dist/chunk-C2BCDNAV.js +24 -0
  40. package/dist/chunk-C2BCDNAV.js.map +1 -0
  41. package/dist/chunk-CH42VPWE.cjs +421 -0
  42. package/dist/chunk-CH42VPWE.cjs.map +1 -0
  43. package/dist/chunk-CJ2MKVAF.cjs +46 -0
  44. package/dist/chunk-CJ2MKVAF.cjs.map +1 -0
  45. package/dist/chunk-DP74LUXG.cjs +98 -0
  46. package/dist/chunk-DP74LUXG.cjs.map +1 -0
  47. package/dist/chunk-E7D6EKJ4.cjs +44 -0
  48. package/dist/chunk-E7D6EKJ4.cjs.map +1 -0
  49. package/dist/chunk-ECXBTUH6.cjs +584 -0
  50. package/dist/chunk-ECXBTUH6.cjs.map +1 -0
  51. package/dist/chunk-EFRAP5ES.js +157 -0
  52. package/dist/chunk-EFRAP5ES.js.map +1 -0
  53. package/dist/chunk-EM7JHRYW.cjs +69 -0
  54. package/dist/chunk-EM7JHRYW.cjs.map +1 -0
  55. package/dist/chunk-FAFAP4L5.js +183 -0
  56. package/dist/chunk-FAFAP4L5.js.map +1 -0
  57. package/dist/chunk-H2Y6BSTL.cjs +69 -0
  58. package/dist/chunk-H2Y6BSTL.cjs.map +1 -0
  59. package/dist/chunk-HN4PHABT.js +126 -0
  60. package/dist/chunk-HN4PHABT.js.map +1 -0
  61. package/dist/chunk-HRENHNDJ.js +211 -0
  62. package/dist/chunk-HRENHNDJ.js.map +1 -0
  63. package/dist/chunk-I75BFEYT.cjs +2561 -0
  64. package/dist/chunk-I75BFEYT.cjs.map +1 -0
  65. package/dist/chunk-IFRATNLU.js +562 -0
  66. package/dist/chunk-IFRATNLU.js.map +1 -0
  67. package/dist/chunk-JNASH4OQ.js +1022 -0
  68. package/dist/chunk-JNASH4OQ.js.map +1 -0
  69. package/dist/chunk-JPJN4YBC.js +409 -0
  70. package/dist/chunk-JPJN4YBC.js.map +1 -0
  71. package/dist/chunk-KCKUSU2M.cjs +166 -0
  72. package/dist/chunk-KCKUSU2M.cjs.map +1 -0
  73. package/dist/chunk-KDLH35OI.cjs +1042 -0
  74. package/dist/chunk-KDLH35OI.cjs.map +1 -0
  75. package/dist/chunk-KJ2OXQF4.js +287 -0
  76. package/dist/chunk-KJ2OXQF4.js.map +1 -0
  77. package/dist/chunk-KK5UO2P4.cjs +717 -0
  78. package/dist/chunk-KK5UO2P4.cjs.map +1 -0
  79. package/dist/chunk-KNQEIU7O.cjs +1202 -0
  80. package/dist/chunk-KNQEIU7O.cjs.map +1 -0
  81. package/dist/chunk-KVGSVGRK.cjs +569 -0
  82. package/dist/chunk-KVGSVGRK.cjs.map +1 -0
  83. package/dist/chunk-L352JRV6.cjs +105 -0
  84. package/dist/chunk-L352JRV6.cjs.map +1 -0
  85. package/dist/chunk-LGNMFBLF.cjs +502 -0
  86. package/dist/chunk-LGNMFBLF.cjs.map +1 -0
  87. package/dist/chunk-LJADZITX.cjs +298 -0
  88. package/dist/chunk-LJADZITX.cjs.map +1 -0
  89. package/dist/chunk-MDB2WCRQ.cjs +137 -0
  90. package/dist/chunk-MDB2WCRQ.cjs.map +1 -0
  91. package/dist/chunk-MQDEE7HC.cjs +283 -0
  92. package/dist/chunk-MQDEE7HC.cjs.map +1 -0
  93. package/dist/chunk-MQRB634A.cjs +34 -0
  94. package/dist/chunk-MQRB634A.cjs.map +1 -0
  95. package/dist/chunk-MU6GW5ZV.js +2317 -0
  96. package/dist/chunk-MU6GW5ZV.js.map +1 -0
  97. package/dist/chunk-NN3TUHIH.js +28 -0
  98. package/dist/chunk-NN3TUHIH.js.map +1 -0
  99. package/dist/chunk-NT4LBP7D.cjs +111 -0
  100. package/dist/chunk-NT4LBP7D.cjs.map +1 -0
  101. package/dist/chunk-OGKGIXFC.cjs +2162 -0
  102. package/dist/chunk-OGKGIXFC.cjs.map +1 -0
  103. package/dist/chunk-OXNXEQY7.js +2538 -0
  104. package/dist/chunk-OXNXEQY7.js.map +1 -0
  105. package/dist/chunk-P5BOFE5A.js +546 -0
  106. package/dist/chunk-P5BOFE5A.js.map +1 -0
  107. package/dist/chunk-PE2KJVRN.js +185 -0
  108. package/dist/chunk-PE2KJVRN.js.map +1 -0
  109. package/dist/chunk-Q2MFGYTE.cjs +1449 -0
  110. package/dist/chunk-Q2MFGYTE.cjs.map +1 -0
  111. package/dist/chunk-Q75DBVDY.cjs +68 -0
  112. package/dist/chunk-Q75DBVDY.cjs.map +1 -0
  113. package/dist/chunk-RQUFZAZ7.js +1608 -0
  114. package/dist/chunk-RQUFZAZ7.js.map +1 -0
  115. package/dist/chunk-SICKWUWB.js +62 -0
  116. package/dist/chunk-SICKWUWB.js.map +1 -0
  117. package/dist/chunk-T343CCH5.js +1190 -0
  118. package/dist/chunk-T343CCH5.js.map +1 -0
  119. package/dist/chunk-T5H5PNLN.js +701 -0
  120. package/dist/chunk-T5H5PNLN.js.map +1 -0
  121. package/dist/chunk-U3LK2GID.js +2122 -0
  122. package/dist/chunk-U3LK2GID.js.map +1 -0
  123. package/dist/chunk-UFAJY2DM.js +62 -0
  124. package/dist/chunk-UFAJY2DM.js.map +1 -0
  125. package/dist/chunk-VC5LMUVQ.cjs +20 -0
  126. package/dist/chunk-VC5LMUVQ.cjs.map +1 -0
  127. package/dist/chunk-VM7WFMKI.cjs +76 -0
  128. package/dist/chunk-VM7WFMKI.cjs.map +1 -0
  129. package/dist/chunk-W2WTP6HS.cjs +233 -0
  130. package/dist/chunk-W2WTP6HS.cjs.map +1 -0
  131. package/dist/chunk-WH7PYHZY.cjs +35 -0
  132. package/dist/chunk-WH7PYHZY.cjs.map +1 -0
  133. package/dist/chunk-XU3OMQ7V.js +98 -0
  134. package/dist/chunk-XU3OMQ7V.js.map +1 -0
  135. package/dist/chunk-XWPDRMZG.js +62 -0
  136. package/dist/chunk-XWPDRMZG.js.map +1 -0
  137. package/dist/chunk-Y3CPKNB7.js +67 -0
  138. package/dist/chunk-Y3CPKNB7.js.map +1 -0
  139. package/dist/chunk-YNVRDD2P.js +98 -0
  140. package/dist/chunk-YNVRDD2P.js.map +1 -0
  141. package/dist/chunk-YSYR54XR.js +92 -0
  142. package/dist/chunk-YSYR54XR.js.map +1 -0
  143. package/dist/chunk-YTYDQBVY.cjs +162 -0
  144. package/dist/chunk-YTYDQBVY.cjs.map +1 -0
  145. package/dist/core/index.cjs +807 -4333
  146. package/dist/core/index.cjs.map +1 -1
  147. package/dist/core/index.js +14 -4130
  148. package/dist/core/index.js.map +1 -1
  149. package/dist/i18n/index.cjs +86 -558
  150. package/dist/i18n/index.cjs.map +1 -1
  151. package/dist/i18n/index.js +1 -544
  152. package/dist/i18n/index.js.map +1 -1
  153. package/dist/index.cjs +1432 -17140
  154. package/dist/index.cjs.map +1 -1
  155. package/dist/index.js +31 -16785
  156. package/dist/index.js.map +1 -1
  157. package/dist/marketing/index.cjs +142 -3072
  158. package/dist/marketing/index.cjs.map +1 -1
  159. package/dist/marketing/index.js +11 -3042
  160. package/dist/marketing/index.js.map +1 -1
  161. package/dist/motion/index.cjs +26 -1222
  162. package/dist/motion/index.cjs.map +1 -1
  163. package/dist/motion/index.js +2 -1215
  164. package/dist/motion/index.js.map +1 -1
  165. package/dist/nav/index.cjs +101 -1518
  166. package/dist/nav/index.cjs.map +1 -1
  167. package/dist/nav/index.js +4 -1498
  168. package/dist/nav/index.js.map +1 -1
  169. package/dist/report/index.cjs +171 -2403
  170. package/dist/report/index.cjs.map +1 -1
  171. package/dist/report/index.js +3 -2363
  172. package/dist/report/index.js.map +1 -1
  173. package/dist/sections/index.cjs +22 -377
  174. package/dist/sections/index.cjs.map +1 -1
  175. package/dist/sections/index.js +6 -369
  176. package/dist/sections/index.js.map +1 -1
  177. package/dist/social-proof/index.cjs +53 -1250
  178. package/dist/social-proof/index.cjs.map +1 -1
  179. package/dist/social-proof/index.js +6 -1235
  180. package/dist/social-proof/index.js.map +1 -1
  181. package/dist/theme/index.cjs +38 -565
  182. package/dist/theme/index.cjs.map +1 -1
  183. package/dist/theme/index.js +2 -555
  184. package/dist/theme/index.js.map +1 -1
  185. package/dist/web/client/index.cjs +38 -491
  186. package/dist/web/client/index.cjs.map +1 -1
  187. package/dist/web/client/index.js +4 -483
  188. package/dist/web/client/index.js.map +1 -1
  189. package/dist/web/index.cjs +158 -1346
  190. package/dist/web/index.cjs.map +1 -1
  191. package/dist/web/index.js +9 -1305
  192. package/dist/web/index.js.map +1 -1
  193. package/dist/web/server/index.cjs +26 -563
  194. package/dist/web/server/index.cjs.map +1 -1
  195. package/dist/web/server/index.js +1 -560
  196. package/dist/web/server/index.js.map +1 -1
  197. package/package.json +1 -1
@@ -0,0 +1,105 @@
1
+ 'use strict';
2
+
3
+ // src/tokens/motion.ts
4
+ var DURATION = {
5
+ micro: 0.15,
6
+ // 150ms
7
+ short: 0.25,
8
+ // 250ms
9
+ medium: 0.5,
10
+ // 500ms
11
+ long: 1
12
+ // 1000ms
13
+ };
14
+ var EASING = {
15
+ standard: [0.16, 1, 0.3, 1],
16
+ // Smooth, premium feel
17
+ emphasis: [0.34, 1.56, 0.64, 1],
18
+ // Slight spring/overshoot
19
+ exit: [0.4, 0, 0.2, 1],
20
+ // Quick, decisive exit
21
+ linear: [0, 0, 1, 1]
22
+ };
23
+ var TRANSITION = {
24
+ standard: {
25
+ duration: DURATION.medium,
26
+ ease: EASING.standard
27
+ },
28
+ emphasis: {
29
+ duration: DURATION.medium,
30
+ ease: EASING.emphasis
31
+ },
32
+ quick: {
33
+ duration: DURATION.short,
34
+ ease: EASING.standard
35
+ },
36
+ spring: {
37
+ type: "spring",
38
+ stiffness: 200,
39
+ damping: 20
40
+ }
41
+ };
42
+ var VARIANTS = {
43
+ fadeIn: {
44
+ hidden: { opacity: 0 },
45
+ visible: { opacity: 1, transition: { duration: DURATION.medium, ease: EASING.standard } }
46
+ },
47
+ fadeUp: {
48
+ hidden: { opacity: 0, y: 12 },
49
+ visible: { opacity: 1, y: 0, transition: { duration: DURATION.medium, ease: EASING.standard } }
50
+ },
51
+ scaleIn: {
52
+ hidden: { opacity: 0, scale: 0.95 },
53
+ visible: {
54
+ opacity: 1,
55
+ scale: 1,
56
+ transition: { duration: DURATION.short, ease: EASING.emphasis }
57
+ }
58
+ },
59
+ staggerContainer: {
60
+ hidden: { opacity: 0 },
61
+ visible: {
62
+ opacity: 1,
63
+ transition: {
64
+ staggerChildren: 0.08,
65
+ delayChildren: 0.1
66
+ }
67
+ }
68
+ },
69
+ pulse: {
70
+ hidden: { scale: 1 },
71
+ visible: {
72
+ scale: [1, 1.05, 1],
73
+ transition: { duration: 1.5, repeat: Infinity, ease: "easeInOut" }
74
+ }
75
+ },
76
+ impact: {
77
+ hidden: { scale: 1 },
78
+ trigger: {
79
+ scale: [1, 0.95, 1.05, 1],
80
+ transition: { duration: 0.4, ease: "backOut" }
81
+ }
82
+ }
83
+ };
84
+ var DISTANCE = {
85
+ sm: 4,
86
+ md: 12,
87
+ lg: 24,
88
+ xl: 48
89
+ };
90
+ var MOTION = {
91
+ DURATION,
92
+ EASING,
93
+ TRANSITION,
94
+ VARIANTS,
95
+ DISTANCE
96
+ };
97
+
98
+ exports.DISTANCE = DISTANCE;
99
+ exports.DURATION = DURATION;
100
+ exports.EASING = EASING;
101
+ exports.MOTION = MOTION;
102
+ exports.TRANSITION = TRANSITION;
103
+ exports.VARIANTS = VARIANTS;
104
+ //# sourceMappingURL=out.js.map
105
+ //# sourceMappingURL=chunk-L352JRV6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tokens/motion.ts"],"names":[],"mappings":";AAOO,IAAM,WAAW;AAAA,EACtB,OAAO;AAAA;AAAA,EACP,OAAO;AAAA;AAAA,EACP,QAAQ;AAAA;AAAA,EACR,MAAM;AAAA;AACR;AAKO,IAAM,SAAS;AAAA,EACpB,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;AAAA;AAAA,EAC1B,UAAU,CAAC,MAAM,MAAM,MAAM,CAAC;AAAA;AAAA,EAC9B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;AAAA;AAAA,EACrB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;AACrB;AAKO,IAAM,aAAa;AAAA,EACxB,UAAU;AAAA,IACR,UAAU,SAAS;AAAA,IACnB,MAAM,OAAO;AAAA,EACf;AAAA,EACA,UAAU;AAAA,IACR,UAAU,SAAS;AAAA,IACnB,MAAM,OAAO;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,UAAU,SAAS;AAAA,IACnB,MAAM,OAAO;AAAA,EACf;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AACF;AAKO,IAAM,WAAW;AAAA,EACtB,QAAQ;AAAA,IACN,QAAQ,EAAE,SAAS,EAAE;AAAA,IACrB,SAAS,EAAE,SAAS,GAAG,YAAY,EAAE,UAAU,SAAS,QAAQ,MAAM,OAAO,SAAS,EAAE;AAAA,EAC1F;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ,EAAE,SAAS,GAAG,GAAG,GAAG;AAAA,IAC5B,SAAS,EAAE,SAAS,GAAG,GAAG,GAAG,YAAY,EAAE,UAAU,SAAS,QAAQ,MAAM,OAAO,SAAS,EAAE;AAAA,EAChG;AAAA,EACA,SAAS;AAAA,IACP,QAAQ,EAAE,SAAS,GAAG,OAAO,KAAK;AAAA,IAClC,SAAS;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,MACP,YAAY,EAAE,UAAU,SAAS,OAAO,MAAM,OAAO,SAAS;AAAA,IAChE;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,IAChB,QAAQ,EAAE,SAAS,EAAE;AAAA,IACrB,SAAS;AAAA,MACP,SAAS;AAAA,MACT,YAAY;AAAA,QACV,iBAAiB;AAAA,QACjB,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,QAAQ,EAAE,OAAO,EAAE;AAAA,IACnB,SAAS;AAAA,MACP,OAAO,CAAC,GAAG,MAAM,CAAC;AAAA,MAClB,YAAY,EAAE,UAAU,KAAK,QAAQ,UAAU,MAAM,YAAY;AAAA,IACnE;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ,EAAE,OAAO,EAAE;AAAA,IACnB,SAAS;AAAA,MACP,OAAO,CAAC,GAAG,MAAM,MAAM,CAAC;AAAA,MACxB,YAAY,EAAE,UAAU,KAAK,MAAM,UAAU;AAAA,IAC/C;AAAA,EACF;AACF;AAKO,IAAM,WAAW;AAAA,EACtB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEO,IAAM,SAAS;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF","sourcesContent":["/* ============================================================================\n MOTION TOKENS & FRAMER CONFIG\n ============================================================================ */\n\n/**\n * Duration tokens (seconds) for Framer Motion\n */\nexport const DURATION = {\n micro: 0.15, // 150ms\n short: 0.25, // 250ms\n medium: 0.5, // 500ms\n long: 1.0, // 1000ms\n} as const;\n\n/**\n * Easing definitions (cubic-bezier arrays) for Framer Motion\n */\nexport const EASING = {\n standard: [0.16, 1, 0.3, 1], // Smooth, premium feel\n emphasis: [0.34, 1.56, 0.64, 1], // Slight spring/overshoot\n exit: [0.4, 0, 0.2, 1], // Quick, decisive exit\n linear: [0, 0, 1, 1],\n} as const;\n\n/**\n * Standard transitions for Framer Motion\n */\nexport const TRANSITION = {\n standard: {\n duration: DURATION.medium,\n ease: EASING.standard,\n },\n emphasis: {\n duration: DURATION.medium,\n ease: EASING.emphasis,\n },\n quick: {\n duration: DURATION.short,\n ease: EASING.standard,\n },\n spring: {\n type: 'spring',\n stiffness: 200,\n damping: 20,\n },\n} as const;\n\n/**\n * Reusable Variants for Framer Motion\n */\nexport const VARIANTS = {\n fadeIn: {\n hidden: { opacity: 0 },\n visible: { opacity: 1, transition: { duration: DURATION.medium, ease: EASING.standard } },\n },\n fadeUp: {\n hidden: { opacity: 0, y: 12 },\n visible: { opacity: 1, y: 0, transition: { duration: DURATION.medium, ease: EASING.standard } },\n },\n scaleIn: {\n hidden: { opacity: 0, scale: 0.95 },\n visible: {\n opacity: 1,\n scale: 1,\n transition: { duration: DURATION.short, ease: EASING.emphasis },\n },\n },\n staggerContainer: {\n hidden: { opacity: 0 },\n visible: {\n opacity: 1,\n transition: {\n staggerChildren: 0.08,\n delayChildren: 0.1,\n },\n },\n },\n pulse: {\n hidden: { scale: 1 },\n visible: {\n scale: [1, 1.05, 1],\n transition: { duration: 1.5, repeat: Infinity, ease: 'easeInOut' },\n },\n },\n impact: {\n hidden: { scale: 1 },\n trigger: {\n scale: [1, 0.95, 1.05, 1],\n transition: { duration: 0.4, ease: 'backOut' },\n },\n },\n} as const;\n\n/**\n * Layout Tokens\n */\nexport const DISTANCE = {\n sm: 4,\n md: 12,\n lg: 24,\n xl: 48,\n} as const;\n\nexport const MOTION = {\n DURATION,\n EASING,\n TRANSITION,\n VARIANTS,\n DISTANCE,\n} as const;\n"]}
@@ -0,0 +1,502 @@
1
+ 'use strict';
2
+
3
+ var chunkECXBTUH6_cjs = require('./chunk-ECXBTUH6.cjs');
4
+ var chunkVC5LMUVQ_cjs = require('./chunk-VC5LMUVQ.cjs');
5
+ var chunkVM7WFMKI_cjs = require('./chunk-VM7WFMKI.cjs');
6
+ var chunkEM7JHRYW_cjs = require('./chunk-EM7JHRYW.cjs');
7
+ var chunkLJADZITX_cjs = require('./chunk-LJADZITX.cjs');
8
+ var React9 = require('react');
9
+ var clsx9 = require('clsx');
10
+ var lucideReact = require('lucide-react');
11
+ var jsxRuntime = require('react/jsx-runtime');
12
+
13
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
+
15
+ var React9__default = /*#__PURE__*/_interopDefault(React9);
16
+ var clsx9__default = /*#__PURE__*/_interopDefault(clsx9);
17
+
18
+ var ArticleCard = React9.forwardRef(
19
+ ({
20
+ href,
21
+ title,
22
+ excerpt,
23
+ imageUrl,
24
+ imageAlt = "",
25
+ category,
26
+ date,
27
+ readingTime,
28
+ author,
29
+ variant = "vertical",
30
+ className,
31
+ onClick,
32
+ ...props
33
+ }, ref) => {
34
+ const { track } = chunkVC5LMUVQ_cjs.useAnalytics();
35
+ const handleClick = (e) => {
36
+ track("article_click", { url: href, title, category });
37
+ if (onClick) onClick(e);
38
+ };
39
+ return /* @__PURE__ */ jsxRuntime.jsxs(
40
+ chunkLJADZITX_cjs.OutboundLink,
41
+ {
42
+ ref,
43
+ href,
44
+ context: "article-card",
45
+ className: clsx9__default.default(
46
+ "ds-article-card",
47
+ `ds-article-card--${variant}`,
48
+ !imageUrl && "ds-article-card--no-image",
49
+ className
50
+ ),
51
+ onClick: handleClick,
52
+ ...props,
53
+ children: [
54
+ imageUrl ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-article-card__image-wrapper", children: [
55
+ /* @__PURE__ */ jsxRuntime.jsx(
56
+ "img",
57
+ {
58
+ src: imageUrl,
59
+ alt: imageAlt,
60
+ className: "ds-article-card__image",
61
+ loading: "lazy"
62
+ }
63
+ ),
64
+ category && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-article-card__category-badge", children: category })
65
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-article-card__placeholder", children: [
66
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "ds-article-card__placeholder-icon", "aria-hidden": "true" }),
67
+ category && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-article-card__category-badge", children: category })
68
+ ] }),
69
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-article-card__content", children: [
70
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "ds-article-card__title", children: title }),
71
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "ds-article-card__excerpt", children: excerpt }),
72
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-article-card__meta", children: [
73
+ (date || author) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-article-card__meta-primary", children: [
74
+ author && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-article-card__author", children: author }),
75
+ author && date && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-article-card__dot", "aria-hidden": "true", children: "\u2022" }),
76
+ date && /* @__PURE__ */ jsxRuntime.jsx("time", { dateTime: date, className: "ds-article-card__date", children: date })
77
+ ] }),
78
+ readingTime && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-article-card__meta-secondary", children: [
79
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { size: 14, "aria-hidden": "true" }),
80
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
81
+ readingTime,
82
+ " min read"
83
+ ] })
84
+ ] })
85
+ ] }),
86
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-article-card__footer", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ds-article-card__read-more", children: [
87
+ "Read article",
88
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { size: 16, className: "ds-article-card__arrow" })
89
+ ] }) })
90
+ ] })
91
+ ]
92
+ }
93
+ );
94
+ }
95
+ );
96
+ ArticleCard.displayName = "ArticleCard";
97
+ var ArticleLayout = React9.forwardRef(
98
+ ({
99
+ children,
100
+ title,
101
+ author,
102
+ date,
103
+ heroImage,
104
+ sidebar,
105
+ className,
106
+ ...props
107
+ }, ref) => {
108
+ const { track } = chunkVC5LMUVQ_cjs.useAnalytics();
109
+ React9__default.default.useEffect(() => {
110
+ let maxScroll = 0;
111
+ const handleScroll = () => {
112
+ const docHeight = document.documentElement.scrollHeight - window.innerHeight;
113
+ if (docHeight > 0) {
114
+ const scrollPercent = Math.round(window.scrollY / docHeight * 100);
115
+ if (scrollPercent > maxScroll) {
116
+ maxScroll = scrollPercent;
117
+ if (maxScroll === 25) track("article_scroll", { milestone: 25 });
118
+ if (maxScroll === 50) track("article_scroll", { milestone: 50 });
119
+ if (maxScroll === 75) track("article_scroll", { milestone: 75 });
120
+ if (maxScroll === 100) track("article_scroll", { milestone: 100 });
121
+ }
122
+ }
123
+ };
124
+ window.addEventListener("scroll", handleScroll, { passive: true });
125
+ return () => window.removeEventListener("scroll", handleScroll);
126
+ }, [track]);
127
+ return /* @__PURE__ */ jsxRuntime.jsxs(
128
+ "article",
129
+ {
130
+ ref,
131
+ className: clsx9__default.default("ds-article-layout", className),
132
+ ...props,
133
+ children: [
134
+ /* @__PURE__ */ jsxRuntime.jsxs("header", { className: "ds-article-layout__header", children: [
135
+ /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "ds-article-layout__title", children: title }),
136
+ (author || date) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-article-layout__meta", children: [
137
+ author && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-article-layout__author", children: author }),
138
+ author && date && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-article-layout__dot", "aria-hidden": "true", children: "\u2022" }),
139
+ date && /* @__PURE__ */ jsxRuntime.jsx("time", { className: "ds-article-layout__date", children: date })
140
+ ] })
141
+ ] }),
142
+ heroImage && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-article-layout__hero", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: heroImage, alt: "", "aria-hidden": "true" }) }),
143
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx9__default.default(
144
+ "ds-article-layout__body",
145
+ sidebar && "ds-article-layout__body--with-sidebar"
146
+ ), children: [
147
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-article-layout__content ds-prose", children }),
148
+ sidebar && /* @__PURE__ */ jsxRuntime.jsx("aside", { className: "ds-article-layout__sidebar", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-article-layout__sidebar-inner", children: sidebar }) })
149
+ ] })
150
+ ]
151
+ }
152
+ );
153
+ }
154
+ );
155
+ ArticleLayout.displayName = "ArticleLayout";
156
+ var AuthorBio = React9.forwardRef(
157
+ ({
158
+ name,
159
+ role,
160
+ avatar,
161
+ bio,
162
+ links,
163
+ variant = "card",
164
+ className,
165
+ ...props
166
+ }, ref) => {
167
+ const initials = name.split(" ").map((n) => n[0]).join("").slice(0, 2);
168
+ return /* @__PURE__ */ jsxRuntime.jsxs(
169
+ "div",
170
+ {
171
+ ref,
172
+ className: clsx9__default.default("ds-author-bio", `ds-author-bio--${variant}`, className),
173
+ ...props,
174
+ children: [
175
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkVM7WFMKI_cjs.Avatar, { size: variant === "compact" ? "sm" : variant === "longform" ? "lg" : "md", className: "ds-author-bio__avatar", children: [
176
+ avatar && /* @__PURE__ */ jsxRuntime.jsx(chunkVM7WFMKI_cjs.AvatarImage, { src: avatar, alt: name }),
177
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVM7WFMKI_cjs.AvatarFallback, { children: initials })
178
+ ] }),
179
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-author-bio__info", children: [
180
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-author-bio__name", children: name }),
181
+ role && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-author-bio__role", children: role }),
182
+ bio && variant !== "compact" && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "ds-author-bio__bio", children: bio }),
183
+ links && links.length > 0 && variant !== "compact" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-author-bio__links", children: links.map((link, i) => /* @__PURE__ */ jsxRuntime.jsxs(
184
+ chunkLJADZITX_cjs.OutboundLink,
185
+ {
186
+ href: link.href,
187
+ context: "author-bio-link",
188
+ className: "ds-author-bio__link",
189
+ children: [
190
+ link.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-author-bio__link-icon", children: link.icon }),
191
+ link.label
192
+ ]
193
+ },
194
+ i
195
+ )) })
196
+ ] })
197
+ ]
198
+ }
199
+ );
200
+ }
201
+ );
202
+ AuthorBio.displayName = "AuthorBio";
203
+ var TableOfContents = React9.forwardRef(
204
+ ({
205
+ items,
206
+ activeId: controlledActiveId,
207
+ position = "sidebar",
208
+ label,
209
+ onItemClick,
210
+ className,
211
+ ...props
212
+ }, ref) => {
213
+ const t = chunkECXBTUH6_cjs.useMessage();
214
+ const defaultLabel = t({ id: "ds.toc.label", defaultMessage: "On this page" });
215
+ const finalLabel = label || defaultLabel;
216
+ const [observedActiveId, setObservedActiveId] = React9.useState("");
217
+ const activeId = controlledActiveId ?? observedActiveId;
218
+ React9.useEffect(() => {
219
+ if (controlledActiveId !== void 0) return;
220
+ if (items.length === 0) return;
221
+ const handleScroll = () => {
222
+ const headingElements = items.map((item) => ({
223
+ id: item.id,
224
+ el: document.getElementById(item.id)
225
+ })).filter((h) => !!h.el);
226
+ if (headingElements.length === 0) return;
227
+ const topOffset = 120;
228
+ const firstBelowIndex = headingElements.findIndex((h) => {
229
+ const rect = h.el.getBoundingClientRect();
230
+ return rect.top > topOffset;
231
+ });
232
+ let newActiveId = "";
233
+ if (firstBelowIndex === -1) {
234
+ newActiveId = headingElements[headingElements.length - 1].id;
235
+ } else if (firstBelowIndex === 0) {
236
+ newActiveId = "";
237
+ } else {
238
+ newActiveId = headingElements[firstBelowIndex - 1].id;
239
+ }
240
+ setObservedActiveId(newActiveId);
241
+ };
242
+ window.addEventListener("scroll", handleScroll, { passive: true });
243
+ handleScroll();
244
+ return () => window.removeEventListener("scroll", handleScroll);
245
+ }, [items, controlledActiveId]);
246
+ const handleClick = (id) => {
247
+ const el = document.getElementById(id);
248
+ if (el) {
249
+ el.scrollIntoView({ behavior: "smooth", block: "start" });
250
+ }
251
+ if (onItemClick) onItemClick(id);
252
+ };
253
+ if (items.length === 0) return null;
254
+ return /* @__PURE__ */ jsxRuntime.jsxs(
255
+ "nav",
256
+ {
257
+ ref,
258
+ className: clsx9__default.default("ds-toc", `ds-toc--${position}`, className),
259
+ "aria-label": finalLabel,
260
+ ...props,
261
+ children: [
262
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-toc__label", children: finalLabel }),
263
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "ds-toc__list", children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "ds-toc__item", style: { paddingLeft: `${(item.level - 2) * 12}px` }, children: /* @__PURE__ */ jsxRuntime.jsx(
264
+ "button",
265
+ {
266
+ type: "button",
267
+ className: clsx9__default.default(
268
+ "ds-toc__link",
269
+ activeId === item.id && "ds-toc__link--active"
270
+ ),
271
+ onClick: () => handleClick(item.id),
272
+ children: item.title
273
+ }
274
+ ) }, item.id)) })
275
+ ]
276
+ }
277
+ );
278
+ }
279
+ );
280
+ TableOfContents.displayName = "TableOfContents";
281
+ var RelatedContent = React9.forwardRef(
282
+ ({
283
+ eyebrow,
284
+ title = "Related Articles",
285
+ items,
286
+ maxVisible,
287
+ className,
288
+ ...props
289
+ }, ref) => {
290
+ const visibleItems = maxVisible ? items.slice(0, maxVisible) : items;
291
+ if (visibleItems.length === 0) return null;
292
+ return /* @__PURE__ */ jsxRuntime.jsxs(
293
+ chunkEM7JHRYW_cjs.SectionShell,
294
+ {
295
+ ref,
296
+ className: clsx9__default.default("ds-related-content", className),
297
+ background: "muted",
298
+ ...props,
299
+ children: [
300
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEM7JHRYW_cjs.SectionHeader, { eyebrow, title }),
301
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-related-content__grid", children: visibleItems.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx(ArticleCard, { ...item }, i)) })
302
+ ]
303
+ }
304
+ );
305
+ }
306
+ );
307
+ RelatedContent.displayName = "RelatedContent";
308
+ var LongFormLayout = React9__default.default.forwardRef(
309
+ ({ children, sidebar, className, ...props }, ref) => {
310
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: clsx9__default.default("ds-longform-layout", className), ...props, children: [
311
+ /* @__PURE__ */ jsxRuntime.jsx("article", { className: "ds-longform-layout__main", children }),
312
+ sidebar && /* @__PURE__ */ jsxRuntime.jsx("aside", { className: "ds-longform-layout__sidebar", children: sidebar })
313
+ ] });
314
+ }
315
+ );
316
+ LongFormLayout.displayName = "LongFormLayout";
317
+ var InsightCallout = React9__default.default.forwardRef(
318
+ ({ children, icon, title, className, ...props }, ref) => {
319
+ return /* @__PURE__ */ jsxRuntime.jsxs("aside", { ref, className: clsx9__default.default("ds-insight-callout", className), ...props, children: [
320
+ icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-insight-callout__icon", children: icon }),
321
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-insight-callout__content", children: [
322
+ title && /* @__PURE__ */ jsxRuntime.jsx("h5", { className: "ds-insight-callout__title", children: title }),
323
+ children
324
+ ] })
325
+ ] });
326
+ }
327
+ );
328
+ InsightCallout.displayName = "InsightCallout";
329
+ var DataHighlight = React9__default.default.forwardRef(
330
+ ({ stat, label, children, className, ...props }, ref) => {
331
+ return /* @__PURE__ */ jsxRuntime.jsxs("figure", { ref, className: clsx9__default.default("ds-data-highlight", className), ...props, children: [
332
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-data-highlight__stat-group", children: [
333
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-data-highlight__stat", children: stat }),
334
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-data-highlight__label", children: label })
335
+ ] }),
336
+ children && /* @__PURE__ */ jsxRuntime.jsx("figcaption", { className: "ds-data-highlight__caption", children })
337
+ ] });
338
+ }
339
+ );
340
+ DataHighlight.displayName = "DataHighlight";
341
+ var ReadingProgress = React9__default.default.forwardRef(
342
+ ({ targetRef, className, ...props }, ref) => {
343
+ const [progress, setProgress] = React9.useState(0);
344
+ const frameRef = React9.useRef(null);
345
+ React9.useEffect(() => {
346
+ const handleScroll = () => {
347
+ if (frameRef.current) cancelAnimationFrame(frameRef.current);
348
+ frameRef.current = requestAnimationFrame(() => {
349
+ let percentage = 0;
350
+ if (targetRef && targetRef.current) {
351
+ const el = targetRef.current;
352
+ const rect = el.getBoundingClientRect();
353
+ const viewportHeight = window.innerHeight;
354
+ if (rect.top > viewportHeight) {
355
+ percentage = 0;
356
+ } else if (rect.bottom < 0) {
357
+ percentage = 100;
358
+ } else {
359
+ const scrollableDistance = rect.height - viewportHeight;
360
+ if (scrollableDistance <= 0) {
361
+ percentage = 100;
362
+ } else {
363
+ const scrolled = viewportHeight - rect.top;
364
+ percentage = Math.max(0, Math.min(100, scrolled / scrollableDistance * 100));
365
+ }
366
+ }
367
+ } else {
368
+ const scrollPosition = window.scrollY;
369
+ const scrollHeight = document.body.scrollHeight - window.innerHeight;
370
+ percentage = scrollHeight > 0 ? scrollPosition / scrollHeight * 100 : 0;
371
+ percentage = Math.max(0, Math.min(100, percentage));
372
+ }
373
+ setProgress(percentage);
374
+ });
375
+ };
376
+ window.addEventListener("scroll", handleScroll, { passive: true });
377
+ window.addEventListener("resize", handleScroll, { passive: true });
378
+ handleScroll();
379
+ return () => {
380
+ if (frameRef.current) cancelAnimationFrame(frameRef.current);
381
+ window.removeEventListener("scroll", handleScroll);
382
+ window.removeEventListener("resize", handleScroll);
383
+ };
384
+ }, [targetRef]);
385
+ return /* @__PURE__ */ jsxRuntime.jsx(
386
+ "div",
387
+ {
388
+ ref,
389
+ className: clsx9__default.default("ds-reading-progress", className),
390
+ ...props,
391
+ children: /* @__PURE__ */ jsxRuntime.jsx(
392
+ "div",
393
+ {
394
+ className: "ds-reading-progress__bar",
395
+ style: { transform: `scaleX(${progress / 100})` }
396
+ }
397
+ )
398
+ }
399
+ );
400
+ }
401
+ );
402
+ ReadingProgress.displayName = "ReadingProgress";
403
+ var VersionedUpgradeAlert = React9__default.default.forwardRef(
404
+ ({ seriesName, viewedYear, latestYear, latestUrl, deltaSummary, className, ...props }, ref) => {
405
+ const [dismissed, setDismissed] = React9.useState(false);
406
+ if (dismissed) return null;
407
+ return /* @__PURE__ */ jsxRuntime.jsxs(
408
+ "div",
409
+ {
410
+ ref,
411
+ className: clsx9__default.default("ds-versioned-alert", className),
412
+ role: "alert",
413
+ ...props,
414
+ children: [
415
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-versioned-alert__content", children: [
416
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-versioned-alert__icon", children: "\u26A0\uFE0F" }),
417
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-versioned-alert__text", children: [
418
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Outdated Edition:" }),
419
+ " You are viewing the ",
420
+ viewedYear,
421
+ " edition of ",
422
+ seriesName,
423
+ ". The ",
424
+ /* @__PURE__ */ jsxRuntime.jsxs("strong", { children: [
425
+ latestYear,
426
+ " edition"
427
+ ] }),
428
+ " is now available.",
429
+ deltaSummary && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ds-versioned-alert__delta", children: [
430
+ " ",
431
+ deltaSummary
432
+ ] })
433
+ ] })
434
+ ] }),
435
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-versioned-alert__actions", children: [
436
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkLJADZITX_cjs.OutboundLink, { href: latestUrl, context: "versioned-alert-view-latest", className: "ds-versioned-alert__button ds-button ds-button--primary ds-button--sm", openInNewTab: false, children: [
437
+ "View ",
438
+ latestYear,
439
+ " Edition"
440
+ ] }),
441
+ /* @__PURE__ */ jsxRuntime.jsx(
442
+ "button",
443
+ {
444
+ className: "ds-versioned-alert__close",
445
+ onClick: () => setDismissed(true),
446
+ "aria-label": "Dismiss alert",
447
+ children: "\xD7"
448
+ }
449
+ )
450
+ ] })
451
+ ]
452
+ }
453
+ );
454
+ }
455
+ );
456
+ VersionedUpgradeAlert.displayName = "VersionedUpgradeAlert";
457
+ var VersionedSeriesNavigator = React9__default.default.forwardRef(
458
+ ({ seriesName, hubUrl, editions, className, ...props }, ref) => {
459
+ const sortedEditions = [...editions].sort((a, b) => a.year - b.year);
460
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: clsx9__default.default("ds-versioned-navigator", className), ...props, children: [
461
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-versioned-navigator__header", children: [
462
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-versioned-navigator__label", children: "Series" }),
463
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkLJADZITX_cjs.OutboundLink, { href: hubUrl, context: "versioned-navigator-hub", className: "ds-versioned-navigator__title", openInNewTab: false, children: [
464
+ seriesName,
465
+ " Hub"
466
+ ] })
467
+ ] }),
468
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-versioned-navigator__timeline", children: sortedEditions.map((edition, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React9__default.default.Fragment, { children: [
469
+ idx > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-versioned-navigator__connector" }),
470
+ /* @__PURE__ */ jsxRuntime.jsx(
471
+ chunkLJADZITX_cjs.OutboundLink,
472
+ {
473
+ href: edition.url,
474
+ context: "versioned-navigator-edition",
475
+ className: clsx9__default.default(
476
+ "ds-versioned-navigator__node",
477
+ edition.isCurrent && "ds-versioned-navigator__node--active"
478
+ ),
479
+ "aria-current": edition.isCurrent ? "page" : void 0,
480
+ openInNewTab: false,
481
+ children: edition.year
482
+ }
483
+ )
484
+ ] }, edition.year)) })
485
+ ] });
486
+ }
487
+ );
488
+ VersionedSeriesNavigator.displayName = "VersionedSeriesNavigator";
489
+
490
+ exports.ArticleCard = ArticleCard;
491
+ exports.ArticleLayout = ArticleLayout;
492
+ exports.AuthorBio = AuthorBio;
493
+ exports.DataHighlight = DataHighlight;
494
+ exports.InsightCallout = InsightCallout;
495
+ exports.LongFormLayout = LongFormLayout;
496
+ exports.ReadingProgress = ReadingProgress;
497
+ exports.RelatedContent = RelatedContent;
498
+ exports.TableOfContents = TableOfContents;
499
+ exports.VersionedSeriesNavigator = VersionedSeriesNavigator;
500
+ exports.VersionedUpgradeAlert = VersionedUpgradeAlert;
501
+ //# sourceMappingURL=out.js.map
502
+ //# sourceMappingURL=chunk-LGNMFBLF.cjs.map