@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
@@ -1392,13 +1392,16 @@ var accordion = dev.defineSlotRecipe({
1392
1392
  overflow: "hidden",
1393
1393
  borderRadius: "var(--accordion-radius)",
1394
1394
  _open: {
1395
- animationName: "expand-height, fade-in",
1396
- animationDuration: "normal"
1395
+ animationName: "slide-down",
1396
+ animationDuration: "250ms",
1397
+ animationTimingFunction: "ease-out",
1398
+ animationFillMode: "forwards"
1397
1399
  },
1398
1400
  _closed: {
1399
- animationName: "collapse-height, fade-out",
1400
- animationDuration: "normal",
1401
- display: "none"
1401
+ animationName: "slide-up",
1402
+ animationDuration: "200ms",
1403
+ animationTimingFunction: "ease-out",
1404
+ animationFillMode: "forwards"
1402
1405
  }
1403
1406
  }
1404
1407
  },
@@ -1858,6 +1861,38 @@ var breadcrumb = dev.defineSlotRecipe({
1858
1861
  _hover: { color: "fg.default" },
1859
1862
  _currentPage: { color: "fg.default" }
1860
1863
  }
1864
+ },
1865
+ discourser: {
1866
+ list: {
1867
+ gap: "2.5",
1868
+ alignItems: "center"
1869
+ },
1870
+ item: {
1871
+ bg: "transparent",
1872
+ px: "1.5",
1873
+ py: "1.5",
1874
+ borderRadius: "l2",
1875
+ h: "9",
1876
+ display: "inline-flex",
1877
+ alignItems: "center",
1878
+ _last: {
1879
+ color: "fg.default",
1880
+ fontWeight: "medium",
1881
+ fontSize: "md",
1882
+ fontFeatureSettings: "'liga' 0, 'calt' 0"
1883
+ }
1884
+ },
1885
+ link: {
1886
+ color: "fg.subtle",
1887
+ fontWeight: "medium",
1888
+ fontSize: "lg",
1889
+ _hover: { color: "fg.default" },
1890
+ _currentPage: { color: "fg.default", fontWeight: "semibold" }
1891
+ },
1892
+ separator: {
1893
+ color: "primary.7",
1894
+ _icon: { width: "27px", height: "27px" }
1895
+ }
1861
1896
  }
1862
1897
  },
1863
1898
  size: {
@@ -1872,6 +1907,115 @@ var breadcrumb = dev.defineSlotRecipe({
1872
1907
  size: "md"
1873
1908
  }
1874
1909
  });
1910
+ var navigationMenu = dev.defineSlotRecipe({
1911
+ className: "navigation-menu",
1912
+ slots: [
1913
+ "root",
1914
+ "section",
1915
+ "sectionTrigger",
1916
+ "sectionIcon",
1917
+ "sectionTitle",
1918
+ "sectionIndicator",
1919
+ "sectionContent",
1920
+ "itemList",
1921
+ "item",
1922
+ "itemLink"
1923
+ ],
1924
+ base: {
1925
+ // ── Token mappings verified against Figma MCP output (node 38:4046) ──
1926
+ // Figma file: GaHmFfmvO4loUzuZS4TgEz
1927
+ root: {
1928
+ bg: "surface.dim",
1929
+ // Figma: #f5f1eb warm sage sidebar bg
1930
+ width: "full",
1931
+ py: "2"
1932
+ },
1933
+ section: {
1934
+ borderBottom: "none"
1935
+ },
1936
+ sectionTrigger: {
1937
+ // Layout-only props — no conflicts with accordion recipe here
1938
+ display: "flex",
1939
+ alignItems: "center",
1940
+ justifyContent: "space-between",
1941
+ width: "full",
1942
+ cursor: "pointer",
1943
+ // NOTE: fontSize, fontWeight, borderRadius, p, bg, color are applied via
1944
+ // css={{}} on Accordion.ItemTrigger in the component (utilities layer > recipes layer).
1945
+ // See ScenarioCard.tsx for the same pattern.
1946
+ _hover: {
1947
+ bg: "surface.container.high"
1948
+ }
1949
+ },
1950
+ sectionIcon: {
1951
+ flexShrink: 0,
1952
+ display: "flex",
1953
+ alignItems: "center",
1954
+ justifyContent: "center",
1955
+ width: "6",
1956
+ // 24px container
1957
+ height: "6",
1958
+ color: "primary.50",
1959
+ // olive green icons — Figma: #518500
1960
+ fontSize: "20px"
1961
+ // icon SVGs use width/height: 1em → sets 20×20px
1962
+ },
1963
+ sectionTitle: {
1964
+ flex: 1,
1965
+ textAlign: "start"
1966
+ // Font styles inherited from trigger's css={{}} utility overrides
1967
+ },
1968
+ sectionIndicator: {
1969
+ // color set via css={{}} on Accordion.ItemIndicator (utilities > recipes)
1970
+ _open: {
1971
+ rotate: "180deg"
1972
+ }
1973
+ },
1974
+ sectionContent: {
1975
+ overflow: "hidden",
1976
+ borderRadius: "0"
1977
+ // override accordion's default border-radius
1978
+ },
1979
+ itemList: {
1980
+ display: "flex",
1981
+ flexDirection: "column",
1982
+ gap: "0.5",
1983
+ pt: "1",
1984
+ pb: "2"
1985
+ },
1986
+ item: {},
1987
+ itemLink: {
1988
+ display: "block",
1989
+ py: "2",
1990
+ // Figma: 5px top/bottom
1991
+ pl: "8",
1992
+ // Figma: 30px left indent → spacing.8 = 32px
1993
+ pr: "2",
1994
+ // Figma: 5px right padding
1995
+ borderRadius: "l3",
1996
+ // Figma: 8px
1997
+ textDecoration: "none",
1998
+ fontSize: "md",
1999
+ // Figma: 16px
2000
+ fontWeight: "norma",
2001
+ // Figma: Inter Medium 500
2002
+ lineHeight: "1",
2003
+ color: "onSurface",
2004
+ // Figma: #363636
2005
+ cursor: "pointer",
2006
+ _hover: {
2007
+ bg: "surface.container.high"
2008
+ // Figma: #ebe7e1
2009
+ },
2010
+ // Figma active state: surface.container.low (NOT primary.container)
2011
+ '&[data-active="true"]': {
2012
+ bg: "surface.container.low",
2013
+ // Figma: #f3f4e9 → surfaceContainerLow
2014
+ color: "onSurface"
2015
+ }
2016
+ }
2017
+ }
2018
+ });
1875
2019
  var switchRecipe = dev.defineSlotRecipe({
1876
2020
  className: "switchComponent",
1877
2021
  jsx: ["Switch", /Switch\.+/],
@@ -3529,6 +3673,128 @@ var stepper = dev.defineSlotRecipe({
3529
3673
  colorPalette: "primary"
3530
3674
  }
3531
3675
  });
3676
+ var contentCard = dev.defineSlotRecipe({
3677
+ className: "content-card",
3678
+ slots: [
3679
+ "root",
3680
+ "header",
3681
+ "title",
3682
+ "badgeBar",
3683
+ "body",
3684
+ "section",
3685
+ "sectionTitle",
3686
+ "separator",
3687
+ "list",
3688
+ "listItem"
3689
+ ],
3690
+ base: {
3691
+ root: {
3692
+ bg: "neutral.1",
3693
+ borderRadius: "xl",
3694
+ borderWidth: "2px",
3695
+ borderColor: "border.default",
3696
+ display: "flex",
3697
+ flexDirection: "column",
3698
+ w: "full"
3699
+ },
3700
+ header: {
3701
+ display: "flex",
3702
+ flexDirection: "column",
3703
+ gap: "4"
3704
+ },
3705
+ title: {
3706
+ fontFamily: "heading",
3707
+ fontWeight: "semibold",
3708
+ fontSize: "2xl",
3709
+ color: "fg.default",
3710
+ fontVariationSettings: "'SOFT' 0, 'WONK' 1"
3711
+ },
3712
+ badgeBar: {
3713
+ display: "flex",
3714
+ flexWrap: "wrap",
3715
+ gap: "2.5",
3716
+ px: "2.5",
3717
+ py: "1"
3718
+ },
3719
+ body: {
3720
+ display: "flex",
3721
+ flexDirection: "column",
3722
+ gap: "9",
3723
+ fontSize: "xl",
3724
+ lineHeight: "1.4",
3725
+ color: "fg.default"
3726
+ },
3727
+ section: {
3728
+ display: "flex",
3729
+ flexDirection: "column",
3730
+ gap: "5"
3731
+ },
3732
+ sectionTitle: {
3733
+ fontFamily: "heading",
3734
+ fontWeight: "semibold",
3735
+ fontSize: "2xl",
3736
+ color: "fg.default",
3737
+ fontVariationSettings: "'SOFT' 0, 'WONK' 1",
3738
+ px: "2.5",
3739
+ py: "2.5"
3740
+ },
3741
+ separator: {
3742
+ borderTopWidth: "1px",
3743
+ borderColor: "border.default",
3744
+ w: "full",
3745
+ my: "4"
3746
+ },
3747
+ list: {
3748
+ display: "flex",
3749
+ flexDirection: "column",
3750
+ gap: "5",
3751
+ listStyleType: "disc",
3752
+ ps: "8"
3753
+ },
3754
+ listItem: {
3755
+ fontSize: "xl",
3756
+ lineHeight: "1.4",
3757
+ color: "fg.default"
3758
+ }
3759
+ },
3760
+ variants: {
3761
+ size: {
3762
+ sm: {
3763
+ root: { maxW: "xl", pt: "6", px: "6", pb: "6" },
3764
+ title: { fontSize: "xl" },
3765
+ body: { fontSize: "lg" },
3766
+ listItem: { fontSize: "lg" }
3767
+ },
3768
+ md: {
3769
+ root: { maxW: "2xl", pt: "10", px: "10", pb: "10", gap: "6" },
3770
+ title: { fontSize: "2xl" },
3771
+ body: { fontSize: "xl" },
3772
+ listItem: { fontSize: "xl" }
3773
+ },
3774
+ lg: {
3775
+ root: { maxW: "4xl", pt: "12", px: "12", pb: "12", gap: "8" },
3776
+ title: { fontSize: "3xl" },
3777
+ body: { fontSize: "xl" },
3778
+ listItem: { fontSize: "xl" }
3779
+ }
3780
+ },
3781
+ variant: {
3782
+ elevated: {
3783
+ root: { boxShadow: "lg", borderWidth: "0" }
3784
+ },
3785
+ outline: {
3786
+ root: { borderWidth: "2px", borderColor: "border.default" }
3787
+ },
3788
+ flat: {
3789
+ root: { borderWidth: "0", bg: "transparent" }
3790
+ }
3791
+ }
3792
+ },
3793
+ defaultVariants: {
3794
+ size: "md",
3795
+ variant: "outline"
3796
+ }
3797
+ });
3532
3798
  var scenarioCard = dev.defineSlotRecipe({
3533
3799
  className: "scenario-card",
3534
3800
  // Slots cover only scenario-specific styling.
@@ -3754,6 +4020,193 @@ var scenarioQueue = dev.defineSlotRecipe({
3754
4020
  }
3755
4021
  }
3756
4022
  });
4023
+ var scenarioSettings = dev.defineSlotRecipe({
4024
+ className: "scenario-settings",
4025
+ // ── Token mappings verified against Figma MCP output (node 38:4186) ──
4026
+ // Figma file: GaHmFfmvO4loUzuZS4TgEz — "Discourser Queue Right Accordion"
4027
+ slots: [
4028
+ "root",
4029
+ "section",
4030
+ "sectionTrigger",
4031
+ "triggerLabel",
4032
+ "sectionIndicator",
4033
+ "sectionContent",
4034
+ // Info panels (sections 1-4): surfacevariant bg, explanation card, adjustments
4035
+ "infoPanel",
4036
+ "explanationCard",
4037
+ "explanationTitle",
4038
+ "explanationList",
4039
+ "explanationItem",
4040
+ "levelLabel",
4041
+ "adjustmentsRow",
4042
+ // Radio panels (sections 5-6): neutral.1 bg, radio group, badge
4043
+ "radioPanel",
4044
+ "radioPanelTitle",
4045
+ "radioCurrentRow",
4046
+ "radioCurrentLabel",
4047
+ "currentlyBadge"
4048
+ ],
4049
+ base: {
4050
+ root: {
4051
+ display: "flex",
4052
+ flexDirection: "column",
4053
+ width: "full",
4054
+ cursor: "default"
4055
+ },
4056
+ section: {
4057
+ // Remove the accordion's default borderBottom
4058
+ borderBottom: "none",
4059
+ width: "full"
4060
+ },
4061
+ sectionTrigger: {
4062
+ // Layout — non-conflicting props only.
4063
+ // fontSize, fontWeight, borderRadius, bg, color, py applied via css={{}} in component.
4064
+ display: "flex",
4065
+ alignItems: "center",
4066
+ justifyContent: "space-between",
4067
+ gap: "4",
4068
+ width: "full",
4069
+ px: "5",
4070
+ // 20px — Figma spec
4071
+ cursor: "pointer"
4072
+ },
4073
+ triggerLabel: {
4074
+ flex: 1,
4075
+ textAlign: "start",
4076
+ overflow: "hidden",
4077
+ textOverflow: "ellipsis",
4078
+ whiteSpace: "nowrap"
4079
+ },
4080
+ sectionIndicator: {
4081
+ // color applied via css={{}} on ItemIndicator
4082
+ flexShrink: 0,
4083
+ _open: {
4084
+ rotate: "180deg"
4085
+ }
4086
+ },
4087
+ sectionContent: {
4088
+ overflow: "hidden",
4089
+ borderRadius: "0",
4090
+ width: "full"
4091
+ },
4092
+ // ── Info Panel (sections 1-4) ─────────────────────────────────────────────
4093
+ // Figma: bg = surfacevariant (#E1E4D5) — closest token: surface.container.highest (#E2E3D8)
4094
+ infoPanel: {
4095
+ display: "flex",
4096
+ flexDirection: "column",
4097
+ gap: "5",
4098
+ // 20px — Figma spec
4099
+ p: "5",
4100
+ // 20px — Figma spec
4101
+ bg: "surface.container.highest",
4102
+ width: "full"
4103
+ },
4104
+ // Figma: bg = neutral/99 (#FDFCF5), border = surfacevariant, rounded-8, p-20
4105
+ explanationCard: {
4106
+ display: "flex",
4107
+ flexDirection: "column",
4108
+ gap: "4",
4109
+ // 16px
4110
+ p: "5",
4111
+ // 20px
4112
+ bg: "neutral.1",
4113
+ // neutral[99] = #FDFCF5 ✓
4114
+ borderWidth: "1px",
4115
+ borderStyle: "solid",
4116
+ borderColor: "surface.container.highest",
4117
+ borderRadius: "l3"
4118
+ // 8px
4119
+ },
4120
+ // Figma: Inter Medium 20px, --dark-surfacecontainerhigh (#282b24 ≈ onSurface)
4121
+ explanationTitle: {
4122
+ fontSize: "lg",
4123
+ fontWeight: "semibold",
4124
+ color: "onSurface",
4125
+ lineHeight: "1"
4126
+ },
4127
+ explanationList: {
4128
+ display: "flex",
4129
+ flexDirection: "column",
4130
+ gap: "3",
4131
+ // 12px between items
4132
+ listStyleType: "disc",
4133
+ pl: "5"
4134
+ // indent for disc markers
4135
+ },
4136
+ explanationItem: {
4137
+ fontSize: "sm",
4138
+ // 16px — Figma spec
4139
+ lineHeight: "1.4",
4140
+ color: "fg.default"
4141
+ },
4142
+ // Figma: Inter Bold — the "Beginner:", "Intermediate:", "Advanced:" labels
4143
+ levelLabel: {
4144
+ fontWeight: "bold",
4145
+ color: "fg.default"
4146
+ },
4147
+ adjustmentsRow: {
4148
+ display: "flex",
4149
+ alignItems: "center",
4150
+ justifyContent: "center",
4151
+ width: "full"
4152
+ },
4153
+ // ── Radio Panel (sections 5-6) ────────────────────────────────────────────
4154
+ // Figma: bg = neutral/99 (#FDFCF5)
4155
+ radioPanel: {
4156
+ display: "flex",
4157
+ flexDirection: "column",
4158
+ gap: "6",
4159
+ // 24px
4160
+ p: "5",
4161
+ // 20px
4162
+ bg: "neutral.1",
4163
+ // neutral[99] = #FDFCF5 ✓
4164
+ width: "full"
4165
+ },
4166
+ // Figma: Inter Medium 20px, #363636 ≈ onSurface
4167
+ radioPanelTitle: {
4168
+ fontSize: "lg",
4169
+ fontWeight: "semibold",
4170
+ color: "onSurface",
4171
+ lineHeight: "1"
4172
+ },
4173
+ radioCurrentRow: {
4174
+ display: "flex",
4175
+ alignItems: "center",
4176
+ gap: "2.5",
4177
+ // 10px — Figma spec
4178
+ mt: "2.5"
4179
+ // space below panel title
4180
+ },
4181
+ // Figma: Inter SemiBold 18px, #363636
4182
+ radioCurrentLabel: {
4183
+ fontSize: "md",
4184
+ fontWeight: "semibold",
4185
+ color: "onSurface",
4186
+ whiteSpace: "nowrap"
4187
+ },
4188
+ // Figma: bg = dark-primary (#B1D18A) = inversePrimary, fully rounded pill
4189
+ // px-16, py-6, font: Geist/12px, color: #2c2a27 ≈ fg.default
4190
+ currentlyBadge: {
4191
+ display: "inline-flex",
4192
+ alignItems: "center",
4193
+ gap: "1.5",
4194
+ px: "4",
4195
+ // 16px
4196
+ py: "1.5",
4197
+ // 6px
4198
+ bg: "inversePrimary",
4199
+ // #B1D18A light mode ✓
4200
+ color: "fg.default",
4201
+ borderRadius: "full",
4202
+ fontSize: "xs",
4203
+ // 12px
4204
+ fontWeight: "normal",
4205
+ lineHeight: "1",
4206
+ whiteSpace: "nowrap"
4207
+ }
4208
+ }
4209
+ });
3757
4210
  var layerStyles = dev.defineLayerStyles({
3758
4211
  disabled: {
3759
4212
  value: {
@@ -3902,6 +4355,7 @@ var discourserPandaPreset = dev.definePreset({
3902
4355
  tabs,
3903
4356
  // Navigation
3904
4357
  breadcrumb,
4358
+ navigationMenu,
3905
4359
  // Form Elements
3906
4360
  switchComponent: switchRecipe,
3907
4361
  checkbox,
@@ -3918,8 +4372,10 @@ var discourserPandaPreset = dev.definePreset({
3918
4372
  tooltip,
3919
4373
  // Custom Components
3920
4374
  stepper,
4375
+ contentCard,
3921
4376
  scenarioCard,
3922
- scenarioQueue
4377
+ scenarioQueue,
4378
+ scenarioSettings
3923
4379
  }
3924
4380
  }
3925
4381
  },
@@ -3943,5 +4399,5 @@ var discourserPandaPreset = dev.definePreset({
3943
4399
  exports.discourserPandaPreset = discourserPandaPreset;
3944
4400
  exports.material3Language = material3Language;
3945
4401
  exports.transformToPandaTheme = transformToPandaTheme;
3946
- //# sourceMappingURL=chunk-ABC7N32K.cjs.map
3947
- //# sourceMappingURL=chunk-ABC7N32K.cjs.map
4402
+ //# sourceMappingURL=chunk-PFWU7QSM.cjs.map
4403
+ //# sourceMappingURL=chunk-PFWU7QSM.cjs.map