@discourser/design-system 0.24.0 → 0.25.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 (105) hide show
  1. package/dist/{chunk-KIJKNZ73.cjs → chunk-QNCZYFUJ.cjs} +46 -11
  2. package/dist/chunk-QNCZYFUJ.cjs.map +1 -0
  3. package/dist/{chunk-VOH2QELR.cjs → chunk-TBLDQATQ.cjs} +377 -12
  4. package/dist/chunk-TBLDQATQ.cjs.map +1 -0
  5. package/dist/{chunk-VN2QX6S7.js → chunk-UHSL4N44.js} +378 -14
  6. package/dist/chunk-UHSL4N44.js.map +1 -0
  7. package/dist/{chunk-HN2IHIMR.js → chunk-ZPECW4N2.js} +46 -11
  8. package/dist/chunk-ZPECW4N2.js.map +1 -0
  9. package/dist/components/Badge.figma.d.ts +2 -0
  10. package/dist/components/Badge.figma.d.ts.map +1 -0
  11. package/dist/components/Button.figma.d.ts +2 -0
  12. package/dist/components/Button.figma.d.ts.map +1 -0
  13. package/dist/components/Card.figma.d.ts +2 -0
  14. package/dist/components/Card.figma.d.ts.map +1 -0
  15. package/dist/components/Icons/AudienceIcon.d.ts.map +1 -1
  16. package/dist/components/Input.figma.d.ts +2 -0
  17. package/dist/components/Input.figma.d.ts.map +1 -0
  18. package/dist/components/RadioGroup.figma.d.ts +2 -0
  19. package/dist/components/RadioGroup.figma.d.ts.map +1 -0
  20. package/dist/components/SettingsPopover/SettingsPopover.figma.d.ts +2 -0
  21. package/dist/components/SettingsPopover/SettingsPopover.figma.d.ts.map +1 -0
  22. package/dist/components/Slider.figma.d.ts +2 -0
  23. package/dist/components/Slider.figma.d.ts.map +1 -0
  24. package/dist/components/Stepper/Stepper.figma.d.ts +2 -0
  25. package/dist/components/Stepper/Stepper.figma.d.ts.map +1 -0
  26. package/dist/components/StudioControls/StudioControls.d.ts +3 -0
  27. package/dist/components/StudioControls/StudioControls.d.ts.map +1 -0
  28. package/dist/components/StudioControls/StudioControls.figma.d.ts +2 -0
  29. package/dist/components/StudioControls/StudioControls.figma.d.ts.map +1 -0
  30. package/dist/components/StudioControls/index.d.ts +3 -0
  31. package/dist/components/StudioControls/index.d.ts.map +1 -0
  32. package/dist/components/StudioControls/types.d.ts +17 -0
  33. package/dist/components/StudioControls/types.d.ts.map +1 -0
  34. package/dist/components/Switch.figma.d.ts +2 -0
  35. package/dist/components/Switch.figma.d.ts.map +1 -0
  36. package/dist/components/index.cjs +78 -74
  37. package/dist/components/index.d.ts +1 -0
  38. package/dist/components/index.d.ts.map +1 -1
  39. package/dist/components/index.js +1 -1
  40. package/dist/figma-codex/parser.d.ts +2 -0
  41. package/dist/figma-codex/parser.d.ts.map +1 -1
  42. package/dist/figma-codex/resolver.d.ts.map +1 -1
  43. package/dist/figma-codex/schema.d.ts +7 -0
  44. package/dist/figma-codex/schema.d.ts.map +1 -1
  45. package/dist/figma-codex.json +408 -2
  46. package/dist/index.cjs +82 -78
  47. package/dist/index.js +2 -2
  48. package/dist/preset/index.cjs +2 -2
  49. package/dist/preset/index.js +1 -1
  50. package/dist/preset/recipes/badge.d.ts.map +1 -1
  51. package/dist/preset/recipes/index.d.ts +1 -0
  52. package/dist/preset/recipes/index.d.ts.map +1 -1
  53. package/dist/preset/recipes/studio-controls.d.ts +2 -0
  54. package/dist/preset/recipes/studio-controls.d.ts.map +1 -0
  55. package/dist/preset/recipes/switch.d.ts.map +1 -1
  56. package/docs/figma-mcp-return/card-audit.json +31 -0
  57. package/docs/figma-mcp-return/conversation-prelaunch-audit.json +51 -0
  58. package/docs/figma-mcp-return/conversation_lobby-design-context.md +359 -0
  59. package/docs/figma-mcp-return/conversation_lobby-metadata.xml +1 -0
  60. package/docs/figma-mcp-return/discourser-accordion-audit.json +264 -0
  61. package/docs/figma-mcp-return/discourser-accordion-design-context-v2.tsx +350 -0
  62. package/docs/figma-mcp-return/discourser-accordion-design-context.tsx +130 -0
  63. package/docs/figma-mcp-return/discourser-accordion-metadata-v2.xml +1 -0
  64. package/docs/figma-mcp-return/discourser-accordion-metadata.xml +1 -0
  65. package/docs/figma-mcp-return/kai-resolution-simulation.md +181 -0
  66. package/docs/figma-mcp-return/prelaunch-comparison-analysis.md +126 -0
  67. package/docs/figma-mcp-return/prelaunch-get-design-context.md +982 -0
  68. package/docs/figma-mcp-return/prelaunch-get-metadata.md +7 -0
  69. package/docs/figma-mcp-return/prelaunch-get-metadata.xml +3 -0
  70. package/docs/figma-mcp-return/prelaunch-post-component-update.md +791 -0
  71. package/docs/figma-mcp-return/prelaunch-post-rebind-design-context.md +969 -0
  72. package/docs/figma-mcp-return/radio-group-audit.json +23 -0
  73. package/docs/figma-mcp-return/switch-audit.json +38 -0
  74. package/docs/session-summary-2026-03-29.md +98 -0
  75. package/package.json +2 -1
  76. package/src/components/Badge.figma.tsx +39 -0
  77. package/src/components/Button.figma.tsx +18 -0
  78. package/src/components/Card.figma.tsx +33 -0
  79. package/src/components/Icons/AudienceIcon.tsx +3 -1
  80. package/src/components/Icons/AudioSpeakerIcon.tsx +1 -1
  81. package/src/components/Icons/MicrophoneIcon.tsx +3 -3
  82. package/src/components/Icons/RecordIcon.tsx +4 -4
  83. package/src/components/Icons/TimerIcon.tsx +1 -1
  84. package/src/components/Input.figma.tsx +17 -0
  85. package/src/components/RadioGroup.figma.tsx +38 -0
  86. package/src/components/SettingsPopover/SettingsPopover.figma.tsx +17 -0
  87. package/src/components/Slider.figma.tsx +20 -0
  88. package/src/components/Stepper/Stepper.figma.tsx +19 -0
  89. package/src/components/StudioControls/StudioControls.figma.tsx +25 -0
  90. package/src/components/StudioControls/StudioControls.tsx +381 -0
  91. package/src/components/StudioControls/index.ts +2 -0
  92. package/src/components/StudioControls/types.ts +17 -0
  93. package/src/components/Switch.figma.tsx +32 -0
  94. package/src/components/index.ts +5 -0
  95. package/src/figma-codex/parser.ts +55 -0
  96. package/src/figma-codex/resolver.ts +1 -0
  97. package/src/figma-codex/schema.ts +9 -0
  98. package/src/preset/recipes/badge.ts +41 -7
  99. package/src/preset/recipes/index.ts +1 -0
  100. package/src/preset/recipes/studio-controls.ts +252 -0
  101. package/src/preset/recipes/switch.ts +5 -4
  102. package/dist/chunk-HN2IHIMR.js.map +0 -1
  103. package/dist/chunk-KIJKNZ73.cjs.map +0 -1
  104. package/dist/chunk-VN2QX6S7.js.map +0 -1
  105. package/dist/chunk-VOH2QELR.cjs.map +0 -1
@@ -1273,7 +1273,7 @@ var TimerIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
1273
1273
  {
1274
1274
  d: "M6.27333 12C4.83741 14.1451 4 16.7248 4 19.5C4 26.9559 10.0442 33 17.5 33C24.9559 33 31 26.9559 31 19.5C31 12.0442 24.9559 6 17.5 6V10.5M17.5 19.5L11.5 13.5",
1275
1275
  stroke: "currentColor",
1276
- strokeWidth: "2",
1276
+ strokeWidth: "3",
1277
1277
  strokeLinecap: "round",
1278
1278
  strokeLinejoin: "round"
1279
1279
  }
@@ -1370,7 +1370,7 @@ var MicrophoneIcon = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
1370
1370
  {
1371
1371
  d: "M20 35.6665V40.6665",
1372
1372
  stroke: "currentColor",
1373
- strokeWidth: "2",
1373
+ strokeWidth: "3",
1374
1374
  strokeLinecap: "round",
1375
1375
  strokeLinejoin: "round"
1376
1376
  }
@@ -1380,7 +1380,7 @@ var MicrophoneIcon = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
1380
1380
  {
1381
1381
  d: "M31.6666 20.6665V23.9998C31.6666 27.094 30.4374 30.0615 28.2495 32.2494C26.0616 34.4373 23.0941 35.6665 19.9999 35.6665C16.9057 35.6665 13.9383 34.4373 11.7503 32.2494C9.56242 30.0615 8.33325 27.094 8.33325 23.9998V20.6665",
1382
1382
  stroke: "currentColor",
1383
- strokeWidth: "2",
1383
+ strokeWidth: "3",
1384
1384
  strokeLinecap: "round",
1385
1385
  strokeLinejoin: "round"
1386
1386
  }
@@ -1390,7 +1390,7 @@ var MicrophoneIcon = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
1390
1390
  {
1391
1391
  d: "M25 12.3335C25 9.57207 22.7614 7.3335 20 7.3335C17.2386 7.3335 15 9.57207 15 12.3335V24.0002C15 26.7616 17.2386 29.0002 20 29.0002C22.7614 29.0002 25 26.7616 25 24.0002V12.3335Z",
1392
1392
  stroke: "currentColor",
1393
- strokeWidth: "2",
1393
+ strokeWidth: "3",
1394
1394
  strokeLinecap: "round",
1395
1395
  strokeLinejoin: "round"
1396
1396
  }
@@ -1402,8 +1402,10 @@ var StyledSvg14 = jsx.styled(factory.ark.svg);
1402
1402
  var AudienceIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
1403
1403
  StyledSvg14,
1404
1404
  {
1405
- viewBox: "0 0 40 44",
1405
+ viewBox: "3.5 9.5 29 25",
1406
1406
  fill: "currentColor",
1407
+ stroke: "currentColor",
1408
+ strokeWidth: "0.5",
1407
1409
  xmlns: "http://www.w3.org/2000/svg",
1408
1410
  width: "1em",
1409
1411
  height: "1em",
@@ -1427,7 +1429,7 @@ var RecordIcon = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
1427
1429
  {
1428
1430
  d: "M27.0624 19.4998C27.0624 21.5134 25.4301 23.1457 23.4166 23.1457C21.4031 23.1457 19.7708 21.5134 19.7708 19.4998C19.7708 17.4863 21.4031 15.854 23.4166 15.854C25.4301 15.854 27.0624 17.4863 27.0624 19.4998Z",
1429
1431
  stroke: "currentColor",
1430
- strokeWidth: "2"
1432
+ strokeWidth: "3"
1431
1433
  }
1432
1434
  ),
1433
1435
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1435,7 +1437,7 @@ var RecordIcon = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
1435
1437
  {
1436
1438
  d: "M15.3959 19.4998C15.3959 21.5134 13.7636 23.1457 11.7501 23.1457C9.73655 23.1457 8.10425 21.5134 8.10425 19.4998C8.10425 17.4863 9.73655 15.854 11.7501 15.854C13.7636 15.854 15.3959 17.4863 15.3959 19.4998Z",
1437
1439
  stroke: "currentColor",
1438
- strokeWidth: "2"
1440
+ strokeWidth: "3"
1439
1441
  }
1440
1442
  ),
1441
1443
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1443,7 +1445,7 @@ var RecordIcon = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
1443
1445
  {
1444
1446
  d: "M11.75 23.1455H23.4167",
1445
1447
  stroke: "currentColor",
1446
- strokeWidth: "2",
1448
+ strokeWidth: "3",
1447
1449
  strokeLinecap: "round"
1448
1450
  }
1449
1451
  ),
@@ -1452,7 +1454,7 @@ var RecordIcon = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
1452
1454
  {
1453
1455
  d: "M32.1667 19.4998C32.1667 26.3744 32.1667 29.8119 30.0309 31.9474C27.8954 34.0832 24.4579 34.0832 17.5833 34.0832C10.7087 34.0832 7.27136 34.0832 5.13569 31.9474C3 29.8119 3 26.3744 3 19.4998C3 12.6252 3 9.18786 5.13569 7.05219C7.27136 4.9165 10.7087 4.9165 17.5833 4.9165C24.4579 4.9165 27.8954 4.9165 30.0309 7.05219C31.4511 8.47223 31.9269 10.4677 32.0863 13.6665",
1454
1456
  stroke: "currentColor",
1455
- strokeWidth: "2",
1457
+ strokeWidth: "3",
1456
1458
  strokeLinecap: "round"
1457
1459
  }
1458
1460
  )
@@ -1689,7 +1691,7 @@ var StyledSvg24 = jsx.styled(factory.ark.svg);
1689
1691
  var AudioSpeakerIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
1690
1692
  StyledSvg24,
1691
1693
  {
1692
- viewBox: "0 0 40 28",
1694
+ viewBox: "-10 -3 50 34",
1693
1695
  fill: "none",
1694
1696
  xmlns: "http://www.w3.org/2000/svg",
1695
1697
  width: "1em",
@@ -2775,6 +2777,368 @@ function ScenarioSettings({
2775
2777
  }
2776
2778
  ) });
2777
2779
  }
2780
+ var SETTING_BADGES = [
2781
+ { id: "conversation-flow", label: "Conversation Flow" },
2782
+ { id: "question-complexity", label: "Question Complexity" },
2783
+ { id: "response-pacing", label: "Response Pacing" },
2784
+ { id: "interview-tone", label: "Interview Tone" }
2785
+ ];
2786
+ var RECORDING_OPTIONS = [
2787
+ { value: "no-recording", label: "No Recording" },
2788
+ { value: "audio-only", label: "Record just audio" },
2789
+ { value: "video-audio", label: "Record video & audio" }
2790
+ ];
2791
+ var LEVEL_COLOR_PALETTE = {
2792
+ beginner: "primary",
2793
+ intermediate: "secondary",
2794
+ advanced: "tertiary"
2795
+ };
2796
+ var ALL_SECTION_IDS2 = [
2797
+ "scenario-settings",
2798
+ "audio-output",
2799
+ "mic-input",
2800
+ "av-recording",
2801
+ "display-timer",
2802
+ "hide-interviewers"
2803
+ ];
2804
+ function StudioControls({
2805
+ scenarioName,
2806
+ scenarioFocus,
2807
+ scenarioLevel,
2808
+ defaultAudioLevel = 75,
2809
+ defaultMicLevel = 75,
2810
+ defaultRecordingMode = "no-recording",
2811
+ defaultShowTimer = true,
2812
+ defaultHideInterviewers = false,
2813
+ onAudioLevelChange,
2814
+ onMicLevelChange,
2815
+ onRecordingModeChange,
2816
+ onTimerChange,
2817
+ onInterviewersChange
2818
+ }) {
2819
+ const styles = recipes.studioControls();
2820
+ const [audioLevel, setAudioLevel] = react$1.useState(defaultAudioLevel);
2821
+ const [micLevel, setMicLevel] = react$1.useState(defaultMicLevel);
2822
+ const levelLabel = scenarioLevel.charAt(0).toUpperCase() + scenarioLevel.slice(1);
2823
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.root, children: /* @__PURE__ */ jsxRuntime.jsxs(Root6, { defaultValue: ALL_SECTION_IDS2, multiple: true, variant: "plain", children: [
2824
+ /* @__PURE__ */ jsxRuntime.jsxs(Item, { value: "scenario-settings", className: styles.section, children: [
2825
+ /* @__PURE__ */ jsxRuntime.jsxs(
2826
+ ItemTrigger,
2827
+ {
2828
+ className: styles.sectionTrigger,
2829
+ css: {
2830
+ fontSize: "lg",
2831
+ fontWeight: "medium",
2832
+ borderRadius: "0",
2833
+ py: "4",
2834
+ bg: "neutral.1",
2835
+ color: "onSurface"
2836
+ },
2837
+ children: [
2838
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.triggerIcon, children: /* @__PURE__ */ jsxRuntime.jsx(ScenarioIcon, {}) }),
2839
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.triggerLabel, children: "Scenario Settings" }),
2840
+ /* @__PURE__ */ jsxRuntime.jsx(
2841
+ ItemIndicator,
2842
+ {
2843
+ className: styles.sectionIndicator,
2844
+ css: { color: "primary.7" }
2845
+ }
2846
+ )
2847
+ ]
2848
+ }
2849
+ ),
2850
+ /* @__PURE__ */ jsxRuntime.jsx(ItemContent, { className: styles.sectionContent, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.infoPanel, children: [
2851
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.scenarioMeta, children: [
2852
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles.scenarioName, children: scenarioName }),
2853
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: styles.scenarioFocus, children: [
2854
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Focus" }),
2855
+ ": ",
2856
+ scenarioFocus
2857
+ ] })
2858
+ ] }),
2859
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.settingsCard, children: [
2860
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles.settingsCardHeading, children: "Scenario Settings" }),
2861
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.settingsList, children: SETTING_BADGES.map((badge2) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.settingsRow, children: [
2862
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.settingsRowLabel, children: [
2863
+ badge2.label,
2864
+ ":"
2865
+ ] }),
2866
+ /* @__PURE__ */ jsxRuntime.jsx(
2867
+ Badge,
2868
+ {
2869
+ variant: "rating",
2870
+ colorPalette: LEVEL_COLOR_PALETTE[scenarioLevel],
2871
+ size: "md",
2872
+ children: levelLabel
2873
+ }
2874
+ )
2875
+ ] }, badge2.id)) })
2876
+ ] })
2877
+ ] }) })
2878
+ ] }),
2879
+ /* @__PURE__ */ jsxRuntime.jsxs(Item, { value: "audio-output", className: styles.section, children: [
2880
+ /* @__PURE__ */ jsxRuntime.jsxs(
2881
+ ItemTrigger,
2882
+ {
2883
+ className: styles.sectionTrigger,
2884
+ css: {
2885
+ fontSize: "lg",
2886
+ fontWeight: "medium",
2887
+ borderRadius: "0",
2888
+ py: "4",
2889
+ bg: "neutral.1",
2890
+ color: "onSurface"
2891
+ },
2892
+ children: [
2893
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.triggerIcon, children: /* @__PURE__ */ jsxRuntime.jsx(AudioSpeakerIcon, {}) }),
2894
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.triggerLabel, children: "Audio Output" }),
2895
+ /* @__PURE__ */ jsxRuntime.jsx(
2896
+ ItemIndicator,
2897
+ {
2898
+ className: styles.sectionIndicator,
2899
+ css: { color: "primary.7" }
2900
+ }
2901
+ )
2902
+ ]
2903
+ }
2904
+ ),
2905
+ /* @__PURE__ */ jsxRuntime.jsx(ItemContent, { className: styles.sectionContent, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.sliderPanel, children: [
2906
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.sliderLabel, children: [
2907
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.sliderLabelText, children: "Volume" }),
2908
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.levelBadge, children: [
2909
+ audioLevel,
2910
+ "%"
2911
+ ] })
2912
+ ] }),
2913
+ /* @__PURE__ */ jsxRuntime.jsx(
2914
+ Root12,
2915
+ {
2916
+ min: 0,
2917
+ max: 100,
2918
+ value: [audioLevel],
2919
+ colorPalette: "tertiary",
2920
+ onValueChange: ({ value }) => {
2921
+ const next = value[0] ?? audioLevel;
2922
+ setAudioLevel(next);
2923
+ onAudioLevelChange?.(next);
2924
+ },
2925
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Control4, { className: styles.sliderTrack, children: [
2926
+ /* @__PURE__ */ jsxRuntime.jsx(Track, { children: /* @__PURE__ */ jsxRuntime.jsx(Range, {}) }),
2927
+ /* @__PURE__ */ jsxRuntime.jsx(Thumbs, {})
2928
+ ] })
2929
+ }
2930
+ )
2931
+ ] }) })
2932
+ ] }),
2933
+ /* @__PURE__ */ jsxRuntime.jsxs(Item, { value: "mic-input", className: styles.section, children: [
2934
+ /* @__PURE__ */ jsxRuntime.jsxs(
2935
+ ItemTrigger,
2936
+ {
2937
+ className: styles.sectionTrigger,
2938
+ css: {
2939
+ fontSize: "lg",
2940
+ fontWeight: "medium",
2941
+ borderRadius: "0",
2942
+ py: "4",
2943
+ bg: "neutral.1",
2944
+ color: "onSurface"
2945
+ },
2946
+ children: [
2947
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.triggerIcon, children: /* @__PURE__ */ jsxRuntime.jsx(MicrophoneIcon, {}) }),
2948
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.triggerLabel, children: "Microphone Input" }),
2949
+ /* @__PURE__ */ jsxRuntime.jsx(
2950
+ ItemIndicator,
2951
+ {
2952
+ className: styles.sectionIndicator,
2953
+ css: { color: "primary.7" }
2954
+ }
2955
+ )
2956
+ ]
2957
+ }
2958
+ ),
2959
+ /* @__PURE__ */ jsxRuntime.jsx(ItemContent, { className: styles.sectionContent, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.sliderPanel, children: [
2960
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.sliderLabel, children: [
2961
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.sliderLabelText, children: "Mic Gain" }),
2962
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles.levelBadge, children: [
2963
+ micLevel,
2964
+ "%"
2965
+ ] })
2966
+ ] }),
2967
+ /* @__PURE__ */ jsxRuntime.jsx(
2968
+ Root12,
2969
+ {
2970
+ min: 0,
2971
+ max: 100,
2972
+ value: [micLevel],
2973
+ colorPalette: "tertiary",
2974
+ onValueChange: ({ value }) => {
2975
+ const next = value[0] ?? micLevel;
2976
+ setMicLevel(next);
2977
+ onMicLevelChange?.(next);
2978
+ },
2979
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Control4, { className: styles.sliderTrack, children: [
2980
+ /* @__PURE__ */ jsxRuntime.jsx(Track, { children: /* @__PURE__ */ jsxRuntime.jsx(Range, {}) }),
2981
+ /* @__PURE__ */ jsxRuntime.jsx(Thumbs, {})
2982
+ ] })
2983
+ }
2984
+ )
2985
+ ] }) })
2986
+ ] }),
2987
+ /* @__PURE__ */ jsxRuntime.jsxs(Item, { value: "av-recording", className: styles.section, children: [
2988
+ /* @__PURE__ */ jsxRuntime.jsxs(
2989
+ ItemTrigger,
2990
+ {
2991
+ className: styles.sectionTrigger,
2992
+ css: {
2993
+ fontSize: "lg",
2994
+ fontWeight: "medium",
2995
+ borderRadius: "0",
2996
+ py: "4",
2997
+ bg: "neutral.1",
2998
+ color: "onSurface"
2999
+ },
3000
+ children: [
3001
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.triggerIcon, children: /* @__PURE__ */ jsxRuntime.jsx(RecordIcon, {}) }),
3002
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.triggerLabel, children: "A/V Recording" }),
3003
+ /* @__PURE__ */ jsxRuntime.jsx(
3004
+ ItemIndicator,
3005
+ {
3006
+ className: styles.sectionIndicator,
3007
+ css: { color: "primary.7" }
3008
+ }
3009
+ )
3010
+ ]
3011
+ }
3012
+ ),
3013
+ /* @__PURE__ */ jsxRuntime.jsx(ItemContent, { className: styles.sectionContent, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.radioPanel, children: /* @__PURE__ */ jsxRuntime.jsx(
3014
+ Root10,
3015
+ {
3016
+ defaultValue: defaultRecordingMode,
3017
+ colorPalette: "primary",
3018
+ onValueChange: ({ value }) => {
3019
+ if (!value) return;
3020
+ onRecordingModeChange?.(value);
3021
+ },
3022
+ css: { gap: "3" },
3023
+ children: RECORDING_OPTIONS.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(Item2, { value: option.value, children: [
3024
+ /* @__PURE__ */ jsxRuntime.jsx(
3025
+ ItemControl,
3026
+ {
3027
+ css: {
3028
+ boxShadow: "none",
3029
+ borderWidth: "1px",
3030
+ borderStyle: "solid",
3031
+ borderColor: "primary.7",
3032
+ _checked: {
3033
+ bg: "m3Primary.container",
3034
+ borderColor: "primary.7",
3035
+ _after: { bg: "primary.7" }
3036
+ }
3037
+ }
3038
+ }
3039
+ ),
3040
+ /* @__PURE__ */ jsxRuntime.jsx(
3041
+ ItemText,
3042
+ {
3043
+ css: { fontSize: "md", fontWeight: "medium" },
3044
+ children: option.label
3045
+ }
3046
+ ),
3047
+ /* @__PURE__ */ jsxRuntime.jsx(ItemHiddenInput, {})
3048
+ ] }, option.value))
3049
+ }
3050
+ ) }) })
3051
+ ] }),
3052
+ /* @__PURE__ */ jsxRuntime.jsxs(Item, { value: "display-timer", className: styles.section, children: [
3053
+ /* @__PURE__ */ jsxRuntime.jsxs(
3054
+ ItemTrigger,
3055
+ {
3056
+ className: styles.sectionTrigger,
3057
+ css: {
3058
+ fontSize: "lg",
3059
+ fontWeight: "medium",
3060
+ borderRadius: "0",
3061
+ py: "4",
3062
+ bg: "neutral.1",
3063
+ color: "onSurface"
3064
+ },
3065
+ children: [
3066
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.triggerIcon, children: /* @__PURE__ */ jsxRuntime.jsx(TimerIcon, {}) }),
3067
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.triggerLabel, children: "Display Timer" }),
3068
+ /* @__PURE__ */ jsxRuntime.jsx(
3069
+ ItemIndicator,
3070
+ {
3071
+ className: styles.sectionIndicator,
3072
+ css: { color: "primary.7" }
3073
+ }
3074
+ )
3075
+ ]
3076
+ }
3077
+ ),
3078
+ /* @__PURE__ */ jsxRuntime.jsx(ItemContent, { className: styles.sectionContent, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.togglePanel, children: [
3079
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles.toggleDescription, children: "Hide timer to create more realistic interview" }),
3080
+ /* @__PURE__ */ jsxRuntime.jsxs(
3081
+ Root5,
3082
+ {
3083
+ colorPalette: "primary",
3084
+ defaultChecked: defaultShowTimer,
3085
+ onCheckedChange: ({ checked }) => {
3086
+ onTimerChange?.(checked);
3087
+ },
3088
+ children: [
3089
+ /* @__PURE__ */ jsxRuntime.jsx(Control, {}),
3090
+ /* @__PURE__ */ jsxRuntime.jsx(HiddenInput, {})
3091
+ ]
3092
+ }
3093
+ )
3094
+ ] }) })
3095
+ ] }),
3096
+ /* @__PURE__ */ jsxRuntime.jsxs(Item, { value: "hide-interviewers", className: styles.section, children: [
3097
+ /* @__PURE__ */ jsxRuntime.jsxs(
3098
+ ItemTrigger,
3099
+ {
3100
+ className: styles.sectionTrigger,
3101
+ css: {
3102
+ fontSize: "lg",
3103
+ fontWeight: "medium",
3104
+ borderRadius: "0",
3105
+ py: "4",
3106
+ bg: "neutral.1",
3107
+ color: "onSurface"
3108
+ },
3109
+ children: [
3110
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.triggerIcon, children: /* @__PURE__ */ jsxRuntime.jsx(AudienceIcon, {}) }),
3111
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.triggerLabel, children: "Hide Interviewers" }),
3112
+ /* @__PURE__ */ jsxRuntime.jsx(
3113
+ ItemIndicator,
3114
+ {
3115
+ className: styles.sectionIndicator,
3116
+ css: { color: "primary.7" }
3117
+ }
3118
+ )
3119
+ ]
3120
+ }
3121
+ ),
3122
+ /* @__PURE__ */ jsxRuntime.jsx(ItemContent, { className: styles.sectionContent, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.togglePanel, children: [
3123
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles.toggleDescription, children: "Switch off to hide video of interviewers if it is too distracting" }),
3124
+ /* @__PURE__ */ jsxRuntime.jsxs(
3125
+ Root5,
3126
+ {
3127
+ colorPalette: "primary",
3128
+ defaultChecked: defaultHideInterviewers,
3129
+ onCheckedChange: ({ checked }) => {
3130
+ onInterviewersChange?.(checked);
3131
+ },
3132
+ children: [
3133
+ /* @__PURE__ */ jsxRuntime.jsx(Control, {}),
3134
+ /* @__PURE__ */ jsxRuntime.jsx(HiddenInput, {})
3135
+ ]
3136
+ }
3137
+ )
3138
+ ] }) })
3139
+ ] })
3140
+ ] }) });
3141
+ }
2778
3142
  var dialogContentClass = css.css({
2779
3143
  width: "full",
2780
3144
  maxWidth: "560px",
@@ -3181,6 +3545,7 @@ exports.SpeechIcon = SpeechIcon;
3181
3545
  exports.Spinner = Spinner;
3182
3546
  exports.Stepper = Stepper;
3183
3547
  exports.StopPlayIcon = StopPlayIcon;
3548
+ exports.StudioControls = StudioControls;
3184
3549
  exports.Switch_exports = Switch_exports;
3185
3550
  exports.Tabs_exports = Tabs_exports;
3186
3551
  exports.Textarea = Textarea;
@@ -3191,5 +3556,5 @@ exports.UserProfileIcon = UserProfileIcon;
3191
3556
  exports.difficultyColorMap = difficultyColorMap;
3192
3557
  exports.difficultyLabel = difficultyLabel;
3193
3558
  exports.toaster = toaster;
3194
- //# sourceMappingURL=chunk-VOH2QELR.cjs.map
3195
- //# sourceMappingURL=chunk-VOH2QELR.cjs.map
3559
+ //# sourceMappingURL=chunk-TBLDQATQ.cjs.map
3560
+ //# sourceMappingURL=chunk-TBLDQATQ.cjs.map