@liveblocks/react-ui 3.15.0-thread2 → 3.15.1-rc1

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 (157) hide show
  1. package/README.md +6 -16
  2. package/dist/_private/index.cjs +3 -5
  3. package/dist/_private/index.cjs.map +1 -1
  4. package/dist/_private/index.d.cts +6 -4
  5. package/dist/_private/index.d.ts +6 -4
  6. package/dist/_private/index.js +2 -2
  7. package/dist/components/AvatarStack.cjs +122 -0
  8. package/dist/components/AvatarStack.cjs.map +1 -0
  9. package/dist/components/AvatarStack.js +120 -0
  10. package/dist/components/AvatarStack.js.map +1 -0
  11. package/dist/components/Comment.cjs +10 -28
  12. package/dist/components/Comment.cjs.map +1 -1
  13. package/dist/components/Comment.js +12 -11
  14. package/dist/components/Comment.js.map +1 -1
  15. package/dist/components/CommentPin.cjs +38 -0
  16. package/dist/components/CommentPin.cjs.map +1 -0
  17. package/dist/components/CommentPin.js +36 -0
  18. package/dist/components/CommentPin.js.map +1 -0
  19. package/dist/components/Composer.cjs +2 -4
  20. package/dist/components/Composer.cjs.map +1 -1
  21. package/dist/components/Composer.js +3 -5
  22. package/dist/components/Composer.js.map +1 -1
  23. package/dist/components/Cursor.cjs +40 -0
  24. package/dist/components/Cursor.cjs.map +1 -0
  25. package/dist/components/Cursor.js +38 -0
  26. package/dist/components/Cursor.js.map +1 -0
  27. package/dist/components/Cursors.cjs +256 -0
  28. package/dist/components/Cursors.cjs.map +1 -0
  29. package/dist/components/Cursors.js +254 -0
  30. package/dist/components/Cursors.js.map +1 -0
  31. package/dist/components/FloatingComposer.cjs +97 -0
  32. package/dist/components/FloatingComposer.cjs.map +1 -0
  33. package/dist/components/FloatingComposer.js +95 -0
  34. package/dist/components/FloatingComposer.js.map +1 -0
  35. package/dist/components/FloatingThread.cjs +83 -0
  36. package/dist/components/FloatingThread.cjs.map +1 -0
  37. package/dist/components/FloatingThread.js +81 -0
  38. package/dist/components/FloatingThread.js.map +1 -0
  39. package/dist/components/InboxNotification.cjs +4 -6
  40. package/dist/components/InboxNotification.cjs.map +1 -1
  41. package/dist/components/InboxNotification.js +5 -7
  42. package/dist/components/InboxNotification.js.map +1 -1
  43. package/dist/components/Thread.cjs +19 -28
  44. package/dist/components/Thread.cjs.map +1 -1
  45. package/dist/components/Thread.js +19 -9
  46. package/dist/components/Thread.js.map +1 -1
  47. package/dist/components/internal/AiComposer.cjs +1 -2
  48. package/dist/components/internal/AiComposer.cjs.map +1 -1
  49. package/dist/components/internal/AiComposer.js +1 -2
  50. package/dist/components/internal/AiComposer.js.map +1 -1
  51. package/dist/components/internal/Avatar.cjs +10 -13
  52. package/dist/components/internal/Avatar.cjs.map +1 -1
  53. package/dist/components/internal/Avatar.js +11 -14
  54. package/dist/components/internal/Avatar.js.map +1 -1
  55. package/dist/components/internal/CodeBlock.cjs +1 -2
  56. package/dist/components/internal/CodeBlock.cjs.map +1 -1
  57. package/dist/components/internal/CodeBlock.js +1 -2
  58. package/dist/components/internal/CodeBlock.js.map +1 -1
  59. package/dist/components/internal/Dropdown.cjs +8 -28
  60. package/dist/components/internal/Dropdown.cjs.map +1 -1
  61. package/dist/components/internal/Dropdown.js +8 -7
  62. package/dist/components/internal/Dropdown.js.map +1 -1
  63. package/dist/components/internal/EmojiPicker.cjs +7 -27
  64. package/dist/components/internal/EmojiPicker.cjs.map +1 -1
  65. package/dist/components/internal/EmojiPicker.js +7 -6
  66. package/dist/components/internal/EmojiPicker.js.map +1 -1
  67. package/dist/components/internal/List.cjs +2 -2
  68. package/dist/components/internal/List.cjs.map +1 -1
  69. package/dist/components/internal/List.js +2 -2
  70. package/dist/components/internal/List.js.map +1 -1
  71. package/dist/components/internal/Tooltip.cjs +8 -28
  72. package/dist/components/internal/Tooltip.cjs.map +1 -1
  73. package/dist/components/internal/Tooltip.js +8 -7
  74. package/dist/components/internal/Tooltip.js.map +1 -1
  75. package/dist/icon.cjs +2 -0
  76. package/dist/icon.cjs.map +1 -1
  77. package/dist/icon.js +1 -0
  78. package/dist/icon.js.map +1 -1
  79. package/dist/icons/Plus.cjs +11 -0
  80. package/dist/icons/Plus.cjs.map +1 -0
  81. package/dist/icons/Plus.js +9 -0
  82. package/dist/icons/Plus.js.map +1 -0
  83. package/dist/icons/index.cjs +2 -0
  84. package/dist/icons/index.cjs.map +1 -1
  85. package/dist/icons/index.js +1 -0
  86. package/dist/icons/index.js.map +1 -1
  87. package/dist/index.cjs +12 -0
  88. package/dist/index.cjs.map +1 -1
  89. package/dist/index.d.cts +240 -137
  90. package/dist/index.d.ts +240 -137
  91. package/dist/index.js +6 -0
  92. package/dist/index.js.map +1 -1
  93. package/dist/primitives/AiComposer/index.cjs +5 -4
  94. package/dist/primitives/AiComposer/index.cjs.map +1 -1
  95. package/dist/primitives/AiComposer/index.js +5 -4
  96. package/dist/primitives/AiComposer/index.js.map +1 -1
  97. package/dist/primitives/AiMessage/index.cjs +2 -2
  98. package/dist/primitives/AiMessage/index.cjs.map +1 -1
  99. package/dist/primitives/AiMessage/index.js +2 -2
  100. package/dist/primitives/AiMessage/index.js.map +1 -1
  101. package/dist/primitives/Collapsible/index.cjs +4 -4
  102. package/dist/primitives/Collapsible/index.cjs.map +1 -1
  103. package/dist/primitives/Collapsible/index.js +4 -4
  104. package/dist/primitives/Collapsible/index.js.map +1 -1
  105. package/dist/primitives/Comment/index.cjs +4 -4
  106. package/dist/primitives/Comment/index.cjs.map +1 -1
  107. package/dist/primitives/Comment/index.js +4 -4
  108. package/dist/primitives/Comment/index.js.map +1 -1
  109. package/dist/primitives/Composer/index.cjs +23 -35
  110. package/dist/primitives/Composer/index.cjs.map +1 -1
  111. package/dist/primitives/Composer/index.js +23 -16
  112. package/dist/primitives/Composer/index.js.map +1 -1
  113. package/dist/primitives/Duration.cjs +2 -2
  114. package/dist/primitives/Duration.cjs.map +1 -1
  115. package/dist/primitives/Duration.js +2 -2
  116. package/dist/primitives/Duration.js.map +1 -1
  117. package/dist/primitives/FileSize.cjs +2 -2
  118. package/dist/primitives/FileSize.cjs.map +1 -1
  119. package/dist/primitives/FileSize.js +2 -2
  120. package/dist/primitives/FileSize.js.map +1 -1
  121. package/dist/primitives/Markdown.cjs +2 -2
  122. package/dist/primitives/Markdown.cjs.map +1 -1
  123. package/dist/primitives/Markdown.js +2 -2
  124. package/dist/primitives/Markdown.js.map +1 -1
  125. package/dist/primitives/Timestamp.cjs +2 -2
  126. package/dist/primitives/Timestamp.cjs.map +1 -1
  127. package/dist/primitives/Timestamp.js +2 -2
  128. package/dist/primitives/Timestamp.js.map +1 -1
  129. package/dist/utils/Portal.cjs +2 -2
  130. package/dist/utils/Portal.cjs.map +1 -1
  131. package/dist/utils/Portal.js +2 -2
  132. package/dist/utils/Portal.js.map +1 -1
  133. package/dist/utils/animation-loop.cjs +44 -0
  134. package/dist/utils/animation-loop.cjs.map +1 -0
  135. package/dist/utils/animation-loop.js +42 -0
  136. package/dist/utils/animation-loop.js.map +1 -0
  137. package/dist/utils/px.cjs +14 -0
  138. package/dist/utils/px.cjs.map +1 -0
  139. package/dist/utils/px.js +12 -0
  140. package/dist/utils/px.js.map +1 -0
  141. package/dist/utils/use-pre-resolve-user.cjs +18 -0
  142. package/dist/utils/use-pre-resolve-user.cjs.map +1 -0
  143. package/dist/utils/use-pre-resolve-user.js +16 -0
  144. package/dist/utils/use-pre-resolve-user.js.map +1 -0
  145. package/dist/version.cjs +1 -1
  146. package/dist/version.cjs.map +1 -1
  147. package/dist/version.js +1 -1
  148. package/dist/version.js.map +1 -1
  149. package/package.json +7 -10
  150. package/src/styles/dark/index.css +1 -1
  151. package/src/styles/index.css +259 -4
  152. package/styles/dark/attributes.css +1 -1
  153. package/styles/dark/attributes.css.map +1 -1
  154. package/styles/dark/media-query.css +1 -1
  155. package/styles/dark/media-query.css.map +1 -1
  156. package/styles.css +1 -1
  157. package/styles.css.map +1 -1
@@ -0,0 +1,12 @@
1
+ function px(value) {
2
+ if (value === void 0) {
3
+ return void 0;
4
+ }
5
+ if (typeof value === "number") {
6
+ return `${value}px`;
7
+ }
8
+ return value;
9
+ }
10
+
11
+ export { px };
12
+ //# sourceMappingURL=px.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"px.js","sources":["../../src/utils/px.ts"],"sourcesContent":["export function px(value: number | string | undefined): string | undefined {\n if (value === undefined) {\n return undefined;\n }\n\n if (typeof value === \"number\") {\n return `${value}px`;\n }\n\n return value;\n}\n"],"names":[],"mappings":"AAAO,SAAS,GAAG,KAAwD,EAAA;AACzE,EAAA,IAAI,UAAU,KAAW,CAAA,EAAA;AACvB,IAAO,OAAA,KAAA,CAAA,CAAA;AAAA,GACT;AAEA,EAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC7B,IAAA,OAAO,GAAG,KAAK,CAAA,EAAA,CAAA,CAAA;AAAA,GACjB;AAEA,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ var core = require('@liveblocks/core');
4
+ var react = require('@liveblocks/react');
5
+ var react$1 = require('react');
6
+
7
+ function usePreResolveUser() {
8
+ const client = react.useClient();
9
+ return react$1.useCallback(
10
+ (userId) => {
11
+ void client[core.kInternal].usersStore.enqueue(userId);
12
+ },
13
+ [client]
14
+ );
15
+ }
16
+
17
+ exports.usePreResolveUser = usePreResolveUser;
18
+ //# sourceMappingURL=use-pre-resolve-user.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-pre-resolve-user.cjs","sources":["../../src/utils/use-pre-resolve-user.ts"],"sourcesContent":["import { kInternal } from \"@liveblocks/core\";\nimport { useClient } from \"@liveblocks/react\";\nimport { useCallback } from \"react\";\n\n/**\n * Returns a function that resolves a user ID ahead of time to\n * make subsequent calls to `useUser` cached. This is useful for\n * known scenarios like resolving the current user's info\n * before they post a comment.\n *\n * This function is a no-op if the user ID is already resolved.\n */\nexport function usePreResolveUser() {\n const client = useClient();\n\n return useCallback(\n (userId: string) => {\n void client[kInternal].usersStore.enqueue(userId);\n },\n [client]\n );\n}\n"],"names":["useClient","useCallback","kInternal"],"mappings":";;;;;;AAYO,SAAS,iBAAoB,GAAA;AAClC,EAAA,MAAM,SAASA,eAAU,EAAA,CAAA;AAEzB,EAAO,OAAAC,mBAAA;AAAA,IACL,CAAC,MAAmB,KAAA;AAClB,MAAA,KAAK,MAAO,CAAAC,cAAS,CAAE,CAAA,UAAA,CAAW,QAAQ,MAAM,CAAA,CAAA;AAAA,KAClD;AAAA,IACA,CAAC,MAAM,CAAA;AAAA,GACT,CAAA;AACF;;;;"}
@@ -0,0 +1,16 @@
1
+ import { kInternal } from '@liveblocks/core';
2
+ import { useClient } from '@liveblocks/react';
3
+ import { useCallback } from 'react';
4
+
5
+ function usePreResolveUser() {
6
+ const client = useClient();
7
+ return useCallback(
8
+ (userId) => {
9
+ void client[kInternal].usersStore.enqueue(userId);
10
+ },
11
+ [client]
12
+ );
13
+ }
14
+
15
+ export { usePreResolveUser };
16
+ //# sourceMappingURL=use-pre-resolve-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-pre-resolve-user.js","sources":["../../src/utils/use-pre-resolve-user.ts"],"sourcesContent":["import { kInternal } from \"@liveblocks/core\";\nimport { useClient } from \"@liveblocks/react\";\nimport { useCallback } from \"react\";\n\n/**\n * Returns a function that resolves a user ID ahead of time to\n * make subsequent calls to `useUser` cached. This is useful for\n * known scenarios like resolving the current user's info\n * before they post a comment.\n *\n * This function is a no-op if the user ID is already resolved.\n */\nexport function usePreResolveUser() {\n const client = useClient();\n\n return useCallback(\n (userId: string) => {\n void client[kInternal].usersStore.enqueue(userId);\n },\n [client]\n );\n}\n"],"names":[],"mappings":";;;;AAYO,SAAS,iBAAoB,GAAA;AAClC,EAAA,MAAM,SAAS,SAAU,EAAA,CAAA;AAEzB,EAAO,OAAA,WAAA;AAAA,IACL,CAAC,MAAmB,KAAA;AAClB,MAAA,KAAK,MAAO,CAAA,SAAS,CAAE,CAAA,UAAA,CAAW,QAAQ,MAAM,CAAA,CAAA;AAAA,KAClD;AAAA,IACA,CAAC,MAAM,CAAA;AAAA,GACT,CAAA;AACF;;;;"}
package/dist/version.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const PKG_NAME = "@liveblocks/react-ui";
4
- const PKG_VERSION = typeof "3.15.0-thread2" === "string" && "3.15.0-thread2";
4
+ const PKG_VERSION = typeof "3.15.1-rc1" === "string" && "3.15.1-rc1";
5
5
  const PKG_FORMAT = typeof "cjs" === "string" && "cjs";
6
6
 
7
7
  exports.PKG_FORMAT = PKG_FORMAT;
@@ -1 +1 @@
1
- {"version":3,"file":"version.cjs","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-ui\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":";;AAGO,MAAM,QAAW,GAAA,uBAAA;AACX,MAAA,WAAA,GAAc,OAAO,gBAAA,KAAgB,QAAY,IAAA,iBAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;;;"}
1
+ {"version":3,"file":"version.cjs","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-ui\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":";;AAGO,MAAM,QAAW,GAAA,uBAAA;AACX,MAAA,WAAA,GAAc,OAAO,YAAA,KAAgB,QAAY,IAAA,aAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;;;"}
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  const PKG_NAME = "@liveblocks/react-ui";
2
- const PKG_VERSION = typeof "3.15.0-thread2" === "string" && "3.15.0-thread2";
2
+ const PKG_VERSION = typeof "3.15.1-rc1" === "string" && "3.15.1-rc1";
3
3
  const PKG_FORMAT = typeof "esm" === "string" && "esm";
4
4
 
5
5
  export { PKG_FORMAT, PKG_NAME, PKG_VERSION };
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-ui\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":"AAGO,MAAM,QAAW,GAAA,uBAAA;AACX,MAAA,WAAA,GAAc,OAAO,gBAAA,KAAgB,QAAY,IAAA,iBAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-ui\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":"AAGO,MAAM,QAAW,GAAA,uBAAA;AACX,MAAA,WAAA,GAAc,OAAO,YAAA,KAAgB,QAAY,IAAA,aAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;"}
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@liveblocks/react-ui",
3
- "version": "3.15.0-thread2",
3
+ "version": "3.15.1-rc1",
4
4
  "description": "A set of React pre-built components for the Liveblocks products. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.",
5
5
  "license": "Apache-2.0",
6
+ "author": "Liveblocks Inc.",
6
7
  "type": "module",
7
8
  "main": "./dist/index.cjs",
8
9
  "types": "./dist/index.d.cts",
@@ -76,17 +77,13 @@
76
77
  "test:watch": "vitest"
77
78
  },
78
79
  "dependencies": {
79
- "@floating-ui/react-dom": "^2.1.2",
80
- "@liveblocks/client": "3.15.0-thread2",
81
- "@liveblocks/core": "3.15.0-thread2",
82
- "@liveblocks/react": "3.15.0-thread2",
83
- "@radix-ui/react-dropdown-menu": "^2.1.2",
84
- "@radix-ui/react-popover": "^1.1.2",
85
- "@radix-ui/react-slot": "^1.1.0",
86
- "@radix-ui/react-toggle": "^1.1.0",
87
- "@radix-ui/react-tooltip": "^1.1.3",
80
+ "@floating-ui/react-dom": "^2.1.0",
81
+ "@liveblocks/client": "3.15.1-rc1",
82
+ "@liveblocks/core": "3.15.1-rc1",
83
+ "@liveblocks/react": "3.15.1-rc1",
88
84
  "frimousse": "^0.2.0",
89
85
  "marked": "^15.0.11",
86
+ "radix-ui": "^1.4.0",
90
87
  "slate": "^0.110.2",
91
88
  "slate-history": "^0.110.3",
92
89
  "slate-hyperscript": "^0.100.0",
@@ -23,7 +23,7 @@
23
23
 
24
24
  color-scheme: dark;
25
25
 
26
- &:where(.lb-elevation, .lb-tooltip) {
26
+ &:where(.lb-elevation, .lb-tooltip, .lb-comment-pin) {
27
27
  --lb-background: #333;
28
28
  --lb-foreground-contrast: 10%;
29
29
  }
@@ -1056,6 +1056,8 @@
1056
1056
  font-weight: 500;
1057
1057
  font-size: 35cqi;
1058
1058
  white-space: nowrap;
1059
+ pointer-events: none;
1060
+ user-select: none;
1059
1061
 
1060
1062
  /**
1061
1063
  * Progressive enhancement: Only show the fallback when container queries are supported
@@ -1171,6 +1173,7 @@
1171
1173
  position: relative;
1172
1174
  background: var(--lb-dynamic-background);
1173
1175
  color: var(--lb-foreground);
1176
+ outline: none;
1174
1177
  transition-property: background;
1175
1178
  }
1176
1179
 
@@ -1346,6 +1349,7 @@
1346
1349
  padding: var(--lb-spacing);
1347
1350
  background: var(--lb-dynamic-background);
1348
1351
  color: var(--lb-foreground);
1352
+ outline: none;
1349
1353
  font-weight: 400;
1350
1354
  scroll-margin: var(--lb-spacing);
1351
1355
 
@@ -1371,7 +1375,7 @@
1371
1375
  --lb-dynamic-background: var(--lb-background-accent-faint);
1372
1376
  }
1373
1377
 
1374
- &:where([data-editing]) {
1378
+ &:where([data-editing], :focus-visible) {
1375
1379
  --lb-dynamic-background: var(--lb-background-foreground-faint);
1376
1380
  }
1377
1381
  }
@@ -1651,6 +1655,243 @@
1651
1655
  }
1652
1656
  }
1653
1657
 
1658
+ /*************************************
1659
+ * Floating Thread *
1660
+ *************************************/
1661
+
1662
+ .lb-floating-thread {
1663
+ --lb-floating-thread-size: 350px;
1664
+
1665
+ inline-size: var(--lb-floating-thread-size);
1666
+ }
1667
+
1668
+ /*************************************
1669
+ * Floating Thread Composer *
1670
+ *************************************/
1671
+
1672
+ .lb-floating-thread-composer {
1673
+ --lb-floating-thread-composer-size: 350px;
1674
+
1675
+ inline-size: var(--lb-floating-thread-composer-size);
1676
+
1677
+ :where(.lb-thread, .lb-composer) {
1678
+ inline-size: 100%;
1679
+ }
1680
+ }
1681
+
1682
+ /*************************************
1683
+ * Floating Composer *
1684
+ *************************************/
1685
+
1686
+ .lb-floating-composer {
1687
+ --lb-floating-composer-size: 350px;
1688
+
1689
+ inline-size: var(--lb-floating-composer-size);
1690
+ }
1691
+
1692
+ /*************************************
1693
+ * Comment Pin *
1694
+ *************************************/
1695
+
1696
+ .lb-comment-pin {
1697
+ --lb-comment-pin-size: 32px;
1698
+ --lb-comment-pin-padding: 4px;
1699
+
1700
+ @include button;
1701
+
1702
+ position: relative;
1703
+ display: flex;
1704
+ justify-content: center;
1705
+ align-items: center;
1706
+ inline-size: var(--lb-comment-pin-size);
1707
+ block-size: var(--lb-comment-pin-size);
1708
+ padding: var(--lb-comment-pin-padding);
1709
+ border-radius: $lb-radius-full;
1710
+ background: var(--lb-background);
1711
+ box-shadow: var(--lb-elevation-shadow);
1712
+ isolation: isolate;
1713
+
1714
+ &::after {
1715
+ content: "";
1716
+ position: absolute;
1717
+ inset: 0;
1718
+ z-index: 1;
1719
+ border-radius: inherit;
1720
+ box-shadow: var(--lb-inset-shadow);
1721
+ pointer-events: none;
1722
+ }
1723
+
1724
+ &:where([data-corner="top-left"]) {
1725
+ border-start-start-radius: 2px;
1726
+ transform: translate(0, 0);
1727
+ }
1728
+
1729
+ &:where([data-corner="top-right"]) {
1730
+ border-start-end-radius: 2px;
1731
+ transform: translate(-100%, 0);
1732
+ }
1733
+
1734
+ &:where([data-corner="bottom-right"]) {
1735
+ border-end-end-radius: 2px;
1736
+ transform: translate(-100%, -100%);
1737
+ }
1738
+
1739
+ &:where([data-corner="bottom-left"]) {
1740
+ border-end-start-radius: 2px;
1741
+ transform: translate(0, -100%);
1742
+ }
1743
+
1744
+ :where(.lb-icon) {
1745
+ color: var(--lb-foreground-moderate);
1746
+ }
1747
+ }
1748
+
1749
+ .lb-comment-pin-avatar {
1750
+ inline-size: 100%;
1751
+ block-size: 100%;
1752
+ }
1753
+
1754
+ /*************************************
1755
+ * Avatar Stack *
1756
+ *************************************/
1757
+
1758
+ .lb-avatar-stack {
1759
+ --lb-avatar-stack-size: 24px;
1760
+ --lb-avatar-stack-overlap: calc(0.25 * var(--lb-avatar-stack-size));
1761
+ --lb-avatar-stack-gap: 2px;
1762
+
1763
+ display: flex;
1764
+ flex-direction: row;
1765
+ isolation: isolate;
1766
+ }
1767
+
1768
+ .lb-avatar-stack-avatar {
1769
+ position: relative;
1770
+ z-index: calc(
1771
+ var(--lb-avatar-stack-count) - 1 - var(--lb-avatar-stack-avatar-index)
1772
+ );
1773
+ inline-size: var(--lb-avatar-stack-size);
1774
+ block-size: var(--lb-avatar-stack-size);
1775
+ margin-inline-end: calc(-1 * var(--lb-avatar-stack-overlap));
1776
+ border-radius: $lb-radius-full;
1777
+
1778
+ &:where(:not(:first-child)) {
1779
+ --lb-avatar-stack-mask-size: calc(
1780
+ var(--lb-avatar-stack-size) / 2 + var(--lb-avatar-stack-gap)
1781
+ );
1782
+
1783
+ mask-image: radial-gradient(
1784
+ circle at
1785
+ calc(var(--lb-avatar-stack-overlap) - var(--lb-avatar-stack-size) / 2)
1786
+ 50%,
1787
+ transparent var(--lb-avatar-stack-mask-size),
1788
+ black calc(var(--lb-avatar-stack-mask-size) + 0.375px)
1789
+ );
1790
+ }
1791
+ }
1792
+
1793
+ /*************************************
1794
+ * Users Tooltip *
1795
+ *************************************/
1796
+
1797
+ .lb-users-tooltip-list {
1798
+ --lb-users-tooltip-avatar-size: 1rem;
1799
+
1800
+ display: flex;
1801
+ flex-direction: column;
1802
+ gap: calc(0.625 * var(--lb-spacing));
1803
+ margin: 0;
1804
+ padding-inline: 0;
1805
+ padding-block: calc(0.75 * var(--lb-spacing));
1806
+ list-style: none;
1807
+ }
1808
+
1809
+ .lb-users-tooltip-list-item {
1810
+ display: flex;
1811
+ gap: calc(0.625 * var(--lb-spacing));
1812
+ align-items: center;
1813
+
1814
+ :where(.lb-avatar) {
1815
+ inline-size: var(--lb-users-tooltip-avatar-size);
1816
+ block-size: var(--lb-users-tooltip-avatar-size);
1817
+ }
1818
+ }
1819
+
1820
+ /*************************************
1821
+ * Cursor *
1822
+ *************************************/
1823
+
1824
+ .lb-cursor {
1825
+ --lb-cursor-color: var(--lb-accent);
1826
+ --lb-cursor-pointer-size: 1rem;
1827
+
1828
+ position: relative;
1829
+ inline-size: 0;
1830
+ block-size: 0;
1831
+ color: var(--lb-cursor-color);
1832
+ filter: drop-shadow(0 2px 6px rgb(0 0 0 / 5%))
1833
+ drop-shadow(0 8px 26px rgb(0 0 0 / 6%));
1834
+ pointer-events: none;
1835
+ isolation: isolate;
1836
+ }
1837
+
1838
+ .lb-cursor-pointer {
1839
+ position: absolute;
1840
+ inset-inline-start: 0;
1841
+ inset-block-start: 0;
1842
+ inline-size: var(--lb-cursor-pointer-size);
1843
+ block-size: var(--lb-cursor-pointer-size);
1844
+ }
1845
+
1846
+ .lb-cursor-bubble {
1847
+ position: absolute;
1848
+ inset-inline-start: calc(0.8125 * var(--lb-cursor-pointer-size));
1849
+ inset-block-start: calc(0.8125 * var(--lb-cursor-pointer-size));
1850
+ padding: calc(0.375 * var(--lb-spacing)) calc(0.6875 * var(--lb-spacing));
1851
+ border-radius: $lb-radius-full;
1852
+ background: currentcolor;
1853
+ font-size: 0.8125rem;
1854
+ will-change: transform;
1855
+ }
1856
+
1857
+ .lb-cursor-bubble-label {
1858
+ font-weight: 500;
1859
+ line-height: 1;
1860
+ white-space: nowrap;
1861
+
1862
+ /* Use relative color to derive a text color legible against the background. */
1863
+ @supports (color: oklch(from black l c h)) {
1864
+ color: oklch(
1865
+ from var(--lb-cursor-color) clamp(0, (l / 0.623 - 1) * -infinity, 1) 0 h
1866
+ );
1867
+ }
1868
+
1869
+ /* Use a filter trick if relative color is not supported. */
1870
+ @supports not (color: oklch(from black l c h)) {
1871
+ opacity: 0.95;
1872
+ filter: invert(1) grayscale(1) brightness(1.3) contrast(9000);
1873
+ mix-blend-mode: luminosity;
1874
+ }
1875
+ }
1876
+
1877
+ /*************************************
1878
+ * Cursors *
1879
+ *************************************/
1880
+
1881
+ .lb-cursors {
1882
+ position: relative;
1883
+ overflow: clip;
1884
+ isolation: isolate;
1885
+ }
1886
+
1887
+ .lb-cursors-container {
1888
+ position: absolute;
1889
+ inset: 0;
1890
+ z-index: 1;
1891
+ pointer-events: none;
1892
+ isolation: isolate;
1893
+ }
1894
+
1654
1895
  /*************************************
1655
1896
  * Attachments *
1656
1897
  *************************************/
@@ -2252,6 +2493,7 @@
2252
2493
  border-radius: var(--lb-radius);
2253
2494
  background: var(--lb-dynamic-background);
2254
2495
  box-shadow: var(--lb-elevation-shadow);
2496
+ isolation: isolate;
2255
2497
 
2256
2498
  &::after {
2257
2499
  content: "";
@@ -2332,7 +2574,10 @@
2332
2574
  .lb-composer-suggestions,
2333
2575
  .lb-composer-floating-toolbar,
2334
2576
  .lb-tooltip,
2335
- .lb-emoji-picker {
2577
+ .lb-emoji-picker,
2578
+ .lb-floating-thread,
2579
+ .lb-floating-composer,
2580
+ .lb-floating-thread-composer {
2336
2581
  animation-duration: var(--lb-transition-duration);
2337
2582
  animation-timing-function: var(--lb-transition-easing);
2338
2583
  will-change: transform, opacity;
@@ -2354,12 +2599,19 @@
2354
2599
  }
2355
2600
  }
2356
2601
 
2602
+ :is(.lb-floating-thread, .lb-floating-composer, .lb-floating-thread-composer) {
2603
+ animation-name: lb-animation-appear;
2604
+ }
2605
+
2357
2606
  :is(
2358
2607
  .lb-dropdown,
2359
2608
  .lb-emoji-picker,
2360
2609
  .lb-tooltip,
2361
2610
  .lb-composer-suggestions,
2362
- .lb-composer-floating-toolbar
2611
+ .lb-composer-floating-toolbar,
2612
+ .lb-floating-thread,
2613
+ .lb-floating-composer,
2614
+ .lb-floating-thread-composer
2363
2615
  ) {
2364
2616
  &:where([data-state="closed"]) {
2365
2617
  animation-name: lb-animation-disappear;
@@ -2370,7 +2622,10 @@
2370
2622
  .lb-dropdown:where(:not([data-state="closed"])),
2371
2623
  .lb-emoji-picker:where(:not([data-state="closed"])),
2372
2624
  .lb-tooltip:where([data-state="delayed-open"]:not([data-state="closed"])),
2373
- .lb-composer-suggestions:where(:not([data-state="closed"])) {
2625
+ .lb-composer-suggestions:where(:not([data-state="closed"])),
2626
+ .lb-floating-thread:where(:not([data-state="closed"])),
2627
+ .lb-floating-composer:where(:not([data-state="closed"])),
2628
+ .lb-floating-thread-composer:where(:not([data-state="closed"])) {
2374
2629
  animation-name: lb-animation-appear;
2375
2630
  }
2376
2631
  }
@@ -1 +1 @@
1
- @keyframes lb-animation-shimmer-text-invert{0%,to{-webkit-mask-image:linear-gradient(90deg,#00000080 36%,#000000f2 48% 52%,#00000080 64%);mask-image:linear-gradient(90deg,#00000080 36%,#000000f2 48% 52%,#00000080 64%);-webkit-mask-size:300% 100%;mask-size:300% 100%}0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}.lb-root:where(:is(.dark,[data-theme=dark],[data-dark])),:is(.dark,[data-theme=dark],[data-dark]) :where(.lb-root){--lb-accent:#4af;--lb-destructive:#f77;--lb-background:#222;--lb-foreground:#fff;--lb-accent-contrast:16%;--lb-destructive-contrast:16%;--lb-foreground-contrast:10%;--lb-inset-shadow:inset 0 0 0 1px #ffffff0f;--lb-highlight-shadow:inset 0 0 0 1px #ffffff1f;--lb-elevation-shadow:0 0 0 1px #0000000a,0 2px 6px #00000014,0 8px 26px #0000001f;--lb-elevation-shadow-moderate:0 0 0 1px #0000000a,0 2px 6px #0000000d,0 8px 26px #0000000f;--lb-tooltip-shadow:0 2px 4px #00000014,0 4px 12px #0000001f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.lb-root:where(:is(.dark,[data-theme=dark],[data-dark])):where(.lb-elevation,.lb-tooltip),:is(.dark,[data-theme=dark],[data-dark]) :where(.lb-root):where(.lb-elevation,.lb-tooltip){--lb-background:#333;--lb-foreground-contrast:10%}.lb-root:where(:is(.dark,[data-theme=dark],[data-dark])):where(.lb-elevation-moderate),:is(.dark,[data-theme=dark],[data-dark]) :where(.lb-root):where(.lb-elevation-moderate){--lb-background:#2a2a2a;--lb-foreground-contrast:10%}.lb-root:where(:is(.dark,[data-theme=dark],[data-dark])) .lb-ai-chat-pending,:is(.dark,[data-theme=dark],[data-dark]) :where(.lb-root) .lb-ai-chat-pending{animation-name:lb-animation-shimmer-text-invert}
1
+ @keyframes lb-animation-shimmer-text-invert{0%,to{-webkit-mask-image:linear-gradient(90deg,#00000080 36%,#000000f2 48% 52%,#00000080 64%);mask-image:linear-gradient(90deg,#00000080 36%,#000000f2 48% 52%,#00000080 64%);-webkit-mask-size:300% 100%;mask-size:300% 100%}0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}.lb-root:where(:is(.dark,[data-theme=dark],[data-dark])),:is(.dark,[data-theme=dark],[data-dark]) :where(.lb-root){--lb-accent:#4af;--lb-destructive:#f77;--lb-background:#222;--lb-foreground:#fff;--lb-accent-contrast:16%;--lb-destructive-contrast:16%;--lb-foreground-contrast:10%;--lb-inset-shadow:inset 0 0 0 1px #ffffff0f;--lb-highlight-shadow:inset 0 0 0 1px #ffffff1f;--lb-elevation-shadow:0 0 0 1px #0000000a,0 2px 6px #00000014,0 8px 26px #0000001f;--lb-elevation-shadow-moderate:0 0 0 1px #0000000a,0 2px 6px #0000000d,0 8px 26px #0000000f;--lb-tooltip-shadow:0 2px 4px #00000014,0 4px 12px #0000001f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.lb-root:where(:is(.dark,[data-theme=dark],[data-dark])):where(.lb-elevation,.lb-tooltip,.lb-comment-pin),:is(.dark,[data-theme=dark],[data-dark]) :where(.lb-root):where(.lb-elevation,.lb-tooltip,.lb-comment-pin){--lb-background:#333;--lb-foreground-contrast:10%}.lb-root:where(:is(.dark,[data-theme=dark],[data-dark])):where(.lb-elevation-moderate),:is(.dark,[data-theme=dark],[data-dark]) :where(.lb-root):where(.lb-elevation-moderate){--lb-background:#2a2a2a;--lb-foreground-contrast:10%}.lb-root:where(:is(.dark,[data-theme=dark],[data-dark])) .lb-ai-chat-pending,:is(.dark,[data-theme=dark],[data-dark]) :where(.lb-root) .lb-ai-chat-pending{animation-name:lb-animation-shimmer-text-invert}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/styles/dark/src/styles/dark/index.css","../../src/styles/dark/src/styles/dark/attributes.css"],"names":[],"mappings":"AAwCA,4CAAA,MAAA,uFAAA,CAAA,+EAAA,CAAA,2BAAA,CAAA,mBAAA,CAAA,GAAA,4BAAA,CAAA,oBAAA,CAAA,GAAA,yBAAA,CAAA,iBAAA,CAAA,CCpCA,mHAAA,gBAAA,CAAA,qBAAA,CAAA,oBAAA,CAAA,oBAAA,CAAA,wBAAA,CAAA,6BAAA,CAAA,4BAAA,CAAA,2CAAA,CAAA,+CAAA,CAAA,kFAAA,CAAA,2FAAA,CAAA,4DAAA,CAAA,sBAAA,CAAA,2BAAA,CAAA,iBAAA,CDqBE,qLAAA,oBAAA,CAAA,4BAAA,CAKA,+KAAA,uBAAA,CAAA,4BAAA,CAKA,2JAAA,+CAAA","file":"attributes.css","sourcesContent":["@import \"../constants\";\n\n@mixin dark-styles {\n /**\n * Colors\n */\n --lb-accent: #4af;\n --lb-destructive: #f77;\n --lb-background: #222;\n --lb-foreground: #fff;\n --lb-accent-contrast: 16%;\n --lb-destructive-contrast: 16%;\n --lb-foreground-contrast: 10%;\n\n /**\n * Shadows\n */\n --lb-inset-shadow: inset 0 0 0 1px rgb(255 255 255 / 6%);\n --lb-highlight-shadow: inset 0 0 0 1px rgb(255 255 255 / 12%);\n --lb-elevation-shadow: $lb-elevation-shadow;\n --lb-elevation-shadow-moderate: $lb-elevation-shadow-moderate;\n --lb-tooltip-shadow: $lb-tooltip-shadow;\n\n color-scheme: dark;\n\n &:where(.lb-elevation, .lb-tooltip) {\n --lb-background: #333;\n --lb-foreground-contrast: 10%;\n }\n\n &:where(.lb-elevation-moderate) {\n --lb-background: #2a2a2a;\n --lb-foreground-contrast: 10%;\n }\n\n .lb-ai-chat-pending {\n animation-name: lb-animation-shimmer-text-invert;\n }\n}\n\n@keyframes lb-animation-shimmer-text-invert {\n from,\n to {\n mask-image: linear-gradient(\n 90deg,\n rgb(0 0 0 / 50%) 36%,\n rgb(0 0 0 / 95%) 48%,\n rgb(0 0 0 / 95%) 52%,\n rgb(0 0 0 / 50%) 64%\n );\n mask-size: 300% 100%;\n }\n\n from {\n mask-position: 100% 0;\n }\n\n to {\n mask-position: 0% 0;\n }\n}\n","/* stylelint-disable selector-class-pattern */\n\n@import \"./index\";\n\n.lb-root:where(:is(.dark, [data-theme=\"dark\"], [data-dark])),\n:is(.dark, [data-theme=\"dark\"], [data-dark]) :where(.lb-root) {\n @include dark-styles;\n}\n"]}
1
+ {"version":3,"sources":["../../src/styles/dark/src/styles/dark/index.css","../../src/styles/dark/src/styles/dark/attributes.css"],"names":[],"mappings":"AAwCA,4CAAA,MAAA,uFAAA,CAAA,+EAAA,CAAA,2BAAA,CAAA,mBAAA,CAAA,GAAA,4BAAA,CAAA,oBAAA,CAAA,GAAA,yBAAA,CAAA,iBAAA,CAAA,CCpCA,mHAAA,gBAAA,CAAA,qBAAA,CAAA,oBAAA,CAAA,oBAAA,CAAA,wBAAA,CAAA,6BAAA,CAAA,4BAAA,CAAA,2CAAA,CAAA,+CAAA,CAAA,kFAAA,CAAA,2FAAA,CAAA,4DAAA,CAAA,sBAAA,CAAA,2BAAA,CAAA,iBAAA,CDqBE,qNAAA,oBAAA,CAAA,4BAAA,CAKA,+KAAA,uBAAA,CAAA,4BAAA,CAKA,2JAAA,+CAAA","file":"attributes.css","sourcesContent":["@import \"../constants\";\n\n@mixin dark-styles {\n /**\n * Colors\n */\n --lb-accent: #4af;\n --lb-destructive: #f77;\n --lb-background: #222;\n --lb-foreground: #fff;\n --lb-accent-contrast: 16%;\n --lb-destructive-contrast: 16%;\n --lb-foreground-contrast: 10%;\n\n /**\n * Shadows\n */\n --lb-inset-shadow: inset 0 0 0 1px rgb(255 255 255 / 6%);\n --lb-highlight-shadow: inset 0 0 0 1px rgb(255 255 255 / 12%);\n --lb-elevation-shadow: $lb-elevation-shadow;\n --lb-elevation-shadow-moderate: $lb-elevation-shadow-moderate;\n --lb-tooltip-shadow: $lb-tooltip-shadow;\n\n color-scheme: dark;\n\n &:where(.lb-elevation, .lb-tooltip, .lb-comment-pin) {\n --lb-background: #333;\n --lb-foreground-contrast: 10%;\n }\n\n &:where(.lb-elevation-moderate) {\n --lb-background: #2a2a2a;\n --lb-foreground-contrast: 10%;\n }\n\n .lb-ai-chat-pending {\n animation-name: lb-animation-shimmer-text-invert;\n }\n}\n\n@keyframes lb-animation-shimmer-text-invert {\n from,\n to {\n mask-image: linear-gradient(\n 90deg,\n rgb(0 0 0 / 50%) 36%,\n rgb(0 0 0 / 95%) 48%,\n rgb(0 0 0 / 95%) 52%,\n rgb(0 0 0 / 50%) 64%\n );\n mask-size: 300% 100%;\n }\n\n from {\n mask-position: 100% 0;\n }\n\n to {\n mask-position: 0% 0;\n }\n}\n","/* stylelint-disable selector-class-pattern */\n\n@import \"./index\";\n\n.lb-root:where(:is(.dark, [data-theme=\"dark\"], [data-dark])),\n:is(.dark, [data-theme=\"dark\"], [data-dark]) :where(.lb-root) {\n @include dark-styles;\n}\n"]}
@@ -1 +1 @@
1
- @keyframes lb-animation-shimmer-text-invert{0%,to{-webkit-mask-image:linear-gradient(90deg,#00000080 36%,#000000f2 48% 52%,#00000080 64%);mask-image:linear-gradient(90deg,#00000080 36%,#000000f2 48% 52%,#00000080 64%);-webkit-mask-size:300% 100%;mask-size:300% 100%}0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}@media (prefers-color-scheme:dark){.lb-root{--lb-accent:#4af;--lb-destructive:#f77;--lb-background:#222;--lb-foreground:#fff;--lb-accent-contrast:16%;--lb-destructive-contrast:16%;--lb-foreground-contrast:10%;--lb-inset-shadow:inset 0 0 0 1px #ffffff0f;--lb-highlight-shadow:inset 0 0 0 1px #ffffff1f;--lb-elevation-shadow:0 0 0 1px #0000000a,0 2px 6px #00000014,0 8px 26px #0000001f;--lb-elevation-shadow-moderate:0 0 0 1px #0000000a,0 2px 6px #0000000d,0 8px 26px #0000000f;--lb-tooltip-shadow:0 2px 4px #00000014,0 4px 12px #0000001f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.lb-root:where(.lb-elevation,.lb-tooltip){--lb-background:#333;--lb-foreground-contrast:10%}.lb-root:where(.lb-elevation-moderate){--lb-background:#2a2a2a;--lb-foreground-contrast:10%}.lb-root .lb-ai-chat-pending{animation-name:lb-animation-shimmer-text-invert}}
1
+ @keyframes lb-animation-shimmer-text-invert{0%,to{-webkit-mask-image:linear-gradient(90deg,#00000080 36%,#000000f2 48% 52%,#00000080 64%);mask-image:linear-gradient(90deg,#00000080 36%,#000000f2 48% 52%,#00000080 64%);-webkit-mask-size:300% 100%;mask-size:300% 100%}0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}@media (prefers-color-scheme:dark){.lb-root{--lb-accent:#4af;--lb-destructive:#f77;--lb-background:#222;--lb-foreground:#fff;--lb-accent-contrast:16%;--lb-destructive-contrast:16%;--lb-foreground-contrast:10%;--lb-inset-shadow:inset 0 0 0 1px #ffffff0f;--lb-highlight-shadow:inset 0 0 0 1px #ffffff1f;--lb-elevation-shadow:0 0 0 1px #0000000a,0 2px 6px #00000014,0 8px 26px #0000001f;--lb-elevation-shadow-moderate:0 0 0 1px #0000000a,0 2px 6px #0000000d,0 8px 26px #0000000f;--lb-tooltip-shadow:0 2px 4px #00000014,0 4px 12px #0000001f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.lb-root:where(.lb-elevation,.lb-tooltip,.lb-comment-pin){--lb-background:#333;--lb-foreground-contrast:10%}.lb-root:where(.lb-elevation-moderate){--lb-background:#2a2a2a;--lb-foreground-contrast:10%}.lb-root .lb-ai-chat-pending{animation-name:lb-animation-shimmer-text-invert}}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/styles/dark/src/styles/dark/index.css","../../src/styles/dark/src/styles/dark/media-query.css"],"names":[],"mappings":"AAwCA,4CAAA,MAAA,uFAAA,CAAA,+EAAA,CAAA,2BAAA,CAAA,mBAAA,CAAA,GAAA,4BAAA,CAAA,oBAAA,CAAA,GAAA,yBAAA,CAAA,iBAAA,CAAA,CCtCA,mCACE,SAAA,gBAAA,CAAA,qBAAA,CAAA,oBAAA,CAAA,oBAAA,CAAA,wBAAA,CAAA,6BAAA,CAAA,4BAAA,CAAA,2CAAA,CAAA,+CAAA,CAAA,kFAAA,CAAA,2FAAA,CAAA,4DAAA,CAAA,sBAAA,CAAA,2BAAA,CAAA,iBAAA,CDsBA,0CAAA,oBAAA,CAAA,4BAAA,CAKA,uCAAA,uBAAA,CAAA,4BAAA,CAKA,6BAAA,+CAAA,CAAA","file":"media-query.css","sourcesContent":["@import \"../constants\";\n\n@mixin dark-styles {\n /**\n * Colors\n */\n --lb-accent: #4af;\n --lb-destructive: #f77;\n --lb-background: #222;\n --lb-foreground: #fff;\n --lb-accent-contrast: 16%;\n --lb-destructive-contrast: 16%;\n --lb-foreground-contrast: 10%;\n\n /**\n * Shadows\n */\n --lb-inset-shadow: inset 0 0 0 1px rgb(255 255 255 / 6%);\n --lb-highlight-shadow: inset 0 0 0 1px rgb(255 255 255 / 12%);\n --lb-elevation-shadow: $lb-elevation-shadow;\n --lb-elevation-shadow-moderate: $lb-elevation-shadow-moderate;\n --lb-tooltip-shadow: $lb-tooltip-shadow;\n\n color-scheme: dark;\n\n &:where(.lb-elevation, .lb-tooltip) {\n --lb-background: #333;\n --lb-foreground-contrast: 10%;\n }\n\n &:where(.lb-elevation-moderate) {\n --lb-background: #2a2a2a;\n --lb-foreground-contrast: 10%;\n }\n\n .lb-ai-chat-pending {\n animation-name: lb-animation-shimmer-text-invert;\n }\n}\n\n@keyframes lb-animation-shimmer-text-invert {\n from,\n to {\n mask-image: linear-gradient(\n 90deg,\n rgb(0 0 0 / 50%) 36%,\n rgb(0 0 0 / 95%) 48%,\n rgb(0 0 0 / 95%) 52%,\n rgb(0 0 0 / 50%) 64%\n );\n mask-size: 300% 100%;\n }\n\n from {\n mask-position: 100% 0;\n }\n\n to {\n mask-position: 0% 0;\n }\n}\n","@import \"./index\";\n\n@media (prefers-color-scheme: dark) {\n .lb-root {\n @include dark-styles;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/styles/dark/src/styles/dark/index.css","../../src/styles/dark/src/styles/dark/media-query.css"],"names":[],"mappings":"AAwCA,4CAAA,MAAA,uFAAA,CAAA,+EAAA,CAAA,2BAAA,CAAA,mBAAA,CAAA,GAAA,4BAAA,CAAA,oBAAA,CAAA,GAAA,yBAAA,CAAA,iBAAA,CAAA,CCtCA,mCACE,SAAA,gBAAA,CAAA,qBAAA,CAAA,oBAAA,CAAA,oBAAA,CAAA,wBAAA,CAAA,6BAAA,CAAA,4BAAA,CAAA,2CAAA,CAAA,+CAAA,CAAA,kFAAA,CAAA,2FAAA,CAAA,4DAAA,CAAA,sBAAA,CAAA,2BAAA,CAAA,iBAAA,CDsBA,0DAAA,oBAAA,CAAA,4BAAA,CAKA,uCAAA,uBAAA,CAAA,4BAAA,CAKA,6BAAA,+CAAA,CAAA","file":"media-query.css","sourcesContent":["@import \"../constants\";\n\n@mixin dark-styles {\n /**\n * Colors\n */\n --lb-accent: #4af;\n --lb-destructive: #f77;\n --lb-background: #222;\n --lb-foreground: #fff;\n --lb-accent-contrast: 16%;\n --lb-destructive-contrast: 16%;\n --lb-foreground-contrast: 10%;\n\n /**\n * Shadows\n */\n --lb-inset-shadow: inset 0 0 0 1px rgb(255 255 255 / 6%);\n --lb-highlight-shadow: inset 0 0 0 1px rgb(255 255 255 / 12%);\n --lb-elevation-shadow: $lb-elevation-shadow;\n --lb-elevation-shadow-moderate: $lb-elevation-shadow-moderate;\n --lb-tooltip-shadow: $lb-tooltip-shadow;\n\n color-scheme: dark;\n\n &:where(.lb-elevation, .lb-tooltip, .lb-comment-pin) {\n --lb-background: #333;\n --lb-foreground-contrast: 10%;\n }\n\n &:where(.lb-elevation-moderate) {\n --lb-background: #2a2a2a;\n --lb-foreground-contrast: 10%;\n }\n\n .lb-ai-chat-pending {\n animation-name: lb-animation-shimmer-text-invert;\n }\n}\n\n@keyframes lb-animation-shimmer-text-invert {\n from,\n to {\n mask-image: linear-gradient(\n 90deg,\n rgb(0 0 0 / 50%) 36%,\n rgb(0 0 0 / 95%) 48%,\n rgb(0 0 0 / 95%) 52%,\n rgb(0 0 0 / 50%) 64%\n );\n mask-size: 300% 100%;\n }\n\n from {\n mask-position: 100% 0;\n }\n\n to {\n mask-position: 0% 0;\n }\n}\n","@import \"./index\";\n\n@media (prefers-color-scheme: dark) {\n .lb-root {\n @include dark-styles;\n }\n}\n"]}