@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
@@ -7,7 +7,7 @@ import React, { useRef, useState, useMemo, useCallback, useEffect } from "react"
7
7
 
8
8
  import { useObserveResize } from "../hooks/useObserveResize.mjs";
9
9
 
10
- import { p as pointerPosition } from "./misc-BeEWwOaJ.mjs";
10
+ import { p as pointerPosition } from "./misc-Bjbro8Xe.mjs";
11
11
 
12
12
  import { d as debounce } from "./debounce-Bst1jxMS.mjs";
13
13
 
@@ -15,14 +15,18 @@ import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
15
15
 
16
16
  var css_wrapper = "Slider-module_wrapper__KCCs1", css_trackBg = "Slider-module_trackBg__7zfqm flexBox-module_rowStart__4tcxS", css_track = "Slider-module_track__kaJkL flexBox-module_rowStart__4tcxS", css_trackHead = "Slider-module_trackHead__W-UdG", css_trackWrapper = "Slider-module_trackWrapper__Ot0Wh flexBox-module_rowStart__4tcxS";
17
17
 
18
- styleInject(".flexBox-module_row__z24tF {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowBetween__5FEvi {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowStart__4tcxS {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowEnd__rVdVm {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_column__ezvMq {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStart__C7P44 {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: flex-start;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStartCenter__PKcrG {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnBetween__ERfp7 {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnEnd__lLJuc {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.Slider-module_wrapper__KCCs1 {\n\tposition: relative;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0 var(--slider-padding);\n\tmargin: 0;\n\twidth: var(--slider-width);\n\theight: auto;\n\tmin-height: var(--slider-touch-height);\n\tcursor: var(--slider-cursor);\n\tbackground: transparent;\n}\n\n.Slider-module_trackBg__7zfqm {\n\tposition: relative;\n\twidth: 100%;\n\theight: var(--slider-height);\n\tbackground-color: var(--slider-track-color);\n\toverflow: hidden;\n\tborder-radius: 100px;\n}\n\n.Slider-module_track__kaJkL {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\twidth: 0;\n\tbackground-color: var(--slider-progress-color);\n\toverflow: visible;\n\tborder-radius: 100px;\n}\n\n.Slider-module_trackHead__W-UdG {\n\tposition: absolute;\n\tdisplay: var(--slider-head-display);\n\tbackground-color: var(--slider-head-color);\n\tborder-radius: var(--slider-head-radius);\n\tmax-width: var(--slider-head-width);\n\tmax-height: var(--slider-head-size);\n\tmin-width: var(--slider-head-width);\n\tmin-height: var(--slider-head-size);\n\ttop: 50%;\n\ttransform: translateY(-50%) translateX(-50%);\n}\n\n.Slider-module_trackWrapper__Ot0Wh {\n\tposition: relative;\n\twidth: 100%;\n\theight: var(--slider-height);\n\tmin-height: var(--slider-touch-height);\n\tbackground-color: transparent;\n\tborder-radius: 100px;\n\toverflow: visible;\n\toutline: none;\n}\n\n.Slider-module_trackWrapper__Ot0Wh:focus-visible {\n\toutline: 2px solid var(--core-link-primary);\n\toutline-offset: 2px;\n}\n");
18
+ styleInject(".flexBox-module_row__z24tF {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowBetween__5FEvi {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowStart__4tcxS {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowEnd__rVdVm {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_column__ezvMq {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStart__C7P44 {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: flex-start;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStartCenter__PKcrG {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnBetween__ERfp7 {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnEnd__lLJuc {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.Slider-module_wrapper__KCCs1 {\n\tposition: relative;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0 var(--slider-padding);\n\tmargin: 0;\n\twidth: var(--slider-width);\n\theight: auto;\n\tmin-height: var(--slider-touch-height);\n\tcursor: var(--slider-cursor);\n\topacity: var(--slider-opacity);\n\tbackground: transparent;\n}\n\n.Slider-module_trackBg__7zfqm {\n\tposition: relative;\n\twidth: 100%;\n\theight: var(--slider-height);\n\tbackground-color: var(--slider-track-color);\n\toverflow: hidden;\n\tborder-radius: 100px;\n}\n\n.Slider-module_track__kaJkL {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\twidth: 0;\n\tbackground-color: var(--slider-progress-color);\n\toverflow: visible;\n\tborder-radius: 100px;\n}\n\n.Slider-module_trackHead__W-UdG {\n\tposition: absolute;\n\tdisplay: var(--slider-head-display);\n\tbackground-color: var(--slider-head-color);\n\tborder: var(--slider-track-head-border);\n\tborder-radius: var(--slider-head-radius);\n\tmax-width: var(--slider-head-width);\n\tmax-height: var(--slider-head-size);\n\tmin-width: var(--slider-head-width);\n\tmin-height: var(--slider-head-size);\n\ttop: 50%;\n\ttransform: translateY(-50%) translateX(-50%);\n}\n\n.Slider-module_trackWrapper__Ot0Wh {\n\tposition: relative;\n\twidth: 100%;\n\theight: var(--slider-height);\n\tmin-height: var(--slider-touch-height);\n\tbackground-color: transparent;\n\tborder-radius: 4px;\n\toverflow: visible;\n\toutline: none;\n}\n\n.Slider-module_trackWrapper__Ot0Wh:focus-visible {\n\toutline: 2px solid var(--core-link-primary);\n\toutline-offset: 2px;\n}\n");
19
19
 
20
20
  const Slider = React.memo(props => {
21
- const {value: value = 25, scaleMin: scaleMin = 0, scaleMax: scaleMax = 100, width: width, height: height = 2, touchHeight: touchHeight = 24, trackHeadSize: trackHeadSize = 7, cursor: cursor = "default", headColor: headColor = "var(--core-text-primary)", trackColor: trackColor = "var(--core-surface-secondary)", progressColor: progressColor = "var(--core-text-primary)", onChange: onChange = () => null, onDragChange: onDragChange = () => null} = props, divAttributes = __rest(props, [ "value", "scaleMin", "scaleMax", "width", "height", "touchHeight", "trackHeadSize", "cursor", "headColor", "trackColor", "progressColor", "onChange", "onDragChange" ]), {id: divId, className: className, style: style} = divAttributes, rest = __rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", ref = useRef(null), track = useRef(null), head = useRef(null), [currentValue, setCurrentValue] = useState(value), absProgressRef = useRef(value), relativeProgressRef = useRef(0), didMount = useRef(!1), size = useObserveResize(ref, {
21
+ const {value: value = 25, scaleMin: scaleMin = 0, scaleMax: scaleMax = 100, width: width, height: height = 2, touchHeight: touchHeight = 24, trackHeadSize: trackHeadSize = 7, step: step, disabled: disabled = !1, disabledOpacity: disabledOpacity = .5, cursor: cursor = "default", headColor: headColor = "var(--core-text-light)", trackColor: trackColor = "var(--core-surface-secondary)", progressColor: progressColor = "var(--core-text-tertiary)", trackHeadBorderSize: trackHeadBorderSize = 1, trackHeadBorderColor: trackHeadBorderColor = "var(--core-outline-secondary)", onChange: onChange = () => null, onDragChange: onDragChange = () => null} = props, divAttributes = __rest(props, [ "value", "scaleMin", "scaleMax", "width", "height", "touchHeight", "trackHeadSize", "step", "disabled", "disabledOpacity", "cursor", "headColor", "trackColor", "progressColor", "trackHeadBorderSize", "trackHeadBorderColor", "onChange", "onDragChange" ]), {id: divId, className: className, style: style} = divAttributes, rest = __rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", ref = useRef(null), track = useRef(null), head = useRef(null), [currentValue, setCurrentValue] = useState(value), absProgressRef = useRef(value), relativeProgressRef = useRef(0), didMount = useRef(!1), size = useObserveResize(ref, {
22
22
  ignore: "height"
23
23
  }), debouncedOnChange = debounce((value, percent) => {
24
24
  onChange(value, percent);
25
- }, 0), padding = useMemo(() => trackHeadSize ? Math.ceil(trackHeadSize / 2) : 0, [ trackHeadSize ]), clampValue = useCallback(nextValue => Math.min(scaleMax, Math.max(scaleMin, nextValue)), [ scaleMax, scaleMin ]), valueToPercent = useCallback(nextValue => {
25
+ }, 0), padding = useMemo(() => trackHeadSize ? Math.ceil(trackHeadSize / 2) : 0, [ trackHeadSize ]), clampValue = useCallback(nextValue => Math.min(scaleMax, Math.max(scaleMin, nextValue)), [ scaleMax, scaleMin ]), stepIncrement = useMemo(() => {
26
+ if (step) return step;
27
+ const range = scaleMax - scaleMin;
28
+ return range <= 0 ? 0 : Math.max(range / 100, .01);
29
+ }, [ step, scaleMin, scaleMax ]), valueToPercent = useCallback(nextValue => {
26
30
  const range = scaleMax - scaleMin;
27
31
  return range <= 0 ? 0 : (nextValue - scaleMin) / range;
28
32
  }, [ scaleMax, scaleMin ]), setTrackAndHead = useCallback(pixelPos => {
@@ -60,12 +64,12 @@ const Slider = React.memo(props => {
60
64
  return pos > sliderWidth ? pos = sliderWidth : pos < 0 && (pos = 0), setTrackAndHead(pos),
61
65
  pos;
62
66
  }, [ setTrackAndHead ]), handleMouseMove = useCallback(e => {
63
- e.preventDefault();
67
+ if (e.preventDefault(), disabled) return;
64
68
  if (null == ref ? void 0 : ref.current) {
65
69
  const pos = updateSlider(e);
66
70
  progress(pos), debouncedOnChange(absProgressRef.current, relativeProgressRef.current);
67
71
  }
68
- }, [ progress, updateSlider, debouncedOnChange ]), handleMouseUp = useCallback(e => {
72
+ }, [ progress, updateSlider, debouncedOnChange, disabled ]), handleMouseUp = useCallback(e => {
69
73
  e.preventDefault();
70
74
  if (null == ref ? void 0 : ref.current) {
71
75
  const pos = updateSlider(e);
@@ -75,27 +79,19 @@ const Slider = React.memo(props => {
75
79
  globalThis.removeEventListener("mousemove", handleMouseMove, !1), globalThis.removeEventListener("touchmove", handleMouseMove, !1),
76
80
  globalThis.removeEventListener("mouseup", handleMouseUp, !1), globalThis.removeEventListener("touchend", handleMouseUp, !1);
77
81
  }, [ handleMouseMove, progress, updateSlider, debouncedOnChange, onDragChange, onChange ]), handleKeyDown = useCallback(event => {
78
- const range = scaleMax - scaleMin;
79
- if (range <= 0) return;
80
- const step = Number.isInteger(scaleMin) && Number.isInteger(scaleMax) ? 1 : Math.max(range / 100, .01), pageStep = Math.max(step, range / 10);
82
+ if (disabled) return;
81
83
  let nextValue = null;
82
84
  switch (event.key) {
83
85
  case "ArrowRight":
84
86
  case "ArrowUp":
85
- nextValue = absProgressRef.current + step;
87
+ case "PageUp":
88
+ nextValue = absProgressRef.current + stepIncrement;
86
89
  break;
87
90
 
88
91
  case "ArrowLeft":
89
92
  case "ArrowDown":
90
- nextValue = absProgressRef.current - step;
91
- break;
92
-
93
- case "PageUp":
94
- nextValue = absProgressRef.current + pageStep;
95
- break;
96
-
97
93
  case "PageDown":
98
- nextValue = absProgressRef.current - pageStep;
94
+ nextValue = absProgressRef.current - stepIncrement;
99
95
  break;
100
96
 
101
97
  case "Home":
@@ -106,16 +102,15 @@ const Slider = React.memo(props => {
106
102
  nextValue = scaleMax;
107
103
  }
108
104
  null !== nextValue && (event.preventDefault(), debouncedOnChange.cancel(), commitValue(nextValue, "change"));
109
- }, [ scaleMin, scaleMax, debouncedOnChange, commitValue ]), handleMouseDown = useCallback(e => {
110
- e.preventDefault(), e.stopPropagation(), globalThis.addEventListener("mousemove", handleMouseMove, !1),
111
- globalThis.addEventListener("touchmove", handleMouseMove, !1), globalThis.addEventListener("mouseup", handleMouseUp, !1),
112
- globalThis.addEventListener("touchend", handleMouseUp, !1);
105
+ }, [ scaleMin, scaleMax, debouncedOnChange, commitValue, stepIncrement, disabled ]), handleMouseDown = useCallback(e => {
106
+ if (e.preventDefault(), e.stopPropagation(), disabled) return;
107
+ globalThis.addEventListener("mousemove", handleMouseMove, !1), globalThis.addEventListener("touchmove", handleMouseMove, !1),
108
+ globalThis.addEventListener("mouseup", handleMouseUp, !1), globalThis.addEventListener("touchend", handleMouseUp, !1);
113
109
  if (null == ref ? void 0 : ref.current) {
114
110
  const pos = updateSlider(e);
115
- progress(pos), debouncedOnChange.cancel(), onChange(absProgressRef.current, relativeProgressRef.current),
116
- onDragChange(absProgressRef.current, relativeProgressRef.current);
111
+ progress(pos), debouncedOnChange.cancel(), onChange(absProgressRef.current, relativeProgressRef.current);
117
112
  }
118
- }, [ handleMouseMove, handleMouseUp, onChange, onDragChange, progress, updateSlider, debouncedOnChange ]);
113
+ }, [ handleMouseMove, handleMouseUp, onChange, progress, updateSlider, debouncedOnChange, disabled ]);
119
114
  useEffect(() => {
120
115
  didMount.current && value === absProgressRef.current || initialProgress(value);
121
116
  }, [ value, initialProgress ]), useEffect(() => {
@@ -131,7 +126,7 @@ const Slider = React.memo(props => {
131
126
  const sliderWidth = null === (_a = null == ref ? void 0 : ref.current) || void 0 === _a ? void 0 : _a.offsetWidth;
132
127
  sliderWidth && 0 !== size.width && setTrackAndHead(relativeProgressRef.current * sliderWidth);
133
128
  }, [ size.width, setTrackAndHead ]);
134
- const trackHeadColor = useMemo(() => trackHeadSize && 0 !== trackHeadSize ? null != headColor ? headColor : "var(--core-text-primary)" : "transparent", [ headColor, trackHeadSize ]), setWidth = useMemo(() => width && "string" == typeof width ? "auto" === width ? "100%" : width : `${null != width ? width : 100}px`, [ width ]), cssVars = useMemo(() => ({
129
+ const trackHeadColor = useMemo(() => trackHeadSize && 0 !== trackHeadSize ? null != headColor ? headColor : "var(--core-text-primary)" : "transparent", [ headColor, trackHeadSize ]), setWidth = useMemo(() => width && "string" == typeof width ? "auto" === width ? "100%" : width : `${null != width ? width : 100}px`, [ width ]), setHeadBorder = useMemo(() => trackHeadBorderSize && 0 !== trackHeadBorderSize ? `${trackHeadBorderSize}px solid ${trackHeadBorderColor}` : "unset", [ trackHeadBorderColor, trackHeadBorderSize ]), cssVars = useMemo(() => ({
135
130
  "--slider-padding": `${padding}px`,
136
131
  "--slider-width": setWidth,
137
132
  "--slider-height": `${height}px`,
@@ -143,8 +138,10 @@ const Slider = React.memo(props => {
143
138
  "--slider-head-width": `${null != trackHeadSize ? trackHeadSize : 0}px`,
144
139
  "--slider-head-color": trackHeadColor,
145
140
  "--slider-progress-color": null != progressColor ? progressColor : "var(--core-text-primary)",
146
- "--slider-track-color": null != trackColor ? trackColor : "var(--core-surface-secondary)"
147
- }), [ padding, height, touchHeight, cursor, progressColor, trackColor, trackHeadSize, trackHeadColor, setWidth ]);
141
+ "--slider-track-color": null != trackColor ? trackColor : "var(--core-surface-secondary)",
142
+ "--slider-track-head-border": setHeadBorder,
143
+ "--slider-opacity": disabled ? disabledOpacity : "1"
144
+ }), [ padding, height, touchHeight, cursor, progressColor, trackColor, trackHeadSize, trackHeadColor, setWidth, setHeadBorder, disabled, disabledOpacity ]);
148
145
  return jsx("div", Object.assign({
149
146
  id: divId,
150
147
  className: `${css_wrapper}${divClass}`,
@@ -13,9 +13,9 @@ import "../hooks/useWindow.mjs";
13
13
 
14
14
  import { B as Badge } from "./Badge-CC0zSLMf.mjs";
15
15
 
16
- import { I as Icon } from "./Icon-DRzjkybv.mjs";
16
+ import { I as Icon } from "./Icon-BOJAk-hM.mjs";
17
17
 
18
- import { I as IconButton } from "./IconButton-b1v9Me0P.mjs";
18
+ import { I as IconButton } from "./IconButton-Ck0IMn4i.mjs";
19
19
 
20
20
  import { T as ToolTipType } from "./sharedTypes-tn9-uJvb.mjs";
21
21
 
@@ -28,13 +28,13 @@ styleInject(".flexBox-module_row__z24tF {\n\tdisplay: flex;\n\tjustify-content:
28
28
  const placeholderOptions = [ {
29
29
  name: "Light",
30
30
  value: "Option 1",
31
- icon: "circle"
31
+ icon: "sun"
32
32
  }, {
33
33
  name: "Dark",
34
34
  value: "Option 2",
35
- icon: "target"
35
+ icon: "moon full"
36
36
  } ], TabBar = React.memo(props => {
37
- const {options: options = placeholderOptions, selected: selected = 0, border: border = !0, underline: underline = !0, height: height = "100%", width: width = "100%", tabWidth: tabWidth = "fill", padding: padding = 8, iconSize: iconSize = 20, iconGap: iconGap = 8, tabGap: tabGap = 0, disabled: disabled = !1, hasClose: hasClose = !1, closeWidth: closeWidth = "auto", selectedValue: selectedValue = null, onChange: onChange = () => null, onTabChange: onTabChange = () => null, onClose: onClose = () => null, onToolTip: onToolTip = () => null} = props, divAttributes = __rest(props, [ "options", "selected", "border", "underline", "height", "width", "tabWidth", "padding", "iconSize", "iconGap", "tabGap", "disabled", "hasClose", "closeWidth", "selectedValue", "onChange", "onTabChange", "onClose", "onToolTip" ]), {id: divId, className: className, style: style} = divAttributes, rest = __rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", [index, setIndex] = useState(selected), optionRefs = useRef([]);
37
+ const {options: options = placeholderOptions, selected: selected = 0, border: border = !0, underline: underline = !0, height: height = "100%", width: width = "100%", tabWidth: tabWidth = "fill", padding: padding = 8, iconFill: iconFill = !1, iconSize: iconSize = 20, iconGap: iconGap = 8, tabGap: tabGap = 0, disabled: disabled = !1, hasClose: hasClose = !1, closeWidth: closeWidth = "auto", selectedValue: selectedValue = null, onChange: onChange = () => null, onTabChange: onTabChange = () => null, onClose: onClose = () => null, onToolTip: onToolTip = () => null} = props, divAttributes = __rest(props, [ "options", "selected", "border", "underline", "height", "width", "tabWidth", "padding", "iconFill", "iconSize", "iconGap", "tabGap", "disabled", "hasClose", "closeWidth", "selectedValue", "onChange", "onTabChange", "onClose", "onToolTip" ]), {id: divId, className: className, style: style} = divAttributes, rest = __rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", [index, setIndex] = useState(selected), optionRefs = useRef([]);
38
38
  useEffect(() => {
39
39
  let selectedIndex = 0;
40
40
  selectedValue && options ? (selectedIndex = options.findIndex(option => option.value === selectedValue),
@@ -84,11 +84,12 @@ const placeholderOptions = [ {
84
84
  onKeyDown: handleOptionKeyDown,
85
85
  onToolTip: onToolTip,
86
86
  underline: underline,
87
+ iconFill: iconFill,
87
88
  tabWidth: tabWidth,
88
89
  buttonRef: element => {
89
90
  optionRefs.current[i] = element;
90
91
  }
91
- }, `${i}_option_${option.name}`)), [ options, index, padding, iconSize, iconGap, disabled, underline, tabWidth, onToolTip, handleOptionClick, handleOptionKeyDown ]), setStyle = useCallback(value => "string" == typeof value ? value : `${value}px`, []), cssVars = useMemo(() => ({
92
+ }, `${i}_option_${option.name}`)), [ options, index, padding, iconSize, iconGap, disabled, underline, tabWidth, onToolTip, handleOptionClick, iconFill, handleOptionKeyDown ]), setStyle = useCallback(value => "string" == typeof value ? value : `${value}px`, []), cssVars = useMemo(() => ({
92
93
  "--tab-bar-gap": `${tabGap}px`,
93
94
  "--tab-bar-height": `${setStyle(height)}px`,
94
95
  "--tab-bar-width": setStyle(width),
@@ -111,7 +112,8 @@ const placeholderOptions = [ {
111
112
  toggle: !1,
112
113
  hover: !0,
113
114
  icon: "x",
114
- onClick: onClose
115
+ onClick: onClose,
116
+ iconFill: iconFill
115
117
  })
116
118
  }) ]
117
119
  }));
@@ -120,7 +122,7 @@ const placeholderOptions = [ {
120
122
  TabBar.displayName = "TabBar";
121
123
 
122
124
  const Option = React.memo(props => {
123
- const theme = useTheme(), {label: label = "Option", value: value = 0, icon: icon = null, selected: selected = !1, onClick: onClick = () => null, onToolTip: onToolTip = () => null, padding: padding = 8, iconSize: iconSize = 20, iconGap: iconGap = 6, disabled: disabled = !1, showToolTip: showToolTip = null, underline: underline = !0, tabWidth: tabWidth = "fill", count: count = 0, onKeyDown: onKeyDown = () => null, buttonRef: buttonRef} = props, ref = useRef(null), strokeColor = useMemo(() => !disabled && selected ? theme.current.colors["core-text-special"] : disabled ? theme.current.colors["core-text-disabled"] : theme.current.colors["core-text-primary"], [ disabled, selected, theme ]), handleMouseOver = useCallback(e => {
125
+ const theme = useTheme(), {label: label = "Option", value: value = 0, icon: icon = null, selected: selected = !1, onClick: onClick = () => null, onToolTip: onToolTip = () => null, padding: padding = 8, iconSize: iconSize = 20, iconGap: iconGap = 6, disabled: disabled = !1, showToolTip: showToolTip = null, underline: underline = !0, tabWidth: tabWidth = "fill", count: count = 0, iconFill: iconFill = !1, onKeyDown: onKeyDown = () => null, buttonRef: buttonRef} = props, ref = useRef(null), strokeColor = useMemo(() => !disabled && selected ? theme.current.colors["core-text-special"] : disabled ? theme.current.colors["core-text-disabled"] : theme.current.colors["core-text-primary"], [ disabled, selected, theme ]), handleMouseOver = useCallback(e => {
124
126
  if (onToolTip(null), showToolTip && ref.current) {
125
127
  const tip = {
126
128
  type: ToolTipType.button,
@@ -162,6 +164,7 @@ const Option = React.memo(props => {
162
164
  className: css_icon,
163
165
  children: jsx(Icon, {
164
166
  name: icon,
167
+ fill: iconFill,
165
168
  size: iconSize,
166
169
  strokeColor: strokeColor
167
170
  })
@@ -5,7 +5,7 @@ import { jsxs, jsx } from "react/jsx-runtime";
5
5
 
6
6
  import React, { useState, useRef, useCallback, useEffect, useMemo } from "react";
7
7
 
8
- import { B as Button } from "./Button-BIbAGVV8.mjs";
8
+ import { B as Button } from "./Button-CYFpitCp.mjs";
9
9
 
10
10
  import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
11
11
 
@@ -11,15 +11,15 @@ import { useTheme } from "../hooks/useTheme.mjs";
11
11
 
12
12
  import "../theme/colors.mjs";
13
13
 
14
- import { s as setStyle } from "./misc-BeEWwOaJ.mjs";
14
+ import { s as setStyle } from "./misc-Bjbro8Xe.mjs";
15
15
 
16
16
  import "../hooks/useWindow.mjs";
17
17
 
18
- import { B as Button } from "./Button-BIbAGVV8.mjs";
18
+ import { B as Button } from "./Button-CYFpitCp.mjs";
19
19
 
20
- import { I as Icon } from "./Icon-DRzjkybv.mjs";
20
+ import { I as Icon } from "./Icon-BOJAk-hM.mjs";
21
21
 
22
- import { I as IconButton } from "./IconButton-b1v9Me0P.mjs";
22
+ import { I as IconButton } from "./IconButton-Ck0IMn4i.mjs";
23
23
 
24
24
  import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
25
25
 
@@ -7,7 +7,7 @@ import { motion } from "motion/react";
7
7
 
8
8
  import React, { useState, useRef, useEffect, useMemo } from "react";
9
9
 
10
- import { f as filterClasses } from "./misc-BeEWwOaJ.mjs";
10
+ import { f as filterClasses } from "./misc-Bjbro8Xe.mjs";
11
11
 
12
12
  import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
13
13
 
@@ -11,11 +11,11 @@ import { useTheme } from "../hooks/useTheme.mjs";
11
11
 
12
12
  import "../theme/colors.mjs";
13
13
 
14
- import { s as setStyle, f as filterClasses, a as accessibleKeyDown } from "./misc-BeEWwOaJ.mjs";
14
+ import { s as setStyle, f as filterClasses, a as accessibleKeyDown } from "./misc-Bjbro8Xe.mjs";
15
15
 
16
16
  import "../hooks/useWindow.mjs";
17
17
 
18
- import { I as Icon } from "./Icon-DRzjkybv.mjs";
18
+ import { I as Icon } from "./Icon-BOJAk-hM.mjs";
19
19
 
20
20
  import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
21
21
 
@@ -27,14 +27,14 @@ var ToastType, css = {
27
27
  l: "Toast-module_l__-W0PD type-module_body-l-regular__lOYbg"
28
28
  };
29
29
 
30
- styleInject(".flexBox-module_row__z24tF {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowBetween__5FEvi {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowStart__4tcxS {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowEnd__rVdVm {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_column__ezvMq {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStart__C7P44 {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: flex-start;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStartCenter__PKcrG {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnBetween__ERfp7 {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnEnd__lLJuc {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.type-module_body-xs-regular__ZAFft {\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}.type-module_body-xs-medium__s3KvF {\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}.type-module_body-xs-bold__Lhqqq {\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}.type-module_body-s-regular__vRHSP {\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}.type-module_body-s-medium__tjdFc {\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}.type-module_body-s-bold__Iy-VX {\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}.type-module_body-m-regular__LuQBA {\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}.type-module_body-m-medium__uW1on {\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}.type-module_body-m-bold__UBcvQ {\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}.type-module_body-l-regular__lOYbg {\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}.type-module_body-l-medium__BqRC7 {\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}.type-module_body-l-bold__Fh2dt {\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}.type-module_body-xl-regular__pF2kC {\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}.type-module_body-xl-medium__BeyrH {\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}.type-module_body-xl-bold__Ruknj {\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}.type-module_heading-s-medium__z8L3G {\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}.type-module_heading-s-bold__0O3g6 {\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}.type-module_heading-m-bold__KXxEB {\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}.type-module_heading-m-medium__cJeEA {\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}.type-module_heading-l-medium__eRe05 {\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}.type-module_heading-l-bold__Xmwtf {\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}.type-module_heading-xl-medium__5q1m3 {\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}.type-module_heading-xl-bold__k9VFV {\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.Toast-module_wrapper__1uj9O {\n\tpadding: var(--toast-padding) !important;\n\tcolor: var(--toast-color);\n\tposition: fixed;\n\tborder: var(--toast-border);\n\tborder-radius: var(--toast-border-radius);\n\tbackground: var(--toast-background);\n\tz-index: var(--elevation-status);\n\tgap: 16px;\n\tbox-shadow: var(--surface-shadow-soft);\n\tleft: 50%;\n\ttransform: translateX(-50%);\n}\n\n.Toast-module_close__i10-s {\n\tmin-height: 20px;\n\tmax-height: 20px;\n\tmin-width: 20px;\n\tmax-width: 20px;\n}\n\n.Toast-module_s__kc5Ef {\n}\n\n.Toast-module_m__JtmLz {\n}\n.Toast-module_l__-W0PD {\n}\n"),
30
+ styleInject(".flexBox-module_row__z24tF {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowBetween__5FEvi {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowStart__4tcxS {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowEnd__rVdVm {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_column__ezvMq {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStart__C7P44 {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: flex-start;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStartCenter__PKcrG {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnBetween__ERfp7 {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnEnd__lLJuc {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.type-module_body-xs-regular__ZAFft {\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}.type-module_body-xs-medium__s3KvF {\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}.type-module_body-xs-bold__Lhqqq {\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}.type-module_body-s-regular__vRHSP {\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}.type-module_body-s-medium__tjdFc {\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}.type-module_body-s-bold__Iy-VX {\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}.type-module_body-m-regular__LuQBA {\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}.type-module_body-m-medium__uW1on {\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}.type-module_body-m-bold__UBcvQ {\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}.type-module_body-l-regular__lOYbg {\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}.type-module_body-l-medium__BqRC7 {\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}.type-module_body-l-bold__Fh2dt {\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}.type-module_body-xl-regular__pF2kC {\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}.type-module_body-xl-medium__BeyrH {\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}.type-module_body-xl-bold__Ruknj {\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}.type-module_heading-s-medium__z8L3G {\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}.type-module_heading-s-bold__0O3g6 {\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}.type-module_heading-m-bold__KXxEB {\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}.type-module_heading-m-medium__cJeEA {\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}.type-module_heading-l-medium__eRe05 {\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}.type-module_heading-l-bold__Xmwtf {\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}.type-module_heading-xl-medium__5q1m3 {\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}.type-module_heading-xl-bold__k9VFV {\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.Toast-module_wrapper__1uj9O {\n\tpadding: var(--toast-padding) !important;\n\tcolor: var(--toast-color);\n\tposition: var(--toast-position);\n\tborder: var(--toast-border);\n\tborder-radius: var(--toast-border-radius);\n\tbackground: var(--toast-background);\n\tz-index: var(--elevation-status);\n\tgap: 16px;\n\tbox-shadow: var(--surface-shadow-soft);\n\tleft: 50%;\n\ttransform: translateX(-50%);\n}\n\n.Toast-module_close__i10-s {\n\tmin-height: 20px;\n\tmax-height: 20px;\n\tmin-width: 20px;\n\tmax-width: 20px;\n\tcursor: pointer;\n}\n\n.Toast-module_s__kc5Ef {\n}\n\n.Toast-module_m__JtmLz {\n}\n.Toast-module_l__-W0PD {\n}\n"),
31
31
  function(ToastType) {
32
32
  ToastType.Success = "success", ToastType.Error = "error", ToastType.Warning = "warning",
33
33
  ToastType.Info = "info";
34
34
  }(ToastType || (ToastType = {}));
35
35
 
36
36
  const ToastBase = React.forwardRef((props, ref) => {
37
- const {message: message = null, size: size = "m", border: border = !0, padding: padding, radius: radius = 8, showDelay: showDelay = 0, duration: duration = 5e3, position: position = "bottom", offset: offset = 24, close: close = !0, type: type = ToastType.Info, didHide: didHide = () => null} = props, divAttributes = __rest(props, [ "message", "size", "border", "padding", "radius", "showDelay", "duration", "position", "offset", "close", "type", "didHide" ]), theme = useTheme(), {id: divId, className: className, style: style} = divAttributes, rest = __rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? `${className}` : "", [ready, setReady] = useState(!1), [content, setContent] = useState(null), timer = useRef(null);
37
+ const {message: message = null, size: size = "m", border: border = !0, padding: padding, radius: radius = 8, container: container = "window", showDelay: showDelay = 0, duration: duration = 5e3, position: position = "bottom", offset: offset = 24, close: close = !0, type: type = ToastType.Info, didHide: didHide = () => null} = props, divAttributes = __rest(props, [ "message", "size", "border", "padding", "radius", "container", "showDelay", "duration", "position", "offset", "close", "type", "didHide" ]), theme = useTheme(), {id: divId, className: className, style: style} = divAttributes, rest = __rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? `${className}` : "", [ready, setReady] = useState(!1), [content, setContent] = useState(null), timer = useRef(null);
38
38
  useEffect(() => {
39
39
  timer.current && clearTimeout(timer.current);
40
40
  return message && message.length > 0 ? timer.current = setTimeout(() => {
@@ -80,8 +80,9 @@ const ToastBase = React.forwardRef((props, ref) => {
80
80
  "--toast-background": colorScheme.bg,
81
81
  "--toast-color": colorScheme.text,
82
82
  "--toast-border": border ? `1px solid ${colorScheme.border}` : "unset",
83
- "--toast-border-radius": setStyle(radius, 4)
84
- }), [ padding, border, colorScheme, radius, defaultPadding ]), variants = useMemo(() => {
83
+ "--toast-border-radius": setStyle(radius, 4),
84
+ "--toast-position": "window" === container ? "fixed" : "absolute"
85
+ }), [ padding, border, colorScheme, radius, defaultPadding, container ]), variants = useMemo(() => {
85
86
  const positionShow = "bottom" === position ? {
86
87
  bottom: offset
87
88
  } : {
@@ -2,9 +2,9 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
 
3
3
  import { useMemo } from "react";
4
4
 
5
- import { I as IconButton } from "./IconButton-b1v9Me0P.mjs";
5
+ import { I as IconButton } from "./IconButton-Ck0IMn4i.mjs";
6
6
 
7
- import { L as Label } from "./Label-CvCDAg1y.mjs";
7
+ import { L as Label } from "./Label-DSfCcKtQ.mjs";
8
8
 
9
9
  import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
10
10
 
@@ -3,15 +3,15 @@ import { jsxs, jsx } from "react/jsx-runtime";
3
3
 
4
4
  import React, { useState, useRef, useId, useCallback, useMemo } from "react";
5
5
 
6
- import { s as setStyle, a as accessibleKeyDown } from "./misc-BeEWwOaJ.mjs";
6
+ import { s as setStyle, a as accessibleKeyDown } from "./misc-Bjbro8Xe.mjs";
7
7
 
8
- import { I as Icon } from "./Icon-DRzjkybv.mjs";
8
+ import { F as FileList } from "./FileList-CxHaEEUi.mjs";
9
9
 
10
- import { P as ProgressIndicator } from "./ProgressIndicator-D5e7406q.mjs";
10
+ import { I as Icon } from "./Icon-BOJAk-hM.mjs";
11
11
 
12
- import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
12
+ import { P as ProgressIndicator } from "./ProgressIndicator-d2JGUDW_.mjs";
13
13
 
14
- import { F as FileList } from "./FileList-DN4Ubroe.mjs";
14
+ import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
15
15
 
16
16
  var css = {
17
17
  wrapper: "UploadArea-module_wrapper__aircC flexBox-module_column__ezvMq",
@@ -39,7 +39,9 @@ const SliceIcons = {
39
39
  download: "download",
40
40
  upload: "upload",
41
41
  speaker: "speaker",
42
- speakerMuted: "speaker muted"
42
+ speakerMuted: "speaker muted",
43
+ speakerHigh: "speaker high",
44
+ speakerLow: "speaker low"
43
45
  },
44
46
  files: {
45
47
  document: "document",
@@ -48,7 +50,8 @@ const SliceIcons = {
48
50
  },
49
51
  people: {
50
52
  people: "people",
51
- person: "person"
53
+ person: "person",
54
+ talk: "talk"
52
55
  },
53
56
  business: {
54
57
  briefcase: "briefcase",
@@ -119,6 +122,7 @@ const SliceIcons = {
119
122
  menu: "menu",
120
123
  more: "more",
121
124
  sidebar: "sidebar",
125
+ sidebarSplit: "sidebar split",
122
126
  keyboard: "keyboard",
123
127
  x: "x"
124
128
  }
@@ -14,8 +14,11 @@ const emptyMicStreamRef = {
14
14
  function createEmptyState() {
15
15
  return {
16
16
  micStream: emptyMicStreamRef,
17
+ processedMicStream: emptyMicStreamRef,
17
18
  micTrack: emptyMicTrackRef,
19
+ currentDeviceId: null,
18
20
  isActive: !1,
21
+ inputVolume: 1,
19
22
  muted: !0,
20
23
  isSupported: !1,
21
24
  isRequesting: !1,
@@ -43,6 +46,10 @@ function createBoundActions(microphone, clearState) {
43
46
  return null !== (_a = null == microphone ? void 0 : microphone.unmuteMic()) && void 0 !== _a && _a;
44
47
  },
45
48
  toggleMute: () => null == microphone ? void 0 : microphone.toggleMute(),
49
+ setInputVolume: volume => {
50
+ var _a;
51
+ return null !== (_a = null == microphone ? void 0 : microphone.setInputVolume(volume)) && void 0 !== _a ? _a : 1;
52
+ },
46
53
  refreshMicrophones: () => __awaiter(this, void 0, void 0, function*() {
47
54
  var _a;
48
55
  return null !== (_a = null == microphone ? void 0 : microphone.refreshMicrophones()) && void 0 !== _a ? _a : [];
@@ -67,8 +74,11 @@ function createBoundActions(microphone, clearState) {
67
74
  set(state => Object.assign(Object.assign({}, function(microphone) {
68
75
  return microphone ? {
69
76
  micStream: microphone.micStream,
77
+ processedMicStream: microphone.processedMicStream,
70
78
  micTrack: microphone.micTrack,
79
+ currentDeviceId: microphone.currentDeviceId,
71
80
  isActive: microphone.isActive,
81
+ inputVolume: microphone.inputVolume,
72
82
  muted: microphone.muted,
73
83
  isSupported: microphone.isSupported,
74
84
  isRequesting: microphone.isRequesting,
@@ -88,13 +98,16 @@ function createBoundActions(microphone, clearState) {
88
98
  /**
89
99
  * Bind the value of useMicrophone hook to the useMicrophoneStore. Use this to update the store with a new mic object.
90
100
  */ function useSyncMicrophoneStore(microphone) {
91
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
92
- const sync = useMicrophoneStore(state => state.actions.sync), hasMicrophone = null !== microphone, micStream = null !== (_a = null == microphone ? void 0 : microphone.micStream) && void 0 !== _a ? _a : emptyMicStreamRef, micTrack = null !== (_b = null == microphone ? void 0 : microphone.micTrack) && void 0 !== _b ? _b : emptyMicTrackRef, isActive = null !== (_c = null == microphone ? void 0 : microphone.isActive) && void 0 !== _c && _c, muted = null === (_d = null == microphone ? void 0 : microphone.muted) || void 0 === _d || _d, isSupported = null !== (_e = null == microphone ? void 0 : microphone.isSupported) && void 0 !== _e && _e, isRequesting = null !== (_f = null == microphone ? void 0 : microphone.isRequesting) && void 0 !== _f && _f, error = null !== (_g = null == microphone ? void 0 : microphone.error) && void 0 !== _g ? _g : null, microphones = null !== (_h = null == microphone ? void 0 : microphone.microphones) && void 0 !== _h ? _h : [], micOptions = null !== (_j = null == microphone ? void 0 : microphone.micOptions) && void 0 !== _j ? _j : [], requestMicrophone = null == microphone ? void 0 : microphone.requestMicrophone, stopMicrophone = null == microphone ? void 0 : microphone.stopMicrophone, muteMic = null == microphone ? void 0 : microphone.muteMic, unmuteMic = null == microphone ? void 0 : microphone.unmuteMic, toggleMute = null == microphone ? void 0 : microphone.toggleMute, refreshMicrophones = null == microphone ? void 0 : microphone.refreshMicrophones, setMicrophone = null == microphone ? void 0 : microphone.setMicrophone;
101
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
102
+ const sync = useMicrophoneStore(state => state.actions.sync), hasMicrophone = null !== microphone, micStream = null !== (_a = null == microphone ? void 0 : microphone.micStream) && void 0 !== _a ? _a : emptyMicStreamRef, processedMicStream = null !== (_b = null == microphone ? void 0 : microphone.processedMicStream) && void 0 !== _b ? _b : emptyMicStreamRef, micTrack = null !== (_c = null == microphone ? void 0 : microphone.micTrack) && void 0 !== _c ? _c : emptyMicTrackRef, currentDeviceId = null !== (_d = null == microphone ? void 0 : microphone.currentDeviceId) && void 0 !== _d ? _d : null, isActive = null !== (_e = null == microphone ? void 0 : microphone.isActive) && void 0 !== _e && _e, inputVolume = null !== (_f = null == microphone ? void 0 : microphone.inputVolume) && void 0 !== _f ? _f : 1, muted = null === (_g = null == microphone ? void 0 : microphone.muted) || void 0 === _g || _g, isSupported = null !== (_h = null == microphone ? void 0 : microphone.isSupported) && void 0 !== _h && _h, isRequesting = null !== (_j = null == microphone ? void 0 : microphone.isRequesting) && void 0 !== _j && _j, error = null !== (_k = null == microphone ? void 0 : microphone.error) && void 0 !== _k ? _k : null, microphones = null !== (_l = null == microphone ? void 0 : microphone.microphones) && void 0 !== _l ? _l : [], micOptions = null !== (_m = null == microphone ? void 0 : microphone.micOptions) && void 0 !== _m ? _m : [], requestMicrophone = null == microphone ? void 0 : microphone.requestMicrophone, stopMicrophone = null == microphone ? void 0 : microphone.stopMicrophone, muteMic = null == microphone ? void 0 : microphone.muteMic, unmuteMic = null == microphone ? void 0 : microphone.unmuteMic, toggleMute = null == microphone ? void 0 : microphone.toggleMute, setInputVolume = null == microphone ? void 0 : microphone.setInputVolume, refreshMicrophones = null == microphone ? void 0 : microphone.refreshMicrophones, setMicrophone = null == microphone ? void 0 : microphone.setMicrophone;
93
103
  useEffect(() => {
94
104
  sync(hasMicrophone ? {
95
105
  micStream: micStream,
106
+ processedMicStream: processedMicStream,
96
107
  micTrack: micTrack,
108
+ currentDeviceId: currentDeviceId,
97
109
  isActive: isActive,
110
+ inputVolume: inputVolume,
98
111
  muted: muted,
99
112
  isSupported: isSupported,
100
113
  isRequesting: isRequesting,
@@ -108,14 +121,15 @@ function createBoundActions(microphone, clearState) {
108
121
  muteMic: null != muteMic ? muteMic : () => !1,
109
122
  unmuteMic: null != unmuteMic ? unmuteMic : () => !1,
110
123
  toggleMute: null != toggleMute ? toggleMute : () => null,
124
+ setInputVolume: null != setInputVolume ? setInputVolume : () => 1,
111
125
  refreshMicrophones: null != refreshMicrophones ? refreshMicrophones : () => __awaiter(this, void 0, void 0, function*() {
112
126
  return [];
113
127
  }),
114
128
  setMicrophone: null != setMicrophone ? setMicrophone : () => __awaiter(this, void 0, void 0, function*() {})
115
129
  } : null);
116
- }, [ sync, hasMicrophone, micStream, micTrack, isActive, muted, isSupported, isRequesting, error, microphones, micOptions, requestMicrophone, stopMicrophone, muteMic, unmuteMic, toggleMute, refreshMicrophones, setMicrophone ]);
130
+ }, [ sync, hasMicrophone, micStream, processedMicStream, micTrack, currentDeviceId, isActive, inputVolume, muted, isSupported, isRequesting, error, microphones, micOptions, requestMicrophone, stopMicrophone, muteMic, unmuteMic, toggleMute, setInputVolume, refreshMicrophones, setMicrophone ]);
117
131
  }
118
132
 
119
- const useMicStream = () => useMicrophoneStore(state => state.micStream), useMicTrack = () => useMicrophoneStore(state => state.micTrack), useMicActive = () => useMicrophoneStore(state => state.isActive), useMicMuted = () => useMicrophoneStore(state => state.muted), useMicSupported = () => useMicrophoneStore(state => state.isSupported), useMicRequesting = () => useMicrophoneStore(state => state.isRequesting), useMicError = () => useMicrophoneStore(state => state.error), useMicrophones = () => useMicrophoneStore(state => state.microphones), useMicOptions = () => useMicrophoneStore(state => state.micOptions), useMicrophoneStoreActions = () => useMicrophoneStore(state => state.actions), microphoneActions = useMicrophoneStore.getState().actions, getMicrophoneState = () => useMicrophoneStore.getState();
133
+ const useMicStream = () => useMicrophoneStore(state => state.micStream), useProcessedMicStream = () => useMicrophoneStore(state => state.processedMicStream), useMicTrack = () => useMicrophoneStore(state => state.micTrack), useCurrentMicDeviceId = () => useMicrophoneStore(state => state.currentDeviceId), useMicActive = () => useMicrophoneStore(state => state.isActive), useMicInputVolume = () => useMicrophoneStore(state => state.inputVolume), useMicMuted = () => useMicrophoneStore(state => state.muted), useMicSupported = () => useMicrophoneStore(state => state.isSupported), useMicRequesting = () => useMicrophoneStore(state => state.isRequesting), useMicError = () => useMicrophoneStore(state => state.error), useMicrophones = () => useMicrophoneStore(state => state.microphones), useMicOptions = () => useMicrophoneStore(state => state.micOptions), useMicrophoneStoreActions = () => useMicrophoneStore(state => state.actions), microphoneActions = useMicrophoneStore.getState().actions, getMicrophoneState = () => useMicrophoneStore.getState();
120
134
 
121
- export { useMicError as a, useMicMuted as b, useMicOptions as c, useMicRequesting as d, useMicStream as e, useMicSupported as f, getMicrophoneState as g, useMicTrack as h, useMicrophoneStore as i, useMicrophoneStoreActions as j, useMicrophones as k, useSyncMicrophoneStore as l, microphoneActions as m, useMicActive as u };
135
+ export { useMicActive as a, useMicError as b, useMicInputVolume as c, useMicMuted as d, useMicOptions as e, useMicRequesting as f, getMicrophoneState as g, useMicStream as h, useMicSupported as i, useMicTrack as j, useMicrophoneStore as k, useMicrophoneStoreActions as l, microphoneActions as m, useMicrophones as n, useProcessedMicStream as o, useSyncMicrophoneStore as p, useCurrentMicDeviceId as u };
@@ -48,9 +48,9 @@ import { _ as __awaiter } from "./tslib.es6-C-olHjXV.mjs";
48
48
  };
49
49
  }
50
50
 
51
- const hexToRgb = hex => {
51
+ const hexToRgb = (hex, opacity) => {
52
52
  if (!hex) return;
53
- return `"rgb(${Number.parseInt(hex.slice(1, 3), 16)}, ${Number.parseInt(hex.slice(3, 5), 16)}, ${Number.parseInt(hex.slice(5, 7), 16)})"`;
53
+ return `rgba(${Number.parseInt(hex.slice(1, 3), 16)}, ${Number.parseInt(hex.slice(3, 5), 16)}, ${Number.parseInt(hex.slice(5, 7), 16)}, ${null != opacity ? opacity : 1})`;
54
54
  };
55
55
 
56
56
  /**
@@ -0,0 +1,90 @@
1
+ import { _ as __awaiter } from "./tslib.es6-C-olHjXV.mjs";
2
+
3
+ import { create } from "zustand";
4
+
5
+ const useVolumeStore = create((set, get) => ({
6
+ volume: 1,
7
+ storedVolume: 1,
8
+ muted: !1,
9
+ elements: new Set,
10
+ feedbackElement: null,
11
+ actions: {
12
+ attachMedia: elements => {
13
+ const media = Array.isArray(elements) ? elements : [ elements ], mediaMap = new Set(get().elements);
14
+ for (const element of media) mediaMap.add(element);
15
+ adjustMediaVolume(mediaMap, get().volume), set({
16
+ elements: mediaMap
17
+ });
18
+ },
19
+ attachFeedbackElement: element => {
20
+ element.loop = !1, set({
21
+ feedbackElement: element
22
+ });
23
+ },
24
+ detachFeedbackElement: element => {
25
+ set({
26
+ feedbackElement: null
27
+ });
28
+ },
29
+ setVolume: volume => {
30
+ const currentVolume = get().muted ? 0 : volume, attachedMedia = get().elements, newStored = volume > 0 ? volume : get().storedVolume;
31
+ attachedMedia.size > 0 && adjustMediaVolume(attachedMedia, currentVolume), set({
32
+ volume: currentVolume,
33
+ storedVolume: newStored
34
+ });
35
+ },
36
+ playFeedback: volume => __awaiter(void 0, void 0, void 0, function*() {
37
+ if (get().muted) return;
38
+ const feedbackElement = get().feedbackElement;
39
+ yield playFeedbackSound(feedbackElement, null != volume ? volume : get().volume);
40
+ }),
41
+ mute: () => __awaiter(void 0, void 0, void 0, function*() {
42
+ if (get().muted) return;
43
+ const volume = get().volume, attachedMedia = get().elements;
44
+ attachedMedia.size > 0 && adjustMediaVolume(attachedMedia, 0), set({
45
+ volume: 0,
46
+ storedVolume: volume,
47
+ muted: !0
48
+ });
49
+ }),
50
+ unmute: () => __awaiter(void 0, void 0, void 0, function*() {
51
+ if (!get().muted) return;
52
+ const storedVolume = get().storedVolume, attachedMedia = get().elements, feedbackElement = get().feedbackElement;
53
+ attachedMedia.size > 0 && adjustMediaVolume(attachedMedia, storedVolume), set({
54
+ volume: storedVolume,
55
+ muted: !1
56
+ }), yield playFeedbackSound(feedbackElement, storedVolume);
57
+ }),
58
+ detachMedia: elements => {
59
+ const media = Array.isArray(elements) ? elements : [ elements ], mediaMap = new Set(get().elements);
60
+ for (const element of media) mediaMap.delete(element);
61
+ set({
62
+ elements: mediaMap
63
+ });
64
+ },
65
+ clearMedia: () => {
66
+ set({
67
+ elements: new Set
68
+ });
69
+ }
70
+ }
71
+ }));
72
+
73
+ function adjustMediaVolume(media, volume) {
74
+ const elements = Array.from(media);
75
+ for (const element of elements) element instanceof HTMLAudioElement && (element.volume = volume),
76
+ element instanceof HTMLVideoElement && (element.volume = volume);
77
+ }
78
+
79
+ function playFeedbackSound(element, volume) {
80
+ return __awaiter(this, void 0, void 0, function*() {
81
+ if (Number(volume.toFixed(2)), element) {
82
+ !element.paused && !element.ended && element.readyState > 2 && (element.pause(),
83
+ element.currentTime = 0), element.volume = Number(volume.toFixed(2)), yield element.play().catch(err => console.warn(err));
84
+ }
85
+ });
86
+ }
87
+
88
+ const useVolume = () => useVolumeStore(state => state.volume), useStoredVolume = () => useVolumeStore(state => state.storedVolume), useMuted = () => useVolumeStore(state => state.muted), useAttachedMedia = () => useVolumeStore(state => state.elements), useVolumeActions = () => useVolumeStore(state => state.actions), volumeActions = useVolumeStore.getState().actions, getVolume = () => useVolumeStore.getState().volume, getStoredVolume = () => useVolumeStore.getState().storedVolume, getMuted = () => useVolumeStore.getState().muted, getAttachedMedia = () => useVolumeStore.getState().elements;
89
+
90
+ export { getMuted as a, getStoredVolume as b, getVolume as c, useMuted as d, useStoredVolume as e, useVolume as f, getAttachedMedia as g, useVolumeActions as h, useVolumeStore as i, useAttachedMedia as u, volumeActions as v };
@@ -1,4 +1,4 @@
1
- export { A as Avatar } from "../../chunks/Avatar-m5-zleDk.mjs";
1
+ export { A as Avatar } from "../../chunks/Avatar-Ds6MWC2c.mjs";
2
2
 
3
3
  import "../../chunks/tslib.es6-C-olHjXV.mjs";
4
4
 
@@ -6,6 +6,6 @@ import "react/jsx-runtime";
6
6
 
7
7
  import "react";
8
8
 
9
- import "../../chunks/misc-BeEWwOaJ.mjs";
9
+ import "../../chunks/misc-Bjbro8Xe.mjs";
10
10
 
11
11
  import "../../chunks/style-inject.es-D0BjEaN8.mjs";
@@ -1,4 +1,4 @@
1
- export { A as AvatarGroup } from "../../chunks/AvatarGroup-DlgP4lTS.mjs";
1
+ export { A as AvatarGroup } from "../../chunks/AvatarGroup-CBGi99eo.mjs";
2
2
 
3
3
  import "../../chunks/tslib.es6-C-olHjXV.mjs";
4
4
 
@@ -6,8 +6,8 @@ import "react/jsx-runtime";
6
6
 
7
7
  import "react";
8
8
 
9
- import "../../chunks/Avatar-m5-zleDk.mjs";
9
+ import "../../chunks/Avatar-Ds6MWC2c.mjs";
10
10
 
11
- import "../../chunks/misc-BeEWwOaJ.mjs";
11
+ import "../../chunks/misc-Bjbro8Xe.mjs";
12
12
 
13
13
  import "../../chunks/style-inject.es-D0BjEaN8.mjs";