@apple-pie/slice 0.1.28 → 0.1.29

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 (172) hide show
  1. package/dist/cjs/chunks/{Avatar-Dg8ZHnw6.js → Avatar-vIquH-Uk.js} +1 -1
  2. package/dist/cjs/chunks/{AvatarGroup-F8eSiMwn.js → AvatarGroup-DYN73N5x.js} +1 -1
  3. package/dist/cjs/chunks/{Button-Dic9Rfkr.js → Button-B1qbfQgN.js} +1 -1
  4. package/dist/cjs/chunks/{ButtonBar-C7tJ6pDM.js → ButtonBar-zpC3sClM.js} +1 -1
  5. package/dist/cjs/chunks/{Camera-DfnOBHeI.js → Camera-CCzynmXT.js} +2 -2
  6. package/dist/cjs/chunks/{CheckBox-Cxzt7DJo.js → CheckBox-DNctUlTA.js} +1 -1
  7. package/dist/cjs/chunks/{Chip-DKbhpeho.js → Chip-BN4qBz6w.js} +1 -1
  8. package/dist/cjs/chunks/{DivInput-DWPwVUs_.js → DivInput-932r3bvF.js} +1 -1
  9. package/dist/cjs/chunks/{DrggablePanel-DuOxkekq.js → DrggablePanel-u8C-Y4dA.js} +4 -4
  10. package/dist/cjs/chunks/{DropDown-BcRH7Fle.js → DropDown-BZbrZOkx.js} +11 -10
  11. package/dist/cjs/chunks/{FileIcon-DgRlhqzv.js → FileIcon-Dxn9OL10.js} +1 -1
  12. package/dist/cjs/chunks/{FileList-S0Hf82-C.js → FileList-D5_igVaC.js} +1 -1
  13. package/dist/cjs/chunks/{FlexDiv-BPnptnPL.js → FlexDiv-D4aSJC_G.js} +1 -1
  14. package/dist/cjs/chunks/{Grouper-CgkPu4sa.js → Grouper-D6rSl9nK.js} +1 -1
  15. package/dist/cjs/chunks/{Icon-UFrKtcYJ.js → Icon-BFiN8Wzm.js} +84 -2
  16. package/dist/cjs/chunks/{IconButton-CaQ0SioJ.js → IconButton-Cv-po19M.js} +2 -2
  17. package/dist/cjs/chunks/{Label-Bxp2pCXf.js → Label-BQ6flU4-.js} +1 -1
  18. package/dist/cjs/chunks/{MdStreamBuffer-DObxjnAm.js → MdStreamBuffer-CvLO7CVi.js} +37 -3
  19. package/dist/cjs/chunks/{Pager-DO197OyC.js → Pager-GH2y7l5h.js} +1 -1
  20. package/dist/cjs/chunks/{ProgressIndicator-n9CfW6jd.js → ProgressIndicator-7pLk4Dvn.js} +1 -1
  21. package/dist/cjs/chunks/{PromptInput-CI0iSYKL.js → PromptInput-C8-V67sS.js} +1 -1
  22. package/dist/cjs/chunks/{RadioButton-JBNaNihZ.js → RadioButton-3CzhKBn6.js} +1 -1
  23. package/dist/cjs/chunks/{RadioButtonList-CW2pDNIq.js → RadioButtonList-DvJV6Qdg.js} +1 -1
  24. package/dist/cjs/chunks/{Slider-BAcaZUs2.js → Slider-D8OYGFsN.js} +25 -28
  25. package/dist/cjs/chunks/{TabBar-Bpngr90Q.js → TabBar-VzxuAesC.js} +10 -7
  26. package/dist/cjs/chunks/{TextArea-BZgwajEC.js → TextArea-CBNHvcK3.js} +1 -1
  27. package/dist/cjs/chunks/{TextField-x1MWESCA.js → TextField-BpoLF6pZ.js} +2 -2
  28. package/dist/cjs/chunks/{Tip-BZQhRyng.js → Tip-CUKFhP9K.js} +1 -1
  29. package/dist/cjs/chunks/{Toast-cda-RInJ.js → Toast-CKqGjsEk.js} +7 -6
  30. package/dist/cjs/chunks/{ToggleButton-CuX1nQk4.js → ToggleButton-BdCsChJM.js} +1 -1
  31. package/dist/cjs/chunks/{UploadArea-CiiKnWe7.js → UploadArea-M9oc-No2.js} +1 -1
  32. package/dist/cjs/chunks/{_types-Cqkxw-yc.js → _types-Bdqd2vHh.js} +6 -2
  33. package/dist/cjs/chunks/{microphoneStore-CgFohRfy.js → microphoneStore-D1fV_8QQ.js} +21 -4
  34. package/dist/cjs/chunks/{misc-BTF7BCZW.js → misc-CTl4GDxI.js} +2 -2
  35. package/dist/cjs/chunks/volumeStore-oYwlRVN0.js +95 -0
  36. package/dist/cjs/components/Avatar/index.js +2 -2
  37. package/dist/cjs/components/AvatarGroup/index.js +2 -2
  38. package/dist/cjs/components/Button/index.js +4 -4
  39. package/dist/cjs/components/ButtonBar/index.js +2 -2
  40. package/dist/cjs/components/Camera/index.js +4 -4
  41. package/dist/cjs/components/CheckBox/index.js +2 -2
  42. package/dist/cjs/components/Chip/index.js +2 -2
  43. package/dist/cjs/components/DivInput/index.js +2 -2
  44. package/dist/cjs/components/DraggablePanel/index.js +2 -2
  45. package/dist/cjs/components/DropDown/index.js +2 -2
  46. package/dist/cjs/components/FileIcon/index.js +2 -2
  47. package/dist/cjs/components/FileList/index.js +3 -3
  48. package/dist/cjs/components/FlexDiv/index.js +1 -1
  49. package/dist/cjs/components/Grouper/index.js +2 -2
  50. package/dist/cjs/components/Icon/index.js +2 -2
  51. package/dist/cjs/components/IconButton/index.js +3 -3
  52. package/dist/cjs/components/Label/index.js +2 -2
  53. package/dist/cjs/components/Pager/index.js +2 -2
  54. package/dist/cjs/components/Progress/index.js +2 -2
  55. package/dist/cjs/components/PromptInput/index.js +5 -5
  56. package/dist/cjs/components/RadioButton/index.js +2 -2
  57. package/dist/cjs/components/RadioButtonList/index.js +3 -3
  58. package/dist/cjs/components/Slider/index.js +2 -2
  59. package/dist/cjs/components/TabBar/index.js +3 -3
  60. package/dist/cjs/components/TextArea/index.js +5 -5
  61. package/dist/cjs/components/Textfield/index.js +4 -4
  62. package/dist/cjs/components/Tip/index.js +2 -2
  63. package/dist/cjs/components/Toast/index.js +2 -2
  64. package/dist/cjs/components/ToggleButton/index.js +5 -5
  65. package/dist/cjs/components/UploadArea/index.js +10 -10
  66. package/dist/cjs/hooks/useMdStreamBuffer.js +1 -1
  67. package/dist/cjs/hooks/useMicrophone.js +59 -15
  68. package/dist/cjs/hooks/useTrackRenders.js +1 -1
  69. package/dist/cjs/hooks.js +1 -1
  70. package/dist/cjs/index.js +3 -3
  71. package/dist/cjs/providers/ThemeProvider.js +2 -2
  72. package/dist/cjs/stores/microphone.js +5 -3
  73. package/dist/cjs/stores/volume.js +10 -0
  74. package/dist/cjs/stores.js +15 -8
  75. package/dist/cjs/theme/colors.js +6 -0
  76. package/dist/cjs/utils/index.js +1 -1
  77. package/dist/cjs/utils/objects/index.js +1 -1
  78. package/dist/esm/chunks/{Avatar-m5-zleDk.mjs → Avatar-Ds6MWC2c.mjs} +1 -1
  79. package/dist/esm/chunks/{AvatarGroup-DlgP4lTS.mjs → AvatarGroup-CBGi99eo.mjs} +1 -1
  80. package/dist/esm/chunks/{Button-BIbAGVV8.mjs → Button-CYFpitCp.mjs} +2 -2
  81. package/dist/esm/chunks/{ButtonBar-B-1YFX9u.mjs → ButtonBar-ieMA0SHi.mjs} +2 -2
  82. package/dist/esm/chunks/{Camera-BQBo2g52.mjs → Camera-jn9CcaD0.mjs} +3 -3
  83. package/dist/esm/chunks/{CheckBox-DDwE1wkX.mjs → CheckBox-CoOmnGWD.mjs} +2 -2
  84. package/dist/esm/chunks/{Chip-BuHc883v.mjs → Chip-ClG6cUX0.mjs} +2 -2
  85. package/dist/esm/chunks/{DivInput-WJltaCra.mjs → DivInput-BVhcU0y0.mjs} +1 -1
  86. package/dist/esm/chunks/{DrggablePanel-Dc6lqqfO.mjs → DrggablePanel-G5HHlntD.mjs} +4 -4
  87. package/dist/esm/chunks/{DropDown-CdkEVTRk.mjs → DropDown-AuQW_DWv.mjs} +12 -11
  88. package/dist/esm/chunks/{FileIcon-Cufsp1gn.mjs → FileIcon-fJV_Cl6v.mjs} +1 -1
  89. package/dist/esm/chunks/{FileList-DN4Ubroe.mjs → FileList-CxHaEEUi.mjs} +4 -4
  90. package/dist/esm/chunks/{FlexDiv-BWZ7f8mA.mjs → FlexDiv-DnY1_qk4.mjs} +1 -1
  91. package/dist/esm/chunks/{Grouper-C4A3qYot.mjs → Grouper-CyWZ8tfm.mjs} +1 -1
  92. package/dist/esm/chunks/{Icon-DRzjkybv.mjs → Icon-BOJAk-hM.mjs} +85 -3
  93. package/dist/esm/chunks/{IconButton-b1v9Me0P.mjs → IconButton-Ck0IMn4i.mjs} +2 -2
  94. package/dist/esm/chunks/{Label-CvCDAg1y.mjs → Label-DSfCcKtQ.mjs} +1 -1
  95. package/dist/esm/chunks/{MdStreamBuffer-DNXE4XbN.mjs → MdStreamBuffer-By7pHJQL.mjs} +37 -3
  96. package/dist/esm/chunks/{Pager-BoDLaKFh.mjs → Pager-ByJ2Cr0n.mjs} +1 -1
  97. package/dist/esm/chunks/{ProgressIndicator-D5e7406q.mjs → ProgressIndicator-d2JGUDW_.mjs} +1 -1
  98. package/dist/esm/chunks/{PromptInput-Dmx4sQZ3.mjs → PromptInput-COJnOFZf.mjs} +3 -3
  99. package/dist/esm/chunks/{RadioButton-D2T-SsVw.mjs → RadioButton-BB73OY2a.mjs} +2 -2
  100. package/dist/esm/chunks/{RadioButtonList-BSPuAYoh.mjs → RadioButtonList-XqlqadYn.mjs} +2 -2
  101. package/dist/esm/chunks/{Slider-Cav86rU6.mjs → Slider-CU0Zdlpu.mjs} +25 -28
  102. package/dist/esm/chunks/{TabBar-DBoZ8aoV.mjs → TabBar-v8Dp4dr-.mjs} +11 -8
  103. package/dist/esm/chunks/{TextArea-CSUDfcYd.mjs → TextArea-DGF43RON.mjs} +1 -1
  104. package/dist/esm/chunks/{TextField-Z1O858hB.mjs → TextField-j4q0RUzH.mjs} +4 -4
  105. package/dist/esm/chunks/{Tip-B8YrmJEt.mjs → Tip-Bj9d-230.mjs} +1 -1
  106. package/dist/esm/chunks/{Toast-QQ6GMr5F.mjs → Toast-CoioLlEG.mjs} +7 -6
  107. package/dist/esm/chunks/{ToggleButton-B5oobnXJ.mjs → ToggleButton-CwTm8Yx0.mjs} +2 -2
  108. package/dist/esm/chunks/{UploadArea-CJAQmqOS.mjs → UploadArea-DAwoJxtr.mjs} +5 -5
  109. package/dist/esm/chunks/{_types-fSW-DudT.mjs → _types-BVrr_Khp.mjs} +6 -2
  110. package/dist/esm/chunks/{microphoneStore-t16oxjGB.mjs → microphoneStore-Dr3lxoWX.mjs} +19 -5
  111. package/dist/esm/chunks/{misc-BeEWwOaJ.mjs → misc-Bjbro8Xe.mjs} +2 -2
  112. package/dist/esm/chunks/volumeStore-GZnCDBMU.mjs +90 -0
  113. package/dist/esm/components/Avatar/index.mjs +2 -2
  114. package/dist/esm/components/AvatarGroup/index.mjs +3 -3
  115. package/dist/esm/components/Button/index.mjs +4 -4
  116. package/dist/esm/components/ButtonBar/index.mjs +3 -3
  117. package/dist/esm/components/Camera/index.mjs +4 -4
  118. package/dist/esm/components/CheckBox/index.mjs +3 -3
  119. package/dist/esm/components/Chip/index.mjs +3 -3
  120. package/dist/esm/components/DivInput/index.mjs +2 -2
  121. package/dist/esm/components/DraggablePanel/index.mjs +2 -2
  122. package/dist/esm/components/DropDown/index.mjs +3 -3
  123. package/dist/esm/components/FileIcon/index.mjs +2 -2
  124. package/dist/esm/components/FileList/index.mjs +5 -5
  125. package/dist/esm/components/FlexDiv/index.mjs +1 -1
  126. package/dist/esm/components/Grouper/index.mjs +3 -3
  127. package/dist/esm/components/Icon/index.mjs +3 -3
  128. package/dist/esm/components/IconButton/index.mjs +3 -3
  129. package/dist/esm/components/Label/index.mjs +2 -2
  130. package/dist/esm/components/Pager/index.mjs +2 -2
  131. package/dist/esm/components/Progress/index.mjs +3 -3
  132. package/dist/esm/components/PromptInput/index.mjs +7 -7
  133. package/dist/esm/components/RadioButton/index.mjs +3 -3
  134. package/dist/esm/components/RadioButtonList/index.mjs +4 -4
  135. package/dist/esm/components/Slider/index.mjs +2 -2
  136. package/dist/esm/components/TabBar/index.mjs +4 -4
  137. package/dist/esm/components/TextArea/index.mjs +5 -5
  138. package/dist/esm/components/Textfield/index.mjs +6 -6
  139. package/dist/esm/components/Tip/index.mjs +2 -2
  140. package/dist/esm/components/Toast/index.mjs +3 -3
  141. package/dist/esm/components/ToggleButton/index.mjs +5 -5
  142. package/dist/esm/components/UploadArea/index.mjs +8 -8
  143. package/dist/esm/hooks/useMdStreamBuffer.mjs +1 -1
  144. package/dist/esm/hooks/useMicrophone.mjs +59 -15
  145. package/dist/esm/hooks/useTrackRenders.mjs +1 -1
  146. package/dist/esm/hooks.mjs +1 -1
  147. package/dist/esm/index.mjs +33 -33
  148. package/dist/esm/providers/ThemeProvider.mjs +2 -2
  149. package/dist/esm/stores/microphone.mjs +1 -1
  150. package/dist/esm/stores/volume.mjs +5 -0
  151. package/dist/esm/stores.mjs +3 -1
  152. package/dist/esm/theme/colors.mjs +6 -0
  153. package/dist/esm/utils/index.mjs +2 -2
  154. package/dist/esm/utils/objects/index.mjs +1 -1
  155. package/dist/types/components/DropDown/_types.d.ts +1 -0
  156. package/dist/types/components/Icon/_types.d.ts +4 -0
  157. package/dist/types/components/Slider/_types.d.ts +5 -0
  158. package/dist/types/components/TabBar/_types.d.ts +2 -0
  159. package/dist/types/components/Toast/_types.d.ts +1 -0
  160. package/dist/types/hooks/useMicrophone/useMicrophone.d.ts +4 -0
  161. package/dist/types/stores/index.d.ts +1 -0
  162. package/dist/types/stores/microphone/_types.d.ts +4 -0
  163. package/dist/types/stores/microphone/index.d.ts +1 -1
  164. package/dist/types/stores/microphone/microphoneStore.d.ts +3 -0
  165. package/dist/types/stores/volume/_types.d.ts +19 -0
  166. package/dist/types/stores/volume/index.d.ts +3 -0
  167. package/dist/types/stores/volume/volumeStore.d.ts +32 -0
  168. package/dist/types/theme/colors/types.d.ts +3 -0
  169. package/dist/types/utils/functions/misc.d.ts +1 -1
  170. package/dist/types/utils/objects/MDStreamBuffer/MdStreamBuffer.d.ts +3 -0
  171. package/dist/types/utils/objects/MDStreamBuffer/_types.d.ts +1 -0
  172. package/package.json +1 -1
@@ -4,7 +4,24 @@ import { _ as __awaiter } from "../chunks/tslib.es6-C-olHjXV.mjs";
4
4
  import { useRef, useState, useCallback, useMemo, useEffect } from "react";
5
5
 
6
6
  function useMicrophone(startMuted = !0, microphoneDeviceId, autoRequest = !0) {
7
- const micStream = useRef(null), micTrack = useRef(null), mutedRef = useRef(startMuted), mountedRef = useRef(!0), initializedRef = useRef(!1), [microphones, setMicrophones] = useState([]), [micOptions, setMicOptions] = useState([]), [isActive, setIsActive] = useState(!1), [muted, setMuted] = useState(startMuted), [isRequesting, setIsRequesting] = useState(!1), [error, setError] = useState(null), waitForPaint = useCallback(() => __awaiter(this, void 0, void 0, function*() {
7
+ const micStream = useRef(null), processedMicStream = useRef(null), micTrack = useRef(null), audioContextRef = useRef(null), sourceNodeRef = useRef(null), gainNodeRef = useRef(null), destinationNodeRef = useRef(null), inputVolumeRef = useRef(1), mutedRef = useRef(startMuted), mountedRef = useRef(!0), initializedRef = useRef(!1), [microphones, setMicrophones] = useState([]), [micOptions, setMicOptions] = useState([]), [currentDeviceId, setCurrentDeviceId] = useState(null), [isActive, setIsActive] = useState(!1), [inputVolume, setInputVolumeState] = useState(1), [muted, setMuted] = useState(startMuted), [isRequesting, setIsRequesting] = useState(!1), [error, setError] = useState(null), normalizeInputVolume = useCallback(volume => Number.isFinite(volume) ? Math.min(1, Math.max(0, volume)) : 1, []), resetAudioProcessing = useCallback(() => {
8
+ var _a, _b, _c, _d;
9
+ null === (_a = sourceNodeRef.current) || void 0 === _a || _a.disconnect(), null === (_b = gainNodeRef.current) || void 0 === _b || _b.disconnect(),
10
+ null === (_c = destinationNodeRef.current) || void 0 === _c || _c.disconnect(),
11
+ null === (_d = audioContextRef.current) || void 0 === _d || _d.close().catch(() => null),
12
+ sourceNodeRef.current = null, gainNodeRef.current = null, destinationNodeRef.current = null,
13
+ audioContextRef.current = null, processedMicStream.current = null;
14
+ }, []), setupAudioProcessing = useCallback(stream => {
15
+ var _a;
16
+ resetAudioProcessing();
17
+ const AudioContextCtor = null !== (_a = globalThis.AudioContext) && void 0 !== _a ? _a : globalThis.webkitAudioContext;
18
+ if (!AudioContextCtor) return processedMicStream.current = stream, stream;
19
+ const context = new AudioContextCtor, source = context.createMediaStreamSource(stream), gain = context.createGain(), destination = context.createMediaStreamDestination();
20
+ return gain.gain.value = normalizeInputVolume(inputVolumeRef.current), source.connect(gain),
21
+ gain.connect(destination), audioContextRef.current = context, sourceNodeRef.current = source,
22
+ gainNodeRef.current = gain, destinationNodeRef.current = destination, processedMicStream.current = destination.stream,
23
+ destination.stream;
24
+ }, [ normalizeInputVolume, resetAudioProcessing ]), waitForPaint = useCallback(() => __awaiter(this, void 0, void 0, function*() {
8
25
  yield new Promise(resolve => {
9
26
  requestAnimationFrame(() => resolve());
10
27
  });
@@ -19,10 +36,12 @@ function useMicrophone(startMuted = !0, microphoneDeviceId, autoRequest = !0) {
19
36
  }));
20
37
  }), []), stopMicStream = useCallback(() => {
21
38
  var _a;
39
+ resetAudioProcessing();
22
40
  const tracks = null === (_a = micStream.current) || void 0 === _a ? void 0 : _a.getTracks();
23
41
  for (const track of null != tracks ? tracks : []) track.stop();
24
- micStream.current = null, micTrack.current = null, setIsActive(!1);
25
- }, []), hasMediaSupport = useMemo(() => {
42
+ micStream.current = null, micTrack.current = null, processedMicStream.current = null,
43
+ setCurrentDeviceId(null), setIsActive(!1);
44
+ }, [ resetAudioProcessing ]), hasMediaSupport = useMemo(() => {
26
45
  var _a;
27
46
  return "undefined" != typeof navigator && Boolean(null === (_a = navigator.mediaDevices) || void 0 === _a ? void 0 : _a.getUserMedia);
28
47
  }, []), getMicTrack = useCallback(() => {
@@ -32,7 +51,11 @@ function useMicrophone(startMuted = !0, microphoneDeviceId, autoRequest = !0) {
32
51
  return audioTrack;
33
52
  }, []), hasActiveStream = useCallback(() => !(!micStream.current || !micTrack.current) && "live" === micTrack.current.readyState, []), muteMic = useCallback(() => (getMicTrack().enabled = !1,
34
53
  mutedRef.current = !0, setMuted(!0), !0), [ getMicTrack ]), unmuteMic = useCallback(() => (getMicTrack().enabled = !0,
35
- mutedRef.current = !1, setMuted(!1), !0), [ getMicTrack ]), constraints = useCallback((deviceId, usePreferredDevice = !0) => {
54
+ mutedRef.current = !1, setMuted(!1), !0), [ getMicTrack ]), setInputVolume = useCallback(volume => {
55
+ const nextVolume = normalizeInputVolume(volume);
56
+ return inputVolumeRef.current = nextVolume, setInputVolumeState(nextVolume), gainNodeRef.current && (gainNodeRef.current.gain.value = nextVolume),
57
+ nextVolume;
58
+ }, [ normalizeInputVolume ]), constraints = useCallback((deviceId, usePreferredDevice = !0) => {
36
59
  var _a;
37
60
  const id = usePreferredDevice ? null !== (_a = null != deviceId ? deviceId : microphoneDeviceId) && void 0 !== _a ? _a : void 0 : deviceId;
38
61
  return {
@@ -43,15 +66,16 @@ function useMicrophone(startMuted = !0, microphoneDeviceId, autoRequest = !0) {
43
66
  }
44
67
  };
45
68
  }, [ microphoneDeviceId ]), requestStream = useCallback((deviceId_1, ...args_1) => __awaiter(this, [ deviceId_1, ...args_1 ], void 0, function*(deviceId, usePreferredDevice = !0) {
69
+ var _a;
46
70
  return micStream.current = yield navigator.mediaDevices.getUserMedia(constraints(deviceId, usePreferredDevice)),
47
- micTrack.current = getMicTrack(), micTrack.current.enabled = !mutedRef.current,
48
- mutedRef.current || (yield waitForTrackToBecomeActive(micTrack.current)), setIsActive(Boolean("live" === micTrack.current.readyState)),
49
- micStream.current;
50
- }), [ constraints, getMicTrack, waitForTrackToBecomeActive ]), requestMicrophone = useCallback(() => __awaiter(this, void 0, void 0, function*() {
71
+ setupAudioProcessing(micStream.current), micTrack.current = getMicTrack(), setCurrentDeviceId(null !== (_a = micTrack.current.getSettings().deviceId) && void 0 !== _a ? _a : null),
72
+ micTrack.current.enabled = !mutedRef.current, mutedRef.current || (yield waitForTrackToBecomeActive(micTrack.current)),
73
+ setIsActive(Boolean("live" === micTrack.current.readyState)), micStream.current;
74
+ }), [ constraints, getMicTrack, setupAudioProcessing, waitForTrackToBecomeActive ]), requestMicrophone = useCallback(() => __awaiter(this, void 0, void 0, function*() {
51
75
  if (hasActiveStream()) return setIsActive(!0), setError(null), micStream.current;
52
76
  if (setIsRequesting(!0), yield waitForPaint(), !hasMediaSupport) {
53
- const nextError = new Error("Microphone access is not supported");
54
- return setError(nextError), setIsActive(!1), mountedRef.current && setIsRequesting(!1),
77
+ const nextError = new Error("Microphone access isn't supported");
78
+ return setError(nextError), setCurrentDeviceId(null), setIsActive(!1), mountedRef.current && setIsRequesting(!1),
55
79
  null;
56
80
  }
57
81
  setError(null), stopMicStream();
@@ -59,23 +83,39 @@ function useMicrophone(startMuted = !0, microphoneDeviceId, autoRequest = !0) {
59
83
  return yield requestStream();
60
84
  } catch (error) {
61
85
  if (!(error instanceof DOMException && "OverconstrainedError" === error.name || error instanceof DOMException && "NotFoundError" === error.name)) {
62
- const nextError = error instanceof Error ? error : new Error("Failed to access microphone");
63
- throw setError(nextError), setIsActive(!1), nextError;
86
+ let nextError = new Error("Failed to access microphone");
87
+ throw error instanceof Error && (error.message.toLowerCase().includes("denied permission") || "NotAllowedError" === error.name) && (nextError = new Error("Permission to access the microphone was denied")),
88
+ setError(nextError), setCurrentDeviceId(null), setIsActive(!1), nextError;
64
89
  }
65
90
  return yield requestStream(void 0, !1);
66
91
  } finally {
67
92
  setIsRequesting(!1);
68
93
  }
69
94
  }), [ hasActiveStream, hasMediaSupport, requestStream, stopMicStream, waitForPaint ]), refreshMicrophones = useCallback(() => __awaiter(this, void 0, void 0, function*() {
95
+ var _a;
70
96
  if (!hasMediaSupport) return [];
71
97
  try {
72
- const devices = yield navigator.mediaDevices.enumerateDevices(), mics = devices.filter(device => "audioinput" === device.kind), options = mics.map(mic => ({
98
+ const devices = yield navigator.mediaDevices.enumerateDevices(), currentDeviceId = null === (_a = micTrack.current) || void 0 === _a ? void 0 : _a.getSettings().deviceId, mics = function(devices, activeDeviceId) {
99
+ const microphones = [ ...devices ], defaultIndex = microphones.findIndex(device => "default" === device.deviceId);
100
+ if (defaultIndex > 0) {
101
+ const [defaultDevice] = microphones.splice(defaultIndex, 1);
102
+ return microphones.unshift(defaultDevice), microphones;
103
+ }
104
+ if (0 === defaultIndex) return microphones;
105
+ if (!activeDeviceId) return microphones;
106
+ const activeIndex = microphones.findIndex(device => device.deviceId === activeDeviceId);
107
+ if (activeIndex > 0) {
108
+ const [activeDevice] = microphones.splice(activeIndex, 1);
109
+ microphones.unshift(activeDevice);
110
+ }
111
+ return microphones;
112
+ }(devices.filter(device => "audioinput" === device.kind), currentDeviceId), options = mics.map(mic => ({
73
113
  value: {
74
114
  id: mic.deviceId
75
115
  },
76
116
  label: mic.label
77
117
  }));
78
- return setMicrophones(mics), setMicOptions(options), devices.filter(device => "audioinput" === device.kind);
118
+ return setMicrophones(mics), setMicOptions(options), mics;
79
119
  } catch (error) {
80
120
  return console.warn("Error getting microphone devices:", error), setMicrophones([]),
81
121
  setMicOptions([]), [];
@@ -87,7 +127,7 @@ function useMicrophone(startMuted = !0, microphoneDeviceId, autoRequest = !0) {
87
127
  try {
88
128
  setError(null), stopMicStream(), yield requestStream(id, !1);
89
129
  } catch (err) {
90
- setIsActive(!1), setError(err instanceof Error ? err : new Error("Error switching microphone")),
130
+ setCurrentDeviceId(null), setIsActive(!1), setError(err instanceof Error ? err : new Error("Error switching microphone")),
91
131
  console.warn("Error switching microphone:", err);
92
132
  } finally {
93
133
  setIsRequesting(!1);
@@ -130,8 +170,11 @@ function useMicrophone(startMuted = !0, microphoneDeviceId, autoRequest = !0) {
130
170
  }, [ hasMediaSupport, microphoneDeviceId, refreshMicrophones, requestMicrophone ]),
131
171
  {
132
172
  micStream: micStream,
173
+ processedMicStream: processedMicStream,
133
174
  micTrack: micTrack,
175
+ currentDeviceId: currentDeviceId,
134
176
  isActive: isActive,
177
+ inputVolume: inputVolume,
135
178
  muted: muted,
136
179
  isSupported: hasMediaSupport,
137
180
  isRequesting: isRequesting,
@@ -143,6 +186,7 @@ function useMicrophone(startMuted = !0, microphoneDeviceId, autoRequest = !0) {
143
186
  muteMic: muteMic,
144
187
  unmuteMic: unmuteMic,
145
188
  toggleMute: toggleMute,
189
+ setInputVolume: setInputVolume,
146
190
  refreshMicrophones: refreshMicrophones,
147
191
  setMicrophone: setMicrophone
148
192
  };
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { useRef, useEffect } from "react";
3
3
 
4
- import { d as debug } from "../chunks/misc-BeEWwOaJ.mjs";
4
+ import { d as debug } from "../chunks/misc-Bjbro8Xe.mjs";
5
5
 
6
6
  import "../chunks/tslib.es6-C-olHjXV.mjs";
7
7
 
@@ -44,4 +44,4 @@ import "./theme/type.mjs";
44
44
 
45
45
  import "./chunks/tslib.es6-C-olHjXV.mjs";
46
46
 
47
- import "./chunks/MdStreamBuffer-DNXE4XbN.mjs";
47
+ import "./chunks/MdStreamBuffer-By7pHJQL.mjs";
@@ -34,79 +34,79 @@ export { useObserveResize } from "./hooks/useObserveResize.mjs";
34
34
 
35
35
  export { A as AudioBubble } from "./chunks/AudioBubble-D052QyPH.mjs";
36
36
 
37
- export { A as Avatar } from "./chunks/Avatar-m5-zleDk.mjs";
37
+ export { A as Avatar } from "./chunks/Avatar-Ds6MWC2c.mjs";
38
38
 
39
- export { A as AvatarGroup } from "./chunks/AvatarGroup-DlgP4lTS.mjs";
39
+ export { A as AvatarGroup } from "./chunks/AvatarGroup-CBGi99eo.mjs";
40
40
 
41
41
  export { B as Badge } from "./chunks/Badge-CC0zSLMf.mjs";
42
42
 
43
- export { I as IconButton } from "./chunks/IconButton-b1v9Me0P.mjs";
43
+ export { I as IconButton } from "./chunks/IconButton-Ck0IMn4i.mjs";
44
44
 
45
- export { C as Camera } from "./chunks/Camera-BQBo2g52.mjs";
45
+ export { C as Camera } from "./chunks/Camera-jn9CcaD0.mjs";
46
46
 
47
- export { C as CheckBox } from "./chunks/CheckBox-DDwE1wkX.mjs";
47
+ export { C as CheckBox } from "./chunks/CheckBox-CoOmnGWD.mjs";
48
48
 
49
- export { D as DivInput } from "./chunks/DivInput-WJltaCra.mjs";
49
+ export { D as DivInput } from "./chunks/DivInput-BVhcU0y0.mjs";
50
50
 
51
51
  export { D as Dot } from "./chunks/Dot-DZE134mJ.mjs";
52
52
 
53
- export { D as DraggablePanel } from "./chunks/DrggablePanel-Dc6lqqfO.mjs";
53
+ export { D as DraggablePanel } from "./chunks/DrggablePanel-G5HHlntD.mjs";
54
54
 
55
- export { D as DropDown } from "./chunks/DropDown-CdkEVTRk.mjs";
55
+ export { D as DropDown } from "./chunks/DropDown-AuQW_DWv.mjs";
56
56
 
57
57
  export { E as ErrorSummary } from "./chunks/ErrorSummary-EzCqVifm.mjs";
58
58
 
59
- export { G as Grouper } from "./chunks/Grouper-C4A3qYot.mjs";
59
+ export { G as Grouper } from "./chunks/Grouper-CyWZ8tfm.mjs";
60
60
 
61
61
  export { O as Overlay } from "./chunks/Overlay-DiSvgIQP.mjs";
62
62
 
63
- export { F as FlexDiv, P as Preset, S as Size } from "./chunks/FlexDiv-BWZ7f8mA.mjs";
63
+ export { F as FlexDiv, P as Preset, S as Size } from "./chunks/FlexDiv-DnY1_qk4.mjs";
64
64
 
65
- export { P as Pager } from "./chunks/Pager-BoDLaKFh.mjs";
65
+ export { P as Pager } from "./chunks/Pager-ByJ2Cr0n.mjs";
66
66
 
67
- export { P as PromptInput } from "./chunks/PromptInput-Dmx4sQZ3.mjs";
67
+ export { P as PromptInput } from "./chunks/PromptInput-COJnOFZf.mjs";
68
68
 
69
- export { D as DoneCheck, P as ProgressIndicator } from "./chunks/ProgressIndicator-D5e7406q.mjs";
69
+ export { D as DoneCheck, P as ProgressIndicator } from "./chunks/ProgressIndicator-d2JGUDW_.mjs";
70
70
 
71
- export { R as RadioButton } from "./chunks/RadioButton-D2T-SsVw.mjs";
71
+ export { R as RadioButton } from "./chunks/RadioButton-BB73OY2a.mjs";
72
72
 
73
- export { R as RadioButtonList } from "./chunks/RadioButtonList-BSPuAYoh.mjs";
73
+ export { R as RadioButtonList } from "./chunks/RadioButtonList-XqlqadYn.mjs";
74
74
 
75
- export { S as Slider } from "./chunks/Slider-Cav86rU6.mjs";
75
+ export { S as Slider } from "./chunks/Slider-CU0Zdlpu.mjs";
76
76
 
77
77
  export { S as Spacer } from "./chunks/Spacer-C5651N0N.mjs";
78
78
 
79
79
  export { S as Switch } from "./chunks/Switch-RfA431T4.mjs";
80
80
 
81
- export { T as ToggleButton } from "./chunks/ToggleButton-B5oobnXJ.mjs";
81
+ export { T as ToggleButton } from "./chunks/ToggleButton-CwTm8Yx0.mjs";
82
82
 
83
- export { T as TabBar } from "./chunks/TabBar-DBoZ8aoV.mjs";
83
+ export { T as TabBar } from "./chunks/TabBar-v8Dp4dr-.mjs";
84
84
 
85
- export { T as TextArea } from "./chunks/TextArea-CSUDfcYd.mjs";
85
+ export { T as TextArea } from "./chunks/TextArea-DGF43RON.mjs";
86
86
 
87
- export { T as TextField } from "./chunks/TextField-Z1O858hB.mjs";
87
+ export { T as TextField } from "./chunks/TextField-j4q0RUzH.mjs";
88
88
 
89
89
  export { ThemeProvider } from "./providers/ThemeProvider.mjs";
90
90
 
91
- export { T as Tip } from "./chunks/Tip-B8YrmJEt.mjs";
91
+ export { T as Tip } from "./chunks/Tip-Bj9d-230.mjs";
92
92
 
93
- export { T as Toast, a as ToastType } from "./chunks/Toast-QQ6GMr5F.mjs";
93
+ export { T as Toast, a as ToastType } from "./chunks/Toast-CoioLlEG.mjs";
94
94
 
95
- export { B as Button } from "./chunks/Button-BIbAGVV8.mjs";
95
+ export { B as Button } from "./chunks/Button-CYFpitCp.mjs";
96
96
 
97
- export { C as Chip } from "./chunks/Chip-BuHc883v.mjs";
97
+ export { C as Chip } from "./chunks/Chip-ClG6cUX0.mjs";
98
98
 
99
- export { F as FileIcon, a as FileIconNames } from "./chunks/FileIcon-Cufsp1gn.mjs";
99
+ export { F as FileIcon, a as FileIconNames } from "./chunks/FileIcon-fJV_Cl6v.mjs";
100
100
 
101
- export { I as Icon } from "./chunks/Icon-DRzjkybv.mjs";
101
+ export { I as Icon } from "./chunks/Icon-BOJAk-hM.mjs";
102
102
 
103
- export { S as SliceIcons } from "./chunks/_types-fSW-DudT.mjs";
103
+ export { S as SliceIcons } from "./chunks/_types-BVrr_Khp.mjs";
104
104
 
105
- export { B as ButtonBar } from "./chunks/ButtonBar-B-1YFX9u.mjs";
105
+ export { B as ButtonBar } from "./chunks/ButtonBar-ieMA0SHi.mjs";
106
106
 
107
- export { L as Label, a as LabelBackground } from "./chunks/Label-CvCDAg1y.mjs";
107
+ export { L as Label, a as LabelBackground } from "./chunks/Label-DSfCcKtQ.mjs";
108
108
 
109
- export { U as UploadArea, a as allTypes, b as audioTypes, d as documentTypes, i as imageTypes, t as textTypes, v as videoTypes } from "./chunks/UploadArea-CJAQmqOS.mjs";
109
+ export { U as UploadArea, a as allTypes, b as audioTypes, d as documentTypes, i as imageTypes, t as textTypes, v as videoTypes } from "./chunks/UploadArea-DAwoJxtr.mjs";
110
110
 
111
111
  import "./theme/corners.mjs";
112
112
 
@@ -116,7 +116,7 @@ import "react";
116
116
 
117
117
  import "./chunks/tslib.es6-C-olHjXV.mjs";
118
118
 
119
- import "./chunks/MdStreamBuffer-DNXE4XbN.mjs";
119
+ import "./chunks/MdStreamBuffer-By7pHJQL.mjs";
120
120
 
121
121
  import "react/jsx-runtime";
122
122
 
@@ -126,10 +126,10 @@ import "./chunks/audioVisualizer-ZgT77nUw.mjs";
126
126
 
127
127
  import "./chunks/style-inject.es-D0BjEaN8.mjs";
128
128
 
129
- import "./chunks/misc-BeEWwOaJ.mjs";
129
+ import "./chunks/misc-Bjbro8Xe.mjs";
130
130
 
131
131
  import "motion/react";
132
132
 
133
- import "./chunks/FileList-DN4Ubroe.mjs";
133
+ import "./chunks/FileList-CxHaEEUi.mjs";
134
134
 
135
135
  import "./chunks/debounce-Bst1jxMS.mjs";
@@ -17,11 +17,11 @@ import "../theme/motion.mjs";
17
17
 
18
18
  import "../theme/type.mjs";
19
19
 
20
- styleInject('/* Core brand colors (un-themed) */\n[data-slice-theme-scope] {\n\t--brand-grey-50: #f4f7fa;\n\t--brand-grey-100: #e5ecf3;\n\t--brand-grey-200: #d5e0ea;\n\t--brand-grey-300: #98acbf;\n\t--brand-grey-400: #7f96a9;\n\t--brand-grey-500: #657d91;\n\t--brand-grey-600: #4c6273;\n\t--brand-grey-700: #405261;\n\t--brand-grey-800: #37434e;\n\t--brand-grey-900: #2d353d;\n\t--brand-grey-950: #1f262d;\n\t--brand-sea-50: #e8f1ff;\n\t--brand-sea-100: #c7defe;\n\t--brand-sea-200: #a5c9ff;\n\t--brand-sea-300: #7ab3ff;\n\t--brand-sea-400: #4084ff;\n\t--brand-sea-500: #2f45ff;\n\t--brand-sea-600: #2d2fff;\n\t--brand-sea-700: #0000ff;\n\t--brand-sea-800: #0609cd;\n\t--brand-sea-900: #001699;\n\t--brand-sea-950: #0a0b5c;\n\t--brand-sky-50: #eafffe;\n\t--brand-sky-100: #cdfffb;\n\t--brand-sky-200: #a3f8ff;\n\t--brand-sky-300: #6af5ff;\n\t--brand-sky-400: #00edff;\n\t--brand-sky-500: #00c8e0;\n\t--brand-sky-600: #00a6c0;\n\t--brand-sky-700: #03839b;\n\t--brand-sky-800: #0d697d;\n\t--brand-sky-900: #105669;\n\t--brand-sky-950: #033949;\n\t--brand-land-50: #f4ffe5;\n\t--brand-land-100: #e0ffb7;\n\t--brand-land-200: #caff95;\n\t--brand-land-300: #b7fe59;\n\t--brand-land-400: #9cf820;\n\t--brand-land-500: #71e618;\n\t--brand-land-600: #56c900;\n\t--brand-land-700: #2d8c00;\n\t--brand-land-800: #31690b;\n\t--brand-land-900: #2a580f;\n\t--brand-land-950: #123201;\n\t--brand-orange-50: #fff8ec;\n\t--brand-orange-100: #ffebd7;\n\t--brand-orange-200: #ffe3c6;\n\t--brand-orange-300: #ffc182;\n\t--brand-orange-400: #ff972e;\n\t--brand-orange-500: #ff800a;\n\t--brand-orange-600: #ff6700;\n\t--brand-orange-700: #ff3700;\n\t--brand-orange-800: #a02b0b;\n\t--brand-orange-900: #80250b;\n\t--brand-orange-950: #461604;\n\t--brand-yellow-50: #ffffea;\n\t--brand-yellow-100: #fffdca;\n\t--brand-yellow-200: #fff2a0;\n\t--brand-yellow-300: #ffeb72;\n\t--brand-yellow-400: #ffd333;\n\t--brand-yellow-500: #ffc200;\n\t--brand-yellow-600: #ffad00;\n\t--brand-yellow-700: #c68601;\n\t--brand-yellow-800: #8f6307;\n\t--brand-yellow-900: #5f430a;\n\t--brand-yellow-950: #442e00;\n\t--brand-purple-50: #faf0ff;\n\t--brand-purple-100: #f4ddff;\n\t--brand-purple-200: #e5cdff;\n\t--brand-purple-300: #ccafff;\n\t--brand-purple-400: #b891ff;\n\t--brand-purple-500: #7d48ff;\n\t--brand-purple-600: #6a14ff;\n\t--brand-purple-700: #5600f1;\n\t--brand-purple-800: #4d01d6;\n\t--brand-purple-900: #4003af;\n\t--brand-purple-950: #1e007c;\n\t--brand-magenta-50: #fef1fc;\n\t--brand-magenta-100: #ffdcef;\n\t--brand-magenta-200: #ffcae6;\n\t--brand-magenta-300: #ff90cb;\n\t--brand-magenta-400: #ff61ca;\n\t--brand-magenta-500: #ff3ac2;\n\t--brand-magenta-600: #f012aa;\n\t--brand-magenta-700: #df059b;\n\t--brand-magenta-800: #9b0069;\n\t--brand-magenta-900: #790a55;\n\t--brand-magenta-950: #58003a;\n\t--brand-white-0: #ffffff;\n\t--product-red-400: #ff474a;\n\t--product-red-500: #df0529;\n\n\t/* Non-brand semantic aliases */\n\t--core-drop-shadow-light: #0339491a;\n\t--core-drop-shadow-dark: #0000007a;\n\t--core-surface-coverup-translucent-light: #1f262d52;\n\t--core-surface-coverup-translucent-dark: #0000007a;\n\t--core-surface-overlay-translucent-light: #ffffffcc;\n\t--core-surface-overlay-translucent-dark: #1f262dcc;\n\t--scroll-bar-light: #e3e8ef;\n\t--scroll-bar-dark: rgba(255, 255, 255, 0.1);\n\t--scroll-bar-hover-light: #cdd5df;\n\t--scroll-bar-hover-dark: rgba(255, 255, 255, 0.15);\n\t--surface-shadow-soft-light: 0px 4px 24px #0339491a;\n\t--surface-shadow-soft-dark: 0px 4px 24px #0000007a;\n\t--surface-shadow-strong-light: 0px 4px 64px #0339491a;\n\t--surface-shadow-strong-dark: 0px 4px 64px #0000007a;\n}\n\n/* Root-level token needed for global viewport backgrounds */\n:root[data-slice-theme="lightMode"] {\n\t--core-surface-primary: #ffffff;\n}\n\n/* Light theme tokens */\n:root[data-slice-theme="lightMode"] [data-slice-theme-scope] {\n\t--array-land: var(--brand-land-100);\n\t--array-land-label: var(--brand-land-600);\n\t--array-magenta: var(--brand-magenta-100);\n\t--array-magenta-label: var(--brand-magenta-600);\n\t--array-orange: var(--brand-orange-100);\n\t--array-orange-label: var(--brand-orange-600);\n\t--array-purple: var(--brand-purple-100);\n\t--array-purple-label: var(--brand-purple-600);\n\t--array-sea: var(--brand-sea-100);\n\t--array-sea-label: var(--brand-sea-600);\n\t--array-sky: var(--brand-sky-100);\n\t--array-sky-label: var(--brand-sky-600);\n\t--array-yellow: var(--brand-yellow-100);\n\t--array-yellow-label: var(--brand-yellow-600);\n\t--core-badge-primary: var(--brand-sea-500);\n\t--core-badge-secondary: var(--brand-grey-100);\n\t--core-button-disabled: var(--brand-grey-50);\n\t--core-button-primary: var(--brand-sea-500);\n\t--core-drop-shadow: var(--core-drop-shadow-light);\n\t--core-gp-logo-primary: var(--brand-sea-700);\n\t--core-gp-logo-secondary: var(--brand-grey-950);\n\t--core-icon-dark: var(--brand-grey-950);\n\t--core-icon-disabled: var(--brand-grey-300);\n\t--core-icon-error: var(--product-red-500);\n\t--core-icon-light: var(--brand-white-0);\n\t--core-icon-primary: var(--brand-grey-950);\n\t--core-icon-secondary: var(--brand-grey-700);\n\t--core-icon-tertiary: var(--brand-sea-500);\n\t--core-outline-secondary: var(--brand-grey-100);\n\t--core-outline-primary: var(--brand-grey-100);\n\t--core-outline-special: var(--brand-sea-100);\n\t--core-outline-tertiary: var(--brand-sea-500);\n\t--core-surface-coverup-translucent: var(\n\t\t--core-surface-coverup-translucent-light\n\t);\n\t--core-surface-overlay-translucent: var(\n\t\t--core-surface-overlay-translucent-light\n\t);\n\t--core-surface-primary: var(--brand-white-0);\n\t--core-surface-secondary: var(--brand-grey-50);\n\t--core-surface-special: var(--brand-sea-50);\n\t--core-text-dark: var(--brand-grey-950);\n\t--core-text-disabled: var(--brand-grey-300);\n\t--core-text-error: var(--product-red-500);\n\t--core-text-light: var(--brand-white-0);\n\t--core-text-primary: var(--brand-grey-950);\n\t--core-text-secondary: var(--brand-grey-700);\n\t--core-text-tertiary: var(--brand-grey-600);\n\t--core-text-special: var(--brand-sea-500);\n\t--core-link-primary: var(--brand-sea-700);\n\t--eor-tag-employee: var(--brand-sky-700);\n\t--eor-tag-overdue: var(--product-red-500);\n\t--eor-tag-paid: var(--brand-land-700);\n\t--eor-tag-pending: var(--brand-orange-500);\n\t--eor-tag-professional: var(--brand-sea-500);\n\t--feedback-attention: var(--brand-yellow-500);\n\t--feedback-informative: var(--brand-sky-700);\n\t--feedback-positive: var(--brand-land-700);\n\t--feedback-urgency: var(--brand-orange-500);\n\t--feedback-warning: var(--product-red-500);\n\t--gia-tag-risk-high: var(--product-red-500);\n\t--gia-tag-risk-low: var(--brand-sky-700);\n\t--gia-tag-risk-moderate: var(--brand-orange-500);\n\t--gia-text-excerpt-highlight: var(--brand-orange-100);\n\t--gia-text-selection: var(--brand-sea-100);\n\t--scroll-bar: var(--scroll-bar-light);\n\t--scroll-bar-hover: var(--scroll-bar-hover-light);\n\t--surface-shadow-soft: var(--surface-shadow-soft-light);\n\t--surface-shadow-strong: var(--surface-shadow-strong-light);\n}\n\n/* Root-level token needed for global viewport backgrounds */\n:root[data-slice-theme="darkMode"] {\n\t--core-surface-primary: #1f262d;\n}\n\n/* Dark theme tokens */\n:root[data-slice-theme="darkMode"] [data-slice-theme-scope] {\n\t--array-land: var(--brand-land-100);\n\t--array-land-label: var(--brand-land-600);\n\t--array-magenta: var(--brand-magenta-100);\n\t--array-magenta-label: var(--brand-magenta-600);\n\t--array-orange: var(--brand-orange-100);\n\t--array-orange-label: var(--brand-orange-600);\n\t--array-purple: var(--brand-purple-100);\n\t--array-purple-label: var(--brand-purple-600);\n\t--array-sea: var(--brand-sea-100);\n\t--array-sea-label: var(--brand-sea-600);\n\t--array-sky: var(--brand-sky-100);\n\t--array-sky-label: var(--brand-sky-600);\n\t--array-yellow: var(--brand-yellow-100);\n\t--array-yellow-label: var(--brand-yellow-600);\n\t--core-badge-primary: var(--brand-sea-500);\n\t--core-badge-secondary: var(--brand-grey-700);\n\t--core-button-disabled: var(--brand-grey-900);\n\t--core-button-primary: var(--brand-sea-500);\n\t--core-drop-shadow: var(--core-drop-shadow-dark);\n\t--core-gp-logo-primary: var(--brand-sea-500);\n\t--core-gp-logo-secondary: var(--brand-white-0);\n\t--core-icon-dark: var(--brand-grey-950);\n\t--core-icon-disabled: var(--brand-grey-500);\n\t--core-icon-error: var(--product-red-400);\n\t--core-icon-light: var(--brand-white-0);\n\t--core-icon-primary: var(--brand-white-0);\n\t--core-icon-secondary: var(--brand-grey-200);\n\t--core-icon-tertiary: var(--brand-sky-300);\n\t--core-outline-secondary: var(--brand-grey-900);\n\t--core-outline-primary: var(--brand-grey-700);\n\t--core-outline-special: var(--brand-sky-300);\n\t--core-outline-tertiary: var(--brand-sky-300);\n\t--core-surface-coverup-translucent: var(\n\t\t--core-surface-coverup-translucent-dark\n\t);\n\t--core-surface-overlay-translucent: var(\n\t\t--core-surface-overlay-translucent-dark\n\t);\n\t--core-surface-primary: var(--brand-grey-950);\n\t--core-surface-secondary: var(--brand-grey-900);\n\t--core-surface-special: var(--brand-sky-950);\n\t--core-text-dark: var(--brand-grey-950);\n\t--core-text-disabled: var(--brand-grey-500);\n\t--core-text-error: var(--product-red-400);\n\t--core-text-light: var(--brand-white-0);\n\t--core-text-primary: var(--brand-white-0);\n\t--core-text-secondary: var(--brand-grey-200);\n\t--core-text-tertiary: var(--brand-grey-400);\n\t--core-text-special: var(--brand-sky-300);\n\t--core-link-primary: var(--brand-sky-300);\n\t--eor-tag-employee: var(--brand-sky-700);\n\t--eor-tag-overdue: var(--product-red-400);\n\t--eor-tag-paid: var(--brand-land-700);\n\t--eor-tag-pending: var(--brand-orange-500);\n\t--eor-tag-professional: var(--brand-sea-500);\n\t--feedback-attention: var(--brand-yellow-400);\n\t--feedback-informative: var(--brand-sky-600);\n\t--feedback-positive: var(--brand-land-700);\n\t--feedback-urgency: var(--brand-orange-500);\n\t--feedback-warning: var(--product-red-400);\n\t--gia-tag-risk-high: var(--product-red-400);\n\t--gia-tag-risk-low: var(--brand-sky-600);\n\t--gia-tag-risk-moderate: var(--brand-orange-500);\n\t--gia-text-excerpt-highlight: var(--brand-orange-100);\n\t--gia-text-selection: var(--brand-sea-900);\n\t--scroll-bar: var(--scroll-bar-dark);\n\t--scroll-bar-hover: var(--scroll-bar-hover-dark);\n\t--surface-shadow-soft: var(--surface-shadow-soft-dark);\n\t--surface-shadow-strong: var(--surface-shadow-strong-dark);\n}\n\n/* Theme token text-color utility classes */\n[data-slice-theme-scope] .array-land {\n\tbackground: var(--array-land);\n}\n[data-slice-theme-scope] .array-land-label {\n\tcolor: var(--array-land-label);\n}\n[data-slice-theme-scope] .array-magenta {\n\tbackground: var(--array-magenta);\n}\n[data-slice-theme-scope] .array-magenta-label {\n\tcolor: var(--array-magenta-label);\n}\n[data-slice-theme-scope] .array-orange {\n\tbackground: var(--array-orange);\n}\n[data-slice-theme-scope] .array-orange-label {\n\tcolor: var(--array-orange-label);\n}\n[data-slice-theme-scope] .array-purple {\n\tbackground: var(--array-purple);\n}\n[data-slice-theme-scope] .array-purple-label {\n\tcolor: var(--array-purple-label);\n}\n[data-slice-theme-scope] .array-sea {\n\tbackground: var(--array-sea);\n}\n[data-slice-theme-scope] .array-sea-label {\n\tcolor: var(--array-sea-label);\n}\n[data-slice-theme-scope] .array-sky {\n\tbackground: var(--array-sky);\n}\n[data-slice-theme-scope] .array-sky-label {\n\tcolor: var(--array-sky-label);\n}\n[data-slice-theme-scope] .array-yellow {\n\tbackground: var(--array-yellow);\n}\n[data-slice-theme-scope] .array-yellow-label {\n\tcolor: var(--array-yellow-label);\n}\n[data-slice-theme-scope] .core-badge-primary {\n\tbackground: var(--core-badge-primary);\n}\n[data-slice-theme-scope] .core-badge-secondary {\n\tbackground: var(--core-badge-secondary);\n}\n[data-slice-theme-scope] .core-button-disabled {\n\tbackground: var(--core-button-disabled);\n}\n[data-slice-theme-scope] .core-button-primary {\n\tbackground: var(--core-button-primary);\n}\n[data-slice-theme-scope] .core-drop-shadow {\n\tbox-shadow: var(--core-drop-shadow);\n}\n[data-slice-theme-scope] .core-gp-logo-primary {\n\tcolor: var(--core-gp-logo-primary);\n}\n[data-slice-theme-scope] .core-gp-logo-secondary {\n\tcolor: var(--core-gp-logo-secondary);\n}\n[data-slice-theme-scope] .core-icon-dark {\n\tcolor: var(--core-icon-dark);\n}\n[data-slice-theme-scope] .core-icon-disabled {\n\tcolor: var(--core-icon-disabled);\n}\n[data-slice-theme-scope] .core-icon-error {\n\tcolor: var(--core-icon-error);\n}\n[data-slice-theme-scope] .core-icon-light {\n\tcolor: var(--core-icon-light);\n}\n[data-slice-theme-scope] .core-icon-primary {\n\tcolor: var(--core-icon-primary);\n}\n[data-slice-theme-scope] .core-icon-secondary {\n\tcolor: var(--core-icon-secondary);\n}\n[data-slice-theme-scope] .core-icon-tertiary {\n\tcolor: var(--core-icon-tertiary);\n}\n[data-slice-theme-scope] .core-link-primary {\n\tcolor: var(--core-link-primary);\n}\n[data-slice-theme-scope] .core-outline-primary {\n\tborder-color: var(--core-outline-primary);\n}\n[data-slice-theme-scope] .core-outline-secondary {\n\tborder-color: var(--core-outline-secondary);\n}\n[data-slice-theme-scope] .core-outline-special {\n\tborder-color: var(--core-outline-special);\n}\n[data-slice-theme-scope] .core-outline-tertiary {\n\tborder-color: var(--core-outline-tertiary);\n}\n[data-slice-theme-scope] .core-surface-coverup-translucent {\n\tbackground: var(--core-surface-coverup-translucent);\n}\n[data-slice-theme-scope] .core-surface-overlay-translucent {\n\tbackground: var(--core-surface-overlay-translucent);\n}\n[data-slice-theme-scope] .core-surface-primary {\n\tbackground: var(--core-surface-primary);\n}\n[data-slice-theme-scope] .core-surface-secondary {\n\tbackground: var(--core-surface-secondary);\n}\n[data-slice-theme-scope] .core-surface-special {\n\tbackground: var(--core-surface-special);\n}\n[data-slice-theme-scope] .core-text-dark {\n\tcolor: var(--core-text-dark);\n}\n[data-slice-theme-scope] .core-text-disabled {\n\tcolor: var(--core-text-disabled);\n}\n[data-slice-theme-scope] .core-text-error {\n\tcolor: var(--core-text-error);\n}\n[data-slice-theme-scope] .core-text-light {\n\tcolor: var(--core-text-light);\n}\n[data-slice-theme-scope] .core-text-primary {\n\tcolor: var(--core-text-primary);\n}\n[data-slice-theme-scope] .core-text-secondary {\n\tcolor: var(--core-text-secondary);\n}\n[data-slice-theme-scope] .core-text-special {\n\tcolor: var(--core-text-special);\n}\n[data-slice-theme-scope] .core-text-tertiary {\n\tcolor: var(--core-text-tertiary);\n}\n[data-slice-theme-scope] .eor-tag-employee {\n\tcolor: var(--eor-tag-employee);\n}\n[data-slice-theme-scope] .eor-tag-overdue {\n\tcolor: var(--eor-tag-overdue);\n}\n[data-slice-theme-scope] .eor-tag-paid {\n\tcolor: var(--eor-tag-paid);\n}\n[data-slice-theme-scope] .eor-tag-pending {\n\tcolor: var(--eor-tag-pending);\n}\n[data-slice-theme-scope] .eor-tag-professional {\n\tcolor: var(--eor-tag-professional);\n}\n[data-slice-theme-scope] .feedback-attention {\n\tcolor: var(--feedback-attention);\n}\n[data-slice-theme-scope] .feedback-informative {\n\tcolor: var(--feedback-informative);\n}\n[data-slice-theme-scope] .feedback-positive {\n\tcolor: var(--feedback-positive);\n}\n[data-slice-theme-scope] .feedback-urgency {\n\tcolor: var(--feedback-urgency);\n}\n[data-slice-theme-scope] .feedback-warning {\n\tcolor: var(--feedback-warning);\n}\n[data-slice-theme-scope] .gia-tag-risk-high {\n\tcolor: var(--gia-tag-risk-high);\n}\n[data-slice-theme-scope] .gia-tag-risk-low {\n\tcolor: var(--gia-tag-risk-low);\n}\n[data-slice-theme-scope] .gia-tag-risk-moderate {\n\tcolor: var(--gia-tag-risk-moderate);\n}\n[data-slice-theme-scope] .gia-text-excerpt-highlight {\n\tcolor: var(--gia-text-excerpt-highlight);\n}\n[data-slice-theme-scope] .gia-text-selection {\n\tcolor: var(--gia-text-selection);\n}\n[data-slice-theme-scope] .scroll-bar {\n\tcolor: var(--scroll-bar);\n}\n[data-slice-theme-scope] .scroll-bar-hover {\n\tcolor: var(--scroll-bar-hover);\n}\n[data-slice-theme-scope] .surface-shadow-soft {\n\tcolor: var(--surface-shadow-soft);\n}\n[data-slice-theme-scope] .surface-shadow-strong {\n\tcolor: var(--surface-shadow-strong);\n}\n\n[data-slice-theme-scope] {\n\tbackground: var(--core-surface-primary);\n}\n\n[data-slice-theme-scope] a {\n\tcolor: var(--core-text-special);\n\ttext-decoration: underline;\n}\n\n[data-slice-theme-scope] a:visited {\n\tcolor: var(--core-text-special);\n\ttext-decoration: underline;\n}\n\n[data-slice-theme-scope] a:hover {\n\ttext-decoration: none;\n}\n\n[data-slice-theme-scope] code {\n\tborder: 1px solid var(--core-outline-primary);\n\tbackground: var(--core-surface-secondary);\n\tcolor: var(--core-text-primary);\n}\n');
20
+ styleInject('/* Core brand colors (un-themed) */\n[data-slice-theme-scope] {\n\t--brand-grey-50: #f4f7fa;\n\t--brand-grey-100: #e5ecf3;\n\t--brand-grey-200: #d5e0ea;\n\t--brand-grey-300: #98acbf;\n\t--brand-grey-400: #7f96a9;\n\t--brand-grey-500: #657d91;\n\t--brand-grey-600: #4c6273;\n\t--brand-grey-700: #405261;\n\t--brand-grey-800: #37434e;\n\t--brand-grey-900: #2d353d;\n\t--brand-grey-950: #1f262d;\n\t--brand-sea-50: #e8f1ff;\n\t--brand-sea-100: #c7defe;\n\t--brand-sea-200: #a5c9ff;\n\t--brand-sea-300: #7ab3ff;\n\t--brand-sea-400: #4084ff;\n\t--brand-sea-500: #2f45ff;\n\t--brand-sea-600: #2d2fff;\n\t--brand-sea-700: #0000ff;\n\t--brand-sea-800: #0609cd;\n\t--brand-sea-900: #001699;\n\t--brand-sea-950: #0a0b5c;\n\t--brand-sky-50: #eafffe;\n\t--brand-sky-100: #cdfffb;\n\t--brand-sky-200: #a3f8ff;\n\t--brand-sky-300: #6af5ff;\n\t--brand-sky-400: #00edff;\n\t--brand-sky-500: #00c8e0;\n\t--brand-sky-600: #00a6c0;\n\t--brand-sky-700: #03839b;\n\t--brand-sky-800: #0d697d;\n\t--brand-sky-900: #105669;\n\t--brand-sky-950: #033949;\n\t--brand-land-50: #f4ffe5;\n\t--brand-land-100: #e0ffb7;\n\t--brand-land-200: #caff95;\n\t--brand-land-300: #b7fe59;\n\t--brand-land-400: #9cf820;\n\t--brand-land-500: #71e618;\n\t--brand-land-600: #56c900;\n\t--brand-land-700: #2d8c00;\n\t--brand-land-800: #31690b;\n\t--brand-land-900: #2a580f;\n\t--brand-land-950: #123201;\n\t--brand-orange-50: #fff8ec;\n\t--brand-orange-100: #ffebd7;\n\t--brand-orange-200: #ffe3c6;\n\t--brand-orange-300: #ffc182;\n\t--brand-orange-400: #ff972e;\n\t--brand-orange-500: #ff800a;\n\t--brand-orange-600: #ff6700;\n\t--brand-orange-700: #ff3700;\n\t--brand-orange-800: #a02b0b;\n\t--brand-orange-900: #80250b;\n\t--brand-orange-950: #461604;\n\t--brand-yellow-50: #ffffea;\n\t--brand-yellow-100: #fffdca;\n\t--brand-yellow-200: #fff2a0;\n\t--brand-yellow-300: #ffeb72;\n\t--brand-yellow-400: #ffd333;\n\t--brand-yellow-500: #ffc200;\n\t--brand-yellow-600: #ffad00;\n\t--brand-yellow-700: #c68601;\n\t--brand-yellow-800: #8f6307;\n\t--brand-yellow-900: #5f430a;\n\t--brand-yellow-950: #442e00;\n\t--brand-purple-50: #faf0ff;\n\t--brand-purple-100: #f4ddff;\n\t--brand-purple-200: #e5cdff;\n\t--brand-purple-300: #ccafff;\n\t--brand-purple-400: #b891ff;\n\t--brand-purple-500: #7d48ff;\n\t--brand-purple-600: #6a14ff;\n\t--brand-purple-700: #5600f1;\n\t--brand-purple-800: #4d01d6;\n\t--brand-purple-900: #4003af;\n\t--brand-purple-950: #1e007c;\n\t--brand-magenta-50: #fef1fc;\n\t--brand-magenta-100: #ffdcef;\n\t--brand-magenta-200: #ffcae6;\n\t--brand-magenta-300: #ff90cb;\n\t--brand-magenta-400: #ff61ca;\n\t--brand-magenta-500: #ff3ac2;\n\t--brand-magenta-600: #f012aa;\n\t--brand-magenta-700: #df059b;\n\t--brand-magenta-800: #9b0069;\n\t--brand-magenta-900: #790a55;\n\t--brand-magenta-950: #58003a;\n\t--brand-white-0: #ffffff;\n\t--product-red-400: #ff474a;\n\t--product-red-500: #df0529;\n\n\t/* Non-brand semantic aliases */\n\t--core-drop-shadow-light: #0339491a;\n\t--core-drop-shadow-dark: #0000007a;\n\t--core-surface-coverup-translucent-light: #1f262d52;\n\t--core-surface-coverup-translucent-dark: #0000007a;\n\t--core-surface-overlay-translucent-light: #ffffffcc;\n\t--core-surface-overlay-translucent-dark: #1f262dcc;\n\t--scroll-bar-light: #e3e8ef;\n\t--scroll-bar-dark: rgba(255, 255, 255, 0.1);\n\t--scroll-bar-hover-light: #cdd5df;\n\t--scroll-bar-hover-dark: rgba(255, 255, 255, 0.15);\n\t--surface-primary-tint-light: #fcfcfc;\n\t--surface-primary-tint-dark: #191e24;\n\t--surface-shadow-soft-light: 0px 4px 24px #0339491a;\n\t--surface-shadow-soft-dark: 0px 4px 24px #0000007a;\n\t--surface-shadow-strong-light: 0px 4px 64px #0339491a;\n\t--surface-shadow-strong-dark: 0px 4px 64px #0000007a;\n}\n\n/* Root-level token needed for global viewport backgrounds */\n:root[data-slice-theme="lightMode"] {\n\t--core-surface-primary: #ffffff;\n}\n\n/* Light theme tokens */\n:root[data-slice-theme="lightMode"] [data-slice-theme-scope] {\n\t--array-land: var(--brand-land-100);\n\t--array-land-label: var(--brand-land-600);\n\t--array-magenta: var(--brand-magenta-100);\n\t--array-magenta-label: var(--brand-magenta-600);\n\t--array-orange: var(--brand-orange-100);\n\t--array-orange-label: var(--brand-orange-600);\n\t--array-purple: var(--brand-purple-100);\n\t--array-purple-label: var(--brand-purple-600);\n\t--array-sea: var(--brand-sea-100);\n\t--array-sea-label: var(--brand-sea-600);\n\t--array-sky: var(--brand-sky-100);\n\t--array-sky-label: var(--brand-sky-600);\n\t--array-yellow: var(--brand-yellow-100);\n\t--array-yellow-label: var(--brand-yellow-600);\n\t--core-badge-primary: var(--brand-sea-500);\n\t--core-badge-secondary: var(--brand-grey-100);\n\t--core-button-disabled: var(--brand-grey-50);\n\t--core-button-primary: var(--brand-sea-500);\n\t--core-drop-shadow: var(--core-drop-shadow-light);\n\t--core-gp-logo-primary: var(--brand-sea-700);\n\t--core-gp-logo-secondary: var(--brand-grey-950);\n\t--core-icon-dark: var(--brand-grey-950);\n\t--core-icon-disabled: var(--brand-grey-300);\n\t--core-icon-error: var(--product-red-500);\n\t--core-icon-light: var(--brand-white-0);\n\t--core-icon-primary: var(--brand-grey-950);\n\t--core-icon-secondary: var(--brand-grey-700);\n\t--core-icon-tertiary: var(--brand-sea-500);\n\t--core-outline-secondary: var(--brand-grey-100);\n\t--core-outline-primary: var(--brand-grey-100);\n\t--core-outline-special: var(--brand-sea-100);\n\t--core-outline-tertiary: var(--brand-sea-500);\n\t--core-surface-coverup-translucent: var(\n\t\t--core-surface-coverup-translucent-light\n\t);\n\t--core-surface-overlay-translucent: var(\n\t\t--core-surface-overlay-translucent-light\n\t);\n\t--core-surface-primary: var(--brand-white-0);\n\t--core-surface-primary-tint: var(--surface-primary-tint-light);\n\t--core-surface-secondary: var(--brand-grey-50);\n\t--core-surface-special: var(--brand-sea-50);\n\t--core-text-dark: var(--brand-grey-950);\n\t--core-text-disabled: var(--brand-grey-300);\n\t--core-text-error: var(--product-red-500);\n\t--core-text-light: var(--brand-white-0);\n\t--core-text-primary: var(--brand-grey-950);\n\t--core-text-secondary: var(--brand-grey-700);\n\t--core-text-tertiary: var(--brand-grey-600);\n\t--core-text-special: var(--brand-sea-500);\n\t--core-link-primary: var(--brand-sea-700);\n\t--eor-tag-employee: var(--brand-sky-700);\n\t--eor-tag-overdue: var(--product-red-500);\n\t--eor-tag-paid: var(--brand-land-700);\n\t--eor-tag-pending: var(--brand-orange-500);\n\t--eor-tag-professional: var(--brand-sea-500);\n\t--feedback-attention: var(--brand-yellow-500);\n\t--feedback-informative: var(--brand-sky-700);\n\t--feedback-positive: var(--brand-land-700);\n\t--feedback-urgency: var(--brand-orange-500);\n\t--feedback-warning: var(--product-red-500);\n\t--gia-tag-risk-high: var(--product-red-500);\n\t--gia-tag-risk-low: var(--brand-sky-700);\n\t--gia-tag-risk-moderate: var(--brand-orange-500);\n\t--gia-text-excerpt-highlight: var(--brand-orange-100);\n\t--gia-text-selection: var(--brand-sea-100);\n\t--scroll-bar: var(--scroll-bar-light);\n\t--scroll-bar-hover: var(--scroll-bar-hover-light);\n\t--surface-shadow-soft: var(--surface-shadow-soft-light);\n\t--surface-shadow-strong: var(--surface-shadow-strong-light);\n}\n\n/* Root-level token needed for global viewport backgrounds */\n:root[data-slice-theme="darkMode"] {\n\t--core-surface-primary: #1f262d;\n}\n\n/* Dark theme tokens */\n:root[data-slice-theme="darkMode"] [data-slice-theme-scope] {\n\t--array-land: var(--brand-land-100);\n\t--array-land-label: var(--brand-land-600);\n\t--array-magenta: var(--brand-magenta-100);\n\t--array-magenta-label: var(--brand-magenta-600);\n\t--array-orange: var(--brand-orange-100);\n\t--array-orange-label: var(--brand-orange-600);\n\t--array-purple: var(--brand-purple-100);\n\t--array-purple-label: var(--brand-purple-600);\n\t--array-sea: var(--brand-sea-100);\n\t--array-sea-label: var(--brand-sea-600);\n\t--array-sky: var(--brand-sky-100);\n\t--array-sky-label: var(--brand-sky-600);\n\t--array-yellow: var(--brand-yellow-100);\n\t--array-yellow-label: var(--brand-yellow-600);\n\t--core-badge-primary: var(--brand-sea-500);\n\t--core-badge-secondary: var(--brand-grey-700);\n\t--core-button-disabled: var(--brand-grey-900);\n\t--core-button-primary: var(--brand-sea-500);\n\t--core-drop-shadow: var(--core-drop-shadow-dark);\n\t--core-gp-logo-primary: var(--brand-sea-500);\n\t--core-gp-logo-secondary: var(--brand-white-0);\n\t--core-icon-dark: var(--brand-grey-950);\n\t--core-icon-disabled: var(--brand-grey-500);\n\t--core-icon-error: var(--product-red-400);\n\t--core-icon-light: var(--brand-white-0);\n\t--core-icon-primary: var(--brand-white-0);\n\t--core-icon-secondary: var(--brand-grey-200);\n\t--core-icon-tertiary: var(--brand-sky-300);\n\t--core-outline-secondary: var(--brand-grey-900);\n\t--core-outline-primary: var(--brand-grey-700);\n\t--core-outline-special: var(--brand-sky-300);\n\t--core-outline-tertiary: var(--brand-sky-300);\n\t--core-surface-coverup-translucent: var(\n\t\t--core-surface-coverup-translucent-dark\n\t);\n\t--core-surface-overlay-translucent: var(\n\t\t--core-surface-overlay-translucent-dark\n\t);\n\t--core-surface-primary: var(--brand-grey-950);\n\t--core-surface-primary-tint: var(--surface-primary-tint-dark);\n\t--core-surface-secondary: var(--brand-grey-900);\n\t--core-surface-special: var(--brand-sky-950);\n\t--core-text-dark: var(--brand-grey-950);\n\t--core-text-disabled: var(--brand-grey-500);\n\t--core-text-error: var(--product-red-400);\n\t--core-text-light: var(--brand-white-0);\n\t--core-text-primary: var(--brand-white-0);\n\t--core-text-secondary: var(--brand-grey-200);\n\t--core-text-tertiary: var(--brand-grey-400);\n\t--core-text-special: var(--brand-sky-300);\n\t--core-link-primary: var(--brand-sky-300);\n\t--eor-tag-employee: var(--brand-sky-700);\n\t--eor-tag-overdue: var(--product-red-400);\n\t--eor-tag-paid: var(--brand-land-700);\n\t--eor-tag-pending: var(--brand-orange-500);\n\t--eor-tag-professional: var(--brand-sea-500);\n\t--feedback-attention: var(--brand-yellow-400);\n\t--feedback-informative: var(--brand-sky-600);\n\t--feedback-positive: var(--brand-land-700);\n\t--feedback-urgency: var(--brand-orange-500);\n\t--feedback-warning: var(--product-red-400);\n\t--gia-tag-risk-high: var(--product-red-400);\n\t--gia-tag-risk-low: var(--brand-sky-600);\n\t--gia-tag-risk-moderate: var(--brand-orange-500);\n\t--gia-text-excerpt-highlight: var(--brand-orange-100);\n\t--gia-text-selection: var(--brand-sea-900);\n\t--scroll-bar: var(--scroll-bar-dark);\n\t--scroll-bar-hover: var(--scroll-bar-hover-dark);\n\t--surface-shadow-soft: var(--surface-shadow-soft-dark);\n\t--surface-shadow-strong: var(--surface-shadow-strong-dark);\n}\n\n/* Theme token text-color utility classes */\n[data-slice-theme-scope] .array-land {\n\tbackground: var(--array-land);\n}\n[data-slice-theme-scope] .array-land-label {\n\tcolor: var(--array-land-label);\n}\n[data-slice-theme-scope] .array-magenta {\n\tbackground: var(--array-magenta);\n}\n[data-slice-theme-scope] .array-magenta-label {\n\tcolor: var(--array-magenta-label);\n}\n[data-slice-theme-scope] .array-orange {\n\tbackground: var(--array-orange);\n}\n[data-slice-theme-scope] .array-orange-label {\n\tcolor: var(--array-orange-label);\n}\n[data-slice-theme-scope] .array-purple {\n\tbackground: var(--array-purple);\n}\n[data-slice-theme-scope] .array-purple-label {\n\tcolor: var(--array-purple-label);\n}\n[data-slice-theme-scope] .array-sea {\n\tbackground: var(--array-sea);\n}\n[data-slice-theme-scope] .array-sea-label {\n\tcolor: var(--array-sea-label);\n}\n[data-slice-theme-scope] .array-sky {\n\tbackground: var(--array-sky);\n}\n[data-slice-theme-scope] .array-sky-label {\n\tcolor: var(--array-sky-label);\n}\n[data-slice-theme-scope] .array-yellow {\n\tbackground: var(--array-yellow);\n}\n[data-slice-theme-scope] .array-yellow-label {\n\tcolor: var(--array-yellow-label);\n}\n[data-slice-theme-scope] .core-badge-primary {\n\tbackground: var(--core-badge-primary);\n}\n[data-slice-theme-scope] .core-badge-secondary {\n\tbackground: var(--core-badge-secondary);\n}\n[data-slice-theme-scope] .core-button-disabled {\n\tbackground: var(--core-button-disabled);\n}\n[data-slice-theme-scope] .core-button-primary {\n\tbackground: var(--core-button-primary);\n}\n[data-slice-theme-scope] .core-drop-shadow {\n\tbox-shadow: var(--core-drop-shadow);\n}\n[data-slice-theme-scope] .core-gp-logo-primary {\n\tcolor: var(--core-gp-logo-primary);\n}\n[data-slice-theme-scope] .core-gp-logo-secondary {\n\tcolor: var(--core-gp-logo-secondary);\n}\n[data-slice-theme-scope] .core-icon-dark {\n\tcolor: var(--core-icon-dark);\n}\n[data-slice-theme-scope] .core-icon-disabled {\n\tcolor: var(--core-icon-disabled);\n}\n[data-slice-theme-scope] .core-icon-error {\n\tcolor: var(--core-icon-error);\n}\n[data-slice-theme-scope] .core-icon-light {\n\tcolor: var(--core-icon-light);\n}\n[data-slice-theme-scope] .core-icon-primary {\n\tcolor: var(--core-icon-primary);\n}\n[data-slice-theme-scope] .core-icon-secondary {\n\tcolor: var(--core-icon-secondary);\n}\n[data-slice-theme-scope] .core-icon-tertiary {\n\tcolor: var(--core-icon-tertiary);\n}\n[data-slice-theme-scope] .core-link-primary {\n\tcolor: var(--core-link-primary);\n}\n[data-slice-theme-scope] .core-outline-primary {\n\tborder-color: var(--core-outline-primary);\n}\n[data-slice-theme-scope] .core-outline-secondary {\n\tborder-color: var(--core-outline-secondary);\n}\n[data-slice-theme-scope] .core-outline-special {\n\tborder-color: var(--core-outline-special);\n}\n[data-slice-theme-scope] .core-outline-tertiary {\n\tborder-color: var(--core-outline-tertiary);\n}\n[data-slice-theme-scope] .core-surface-coverup-translucent {\n\tbackground: var(--core-surface-coverup-translucent);\n}\n[data-slice-theme-scope] .core-surface-overlay-translucent {\n\tbackground: var(--core-surface-overlay-translucent);\n}\n[data-slice-theme-scope] .core-surface-primary {\n\tbackground: var(--core-surface-primary);\n}\n[data-slice-theme-scope] .core-surface-primary-tint {\n\tbackground: var(--core-surface-primary-tint);\n}\n[data-slice-theme-scope] .core-surface-secondary {\n\tbackground: var(--core-surface-secondary);\n}\n[data-slice-theme-scope] .core-surface-special {\n\tbackground: var(--core-surface-special);\n}\n[data-slice-theme-scope] .core-text-dark {\n\tcolor: var(--core-text-dark);\n}\n[data-slice-theme-scope] .core-text-disabled {\n\tcolor: var(--core-text-disabled);\n}\n[data-slice-theme-scope] .core-text-error {\n\tcolor: var(--core-text-error);\n}\n[data-slice-theme-scope] .core-text-light {\n\tcolor: var(--core-text-light);\n}\n[data-slice-theme-scope] .core-text-primary {\n\tcolor: var(--core-text-primary);\n}\n[data-slice-theme-scope] .core-text-secondary {\n\tcolor: var(--core-text-secondary);\n}\n[data-slice-theme-scope] .core-text-special {\n\tcolor: var(--core-text-special);\n}\n[data-slice-theme-scope] .core-text-tertiary {\n\tcolor: var(--core-text-tertiary);\n}\n[data-slice-theme-scope] .eor-tag-employee {\n\tcolor: var(--eor-tag-employee);\n}\n[data-slice-theme-scope] .eor-tag-overdue {\n\tcolor: var(--eor-tag-overdue);\n}\n[data-slice-theme-scope] .eor-tag-paid {\n\tcolor: var(--eor-tag-paid);\n}\n[data-slice-theme-scope] .eor-tag-pending {\n\tcolor: var(--eor-tag-pending);\n}\n[data-slice-theme-scope] .eor-tag-professional {\n\tcolor: var(--eor-tag-professional);\n}\n[data-slice-theme-scope] .feedback-attention {\n\tcolor: var(--feedback-attention);\n}\n[data-slice-theme-scope] .feedback-informative {\n\tcolor: var(--feedback-informative);\n}\n[data-slice-theme-scope] .feedback-positive {\n\tcolor: var(--feedback-positive);\n}\n[data-slice-theme-scope] .feedback-urgency {\n\tcolor: var(--feedback-urgency);\n}\n[data-slice-theme-scope] .feedback-warning {\n\tcolor: var(--feedback-warning);\n}\n[data-slice-theme-scope] .gia-tag-risk-high {\n\tcolor: var(--gia-tag-risk-high);\n}\n[data-slice-theme-scope] .gia-tag-risk-low {\n\tcolor: var(--gia-tag-risk-low);\n}\n[data-slice-theme-scope] .gia-tag-risk-moderate {\n\tcolor: var(--gia-tag-risk-moderate);\n}\n[data-slice-theme-scope] .gia-text-excerpt-highlight {\n\tcolor: var(--gia-text-excerpt-highlight);\n}\n[data-slice-theme-scope] .gia-text-selection {\n\tcolor: var(--gia-text-selection);\n}\n[data-slice-theme-scope] .scroll-bar {\n\tcolor: var(--scroll-bar);\n}\n[data-slice-theme-scope] .scroll-bar-hover {\n\tcolor: var(--scroll-bar-hover);\n}\n[data-slice-theme-scope] .surface-shadow-soft {\n\tcolor: var(--surface-shadow-soft);\n}\n[data-slice-theme-scope] .surface-shadow-strong {\n\tcolor: var(--surface-shadow-strong);\n}\n\n[data-slice-theme-scope] {\n\tbackground: var(--core-surface-primary);\n}\n\n[data-slice-theme-scope] a {\n\tcolor: var(--core-text-special);\n\ttext-decoration: underline;\n}\n\n[data-slice-theme-scope] a:visited {\n\tcolor: var(--core-text-special);\n\ttext-decoration: underline;\n}\n\n[data-slice-theme-scope] a:hover {\n\ttext-decoration: none;\n}\n\n[data-slice-theme-scope] code {\n\tborder: 1px solid var(--core-outline-primary);\n\tbackground: var(--core-surface-secondary);\n\tcolor: var(--core-text-primary);\n}\n');
21
21
 
22
22
  styleInject("[data-slice-theme-scope] {\n\t--elevation-below-surface: -100;\n\t--elevation-surface: 0;\n\t--elevation-float: 100;\n\t--elevation-describe: 200;\n\t--elevation-status: 300;\n\t--elevation-notify: 400;\n\t--elevation-overlay: 500;\n\t--elevation-confirm: 600;\n}\n");
23
23
 
24
- styleInject('@import url("https://fonts.googleapis.com/css2?family=Funnel+Sans:ital,wght@0,300..800;1,300..800&display=swap");\n\n[data-slice-theme-scope] {\n\t--font-family: "Funnel Sans";\n\t--font-weight-regular: 360;\n\t--font-weight-medium: 420;\n\t--font-weight-bold: 480;\n\t--font-size-xs: 12px;\n\t--font-size-s: 14px;\n\t--font-size-m: 15px;\n\t--font-size-l: 16px;\n\t--font-size-xl: 17px;\n}\n\n[data-slice-theme-scope] .body-xs-regular {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .body-xs-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .body-xs-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.25px;\n}\n\n[data-slice-theme-scope] .body-s-regular {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] .body-s-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] .body-s-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .body-m-regular {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] .body-m-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] .body-m-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .body-l-regular {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}\n\n[data-slice-theme-scope] .body-l-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}\n\n[data-slice-theme-scope] .body-l-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] .body-xl-regular {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-xl);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}\n\n[data-slice-theme-scope] .body-xl-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-xl);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}\n\n[data-slice-theme-scope] .body-xl-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-xl);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] .heading-s-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-s-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-m-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-m-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-l-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 30px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-l-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 30px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-xl-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 36px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-xl-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 36px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] h1 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 36px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] h2 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 30px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] h3 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] h4 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] h1,\n[data-slice-theme-scope] h2,\n[data-slice-theme-scope] h3,\n[data-slice-theme-scope] h4 {\n\tmargin: 1.5em 0 0.6em 0;\n}\n\n[data-slice-theme-scope] h1:first-child {\n\tmargin: 0 0 0.6em 0;\n}\n\n[data-slice-theme-scope] p {\n\tmargin: 0 0 1.5em 0;\n}\n\n[data-slice-theme-scope] b,\n[data-slice-theme-scope] strong {\n\tfont-weight: var(--font-weight-bold);\n}\n');
24
+ styleInject('@import url("https://fonts.googleapis.com/css2?family=Funnel+Sans:ital,wght@0,300..800;1,300..800&display=swap");\n\n[data-slice-theme-scope] {\n\t--font-family: "Funnel Sans";\n\t--font-weight-regular: 360;\n\t--font-weight-medium: 420;\n\t--font-weight-bold: 480;\n\t--font-size-xs: 12px;\n\t--font-size-s: 14px;\n\t--font-size-m: 15px;\n\t--font-size-l: 16px;\n\t--font-size-xl: 17px;\n}\n\n[data-slice-theme-scope] .body-xs-regular {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .body-xs-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .body-xs-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.25px;\n}\n\n[data-slice-theme-scope] .body-s-regular {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] .body-s-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] .body-s-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .body-m-regular {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] .body-m-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] .body-m-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .body-l-regular {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}\n\n[data-slice-theme-scope] .body-l-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}\n\n[data-slice-theme-scope] .body-l-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] .body-xl-regular {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-xl);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}\n\n[data-slice-theme-scope] .body-xl-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-xl);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}\n\n[data-slice-theme-scope] .body-xl-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-xl);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}\n\n[data-slice-theme-scope] .heading-s-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-s-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-m-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-m-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-l-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 30px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-l-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 30px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-xl-medium {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 36px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] .heading-xl-bold {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 36px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] h1,\n[data-slice-theme-scope] h2,\n[data-slice-theme-scope] h3,\n[data-slice-theme-scope] h4 {\n\tmargin: 1.5em 0 0.6em 0;\n}\n\n[data-slice-theme-scope] h1 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 36px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n\tmargin-top: 0;\n}\n\n[data-slice-theme-scope] h2 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 30px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] h3 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] h4 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n[data-slice-theme-scope] p {\n\tmargin: 0 0 1.5em 0;\n}\n\n[data-slice-theme-scope] b,\n[data-slice-theme-scope] strong {\n\tfont-weight: var(--font-weight-bold);\n}\n');
25
25
 
26
26
  styleInject("/* Keep these values in sync with src/hooks/useWindow/useWindow.ts */\n");
27
27
 
@@ -1,4 +1,4 @@
1
- export { g as getMicrophoneState, m as microphoneActions, u as useMicActive, a as useMicError, b as useMicMuted, c as useMicOptions, d as useMicRequesting, e as useMicStream, f as useMicSupported, h as useMicTrack, i as useMicrophoneStore, j as useMicrophoneStoreActions, k as useMicrophones, l as useSyncMicrophoneStore } from "../chunks/microphoneStore-t16oxjGB.mjs";
1
+ export { g as getMicrophoneState, m as microphoneActions, u as useCurrentMicDeviceId, a as useMicActive, b as useMicError, c as useMicInputVolume, d as useMicMuted, e as useMicOptions, f as useMicRequesting, h as useMicStream, i as useMicSupported, j as useMicTrack, k as useMicrophoneStore, l as useMicrophoneStoreActions, n as useMicrophones, o as useProcessedMicStream, p as useSyncMicrophoneStore } from "../chunks/microphoneStore-Dr3lxoWX.mjs";
2
2
 
3
3
  import "../chunks/tslib.es6-C-olHjXV.mjs";
4
4
 
@@ -0,0 +1,5 @@
1
+ export { g as getAttachedMedia, a as getMuted, b as getStoredVolume, c as getVolume, u as useAttachedMedia, d as useMuted, e as useStoredVolume, f as useVolume, h as useVolumeActions, i as useVolumeStore, v as volumeActions } from "../chunks/volumeStore-GZnCDBMU.mjs";
2
+
3
+ import "../chunks/tslib.es6-C-olHjXV.mjs";
4
+
5
+ import "zustand";
@@ -2,7 +2,9 @@ export { F as FormFactor, d as dpr, f as formFactor, g as gettingLocation, i as
2
2
 
3
3
  export { c as createUploadsWorker, g as getUploads, a as getUploadsError, b as getUploadsWorkerStatus, u as uploadsActions, d as uploadsInitialized, e as useUploads, f as useUploadsActions, h as useUploadsError, i as useUploadsInitialized, j as useUploadsStore, k as useUploadsWorkerStatus } from "./chunks/uploadsStore-B7VECR5Q.mjs";
4
4
 
5
- export { g as getMicrophoneState, m as microphoneActions, u as useMicActive, a as useMicError, b as useMicMuted, c as useMicOptions, d as useMicRequesting, e as useMicStream, f as useMicSupported, h as useMicTrack, i as useMicrophoneStore, j as useMicrophoneStoreActions, k as useMicrophones, l as useSyncMicrophoneStore } from "./chunks/microphoneStore-t16oxjGB.mjs";
5
+ export { g as getAttachedMedia, a as getMuted, b as getStoredVolume, c as getVolume, u as useAttachedMedia, d as useMuted, e as useStoredVolume, f as useVolume, h as useVolumeActions, i as useVolumeStore, v as volumeActions } from "./chunks/volumeStore-GZnCDBMU.mjs";
6
+
7
+ export { g as getMicrophoneState, m as microphoneActions, u as useCurrentMicDeviceId, a as useMicActive, b as useMicError, c as useMicInputVolume, d as useMicMuted, e as useMicOptions, f as useMicRequesting, h as useMicStream, i as useMicSupported, j as useMicTrack, k as useMicrophoneStore, l as useMicrophoneStoreActions, n as useMicrophones, o as useProcessedMicStream, p as useSyncMicrophoneStore } from "./chunks/microphoneStore-Dr3lxoWX.mjs";
6
8
 
7
9
  export { g as getTip, t as tipActions, u as useTip, a as useTipActions, b as useTipStore } from "./chunks/tipStore-CL5a95Bl.mjs";
8
10
 
@@ -96,6 +96,8 @@ const coreColors = {
96
96
  "core-surface-coverup-translucent-dark": "#0000007a",
97
97
  "core-surface-overlay-translucent-light": "#ffffffcc",
98
98
  "core-surface-overlay-translucent-dark": "#1f262dcc",
99
+ "surface-primary-tint-light": "#fcfcfc",
100
+ "surface-primary-tint-dark": "#191e24",
99
101
  "scroll-bar-light": "#e3e8ef",
100
102
  "scroll-bar-dark": "rgba(255, 255, 255, 0.1)",
101
103
  "scroll-bar-hover-light": "#cdd5df",
@@ -140,6 +142,7 @@ const coreColors = {
140
142
  "core-surface-coverup-translucent": coreColors["core-surface-coverup-translucent-light"],
141
143
  "core-surface-overlay-translucent": coreColors["core-surface-overlay-translucent-light"],
142
144
  "core-surface-primary": coreColors["brand-white-0"],
145
+ "core-surface-primary-tint": coreColors["surface-primary-tint-light"],
143
146
  "core-surface-secondary": coreColors["brand-grey-50"],
144
147
  "core-surface-special": coreColors["brand-sea-50"],
145
148
  "core-text-dark": coreColors["brand-grey-950"],
@@ -206,6 +209,7 @@ const coreColors = {
206
209
  "core-surface-coverup-translucent": coreColors["core-surface-coverup-translucent-dark"],
207
210
  "core-surface-overlay-translucent": coreColors["core-surface-overlay-translucent-dark"],
208
211
  "core-surface-primary": coreColors["brand-grey-950"],
212
+ "core-surface-primary-tint": coreColors["surface-primary-tint-dark"],
209
213
  "core-surface-secondary": coreColors["brand-grey-900"],
210
214
  "core-surface-special": coreColors["brand-sky-950"],
211
215
  "core-text-dark": coreColors["brand-grey-950"],
@@ -272,6 +276,7 @@ const coreColors = {
272
276
  "core-surface-coverup-translucent": "var(--core-surface-coverup-translucent)",
273
277
  "core-surface-overlay-translucent": "var(--core-surface-overlay-translucent)",
274
278
  "core-surface-primary": "var(--core-surface-primary)",
279
+ "core-surface-primary-tint": "var(--core-surface-primary-tint)",
275
280
  "core-surface-secondary": "var(--core-surface-secondary)",
276
281
  "core-surface-special": "var(--core-surface-special)",
277
282
  "core-text-dark": "var(--core-text-dark)",
@@ -338,6 +343,7 @@ const coreColors = {
338
343
  "core-surface-coverup-translucent": "core-surface-coverup-translucent",
339
344
  "core-surface-overlay-translucent": "core-surface-overlay-translucent",
340
345
  "core-surface-primary": "core-surface-primary",
346
+ "core-surface-primary-tint": "core-surface-primary-tint",
341
347
  "core-surface-secondary": "core-surface-secondary",
342
348
  "core-surface-special": "core-surface-special",
343
349
  "core-text-dark": "core-text-dark",
@@ -1,4 +1,4 @@
1
- export { c as copyToClipboard, h as hexToRgb } from "../chunks/misc-BeEWwOaJ.mjs";
1
+ export { c as copyToClipboard, h as hexToRgb } from "../chunks/misc-Bjbro8Xe.mjs";
2
2
 
3
3
  export { d as debounce } from "../chunks/debounce-Bst1jxMS.mjs";
4
4
 
@@ -8,7 +8,7 @@ export { I as IndexedDB } from "../chunks/IndexedDB-Dk7a4fPS.mjs";
8
8
 
9
9
  export { A as AudioVisualizer } from "../chunks/audioVisualizer-ZgT77nUw.mjs";
10
10
 
11
- export { M as MdBuffer } from "../chunks/MdStreamBuffer-DNXE4XbN.mjs";
11
+ export { M as MdBuffer } from "../chunks/MdStreamBuffer-By7pHJQL.mjs";
12
12
 
13
13
  export { S as SSEConnection } from "../chunks/SSEConnection-DcA3wFsO.mjs";
14
14
 
@@ -2,7 +2,7 @@ export { I as IndexedDB } from "../../chunks/IndexedDB-Dk7a4fPS.mjs";
2
2
 
3
3
  export { A as AudioVisualizer } from "../../chunks/audioVisualizer-ZgT77nUw.mjs";
4
4
 
5
- export { M as MdBuffer } from "../../chunks/MdStreamBuffer-DNXE4XbN.mjs";
5
+ export { M as MdBuffer } from "../../chunks/MdStreamBuffer-By7pHJQL.mjs";
6
6
 
7
7
  export { S as SSEConnection } from "../../chunks/SSEConnection-DcA3wFsO.mjs";
8
8
 
@@ -33,6 +33,7 @@ type DropDownBaseProps<T = string> = {
33
33
  disabled?: boolean;
34
34
  error?: boolean;
35
35
  gap?: number;
36
+ inline?: boolean;
36
37
  size?: 'xs' | 's' | 'm' | 'l';
37
38
  onChange?: (index: number, option: DropDownOption<T>) => void;
38
39
  onOption?: (option: DropDownOption<T>) => void;
@@ -55,6 +55,8 @@ export declare const SliceIcons: {
55
55
  readonly upload: "upload";
56
56
  readonly speaker: "speaker";
57
57
  readonly speakerMuted: "speaker muted";
58
+ readonly speakerHigh: "speaker high";
59
+ readonly speakerLow: "speaker low";
58
60
  };
59
61
  readonly files: {
60
62
  readonly document: "document";
@@ -64,6 +66,7 @@ export declare const SliceIcons: {
64
66
  readonly people: {
65
67
  readonly people: "people";
66
68
  readonly person: "person";
69
+ readonly talk: "talk";
67
70
  };
68
71
  readonly business: {
69
72
  readonly briefcase: "briefcase";
@@ -134,6 +137,7 @@ export declare const SliceIcons: {
134
137
  readonly menu: "menu";
135
138
  readonly more: "more";
136
139
  readonly sidebar: "sidebar";
140
+ readonly sidebarSplit: "sidebar split";
137
141
  readonly keyboard: "keyboard";
138
142
  readonly x: "x";
139
143
  };
@@ -10,6 +10,11 @@ type SliderBaseProps = {
10
10
  headColor?: string;
11
11
  trackColor?: string;
12
12
  progressColor?: string;
13
+ trackHeadBorderSize?: number;
14
+ trackHeadBorderColor?: string;
15
+ step?: number;
16
+ disabled?: boolean;
17
+ disabledOpacity?: number;
13
18
  cursor?: 'default' | 'grab' | 'grabbing' | 'pointer';
14
19
  onChange?: (value: number, percent: number) => void;
15
20
  onDragChange?: (value: number, percent: number) => void;
@@ -21,6 +21,7 @@ type TabBarBaseProps = {
21
21
  closeWidth?: number | string;
22
22
  padding?: number | string;
23
23
  iconSize?: number;
24
+ iconFill?: boolean;
24
25
  iconGap?: number;
25
26
  tabGap?: number;
26
27
  disabled?: boolean;
@@ -42,6 +43,7 @@ export interface TabOptionProps {
42
43
  iconGap?: number;
43
44
  disabled?: boolean;
44
45
  count?: number;
46
+ iconFill?: boolean;
45
47
  tabWidth?: 'compact' | 'fill' | number;
46
48
  underline?: boolean;
47
49
  onClick?: (value: number) => void;
@@ -12,6 +12,7 @@ type ToastBaseProps = {
12
12
  padding?: number | string;
13
13
  radius?: number | string;
14
14
  position?: 'top' | 'bottom';
15
+ container?: 'window' | 'parent';
15
16
  offset?: number;
16
17
  showDelay?: number;
17
18
  duration?: number | 'Infinite';
@@ -5,8 +5,11 @@ export type MicOption = {
5
5
  };
6
6
  export type UseMicrophoneReturn = {
7
7
  micStream: RefObject<MediaStream | null>;
8
+ processedMicStream: RefObject<MediaStream | null>;
8
9
  micTrack: RefObject<MediaStreamTrack | null>;
10
+ currentDeviceId: string | null;
9
11
  isActive: boolean;
12
+ inputVolume: number;
10
13
  muted: boolean;
11
14
  isSupported: boolean;
12
15
  isRequesting: boolean;
@@ -18,6 +21,7 @@ export type UseMicrophoneReturn = {
18
21
  muteMic: () => boolean;
19
22
  unmuteMic: () => boolean;
20
23
  toggleMute: () => void;
24
+ setInputVolume: (volume: number) => number;
21
25
  refreshMicrophones: () => Promise<MediaDeviceInfo[]>;
22
26
  setMicrophone: (deviceId: string | DropDownOption<MicOption>) => Promise<void>;
23
27
  };
@@ -4,4 +4,5 @@ export * from './SSE';
4
4
  export * from './toast';
5
5
  export * from './tip';
6
6
  export * from './uploads';
7
+ export * from './volume';
7
8
  export * from './window';