@discourser/design-system 0.15.1 → 0.17.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 (179) hide show
  1. package/dist/{chunk-UNWXE6UB.cjs → chunk-2P7Z5PVP.cjs} +817 -16
  2. package/dist/chunk-2P7Z5PVP.cjs.map +1 -0
  3. package/dist/{chunk-ABC7N32K.cjs → chunk-PFWU7QSM.cjs} +464 -8
  4. package/dist/chunk-PFWU7QSM.cjs.map +1 -0
  5. package/dist/{chunk-GD6Q2FUE.js → chunk-QC7LGFM3.js} +808 -18
  6. package/dist/chunk-QC7LGFM3.js.map +1 -0
  7. package/dist/{chunk-SBKRSXSZ.js → chunk-SNUJBT5R.js} +464 -8
  8. package/dist/chunk-SNUJBT5R.js.map +1 -0
  9. package/dist/components/Accordion.figma.d.ts +2 -0
  10. package/dist/components/Accordion.figma.d.ts.map +1 -0
  11. package/dist/components/Breadcrumb.d.ts +2 -0
  12. package/dist/components/Breadcrumb.d.ts.map +1 -1
  13. package/dist/components/Breadcrumb.figma.d.ts +2 -0
  14. package/dist/components/Breadcrumb.figma.d.ts.map +1 -0
  15. package/dist/components/ContentCard/ContentCard.d.ts +13 -0
  16. package/dist/components/ContentCard/ContentCard.d.ts.map +1 -0
  17. package/dist/components/ContentCard/ContentCard.figma.d.ts +2 -0
  18. package/dist/components/ContentCard/ContentCard.figma.d.ts.map +1 -0
  19. package/dist/components/ContentCard/index.d.ts +2 -0
  20. package/dist/components/ContentCard/index.d.ts.map +1 -0
  21. package/dist/components/{Heading.d.ts → Header.d.ts} +3 -3
  22. package/dist/components/Header.d.ts.map +1 -0
  23. package/dist/components/Header.figma.d.ts +2 -0
  24. package/dist/components/Header.figma.d.ts.map +1 -0
  25. package/dist/components/Icons/AccountIcon.d.ts +6 -0
  26. package/dist/components/Icons/AccountIcon.d.ts.map +1 -0
  27. package/dist/components/Icons/ChevronUpIcon.d.ts +6 -0
  28. package/dist/components/Icons/ChevronUpIcon.d.ts.map +1 -0
  29. package/dist/components/Icons/ClockIcon.d.ts.map +1 -1
  30. package/dist/components/Icons/DashboardIcon.d.ts +6 -0
  31. package/dist/components/Icons/DashboardIcon.d.ts.map +1 -0
  32. package/dist/components/Icons/DiscourserLogo.d.ts +6 -0
  33. package/dist/components/Icons/DiscourserLogo.d.ts.map +1 -0
  34. package/dist/components/Icons/DiscourserLogo.figma.d.ts +2 -0
  35. package/dist/components/Icons/DiscourserLogo.figma.d.ts.map +1 -0
  36. package/dist/components/Icons/GripDotsVerticalIcon.d.ts.map +1 -1
  37. package/dist/components/Icons/HelpIcon.d.ts +6 -0
  38. package/dist/components/Icons/HelpIcon.d.ts.map +1 -0
  39. package/dist/components/Icons/NotebookIcon.d.ts +6 -0
  40. package/dist/components/Icons/NotebookIcon.d.ts.map +1 -0
  41. package/dist/components/Icons/RightArrowIcon.d.ts +6 -0
  42. package/dist/components/Icons/RightArrowIcon.d.ts.map +1 -0
  43. package/dist/components/Icons/ScenarioIcon.d.ts +6 -0
  44. package/dist/components/Icons/ScenarioIcon.d.ts.map +1 -0
  45. package/dist/components/Icons/index.d.ts +9 -1
  46. package/dist/components/Icons/index.d.ts.map +1 -1
  47. package/dist/components/NavigationMenu/NavigationMenu.d.ts +3 -0
  48. package/dist/components/NavigationMenu/NavigationMenu.d.ts.map +1 -0
  49. package/dist/components/NavigationMenu/NavigationMenu.figma.d.ts +2 -0
  50. package/dist/components/NavigationMenu/NavigationMenu.figma.d.ts.map +1 -0
  51. package/dist/components/NavigationMenu/index.d.ts +3 -0
  52. package/dist/components/NavigationMenu/index.d.ts.map +1 -0
  53. package/dist/components/NavigationMenu/types.d.ts +25 -0
  54. package/dist/components/NavigationMenu/types.d.ts.map +1 -0
  55. package/dist/components/QuickStartPage/QuickStartPage.d.ts +21 -0
  56. package/dist/components/QuickStartPage/QuickStartPage.d.ts.map +1 -0
  57. package/dist/components/QuickStartPage/index.d.ts +3 -0
  58. package/dist/components/QuickStartPage/index.d.ts.map +1 -0
  59. package/dist/components/ScenarioQueue/ScenarioQueue.figma.d.ts +2 -0
  60. package/dist/components/ScenarioQueue/ScenarioQueue.figma.d.ts.map +1 -0
  61. package/dist/components/ScenarioSettings/ScenarioSettings.d.ts +3 -0
  62. package/dist/components/ScenarioSettings/ScenarioSettings.d.ts.map +1 -0
  63. package/dist/components/ScenarioSettings/ScenarioSettings.figma.d.ts +2 -0
  64. package/dist/components/ScenarioSettings/ScenarioSettings.figma.d.ts.map +1 -0
  65. package/dist/components/ScenarioSettings/index.d.ts +3 -0
  66. package/dist/components/ScenarioSettings/index.d.ts.map +1 -0
  67. package/dist/components/ScenarioSettings/types.d.ts +54 -0
  68. package/dist/components/ScenarioSettings/types.d.ts.map +1 -0
  69. package/dist/components/index.cjs +86 -42
  70. package/dist/components/index.d.ts +14 -3
  71. package/dist/components/index.d.ts.map +1 -1
  72. package/dist/components/index.js +1 -1
  73. package/dist/figma-codex/config.d.ts +8 -0
  74. package/dist/figma-codex/config.d.ts.map +1 -0
  75. package/dist/figma-codex/fixtures/CompoundComponent/CompoundComponent.d.ts +6 -0
  76. package/dist/figma-codex/fixtures/CompoundComponent/CompoundComponent.d.ts.map +1 -0
  77. package/dist/figma-codex/fixtures/CompoundComponent/index.d.ts +2 -0
  78. package/dist/figma-codex/fixtures/CompoundComponent/index.d.ts.map +1 -0
  79. package/dist/figma-codex/fixtures/CompoundComponent.figma.d.ts +2 -0
  80. package/dist/figma-codex/fixtures/CompoundComponent.figma.d.ts.map +1 -0
  81. package/dist/figma-codex/fixtures/SimpleComponent.d.ts +8 -0
  82. package/dist/figma-codex/fixtures/SimpleComponent.d.ts.map +1 -0
  83. package/dist/figma-codex/fixtures/SimpleComponent.figma.d.ts +2 -0
  84. package/dist/figma-codex/fixtures/SimpleComponent.figma.d.ts.map +1 -0
  85. package/dist/figma-codex/generate.d.ts +6 -0
  86. package/dist/figma-codex/generate.d.ts.map +1 -0
  87. package/dist/figma-codex/parser.d.ts +18 -0
  88. package/dist/figma-codex/parser.d.ts.map +1 -0
  89. package/dist/figma-codex/resolver.d.ts +5 -0
  90. package/dist/figma-codex/resolver.d.ts.map +1 -0
  91. package/dist/figma-codex/schema.d.ts +60 -0
  92. package/dist/figma-codex/schema.d.ts.map +1 -0
  93. package/dist/figma-codex/writer.d.ts +8 -0
  94. package/dist/figma-codex/writer.d.ts.map +1 -0
  95. package/dist/figma-codex.json +373 -0
  96. package/dist/index.cjs +90 -46
  97. package/dist/index.js +2 -2
  98. package/dist/preset/index.cjs +2 -2
  99. package/dist/preset/index.d.ts.map +1 -1
  100. package/dist/preset/index.js +1 -1
  101. package/dist/preset/recipes/accordion.d.ts.map +1 -1
  102. package/dist/preset/recipes/breadcrumb.d.ts.map +1 -1
  103. package/dist/preset/recipes/content-card.d.ts +2 -0
  104. package/dist/preset/recipes/content-card.d.ts.map +1 -0
  105. package/dist/preset/recipes/index.d.ts +4 -0
  106. package/dist/preset/recipes/index.d.ts.map +1 -1
  107. package/dist/preset/recipes/navigation-menu.d.ts +2 -0
  108. package/dist/preset/recipes/navigation-menu.d.ts.map +1 -0
  109. package/dist/preset/recipes/scenario-settings.d.ts +2 -0
  110. package/dist/preset/recipes/scenario-settings.d.ts.map +1 -0
  111. package/package.json +26 -2
  112. package/src/components/Accordion.figma.tsx +20 -0
  113. package/src/components/Breadcrumb.figma.tsx +18 -0
  114. package/src/components/Breadcrumb.tsx +33 -15
  115. package/src/components/ContentCard/ContentCard.figma.tsx +21 -0
  116. package/src/components/ContentCard/ContentCard.test.tsx +197 -0
  117. package/src/components/ContentCard/ContentCard.tsx +19 -0
  118. package/src/components/ContentCard/index.ts +13 -0
  119. package/src/components/Header.figma.tsx +25 -0
  120. package/src/components/{Heading.tsx → Header.tsx} +2 -2
  121. package/src/components/Icons/AccountIcon.tsx +26 -0
  122. package/src/components/Icons/ChevronUpIcon.tsx +24 -0
  123. package/src/components/Icons/ClockIcon.tsx +6 -6
  124. package/src/components/Icons/DashboardIcon.tsx +47 -0
  125. package/src/components/Icons/Discourser-Logo.svg +14 -0
  126. package/src/components/Icons/DiscourserLogo.figma.tsx +10 -0
  127. package/src/components/Icons/DiscourserLogo.tsx +72 -0
  128. package/src/components/Icons/GripDotsVerticalIcon.tsx +6 -6
  129. package/src/components/Icons/HelpIcon.tsx +26 -0
  130. package/src/components/Icons/NotebookIcon.tsx +26 -0
  131. package/src/components/Icons/RightArrowIcon.tsx +23 -0
  132. package/src/components/Icons/ScenarioIcon.tsx +26 -0
  133. package/src/components/Icons/index.ts +13 -2
  134. package/src/components/NavigationMenu/NavigationMenu.figma.tsx +26 -0
  135. package/src/components/NavigationMenu/NavigationMenu.test.tsx +524 -0
  136. package/src/components/NavigationMenu/NavigationMenu.tsx +102 -0
  137. package/src/components/NavigationMenu/index.ts +2 -0
  138. package/src/components/NavigationMenu/types.ts +27 -0
  139. package/src/components/QuickStartPage/QuickStartPage.tsx +627 -0
  140. package/src/components/QuickStartPage/index.ts +2 -0
  141. package/src/components/ScenarioQueue/ScenarioQueue.figma.tsx +37 -0
  142. package/src/components/ScenarioSettings/ScenarioSettings.figma.tsx +12 -0
  143. package/src/components/ScenarioSettings/ScenarioSettings.test.tsx +406 -0
  144. package/src/components/ScenarioSettings/ScenarioSettings.tsx +386 -0
  145. package/src/components/ScenarioSettings/index.ts +11 -0
  146. package/src/components/ScenarioSettings/types.ts +70 -0
  147. package/src/components/__tests__/Breadcrumb.test.tsx +94 -0
  148. package/src/components/index.ts +38 -4
  149. package/src/figma-codex/README.md +186 -0
  150. package/src/figma-codex/__tests__/config.test.ts +63 -0
  151. package/src/figma-codex/__tests__/generate.test.ts +78 -0
  152. package/src/figma-codex/__tests__/parser.test.ts +138 -0
  153. package/src/figma-codex/__tests__/resolver.test.ts +196 -0
  154. package/src/figma-codex/__tests__/writer.test.ts +111 -0
  155. package/src/figma-codex/config.ts +42 -0
  156. package/src/figma-codex/fixtures/CompoundComponent/CompoundComponent.tsx +17 -0
  157. package/src/figma-codex/fixtures/CompoundComponent/index.ts +1 -0
  158. package/src/figma-codex/fixtures/CompoundComponent.figma.tsx +14 -0
  159. package/src/figma-codex/fixtures/SimpleComponent.figma.tsx +10 -0
  160. package/src/figma-codex/fixtures/SimpleComponent.tsx +10 -0
  161. package/src/figma-codex/fixtures/expected-output.json +78 -0
  162. package/src/figma-codex/generate.ts +106 -0
  163. package/src/figma-codex/parser.ts +138 -0
  164. package/src/figma-codex/resolver.ts +280 -0
  165. package/src/figma-codex/schema.ts +79 -0
  166. package/src/figma-codex/writer.ts +54 -0
  167. package/src/preset/index.ts +6 -0
  168. package/src/preset/recipes/accordion.ts +8 -5
  169. package/src/preset/recipes/breadcrumb.ts +34 -2
  170. package/src/preset/recipes/content-card.ts +124 -0
  171. package/src/preset/recipes/index.ts +4 -0
  172. package/src/preset/recipes/navigation-menu.ts +97 -0
  173. package/src/preset/recipes/scenario-settings.ts +182 -0
  174. package/src/test/setup.ts +12 -9
  175. package/dist/chunk-ABC7N32K.cjs.map +0 -1
  176. package/dist/chunk-GD6Q2FUE.js.map +0 -1
  177. package/dist/chunk-SBKRSXSZ.js.map +0 -1
  178. package/dist/chunk-UNWXE6UB.cjs.map +0 -1
  179. package/dist/components/Heading.d.ts.map +0 -1
@@ -1390,13 +1390,16 @@ var accordion = defineSlotRecipe({
1390
1390
  overflow: "hidden",
1391
1391
  borderRadius: "var(--accordion-radius)",
1392
1392
  _open: {
1393
- animationName: "expand-height, fade-in",
1394
- animationDuration: "normal"
1393
+ animationName: "slide-down",
1394
+ animationDuration: "250ms",
1395
+ animationTimingFunction: "ease-out",
1396
+ animationFillMode: "forwards"
1395
1397
  },
1396
1398
  _closed: {
1397
- animationName: "collapse-height, fade-out",
1398
- animationDuration: "normal",
1399
- display: "none"
1399
+ animationName: "slide-up",
1400
+ animationDuration: "200ms",
1401
+ animationTimingFunction: "ease-out",
1402
+ animationFillMode: "forwards"
1400
1403
  }
1401
1404
  }
1402
1405
  },
@@ -1856,6 +1859,38 @@ var breadcrumb = defineSlotRecipe({
1856
1859
  _hover: { color: "fg.default" },
1857
1860
  _currentPage: { color: "fg.default" }
1858
1861
  }
1862
+ },
1863
+ discourser: {
1864
+ list: {
1865
+ gap: "2.5",
1866
+ alignItems: "center"
1867
+ },
1868
+ item: {
1869
+ bg: "transparent",
1870
+ px: "1.5",
1871
+ py: "1.5",
1872
+ borderRadius: "l2",
1873
+ h: "9",
1874
+ display: "inline-flex",
1875
+ alignItems: "center",
1876
+ _last: {
1877
+ color: "fg.default",
1878
+ fontWeight: "medium",
1879
+ fontSize: "md",
1880
+ fontFeatureSettings: "'liga' 0, 'calt' 0"
1881
+ }
1882
+ },
1883
+ link: {
1884
+ color: "fg.subtle",
1885
+ fontWeight: "medium",
1886
+ fontSize: "lg",
1887
+ _hover: { color: "fg.default" },
1888
+ _currentPage: { color: "fg.default", fontWeight: "semibold" }
1889
+ },
1890
+ separator: {
1891
+ color: "primary.7",
1892
+ _icon: { width: "27px", height: "27px" }
1893
+ }
1859
1894
  }
1860
1895
  },
1861
1896
  size: {
@@ -1870,6 +1905,115 @@ var breadcrumb = defineSlotRecipe({
1870
1905
  size: "md"
1871
1906
  }
1872
1907
  });
1908
+ var navigationMenu = defineSlotRecipe({
1909
+ className: "navigation-menu",
1910
+ slots: [
1911
+ "root",
1912
+ "section",
1913
+ "sectionTrigger",
1914
+ "sectionIcon",
1915
+ "sectionTitle",
1916
+ "sectionIndicator",
1917
+ "sectionContent",
1918
+ "itemList",
1919
+ "item",
1920
+ "itemLink"
1921
+ ],
1922
+ base: {
1923
+ // ── Token mappings verified against Figma MCP output (node 38:4046) ──
1924
+ // Figma file: GaHmFfmvO4loUzuZS4TgEz
1925
+ root: {
1926
+ bg: "surface.dim",
1927
+ // Figma: #f5f1eb warm sage sidebar bg
1928
+ width: "full",
1929
+ py: "2"
1930
+ },
1931
+ section: {
1932
+ borderBottom: "none"
1933
+ },
1934
+ sectionTrigger: {
1935
+ // Layout-only props — no conflicts with accordion recipe here
1936
+ display: "flex",
1937
+ alignItems: "center",
1938
+ justifyContent: "space-between",
1939
+ width: "full",
1940
+ cursor: "pointer",
1941
+ // NOTE: fontSize, fontWeight, borderRadius, p, bg, color are applied via
1942
+ // css={{}} on Accordion.ItemTrigger in the component (utilities layer > recipes layer).
1943
+ // See ScenarioCard.tsx for the same pattern.
1944
+ _hover: {
1945
+ bg: "surface.container.high"
1946
+ }
1947
+ },
1948
+ sectionIcon: {
1949
+ flexShrink: 0,
1950
+ display: "flex",
1951
+ alignItems: "center",
1952
+ justifyContent: "center",
1953
+ width: "6",
1954
+ // 24px container
1955
+ height: "6",
1956
+ color: "primary.50",
1957
+ // olive green icons — Figma: #518500
1958
+ fontSize: "20px"
1959
+ // icon SVGs use width/height: 1em → sets 20×20px
1960
+ },
1961
+ sectionTitle: {
1962
+ flex: 1,
1963
+ textAlign: "start"
1964
+ // Font styles inherited from trigger's css={{}} utility overrides
1965
+ },
1966
+ sectionIndicator: {
1967
+ // color set via css={{}} on Accordion.ItemIndicator (utilities > recipes)
1968
+ _open: {
1969
+ rotate: "180deg"
1970
+ }
1971
+ },
1972
+ sectionContent: {
1973
+ overflow: "hidden",
1974
+ borderRadius: "0"
1975
+ // override accordion's default border-radius
1976
+ },
1977
+ itemList: {
1978
+ display: "flex",
1979
+ flexDirection: "column",
1980
+ gap: "0.5",
1981
+ pt: "1",
1982
+ pb: "2"
1983
+ },
1984
+ item: {},
1985
+ itemLink: {
1986
+ display: "block",
1987
+ py: "2",
1988
+ // Figma: 5px top/bottom
1989
+ pl: "8",
1990
+ // Figma: 30px left indent → spacing.8 = 32px
1991
+ pr: "2",
1992
+ // Figma: 5px right padding
1993
+ borderRadius: "l3",
1994
+ // Figma: 8px
1995
+ textDecoration: "none",
1996
+ fontSize: "md",
1997
+ // Figma: 16px
1998
+ fontWeight: "norma",
1999
+ // Figma: Inter Medium 500
2000
+ lineHeight: "1",
2001
+ color: "onSurface",
2002
+ // Figma: #363636
2003
+ cursor: "pointer",
2004
+ _hover: {
2005
+ bg: "surface.container.high"
2006
+ // Figma: #ebe7e1
2007
+ },
2008
+ // Figma active state: surface.container.low (NOT primary.container)
2009
+ '&[data-active="true"]': {
2010
+ bg: "surface.container.low",
2011
+ // Figma: #f3f4e9 → surfaceContainerLow
2012
+ color: "onSurface"
2013
+ }
2014
+ }
2015
+ }
2016
+ });
1873
2017
  var switchRecipe = defineSlotRecipe({
1874
2018
  className: "switchComponent",
1875
2019
  jsx: ["Switch", /Switch\.+/],
@@ -3527,6 +3671,128 @@ var stepper = defineSlotRecipe({
3527
3671
  colorPalette: "primary"
3528
3672
  }
3529
3673
  });
3674
+ var contentCard = defineSlotRecipe({
3675
+ className: "content-card",
3676
+ slots: [
3677
+ "root",
3678
+ "header",
3679
+ "title",
3680
+ "badgeBar",
3681
+ "body",
3682
+ "section",
3683
+ "sectionTitle",
3684
+ "separator",
3685
+ "list",
3686
+ "listItem"
3687
+ ],
3688
+ base: {
3689
+ root: {
3690
+ bg: "neutral.1",
3691
+ borderRadius: "xl",
3692
+ borderWidth: "2px",
3693
+ borderColor: "border.default",
3694
+ display: "flex",
3695
+ flexDirection: "column",
3696
+ w: "full"
3697
+ },
3698
+ header: {
3699
+ display: "flex",
3700
+ flexDirection: "column",
3701
+ gap: "4"
3702
+ },
3703
+ title: {
3704
+ fontFamily: "heading",
3705
+ fontWeight: "semibold",
3706
+ fontSize: "2xl",
3707
+ color: "fg.default",
3708
+ fontVariationSettings: "'SOFT' 0, 'WONK' 1"
3709
+ },
3710
+ badgeBar: {
3711
+ display: "flex",
3712
+ flexWrap: "wrap",
3713
+ gap: "2.5",
3714
+ px: "2.5",
3715
+ py: "1"
3716
+ },
3717
+ body: {
3718
+ display: "flex",
3719
+ flexDirection: "column",
3720
+ gap: "9",
3721
+ fontSize: "xl",
3722
+ lineHeight: "1.4",
3723
+ color: "fg.default"
3724
+ },
3725
+ section: {
3726
+ display: "flex",
3727
+ flexDirection: "column",
3728
+ gap: "5"
3729
+ },
3730
+ sectionTitle: {
3731
+ fontFamily: "heading",
3732
+ fontWeight: "semibold",
3733
+ fontSize: "2xl",
3734
+ color: "fg.default",
3735
+ fontVariationSettings: "'SOFT' 0, 'WONK' 1",
3736
+ px: "2.5",
3737
+ py: "2.5"
3738
+ },
3739
+ separator: {
3740
+ borderTopWidth: "1px",
3741
+ borderColor: "border.default",
3742
+ w: "full",
3743
+ my: "4"
3744
+ },
3745
+ list: {
3746
+ display: "flex",
3747
+ flexDirection: "column",
3748
+ gap: "5",
3749
+ listStyleType: "disc",
3750
+ ps: "8"
3751
+ },
3752
+ listItem: {
3753
+ fontSize: "xl",
3754
+ lineHeight: "1.4",
3755
+ color: "fg.default"
3756
+ }
3757
+ },
3758
+ variants: {
3759
+ size: {
3760
+ sm: {
3761
+ root: { maxW: "xl", pt: "6", px: "6", pb: "6" },
3762
+ title: { fontSize: "xl" },
3763
+ body: { fontSize: "lg" },
3764
+ listItem: { fontSize: "lg" }
3765
+ },
3766
+ md: {
3767
+ root: { maxW: "2xl", pt: "10", px: "10", pb: "10", gap: "6" },
3768
+ title: { fontSize: "2xl" },
3769
+ body: { fontSize: "xl" },
3770
+ listItem: { fontSize: "xl" }
3771
+ },
3772
+ lg: {
3773
+ root: { maxW: "4xl", pt: "12", px: "12", pb: "12", gap: "8" },
3774
+ title: { fontSize: "3xl" },
3775
+ body: { fontSize: "xl" },
3776
+ listItem: { fontSize: "xl" }
3777
+ }
3778
+ },
3779
+ variant: {
3780
+ elevated: {
3781
+ root: { boxShadow: "lg", borderWidth: "0" }
3782
+ },
3783
+ outline: {
3784
+ root: { borderWidth: "2px", borderColor: "border.default" }
3785
+ },
3786
+ flat: {
3787
+ root: { borderWidth: "0", bg: "transparent" }
3788
+ }
3789
+ }
3790
+ },
3791
+ defaultVariants: {
3792
+ size: "md",
3793
+ variant: "outline"
3794
+ }
3795
+ });
3530
3796
  var scenarioCard = defineSlotRecipe({
3531
3797
  className: "scenario-card",
3532
3798
  // Slots cover only scenario-specific styling.
@@ -3752,6 +4018,193 @@ var scenarioQueue = defineSlotRecipe({
3752
4018
  }
3753
4019
  }
3754
4020
  });
4021
+ var scenarioSettings = defineSlotRecipe({
4022
+ className: "scenario-settings",
4023
+ // ── Token mappings verified against Figma MCP output (node 38:4186) ──
4024
+ // Figma file: GaHmFfmvO4loUzuZS4TgEz — "Discourser Queue Right Accordion"
4025
+ slots: [
4026
+ "root",
4027
+ "section",
4028
+ "sectionTrigger",
4029
+ "triggerLabel",
4030
+ "sectionIndicator",
4031
+ "sectionContent",
4032
+ // Info panels (sections 1-4): surfacevariant bg, explanation card, adjustments
4033
+ "infoPanel",
4034
+ "explanationCard",
4035
+ "explanationTitle",
4036
+ "explanationList",
4037
+ "explanationItem",
4038
+ "levelLabel",
4039
+ "adjustmentsRow",
4040
+ // Radio panels (sections 5-6): neutral.1 bg, radio group, badge
4041
+ "radioPanel",
4042
+ "radioPanelTitle",
4043
+ "radioCurrentRow",
4044
+ "radioCurrentLabel",
4045
+ "currentlyBadge"
4046
+ ],
4047
+ base: {
4048
+ root: {
4049
+ display: "flex",
4050
+ flexDirection: "column",
4051
+ width: "full",
4052
+ cursor: "default"
4053
+ },
4054
+ section: {
4055
+ // Remove the accordion's default borderBottom
4056
+ borderBottom: "none",
4057
+ width: "full"
4058
+ },
4059
+ sectionTrigger: {
4060
+ // Layout — non-conflicting props only.
4061
+ // fontSize, fontWeight, borderRadius, bg, color, py applied via css={{}} in component.
4062
+ display: "flex",
4063
+ alignItems: "center",
4064
+ justifyContent: "space-between",
4065
+ gap: "4",
4066
+ width: "full",
4067
+ px: "5",
4068
+ // 20px — Figma spec
4069
+ cursor: "pointer"
4070
+ },
4071
+ triggerLabel: {
4072
+ flex: 1,
4073
+ textAlign: "start",
4074
+ overflow: "hidden",
4075
+ textOverflow: "ellipsis",
4076
+ whiteSpace: "nowrap"
4077
+ },
4078
+ sectionIndicator: {
4079
+ // color applied via css={{}} on ItemIndicator
4080
+ flexShrink: 0,
4081
+ _open: {
4082
+ rotate: "180deg"
4083
+ }
4084
+ },
4085
+ sectionContent: {
4086
+ overflow: "hidden",
4087
+ borderRadius: "0",
4088
+ width: "full"
4089
+ },
4090
+ // ── Info Panel (sections 1-4) ─────────────────────────────────────────────
4091
+ // Figma: bg = surfacevariant (#E1E4D5) — closest token: surface.container.highest (#E2E3D8)
4092
+ infoPanel: {
4093
+ display: "flex",
4094
+ flexDirection: "column",
4095
+ gap: "5",
4096
+ // 20px — Figma spec
4097
+ p: "5",
4098
+ // 20px — Figma spec
4099
+ bg: "surface.container.highest",
4100
+ width: "full"
4101
+ },
4102
+ // Figma: bg = neutral/99 (#FDFCF5), border = surfacevariant, rounded-8, p-20
4103
+ explanationCard: {
4104
+ display: "flex",
4105
+ flexDirection: "column",
4106
+ gap: "4",
4107
+ // 16px
4108
+ p: "5",
4109
+ // 20px
4110
+ bg: "neutral.1",
4111
+ // neutral[99] = #FDFCF5 ✓
4112
+ borderWidth: "1px",
4113
+ borderStyle: "solid",
4114
+ borderColor: "surface.container.highest",
4115
+ borderRadius: "l3"
4116
+ // 8px
4117
+ },
4118
+ // Figma: Inter Medium 20px, --dark-surfacecontainerhigh (#282b24 ≈ onSurface)
4119
+ explanationTitle: {
4120
+ fontSize: "lg",
4121
+ fontWeight: "semibold",
4122
+ color: "onSurface",
4123
+ lineHeight: "1"
4124
+ },
4125
+ explanationList: {
4126
+ display: "flex",
4127
+ flexDirection: "column",
4128
+ gap: "3",
4129
+ // 12px between items
4130
+ listStyleType: "disc",
4131
+ pl: "5"
4132
+ // indent for disc markers
4133
+ },
4134
+ explanationItem: {
4135
+ fontSize: "sm",
4136
+ // 16px — Figma spec
4137
+ lineHeight: "1.4",
4138
+ color: "fg.default"
4139
+ },
4140
+ // Figma: Inter Bold — the "Beginner:", "Intermediate:", "Advanced:" labels
4141
+ levelLabel: {
4142
+ fontWeight: "bold",
4143
+ color: "fg.default"
4144
+ },
4145
+ adjustmentsRow: {
4146
+ display: "flex",
4147
+ alignItems: "center",
4148
+ justifyContent: "center",
4149
+ width: "full"
4150
+ },
4151
+ // ── Radio Panel (sections 5-6) ────────────────────────────────────────────
4152
+ // Figma: bg = neutral/99 (#FDFCF5)
4153
+ radioPanel: {
4154
+ display: "flex",
4155
+ flexDirection: "column",
4156
+ gap: "6",
4157
+ // 24px
4158
+ p: "5",
4159
+ // 20px
4160
+ bg: "neutral.1",
4161
+ // neutral[99] = #FDFCF5 ✓
4162
+ width: "full"
4163
+ },
4164
+ // Figma: Inter Medium 20px, #363636 ≈ onSurface
4165
+ radioPanelTitle: {
4166
+ fontSize: "lg",
4167
+ fontWeight: "semibold",
4168
+ color: "onSurface",
4169
+ lineHeight: "1"
4170
+ },
4171
+ radioCurrentRow: {
4172
+ display: "flex",
4173
+ alignItems: "center",
4174
+ gap: "2.5",
4175
+ // 10px — Figma spec
4176
+ mt: "2.5"
4177
+ // space below panel title
4178
+ },
4179
+ // Figma: Inter SemiBold 18px, #363636
4180
+ radioCurrentLabel: {
4181
+ fontSize: "md",
4182
+ fontWeight: "semibold",
4183
+ color: "onSurface",
4184
+ whiteSpace: "nowrap"
4185
+ },
4186
+ // Figma: bg = dark-primary (#B1D18A) = inversePrimary, fully rounded pill
4187
+ // px-16, py-6, font: Geist/12px, color: #2c2a27 ≈ fg.default
4188
+ currentlyBadge: {
4189
+ display: "inline-flex",
4190
+ alignItems: "center",
4191
+ gap: "1.5",
4192
+ px: "4",
4193
+ // 16px
4194
+ py: "1.5",
4195
+ // 6px
4196
+ bg: "inversePrimary",
4197
+ // #B1D18A light mode ✓
4198
+ color: "fg.default",
4199
+ borderRadius: "full",
4200
+ fontSize: "xs",
4201
+ // 12px
4202
+ fontWeight: "normal",
4203
+ lineHeight: "1",
4204
+ whiteSpace: "nowrap"
4205
+ }
4206
+ }
4207
+ });
3755
4208
  var layerStyles = defineLayerStyles({
3756
4209
  disabled: {
3757
4210
  value: {
@@ -3900,6 +4353,7 @@ var discourserPandaPreset = definePreset({
3900
4353
  tabs,
3901
4354
  // Navigation
3902
4355
  breadcrumb,
4356
+ navigationMenu,
3903
4357
  // Form Elements
3904
4358
  switchComponent: switchRecipe,
3905
4359
  checkbox,
@@ -3916,8 +4370,10 @@ var discourserPandaPreset = definePreset({
3916
4370
  tooltip,
3917
4371
  // Custom Components
3918
4372
  stepper,
4373
+ contentCard,
3919
4374
  scenarioCard,
3920
- scenarioQueue
4375
+ scenarioQueue,
4376
+ scenarioSettings
3921
4377
  }
3922
4378
  }
3923
4379
  },
@@ -3939,5 +4395,5 @@ var discourserPandaPreset = definePreset({
3939
4395
  });
3940
4396
 
3941
4397
  export { discourserPandaPreset, material3Language, transformToPandaTheme };
3942
- //# sourceMappingURL=chunk-SBKRSXSZ.js.map
3943
- //# sourceMappingURL=chunk-SBKRSXSZ.js.map
4398
+ //# sourceMappingURL=chunk-SNUJBT5R.js.map
4399
+ //# sourceMappingURL=chunk-SNUJBT5R.js.map