@apple-pie/slice 0.1.2 → 0.1.3

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 (126) hide show
  1. package/README.md +105 -13
  2. package/dist/cjs/chunks/{Button-TfMwGVI5.js → Button-hg5kGC1P.js} +1 -1
  3. package/dist/cjs/chunks/{ButtonBar-BqGC6sad.js → ButtonBar-C9Nm9faU.js} +1 -1
  4. package/dist/cjs/chunks/{Camera-om1AA2D0.js → Camera-Dx_PT3pS.js} +63 -46
  5. package/dist/cjs/chunks/{Card-Ctwbhu26.js → Card-AgEMKJ4O.js} +1 -1
  6. package/dist/cjs/chunks/{CheckBox-CeDIiSvi.js → CheckBox-CLMxlUff.js} +1 -1
  7. package/dist/cjs/chunks/{Chip-DdTtB57x.js → Chip-CIy_Xe3i.js} +1 -1
  8. package/dist/cjs/chunks/{DropDown-CC90XfyD.js → DropDown-FZb52YxR.js} +1 -1
  9. package/dist/cjs/chunks/{FileList-ClTfGKIL.js → FileList-BQgcnKPP.js} +1 -1
  10. package/dist/cjs/chunks/{Grouper-jiYhVC82.js → Grouper-Bgc1wrQM.js} +1 -1
  11. package/dist/cjs/chunks/{IconButton-BiUfqoPb.js → IconButton-CBWmUZxR.js} +1 -1
  12. package/dist/cjs/chunks/{ProgressIndicator-B3-OxGYF.js → ProgressIndicator-qjya_Yb5.js} +1 -1
  13. package/dist/cjs/chunks/{PromptInput-Dsziepzs.js → PromptInput-ZqHQUfXw.js} +1 -1
  14. package/dist/cjs/chunks/{RadioButton-i5n_nNV5.js → RadioButton-Ce9uf54a.js} +1 -1
  15. package/dist/cjs/chunks/{RadioButtonList-BCdk-5aD.js → RadioButtonList-dhPr-Uhs.js} +1 -1
  16. package/dist/cjs/chunks/{TabBar-BF5CvZ-v.js → TabBar-DuwypMB6.js} +1 -1
  17. package/dist/cjs/chunks/{TextArea-BmOomEKp.js → TextArea-BhzVGfKA.js} +1 -1
  18. package/dist/cjs/chunks/{TextField-CXMyCClp.js → TextField-hIjxrOG9.js} +1 -1
  19. package/dist/cjs/chunks/{Toast-CQ0-yuzl.js → Toast-DMUM1wuL.js} +1 -1
  20. package/dist/cjs/chunks/{UploadArea-B5Xvp0H4.js → UploadArea-B4GA06LW.js} +1 -1
  21. package/dist/cjs/chunks/{_types-Cxk9tRiB.js → _types-C_zOsCbB.js} +57 -50
  22. package/dist/cjs/chunks/colors-uej0anrN.js +27 -0
  23. package/dist/cjs/chunks/sseStore-Dg0WuXsI.js +59 -0
  24. package/dist/cjs/components/Button/index.js +3 -3
  25. package/dist/cjs/components/ButtonBar/index.js +3 -3
  26. package/dist/cjs/components/Camera/index.js +4 -4
  27. package/dist/cjs/components/Card/index.js +2 -2
  28. package/dist/cjs/components/CheckBox/index.js +2 -2
  29. package/dist/cjs/components/Chip/index.js +2 -2
  30. package/dist/cjs/components/DropDown/index.js +2 -2
  31. package/dist/cjs/components/FileList/index.js +3 -3
  32. package/dist/cjs/components/Grouper/index.js +2 -2
  33. package/dist/cjs/components/Icon/index.js +1 -1
  34. package/dist/cjs/components/IconButton/index.js +2 -2
  35. package/dist/cjs/components/Progress/index.js +2 -2
  36. package/dist/cjs/components/PromptInput/index.js +5 -5
  37. package/dist/cjs/components/RadioButton/index.js +2 -2
  38. package/dist/cjs/components/RadioButtonList/index.js +3 -3
  39. package/dist/cjs/components/TabBar/index.js +3 -3
  40. package/dist/cjs/components/TextArea/index.js +4 -4
  41. package/dist/cjs/components/Textfield/index.js +5 -5
  42. package/dist/cjs/components/Toast/index.js +2 -2
  43. package/dist/cjs/components/UploadArea/index.js +8 -7
  44. package/dist/cjs/index.js +2 -2
  45. package/dist/cjs/stores/SSE.js +9 -0
  46. package/dist/cjs/stores.js +7 -3
  47. package/dist/cjs/utils/index.js +4 -26
  48. package/dist/cjs/utils/objects/index.js +140 -0
  49. package/dist/esm/chunks/{Avatar-BQT1r-Ge.mjs → Avatar-CDMV6f9w.mjs} +1 -1
  50. package/dist/esm/chunks/{AvatarGroup-B787aNtD.mjs → AvatarGroup-BZ18GwhK.mjs} +1 -1
  51. package/dist/esm/chunks/{Button-1MgE-kl9.mjs → Button-DJDS7Yad.mjs} +2 -2
  52. package/dist/esm/chunks/{ButtonBar-Eahfd-40.mjs → ButtonBar-DIsqJmrS.mjs} +1 -1
  53. package/dist/esm/chunks/{Camera-Bvoug1KF.mjs → Camera-BvJJ5cd-.mjs} +65 -48
  54. package/dist/esm/chunks/{Card-RSZhXncV.mjs → Card-DjHdCav5.mjs} +1 -1
  55. package/dist/esm/chunks/{CheckBox-CfLedK0e.mjs → CheckBox-C1LPehvl.mjs} +1 -1
  56. package/dist/esm/chunks/{Chip-Db4N0WVH.mjs → Chip-ByaaWpFx.mjs} +1 -1
  57. package/dist/esm/chunks/{DivInput-BEpjdfu4.mjs → DivInput-B7BliU1p.mjs} +1 -1
  58. package/dist/esm/chunks/{DrggablePanel-DJm1Mx5u.mjs → DrggablePanel-DvactFf5.mjs} +1 -1
  59. package/dist/esm/chunks/{DropDown-ryz3GK81.mjs → DropDown-CM01mO_W.mjs} +1 -1
  60. package/dist/esm/chunks/{FileIcon-_mK2EcB2.mjs → FileIcon-CC_k5dUW.mjs} +1 -1
  61. package/dist/esm/chunks/{FileList-hCMTALyN.mjs → FileList-CmlXqPXl.mjs} +4 -4
  62. package/dist/esm/chunks/{Grouper-B1gjd3Sx.mjs → Grouper-DNmAYWdR.mjs} +1 -1
  63. package/dist/esm/chunks/{IconButton-SyRu990z.mjs → IconButton-C8RBNFzh.mjs} +1 -1
  64. package/dist/esm/chunks/{Label-DGOkB_Px.mjs → Label-DOvquc82.mjs} +1 -1
  65. package/dist/esm/chunks/{Pager-BA0lD9mI.mjs → Pager-BX4TMwD_.mjs} +1 -1
  66. package/dist/esm/chunks/{ProgressIndicator-BayyosKr.mjs → ProgressIndicator-h11R3FG1.mjs} +3 -3
  67. package/dist/esm/chunks/{PromptInput-CUXCuYVA.mjs → PromptInput-DSHVUuEf.mjs} +3 -3
  68. package/dist/esm/chunks/{RadioButton-BRFSVtmm.mjs → RadioButton-_lo_FJ8g.mjs} +2 -2
  69. package/dist/esm/chunks/{RadioButtonList-D6a_EcB6.mjs → RadioButtonList-CLHJxrI_.mjs} +1 -1
  70. package/dist/esm/chunks/{Slider-D2XVyi2g.mjs → Slider-Bih21QiT.mjs} +1 -1
  71. package/dist/esm/chunks/{TabBar-BqajqueL.mjs → TabBar-CDDzA_m1.mjs} +2 -2
  72. package/dist/esm/chunks/{TextArea-C5EbLAN1.mjs → TextArea-CyVBzMoN.mjs} +1 -1
  73. package/dist/esm/chunks/{TextField-DnQxDxus.mjs → TextField-CYI2vbvO.mjs} +3 -3
  74. package/dist/esm/chunks/{Tip-B64Pa9eq.mjs → Tip-B-cDOFvV.mjs} +1 -1
  75. package/dist/esm/chunks/{Toast-B3GgzcTW.mjs → Toast-ovxR12_-.mjs} +2 -2
  76. package/dist/esm/chunks/{UploadArea-DpWT-5DA.mjs → UploadArea-Kez3VD4d.mjs} +5 -5
  77. package/dist/esm/chunks/{_types-DGDKmYIh.mjs → _types-CTmvSEX0.mjs} +36 -29
  78. package/dist/esm/chunks/colors-DR9fLI5X.mjs +30 -0
  79. package/dist/esm/chunks/{misc-Osk7tIah.mjs → misc-cg9I7drO.mjs} +1 -1
  80. package/dist/esm/chunks/sseStore-m3IPyLwJ.mjs +56 -0
  81. package/dist/esm/components/Avatar/index.mjs +2 -2
  82. package/dist/esm/components/AvatarGroup/index.mjs +3 -3
  83. package/dist/esm/components/Button/index.mjs +4 -4
  84. package/dist/esm/components/ButtonBar/index.mjs +4 -4
  85. package/dist/esm/components/Camera/index.mjs +5 -5
  86. package/dist/esm/components/Card/index.mjs +3 -3
  87. package/dist/esm/components/CheckBox/index.mjs +3 -3
  88. package/dist/esm/components/Chip/index.mjs +3 -3
  89. package/dist/esm/components/DivInput/index.mjs +2 -2
  90. package/dist/esm/components/DraggablePanel/index.mjs +2 -2
  91. package/dist/esm/components/DropDown/index.mjs +3 -3
  92. package/dist/esm/components/FileIcon/index.mjs +2 -2
  93. package/dist/esm/components/FileList/index.mjs +5 -5
  94. package/dist/esm/components/Grouper/index.mjs +3 -3
  95. package/dist/esm/components/Icon/index.mjs +2 -2
  96. package/dist/esm/components/IconButton/index.mjs +3 -3
  97. package/dist/esm/components/Label/index.mjs +2 -2
  98. package/dist/esm/components/Pager/index.mjs +2 -2
  99. package/dist/esm/components/Progress/index.mjs +4 -4
  100. package/dist/esm/components/PromptInput/index.mjs +7 -7
  101. package/dist/esm/components/RadioButton/index.mjs +3 -3
  102. package/dist/esm/components/RadioButtonList/index.mjs +4 -4
  103. package/dist/esm/components/Slider/index.mjs +2 -2
  104. package/dist/esm/components/TabBar/index.mjs +4 -4
  105. package/dist/esm/components/TextArea/index.mjs +5 -5
  106. package/dist/esm/components/Textfield/index.mjs +6 -6
  107. package/dist/esm/components/Tip/index.mjs +2 -2
  108. package/dist/esm/components/Toast/index.mjs +3 -3
  109. package/dist/esm/components/UploadArea/index.mjs +8 -8
  110. package/dist/esm/hooks/useTrackRenders.mjs +1 -1
  111. package/dist/esm/index.mjs +31 -31
  112. package/dist/esm/stores/SSE.mjs +7 -0
  113. package/dist/esm/stores.mjs +4 -0
  114. package/dist/esm/utils/index.mjs +4 -30
  115. package/dist/esm/utils/objects/index.mjs +140 -0
  116. package/dist/types/components/Camera/_types.d.ts +1 -0
  117. package/dist/types/components/Icon/_types.d.ts +1 -0
  118. package/dist/types/stores/SSE/_types.d.ts +17 -0
  119. package/dist/types/stores/SSE/index.d.ts +2 -0
  120. package/dist/types/stores/SSE/sseStore.d.ts +28 -0
  121. package/dist/types/stores/index.d.ts +1 -0
  122. package/dist/types/utils/index.d.ts +2 -0
  123. package/dist/types/utils/objects/SSEConnection/SSEConnection.d.ts +166 -0
  124. package/dist/types/utils/objects/WSConnection/WSConnection.d.ts +0 -0
  125. package/dist/types/utils/objects/index.d.ts +2 -0
  126. package/package.json +6 -1
package/README.md CHANGED
@@ -10,10 +10,11 @@ Slice is a TypeScript-first React UI kit with theme tokens, utility hooks, optio
10
10
 
11
11
  ## What is included
12
12
 
13
- - 30+ reusable UI components (inputs, buttons, navigation, overlays, feedback, layout, icons, upload UI)
13
+ - 30+ reusable UI components (inputs, buttons, navigation, overlays, feedback, layout, icons, upload UI, camera/stream UI)
14
14
  - Theme system with light/dark presets and typed theme tokens
15
15
  - React hooks for theme, window sizing, keyboard shortcuts, local storage, resize, and more
16
16
  - Optional Zustand-powered stores (`toast`, `tip`, `uploads`, `window`)
17
+ - Utility functions and low-level objects such as `SSEConnection`
17
18
  - Rollup + TypeScript build pipeline for CJS, ESM, and declaration output
18
19
  - Component performance benchmarks powered by Vitest
19
20
 
@@ -78,6 +79,7 @@ Subpath imports are also published:
78
79
  - `@apple-pie/slice/stores`
79
80
  - `@apple-pie/slice/stores/*`
80
81
  - `@apple-pie/slice/utils`
82
+ - `@apple-pie/slice/utils/objects`
81
83
  - `@apple-pie/slice/workers/*`
82
84
  - `@apple-pie/slice/theme`
83
85
  - `@apple-pie/slice/theme/colors`
@@ -86,27 +88,54 @@ Subpath imports are also published:
86
88
  - `@apple-pie/slice/theme/type`
87
89
  - `@apple-pie/slice/theme/themes`
88
90
 
89
- ## Utilities
90
-
91
- - Package utilities are published from `@apple-pie/slice/utils`
92
- - Internal utility source lives under `src/utils/functions/*`
93
- - Shared utility CSS modules live under `src/utils/styling/*`
94
-
95
- Example:
96
-
97
- ```ts
98
- import { addOpacity, copyToClipboard, tintFromColor } from '@apple-pie/slice/utils';
99
- ```
100
-
101
91
  ## Components
102
92
 
103
93
  - `Avatar`, `AvatarGroup`, `Badge`, `CheckBox`, `DivInput`, `Dot`, `DropDown`
94
+ - `Camera`
104
95
  - `ErrorSummary`, `FileIcon`, `FileList`, `FlexDiv`, `Grouper`, `Icon`, `IconButton`
105
96
  - `PromptInput`, `Overlay`, `Pager`, `ProgressIndicator`, `DoneCheck`
106
97
  - `RadioButton`, `RadioButtonList`, `Slider`, `Spacer`, `Switch`, `TabBar`
107
98
  - `TextField`, `TextArea`, `Tip`, `Toast`, `Button`, `ButtonBar`
108
99
  - `Card`, `Chip`, `Label`, `DocIcons`, `DraggablePanel`, `UploadArea`
109
100
 
101
+ Camera notes:
102
+
103
+ - `Camera` exposes both `CameraProps` and an imperative `CameraElement` ref handle
104
+ - Use the forwarded ref for low-level stream access (`stream`, `videoTrack`, `audioTrack`) and imperative controls such as `startCamera()`, `stopCamera()`, `toggleVideo()`, `toggleMic()`, and `snapshot()`
105
+ - Preferred devices can be supplied through `sessionSettings.videoDeviceId` and `sessionSettings.micDeviceId`
106
+
107
+ Example:
108
+
109
+ ```tsx
110
+ import { useRef } from 'react';
111
+ import { Camera } from '@apple-pie/slice';
112
+ import type { CameraElement } from '@apple-pie/slice';
113
+
114
+ export function CameraExample() {
115
+ const cameraRef = useRef<CameraElement | null>(null);
116
+
117
+ return (
118
+ <>
119
+ <Camera
120
+ ref={cameraRef}
121
+ width={400}
122
+ height={320}
123
+ sessionSettings={{
124
+ videoDeviceId: 'preferred-video-device-id',
125
+ micDeviceId: 'preferred-mic-device-id',
126
+ }}
127
+ />
128
+ <button onClick={() => cameraRef.current?.snapshot?.()}>
129
+ Take Snapshot
130
+ </button>
131
+ <button onClick={() => cameraRef.current?.toggleVideo?.()}>
132
+ Toggle Video
133
+ </button>
134
+ </>
135
+ );
136
+ }
137
+ ```
138
+
110
139
  ## Hooks
111
140
 
112
141
  - `useTheme`, `useObserveTheme`
@@ -122,6 +151,7 @@ import { addOpacity, copyToClipboard, tintFromColor } from '@apple-pie/slice/uti
122
151
 
123
152
  - `toast` store: `useToast`, `useToastActions`, `toastActions`, `getToast`
124
153
  - `tip` store: `useTip`, `useTipActions`, `tipActions`, `getTip`
154
+ - `SSE` store: `useSSEStore`, `useSSE`, `useMessage`, `useConnectionMessage`, `useConnectionClose`, `useIsConnected`
125
155
  - `window` store: `useWindowStore`, atomic viewport/runtime hooks, imperative viewport helpers
126
156
  - `uploads` store: `useUploadsStore`, `useUploads`, `useUploadsActions`, `createUploadsWorker`, `uploadsActions`
127
157
 
@@ -131,6 +161,34 @@ Example:
131
161
  import { useToast, useToastActions } from '@apple-pie/slice/stores/toast';
132
162
  ```
133
163
 
164
+ SSE store example:
165
+
166
+ ```tsx
167
+ import { useEffect } from 'react';
168
+ import {
169
+ useSSE,
170
+ useIsConnected,
171
+ useMessage,
172
+ } from '@apple-pie/slice/stores/SSE';
173
+
174
+ function StreamingExample() {
175
+ const { addConnection, removeConnection } = useSSE();
176
+ const connected = useIsConnected('assistant');
177
+ const text = useMessage<string>('message', 'assistant');
178
+
179
+ useEffect(() => {
180
+ addConnection('assistant', {
181
+ url: '/api/stream',
182
+ connectionClose: { message: 'eos' },
183
+ });
184
+
185
+ return () => removeConnection('assistant');
186
+ }, [addConnection, removeConnection]);
187
+
188
+ return <div>{connected ? text ?? 'streaming...' : 'disconnected'}</div>;
189
+ }
190
+ ```
191
+
134
192
  Uploads store example:
135
193
 
136
194
  ```ts
@@ -165,6 +223,40 @@ This worker URL pattern assumes modern frontend tooling such as Vite or similar
165
223
  - Elevation tokens: `elevations` / `Elevation`
166
224
  - Types: `SliceTheme`, `Colors`, `Type`, `Corners`, `Elevations`
167
225
 
226
+ ## Utilities
227
+
228
+ - Package utilities are published from `@apple-pie/slice/utils`
229
+ - Low-level utility objects such as `SSEConnection` are also published from `@apple-pie/slice/utils/objects`
230
+ - Internal utility source lives under `src/utils/functions/*`
231
+ - Shared utility CSS modules live under `src/utils/styling/*`
232
+
233
+ Example:
234
+
235
+ ```ts
236
+ import { addOpacity, copyToClipboard, tintFromColor } from '@apple-pie/slice/utils';
237
+ ```
238
+
239
+ SSE utility example:
240
+
241
+ ```ts
242
+ import { SSEConnection } from '@apple-pie/slice/utils/objects';
243
+
244
+ const connection = new SSEConnection({
245
+ url: '/api/events',
246
+ unifiedOnMessage: true,
247
+ connectionClose: { message: 'eos' },
248
+ onMessageCallback: (message) => {
249
+ if (message.type === 'message') {
250
+ console.log(message.data);
251
+ }
252
+
253
+ if (message.type === 'close') {
254
+ console.log('stream closed');
255
+ }
256
+ },
257
+ });
258
+ ```
259
+
168
260
  ## Development
169
261
 
170
262
  ```bash
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), Badge = require("./Badge-CY_DG6cD.js"), Dot = require("./Dot-_HCJ3qxd.js"), _types = require("./_types-Cxk9tRiB.js"), ProgressIndicator = require("./ProgressIndicator-B3-OxGYF.js"), sharedTypes = require("./sharedTypes-gCECyn2N.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css = {
3
+ var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), Badge = require("./Badge-CY_DG6cD.js"), Dot = require("./Dot-_HCJ3qxd.js"), _types = require("./_types-C_zOsCbB.js"), ProgressIndicator = require("./ProgressIndicator-qjya_Yb5.js"), sharedTypes = require("./sharedTypes-gCECyn2N.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css = {
4
4
  button: "Button-module_button__2ZuB7 flexBox-module_row__z24tF",
5
5
  label: "Button-module_label__UJ3Zt",
6
6
  count: "Button-module_count__DFxVB flexBox-module_row__z24tF",
@@ -4,7 +4,7 @@ var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/
4
4
 
5
5
  require("../theme/colors.js"), require("../hooks/useWindow.js");
6
6
 
7
- var IconButton = require("./IconButton-BiUfqoPb.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css_wrapper = "ButtonBar-module_wrapper__FYZ3s flexBox-module_rowStart__4tcxS", css_label = "ButtonBar-module_label__UcAS1 flexBox-module_rowStart__4tcxS type-module_body-s-regular__vRHSP", css_button = "ButtonBar-module_button__bMR3h flexBox-module_rowStart__4tcxS", css_selected = "ButtonBar-module_selected__wKvmi", css_divider = "ButtonBar-module_divider__HkWJw", css_last = "ButtonBar-module_last__S9VdD";
7
+ var IconButton = require("./IconButton-CBWmUZxR.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css_wrapper = "ButtonBar-module_wrapper__FYZ3s flexBox-module_rowStart__4tcxS", css_label = "ButtonBar-module_label__UcAS1 flexBox-module_rowStart__4tcxS type-module_body-s-regular__vRHSP", css_button = "ButtonBar-module_button__bMR3h flexBox-module_rowStart__4tcxS", css_selected = "ButtonBar-module_selected__wKvmi", css_divider = "ButtonBar-module_divider__HkWJw", css_last = "ButtonBar-module_last__S9VdD";
8
8
 
9
9
  styleInject_es.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.ButtonBar-module_wrapper__FYZ3s {\n}\n\n.ButtonBar-module_label__UcAS1 {\n\tcolor: var(--core-text-disabled);\n\tpadding-right: 4px;\n}\n\n.ButtonBar-module_button__bMR3h {\n\theight: 32px;\n\tgap: 0;\n\tcursor: pointer;\n\tbackground: var(--core-surface-primary);\n\tcolor: var(--core-text-disabled);\n\t&:last-child {\n\t\t&:hover {\n\t\t\tbackground: var(--core-surface-primary);\n\t\t}\n\t}\n\t&:first-child {\n\t\t&:hover {\n\t\t\tbackground: var(--core-surface-primary);\n\t\t}\n\t}\n\t&:hover {\n\t\tbackground: var(--core-surface-primary);\n\t\tcolor: var(--core-text-primary);\n\t}\n}\n\n.ButtonBar-module_selected__wKvmi {\n\tbackground: var(--core-surface-primary);\n\tcolor: var(--core-link-primary);\n}\n\n.ButtonBar-module_divider__HkWJw {\n\tdisplay: block;\n\tbackground: var(--core-outline-primary);\n\twidth: 1px;\n\theight: 16px;\n\tmargin: 0 4px;\n}\n\n.ButtonBar-module_last__S9VdD {\n\tdisplay: none;\n}\n"),
10
10
  exports.ButtonBar = function(props) {
@@ -4,9 +4,9 @@ var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/
4
4
 
5
5
  require("../theme/colors.js"), require("../hooks/useWindow.js");
6
6
 
7
- var misc = require("./misc-C-M6KKsH.js"), utils = require("../utils/index.js"), Avatar = require("./Avatar-YNcGDUzr.js"), _types = require("./_types-Cxk9tRiB.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css_wrapper = "Camera-module_wrapper__GOsKp flexBox-module_column__ezvMq", css_video = "Camera-module_video__Q2r9B", css_controls = "Camera-module_controls__qXYoL flexBox-module_rowBetween__5FEvi", css_controlsRight = "Camera-module_controlsRight__VcIz7 flexBox-module_rowEnd__rVdVm", css_controlsCenter = "Camera-module_controlsCenter__e-erq flexBox-module_row__z24tF", css_controlsLeft = "Camera-module_controlsLeft__bR4TN flexBox-module_rowStart__4tcxS", css_error = "Camera-module_error__t0w-d flexBox-module_row__z24tF type-module_body-m-regular__LuQBA", css_poster = "Camera-module_poster__Gun-v flexBox-module_row__z24tF type-module_body-m-regular__LuQBA", css_snapshotFrame = "Camera-module_snapshotFrame__YM6Eu flexBox-module_row__z24tF", css_clear = "Camera-module_clear__aaCfT", css_snapshot = "Camera-module_snapshot__odQH0", css_toolbarButton = "Camera-module_toolbarButton__mnmoF flexBox-module_columnStartCenter__PKcrG", css_buttonIcon = "Camera-module_buttonIcon__a-VBR flexBox-module_row__z24tF", css_buttonLabel = "Camera-module_buttonLabel__6BEs1 flexBox-module_row__z24tF type-module_body-xs-regular__ZAFft";
7
+ var misc = require("./misc-C-M6KKsH.js"), colors = require("./colors-uej0anrN.js"), Avatar = require("./Avatar-YNcGDUzr.js"), _types = require("./_types-C_zOsCbB.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css_wrapper = "Camera-module_wrapper__GOsKp flexBox-module_column__ezvMq", css_video = "Camera-module_video__Q2r9B", css_controls = "Camera-module_controls__qXYoL flexBox-module_rowBetween__5FEvi", css_controlsRight = "Camera-module_controlsRight__VcIz7 flexBox-module_rowEnd__rVdVm", css_controlsCenter = "Camera-module_controlsCenter__e-erq flexBox-module_row__z24tF", css_controlsLeft = "Camera-module_controlsLeft__bR4TN flexBox-module_rowStart__4tcxS", css_error = "Camera-module_error__t0w-d flexBox-module_row__z24tF type-module_body-m-regular__LuQBA", css_poster = "Camera-module_poster__Gun-v flexBox-module_row__z24tF type-module_body-m-regular__LuQBA", css_snapshotFrame = "Camera-module_snapshotFrame__YM6Eu flexBox-module_row__z24tF", css_clear = "Camera-module_clear__aaCfT", css_snapshot = "Camera-module_snapshot__odQH0", css_toolbarButton = "Camera-module_toolbarButton__mnmoF flexBox-module_columnStartCenter__PKcrG", css_buttonIcon = "Camera-module_buttonIcon__a-VBR flexBox-module_row__z24tF", css_buttonLabel = "Camera-module_buttonLabel__6BEs1 flexBox-module_row__z24tF type-module_body-xs-regular__ZAFft";
8
8
 
9
- styleInject_es.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.Camera-module_wrapper__GOsKp {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: var(--core-surface-secondary);\n\toverflow: hidden;\n\tborder-radius: 4px;\n}\n\n.Camera-module_video__Q2r9B {\n\twidth: 100%;\n\theight: 100%;\n\tobject-fit: cover;\n}\n\n.Camera-module_controls__qXYoL {\n\tposition: absolute;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tpadding: 16px !important;\n\tgap: 16px;\n\tbackground-color: var(--camera-controls-bg);\n\ttransform: var(--camera-controls-transform);\n\ttransition: transform var(--motion-water-duration) var(--motion-water) 0s;\n}\n\n.Camera-module_controlsRight__VcIz7 {\n\tgap: 12px;\n\tflex: 1;\n}\n\n.Camera-module_controlsCenter__e-erq {\n\tgap: 12px;\n\tflex: 1;\n}\n\n.Camera-module_controlsLeft__bR4TN {\n\tgap: 12px;\n\tflex: 1;\n}\n\n.Camera-module_error__t0w-d {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n\tcolor: var(--feedback-warning);\n}\n\n.Camera-module_poster__Gun-v {\n\tposition: absolute;\n\taspect-ratio: 1 / 1;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\tcolor: var(--core-text-primary);\n}\n\n.Camera-module_snapshotFrame__YM6Eu {\n\tposition: absolute;\n\tmax-width: 25%;\n\theight: min-content;\n\ttop: 16px;\n\tright: 16px;\n\tz-index: 1;\n}\n\n.Camera-module_clear__aaCfT {\n\tposition: absolute;\n\ttop: 16px;\n\tright: 16px;\n\tz-index: 3;\n}\n\n.Camera-module_snapshot__odQH0 {\n\twidth: 100%;\n\tborder: 1px solid var(--core-outline-special);\n\tz-index: 2;\n}\n\n.Camera-module_toolbarButton__mnmoF {\n\tgap: 4px;\n\tcursor: pointer;\n}\n\n.Camera-module_buttonIcon__a-VBR {\n\tmin-height: var(--toolbar-button-size);\n\tmax-height: var(--toolbar-button-size);\n\tmin-width: var(--toolbar-button-size);\n\tmax-width: var(--toolbar-button-size);\n\tbackground: var(--toolbar-button-bg-color);\n\tborder: 1px solid transparent;\n\tborder-radius: 100%;\n\topacity: var(--toolbar-button-opacity);\n\ttransition: background, border var(--motion-water-duration)\n\t\tvar(--motion-water) 0s;\n}\n\n.Camera-module_buttonIcon__a-VBR:hover {\n\tborder: 1px solid var(--core-outline-special);\n}\n\n.Camera-module_buttonLabel__6BEs1 {\n\tcolor: var(--toolbar-button-label-color);\n}\n");
9
+ styleInject_es.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.Camera-module_wrapper__GOsKp {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: var(--core-surface-secondary);\n\toverflow: hidden;\n\tborder-radius: 4px;\n}\n\n.Camera-module_video__Q2r9B {\n\twidth: 100%;\n\theight: 100%;\n\tobject-fit: cover;\n}\n\n.Camera-module_controls__qXYoL {\n\tposition: absolute;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tpadding: 16px !important;\n\tgap: 16px;\n\tbackground-color: var(--camera-controls-bg);\n\ttransform: var(--camera-controls-transform);\n\ttransition: transform var(--motion-water-duration) var(--motion-water) 0s;\n}\n\n.Camera-module_controlsRight__VcIz7 {\n\tgap: 12px;\n\tflex: 1;\n}\n\n.Camera-module_controlsCenter__e-erq {\n\tgap: 12px;\n\tflex: 1;\n}\n\n.Camera-module_controlsLeft__bR4TN {\n\tgap: 12px;\n\tflex: 1;\n}\n\n.Camera-module_error__t0w-d {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n\tcolor: var(--feedback-warning);\n}\n\n.Camera-module_poster__Gun-v {\n\tposition: absolute;\n\taspect-ratio: 1 / 1;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\tcolor: var(--core-text-primary);\n}\n\n.Camera-module_snapshotFrame__YM6Eu {\n\tposition: absolute;\n\tmax-width: 25%;\n\theight: min-content;\n\ttop: 16px;\n\tright: 16px;\n\tz-index: 1;\n}\n\n.Camera-module_clear__aaCfT {\n\tposition: absolute;\n\ttop: 16px;\n\tright: 16px;\n\tz-index: 3;\n}\n\n.Camera-module_snapshot__odQH0 {\n\twidth: 100%;\n\tborder: 1px solid var(--core-outline-special);\n\tz-index: 2;\n}\n\n.Camera-module_toolbarButton__mnmoF {\n\tgap: 4px;\n\tcursor: pointer;\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n.Camera-module_buttonIcon__a-VBR {\n\tmin-height: var(--toolbar-button-size);\n\tmax-height: var(--toolbar-button-size);\n\tmin-width: var(--toolbar-button-size);\n\tmax-width: var(--toolbar-button-size);\n\tbackground: var(--toolbar-button-bg-color);\n\tborder: 1px solid transparent;\n\tborder-radius: 100%;\n\topacity: var(--toolbar-button-opacity);\n\ttransition: background, border var(--motion-water-duration)\n\t\tvar(--motion-water) 0s;\n}\n\n.Camera-module_buttonIcon__a-VBR:hover {\n\tborder: 1px solid var(--core-outline-special);\n}\n\n.Camera-module_buttonLabel__6BEs1 {\n\tcolor: var(--toolbar-button-label-color);\n}\n");
10
10
 
11
11
  const Camera = React.memo(React.forwardRef((props, ref) => {
12
12
  const videoElement = React.useRef(null), containerElement = React.useRef(null), controlsTimer = React.useRef(null), {noVideoPoster: noVideoPoster, width: width, height: height, showControlBar: showControlBar = !0, autoHideControlBar: autoHideControlBar = !0, startCameraOff: startCameraOff = !1, startAudioMuted: startAudioMuted = !1, pipSnapshot: pipSnapshot = !0, userProfile: userProfile, sessionSettings: sessionSettings, onChangeProfile: onChangeProfile, onChangeSettings: onChangeSettings, onSnapshot: onSnapshot, onVideoStream: onVideoStream, onNoVideo: onNoVideo, onNoAudio: onNoAudio} = props, theme = hooks_useTheme.useTheme(), [cameraSupport, setCameraSupport] = React.useState(void 0), [cameraError, setCameraError] = React.useState(void 0), [hovered, setHovered] = React.useState(!1), [cameraOn, setCameraOn] = React.useState(!1), [micMuted, setMicMuted] = React.useState(startAudioMuted), [snapshot, setSnapshot] = React.useState(void 0), [settings, setSettings] = React.useState(!1), [profile, setProfile] = React.useState(!1), [deviceList, setDeviceList] = React.useState([]), constraints = React.useMemo(() => {
@@ -26,7 +26,10 @@ const Camera = React.memo(React.forwardRef((props, ref) => {
26
26
  }, [ null == sessionSettings ? void 0 : sessionSettings.micDeviceId, null == sessionSettings ? void 0 : sessionSettings.videoDeviceId ]), getStream = React.useCallback(() => {
27
27
  var _a;
28
28
  const srcObject = null === (_a = videoElement.current) || void 0 === _a ? void 0 : _a.srcObject;
29
- return srcObject instanceof MediaStream ? srcObject : void 0;
29
+ if (!srcObject) return;
30
+ if ("undefined" != typeof MediaStream && srcObject instanceof MediaStream) return srcObject;
31
+ const possibleStream = srcObject;
32
+ return "function" == typeof possibleStream.getTracks && "function" == typeof possibleStream.getVideoTracks && "function" == typeof possibleStream.getAudioTracks ? possibleStream : void 0;
30
33
  }, []), getTrack = React.useCallback(type => {
31
34
  var _a, _b;
32
35
  const stream = getStream();
@@ -57,7 +60,7 @@ const Camera = React.memo(React.forwardRef((props, ref) => {
57
60
  const url = canvas.toDataURL("image/png"), [header, data] = url.split(",");
58
61
  if (!header || !data) return;
59
62
  const mimeType = null !== (_d = null === (_c = new RegExp(/data:(.*?);base64/).exec(header)) || void 0 === _c ? void 0 : _c[1]) && void 0 !== _d ? _d : "image/png", binary = atob(data), bytes = new Uint8Array(binary.length);
60
- for (let index = 0; index < binary.length; index += 1) bytes[index] = binary.charCodeAt(index);
63
+ for (let index = 0; index < binary.length; index += 1) bytes[index] = binary.codePointAt(index);
61
64
  return new Blob([ bytes ], {
62
65
  type: mimeType
63
66
  });
@@ -84,46 +87,53 @@ const Camera = React.memo(React.forwardRef((props, ref) => {
84
87
  const videoTrack = getTrack("video");
85
88
  return videoTrack ? "live" !== videoTrack.readyState ? new Error("Video track is no longer live") : (videoTrack.enabled = !0,
86
89
  setCameraOn(!0), stream) : new Error("No video track found");
87
- }, [ getStream, getTrack ]), startCamera = React.useCallback(() => tslib_es6.__awaiter(void 0, void 0, void 0, function*() {
88
- if (!videoElement.current) return new Error("Video element not found");
89
- if (!hasMediaSupport) return setCameraSupport(!1), setCameraError("Camera not supported"),
90
- new Error("Camera not supported");
90
+ }, [ getStream, getTrack ]), markCameraReady = React.useCallback(() => {
91
+ setCameraSupport(!0), setCameraError(void 0), syncMediaState();
92
+ }, [ syncMediaState ]), reuseExistingStream = React.useCallback(() => {
91
93
  const existingStream = getStream(), existingVideoTrack = null == existingStream ? void 0 : existingStream.getVideoTracks()[0];
92
94
  if ("live" === (null == existingVideoTrack ? void 0 : existingVideoTrack.readyState) && !existingVideoTrack.enabled) {
93
95
  const enabledStream = enableVideo();
94
96
  return enabledStream instanceof Error || (null == onVideoStream || onVideoStream(enabledStream),
95
- setCameraSupport(!0), setCameraError(void 0), syncMediaState()), enabledStream;
97
+ markCameraReady()), enabledStream;
96
98
  }
97
- if ((null == existingStream ? void 0 : existingStream.active) && "live" === (null == existingVideoTrack ? void 0 : existingVideoTrack.readyState)) return setCameraSupport(!0),
98
- setCameraError(void 0), syncMediaState(), existingStream;
99
+ if ((null == existingStream ? void 0 : existingStream.active) && "live" === (null == existingVideoTrack ? void 0 : existingVideoTrack.readyState)) return markCameraReady(),
100
+ existingStream;
101
+ }, [ enableVideo, getStream, markCameraReady, onVideoStream ]), requestMediaStream = React.useCallback(() => tslib_es6.__awaiter(void 0, void 0, void 0, function*() {
99
102
  try {
100
- let stream;
101
- try {
102
- stream = yield navigator.mediaDevices.getUserMedia(constraints);
103
- } catch (error) {
104
- if (!(error instanceof DOMException && "OverconstrainedError" === error.name || error instanceof DOMException && "NotFoundError" === error.name)) throw error;
105
- stream = yield navigator.mediaDevices.getUserMedia({
106
- video: !0,
107
- audio: !0
108
- });
109
- }
110
- const audioTrack = stream.getAudioTracks()[0], videoTrack = stream.getVideoTracks()[0], devices = yield getMediaDevices();
111
- if (!videoTrack) {
112
- null == onNoVideo || onNoVideo("No video track available");
113
- for (const track of stream.getTracks()) track.stop();
114
- return new Error("No video track available");
115
- }
116
- return audioTrack || null == onNoAudio || onNoAudio("No audio track available"),
117
- audioTrack && (audioTrack.enabled = !startAudioMuted), videoElement.current.srcObject = stream,
118
- yield videoElement.current.play(), null == onVideoStream || onVideoStream(stream),
119
- setCameraSupport(!0), setCameraError(void 0), setDeviceList(devices), syncMediaState(),
120
- stream;
103
+ return yield navigator.mediaDevices.getUserMedia(constraints);
104
+ } catch (error) {
105
+ if (!(error instanceof DOMException && "OverconstrainedError" === error.name || error instanceof DOMException && "NotFoundError" === error.name)) throw error;
106
+ return yield navigator.mediaDevices.getUserMedia({
107
+ video: !0,
108
+ audio: !0
109
+ });
110
+ }
111
+ }), [ constraints ]), attachStreamToVideo = React.useCallback(stream => tslib_es6.__awaiter(void 0, void 0, void 0, function*() {
112
+ const audioTrack = stream.getAudioTracks()[0], videoTrack = stream.getVideoTracks()[0], devices = yield getMediaDevices();
113
+ if (!videoTrack) {
114
+ null == onNoVideo || onNoVideo("No video track available");
115
+ for (const track of stream.getTracks()) track.stop();
116
+ return new Error("No video track available");
117
+ }
118
+ return audioTrack || null == onNoAudio || onNoAudio("No audio track available"),
119
+ audioTrack && (audioTrack.enabled = !startAudioMuted), videoElement.current ? (videoElement.current.srcObject = stream,
120
+ yield videoElement.current.play(), null == onVideoStream || onVideoStream(stream),
121
+ setDeviceList(devices), markCameraReady(), stream) : new Error("Video element not found");
122
+ }), [ getMediaDevices, markCameraReady, onNoAudio, onNoVideo, onVideoStream, startAudioMuted ]), startCamera = React.useCallback(() => tslib_es6.__awaiter(void 0, void 0, void 0, function*() {
123
+ if (!videoElement.current) return new Error("Video element not found");
124
+ if (!hasMediaSupport) return setCameraSupport(!1), setCameraError("Camera not supported"),
125
+ new Error("Camera not supported");
126
+ const existingStream = reuseExistingStream();
127
+ if (existingStream) return existingStream;
128
+ try {
129
+ const stream = yield requestMediaStream();
130
+ return yield attachStreamToVideo(stream);
121
131
  } catch (error) {
122
132
  const defaultError = new Error("Could not access the camera. Ensure permissions are correct"), resolvedError = error instanceof Error ? error : defaultError;
123
133
  return null == onNoVideo || onNoVideo(resolvedError), null == onNoAudio || onNoAudio(resolvedError),
124
134
  setCameraSupport(!0), setCameraError(resolvedError.message), setCameraOn(!1), resolvedError;
125
135
  }
126
- }), [ constraints, enableVideo, hasMediaSupport, onNoAudio, onNoVideo, onVideoStream, startAudioMuted, getStream, syncMediaState, getMediaDevices ]), toggleVideo = React.useCallback(() => tslib_es6.__awaiter(void 0, void 0, void 0, function*() {
136
+ }), [ attachStreamToVideo, hasMediaSupport, onNoAudio, onNoVideo, requestMediaStream, reuseExistingStream ]), toggleVideo = React.useCallback(() => tslib_es6.__awaiter(void 0, void 0, void 0, function*() {
127
137
  const stream = getStream();
128
138
  if (!stream) return yield startCamera();
129
139
  const videoTrack = stream.getVideoTracks()[0];
@@ -172,15 +182,13 @@ const Camera = React.memo(React.forwardRef((props, ref) => {
172
182
  }), [ disableVideo, enableVideo, getMediaDevices, getStream, getTrack, handleSnapshot, muteMic, startCamera, stopCamera, toggleMic, toggleVideo, unmuteMic ]);
173
183
  const showPoster = React.useMemo(() => !cameraError && (!1 === cameraSupport || !cameraOn), [ cameraError, cameraSupport, cameraOn ]), showError = React.useMemo(() => Boolean(cameraError), [ cameraError ]), controlsBg = React.useMemo(() => {
174
184
  const bgColor = theme.current.colors["core-surface-primary"];
175
- return utils.addOpacity(bgColor, .75);
185
+ return colors.addOpacity(bgColor, .75);
176
186
  }, [ theme.current ]), setControlBarVisible = React.useMemo(() => autoHideControlBar ? showControlBar && hovered ? "translateY(0%)" : "translateY(100%)" : "translateY(0%)", [ autoHideControlBar, hovered, showControlBar ]), cssVars = React.useMemo(() => ({
177
187
  "--camera-width": width,
178
188
  "--camera-height": height,
179
189
  "--camera-controls-bg": controlsBg,
180
190
  "--camera-controls-transform": setControlBarVisible
181
- }), [ controlsBg, height, setControlBarVisible, width ]), handleMouseEnter = () => {
182
- controlsTimer.current && clearTimeout(controlsTimer.current), setHovered(!0), controlsTimer.current = setTimeout(() => setHovered(!1), 3e3);
183
- };
191
+ }), [ controlsBg, height, setControlBarVisible, width ]);
184
192
  return React.useEffect(() => {
185
193
  startCameraOff ? stopCamera().then(() => null) : startCamera().then(() => null);
186
194
  }, [ startCamera, startCameraOff, stopCamera ]), React.useEffect(() => () => {
@@ -193,11 +201,16 @@ const Camera = React.memo(React.forwardRef((props, ref) => {
193
201
  ref: containerElement,
194
202
  className: css_wrapper,
195
203
  style: cssVars,
196
- onMouseEnter: handleMouseEnter,
204
+ onMouseEnter: () => {
205
+ controlsTimer.current && clearTimeout(controlsTimer.current), setHovered(!0), controlsTimer.current = setTimeout(() => setHovered(!1), 3e3);
206
+ },
197
207
  onMouseLeave: () => {
198
208
  controlsTimer.current && clearTimeout(controlsTimer.current), setHovered(!1);
199
209
  },
200
- onMouseMove: handleMouseEnter,
210
+ onMouseMove: e => {
211
+ hovered || (setHovered(!0), controlsTimer.current && clearTimeout(controlsTimer.current),
212
+ controlsTimer.current = setTimeout(() => setHovered(!1), 3e3));
213
+ },
201
214
  children: [ pipSnapshot && snapshot && jsxRuntime.jsxs("div", {
202
215
  className: css_snapshotFrame,
203
216
  children: [ jsxRuntime.jsx("div", {
@@ -235,11 +248,13 @@ const Camera = React.memo(React.forwardRef((props, ref) => {
235
248
  children: cameraError
236
249
  }), jsxRuntime.jsxs("div", {
237
250
  className: css_controls,
238
- onMouseEnter: () => {
239
- controlsTimer.current && clearTimeout(controlsTimer.current), setHovered(!0);
251
+ onMouseEnter: e => {
252
+ e.stopPropagation(), controlsTimer.current && clearTimeout(controlsTimer.current),
253
+ setHovered(!0);
240
254
  },
241
- onMouseLeave: () => {
242
- controlsTimer.current && clearTimeout(controlsTimer.current), controlsTimer.current = setTimeout(() => setHovered(!1), 3e3);
255
+ onMouseLeave: e => {
256
+ e.stopPropagation(), controlsTimer.current && clearTimeout(controlsTimer.current),
257
+ controlsTimer.current = setTimeout(() => setHovered(!1), 3e3);
243
258
  },
244
259
  children: [ jsxRuntime.jsx("div", {
245
260
  className: css_controlsLeft,
@@ -257,7 +272,7 @@ const Camera = React.memo(React.forwardRef((props, ref) => {
257
272
  className: css_controlsCenter,
258
273
  children: [ jsxRuntime.jsx(ToolbarButton, {
259
274
  icon: "video",
260
- iconActive: "video",
275
+ iconActive: "video off",
261
276
  active: !cameraOn,
262
277
  label: cameraOn ? "Video" : "Off",
263
278
  onClick: () => {
@@ -299,7 +314,7 @@ const Camera = React.memo(React.forwardRef((props, ref) => {
299
314
  /**
300
315
  * Custom toolbar button with labels for controlling video / audio / etc.
301
316
  */ function ToolbarButton(props) {
302
- const {icon: icon, iconActive: iconActive, active: active, label: label, disabled: disabled, onClick: onClick} = props, iconColor = React.useMemo(() => active ? "var(--core-surface-primary)" : "var(--core-text-special)", [ active ]), labelColor = React.useMemo(() => active ? "var(--core-text-primary)" : disabled ? "var(--core-text-disabled)" : "var(--core-text-special)", [ active, disabled ]), cssVars = React.useMemo(() => ({
317
+ const {icon: icon, iconActive: iconActive, active: active, label: label, disabled: disabled, onClick: onClick, onMouseOver: onMouseOver} = props, iconColor = React.useMemo(() => active ? "var(--core-surface-primary)" : "var(--core-text-special)", [ active ]), labelColor = React.useMemo(() => active ? "var(--core-text-primary)" : disabled ? "var(--core-text-disabled)" : "var(--core-text-special)", [ active, disabled ]), cssVars = React.useMemo(() => ({
303
318
  "--toolbar-button-size": "56px",
304
319
  "--toolbar-button-border": "none",
305
320
  "--toolbar-button-bg-color": active ? "var(--core-text-primary)" : "var(--core-surface-primary)",
@@ -312,6 +327,8 @@ const Camera = React.memo(React.forwardRef((props, ref) => {
312
327
  role: "button",
313
328
  "aria-label": label,
314
329
  "aria-disabled": disabled,
330
+ onFocus: onMouseOver,
331
+ onMouseOver: onMouseOver,
315
332
  onKeyDown: e => {
316
333
  disabled || misc.accessibleKeyDown(e, () => onClick());
317
334
  },
@@ -320,7 +337,7 @@ const Camera = React.memo(React.forwardRef((props, ref) => {
320
337
  children: [ jsxRuntime.jsx("div", {
321
338
  className: css_buttonIcon,
322
339
  children: jsxRuntime.jsx(_types.Icon, {
323
- size: 24,
340
+ size: 26,
324
341
  name: active ? iconActive : icon,
325
342
  strokeColor: iconColor
326
343
  })
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), _types = require("./_types-Cxk9tRiB.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css_card = "Card-module_card__Cb1o4 flexBox-module_rowStart__4tcxS type-module_body-m-regular__LuQBA", css_icon = "Card-module_icon__jzes9 flexBox-module_row__z24tF", css_label = "Card-module_label__K9JXx";
3
+ var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), _types = require("./_types-C_zOsCbB.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css_card = "Card-module_card__Cb1o4 flexBox-module_rowStart__4tcxS type-module_body-m-regular__LuQBA", css_icon = "Card-module_icon__jzes9 flexBox-module_row__z24tF", css_label = "Card-module_label__K9JXx";
4
4
 
5
5
  styleInject_es.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.Card-module_card__Cb1o4 {\n\tpadding: 8px 14px 8px 8px !important;\n\tcolor: var(--core-text-primary);\n\twidth: var(--card-width);\n\tmax-width: min-content;\n\tflex: var(--card-flex);\n\tgap: 8px;\n\tborder-radius: 8px;\n\tborder: 1px solid var(--core-outline-primary);\n\tcursor: pointer;\n\ttransition: all var(--motion-water-duration) var(--motion-water) 0s;\n\t&:hover {\n\t\tcolor: var(--core-button-primary);\n\t\tborder: 1px solid var(--core-button-primary);\n\t}\n}\n\n.Card-module_icon__jzes9 {\n\tmin-width: 20px;\n\tmin-height: 20px;\n\tmax-width: 20px;\n\tmax-height: 20px;\n}\n\n.Card-module_label__K9JXx {\n\tflex: 1;\n\tword-break: break-all;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\toverflow-wrap: anywhere;\n\tdisplay: -webkit-box;\n\twhite-space: nowrap;\n\t-webkit-line-clamp: 1;\n\t-webkit-box-orient: vertical;\n}\n");
6
6
 
@@ -4,7 +4,7 @@ var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/
4
4
 
5
5
  require("../theme/colors.js"), require("../hooks/useWindow.js");
6
6
 
7
- var _types = require("./_types-Cxk9tRiB.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css_wrapper = "CheckBox-module_wrapper__uRsjI flexBox-module_row__z24tF", css_icon = "CheckBox-module_icon__FoDJN flexBox-module_row__z24tF", css_label = "CheckBox-module_label__0AiBp type-module_body-m-regular__LuQBA";
7
+ var _types = require("./_types-C_zOsCbB.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css_wrapper = "CheckBox-module_wrapper__uRsjI flexBox-module_row__z24tF", css_icon = "CheckBox-module_icon__FoDJN flexBox-module_row__z24tF", css_label = "CheckBox-module_label__0AiBp type-module_body-m-regular__LuQBA";
8
8
 
9
9
  styleInject_es.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.CheckBox-module_wrapper__uRsjI {\n\tmin-height: var(--cb-size);\n\theight: var(--cb-size);\n\twidth: auto;\n\tgap: 6px;\n\tcursor: pointer;\n\toverflow: hidden;\n\tuser-select: none;\n\t-webkit-user-select: none;\n\toutline: none;\n\tborder: 0;\n}\n\n.CheckBox-module_icon__FoDJN {\n\tmin-width: var(--cb-size);\n\tmax-width: var(--cb-size);\n\tmin-height: var(--cb-size);\n\tmax-height: var(--cb-size);\n}\n\n.CheckBox-module_label__0AiBp {\n\tcolor: var(--cb-label-color);\n}\n");
10
10
 
@@ -4,7 +4,7 @@ var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/
4
4
 
5
5
  require("../theme/colors.js"), require("../hooks/useWindow.js");
6
6
 
7
- var _types = require("./_types-Cxk9tRiB.js"), sharedTypes = require("./sharedTypes-gCECyn2N.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css = {
7
+ var _types = require("./_types-C_zOsCbB.js"), sharedTypes = require("./sharedTypes-gCECyn2N.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css = {
8
8
  chip: "Chip-module_chip__0nys- flexBox-module_row__z24tF",
9
9
  icon: "Chip-module_icon__dtR-K flexBox-module_row__z24tF",
10
10
  s: "Chip-module_s__2KTXi type-module_body-s-regular__vRHSP",
@@ -4,7 +4,7 @@ var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/
4
4
 
5
5
  require("../theme/colors.js"), require("../hooks/useWindow.js");
6
6
 
7
- var _types = require("./_types-Cxk9tRiB.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css = {
7
+ var _types = require("./_types-C_zOsCbB.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css = {
8
8
  wrapper: "DropDown-module_wrapper__CyX0u flexBox-module_rowStart__4tcxS",
9
9
  face: "DropDown-module_face__6gyF3 flexBox-module_rowStart__4tcxS",
10
10
  small: "DropDown-module_small__5R9bM type-module_body-s-regular__vRHSP",
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-C-M6KKsH.js"), FileIcon = require("./FileIcon-hYwcre20.js"), _types = require("./_types-Cxk9tRiB.js"), ProgressIndicator = require("./ProgressIndicator-B3-OxGYF.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js");
3
+ var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-C-M6KKsH.js"), FileIcon = require("./FileIcon-hYwcre20.js"), _types = require("./_types-C_zOsCbB.js"), ProgressIndicator = require("./ProgressIndicator-qjya_Yb5.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js");
4
4
 
5
5
  var css = {
6
6
  wrapper: "FileList-module_wrapper__9-rrl flexBox-module_rowStart__4tcxS",
@@ -4,7 +4,7 @@ var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/
4
4
 
5
5
  require("../theme/colors.js"), require("../hooks/useWindow.js");
6
6
 
7
- var Badge = require("./Badge-CY_DG6cD.js"), _types = require("./_types-Cxk9tRiB.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css_header = "Grouper-module_header__D5fV0 flexBox-module_rowBetween__5FEvi", css_title = "Grouper-module_title__ZKqTP flexBox-module_rowBetween__5FEvi type-module_body-m-regular__LuQBA", css_content = "Grouper-module_content__Mof50 flexBox-module_rowBetween__5FEvi", css_icon = "Grouper-module_icon__14Jis flexBox-module_row__z24tF";
7
+ var Badge = require("./Badge-CY_DG6cD.js"), _types = require("./_types-C_zOsCbB.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css_header = "Grouper-module_header__D5fV0 flexBox-module_rowBetween__5FEvi", css_title = "Grouper-module_title__ZKqTP flexBox-module_rowBetween__5FEvi type-module_body-m-regular__LuQBA", css_content = "Grouper-module_content__Mof50 flexBox-module_rowBetween__5FEvi", css_icon = "Grouper-module_icon__14Jis flexBox-module_row__z24tF";
8
8
 
9
9
  styleInject_es.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.Grouper-module_header__D5fV0 {\n\twidth: 100%;\n\tcursor: pointer;\n}\n\n.Grouper-module_title__ZKqTP {\n\tcolor: var(--core-text-primary);\n\tflex: 1;\n}\n\n.Grouper-module_content__Mof50 {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\tpadding: 0 24px !important;\n\twidth: 100%;\n\tgap: 6px;\n\theight: var(--grouper-height);\n\tborder-top: var(--grouper-border) solid var(--core-outline-primary);\n}\n\n.Grouper-module_icon__14Jis {\n\tmin-height: var(--grouper-icon-size);\n\theight: var(--grouper-icon-size);\n\tmin-width: var(--grouper-icon-size);\n\twidth: var(--grouper-icon-size);\n}\n");
10
10
 
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), Badge = require("./Badge-CY_DG6cD.js"), Dot = require("./Dot-_HCJ3qxd.js"), _types = require("./_types-Cxk9tRiB.js"), sharedTypes = require("./sharedTypes-gCECyn2N.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css_button = "IconButton-module_button__rziqa flexBox-module_row__z24tF", css_label = "IconButton-module_label__qWGFD flexBox-module_row__z24tF type-module_body-l-regular__lOYbg", css_icon = "IconButton-module_icon__2DDWy flexBox-module_row__z24tF", css_count = "IconButton-module_count__6r373 flexBox-module_row__z24tF";
3
+ var tslib_es6 = require("./tslib.es6-C8dZW5nY.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), Badge = require("./Badge-CY_DG6cD.js"), Dot = require("./Dot-_HCJ3qxd.js"), _types = require("./_types-C_zOsCbB.js"), sharedTypes = require("./sharedTypes-gCECyn2N.js"), styleInject_es = require("./style-inject.es-CMuL-BfJ.js"), css_button = "IconButton-module_button__rziqa flexBox-module_row__z24tF", css_label = "IconButton-module_label__qWGFD flexBox-module_row__z24tF type-module_body-l-regular__lOYbg", css_icon = "IconButton-module_icon__2DDWy flexBox-module_row__z24tF", css_count = "IconButton-module_count__6r373 flexBox-module_row__z24tF";
4
4
 
5
5
  styleInject_es.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.IconButton-module_button__rziqa {\n\tposition: relative;\n\tbackground: var(--ib-bg);\n\tborder-radius: var(--ib-border-radius);\n\tborder: var(--ib-border) solid var(--core-outline-primary);\n\tgap: 6px;\n\tcursor: pointer;\n\t&:hover {\n\t\tbackground: var(--ib-bg-hover);\n\t}\n}\n\n.IconButton-module_label__qWGFD {\n\tcolor: var(--ib-color);\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tword-break: break-all;\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 1;\n\t-webkit-box-orient: vertical;\n}\n\n.IconButton-module_icon__2DDWy {\n\tmin-height: var(--ib-icon-size);\n\theight: var(--ib-icon-size);\n\tmin-width: var(--ib-icon-size);\n\twidth: var(--ib-icon-size);\n}\n\n.IconButton-module_count__6r373 {\n\tposition: absolute;\n\ttop: 0;\n\tright: 0;\n\ttransform: translateX(5px) translateY(-2px);\n}\n");
6
6