@liveblocks/react-ui 3.3.4 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/_private/index.d.cts +3 -4
  2. package/dist/_private/index.d.ts +3 -4
  3. package/dist/components/AiChat.cjs +3 -2
  4. package/dist/components/AiChat.cjs.map +1 -1
  5. package/dist/components/AiChat.js +3 -2
  6. package/dist/components/AiChat.js.map +1 -1
  7. package/dist/components/AiTool.cjs +15 -6
  8. package/dist/components/AiTool.cjs.map +1 -1
  9. package/dist/components/AiTool.js +15 -6
  10. package/dist/components/AiTool.js.map +1 -1
  11. package/dist/components/Comment.cjs +5 -2
  12. package/dist/components/Comment.cjs.map +1 -1
  13. package/dist/components/Comment.js +5 -2
  14. package/dist/components/Comment.js.map +1 -1
  15. package/dist/components/Composer.cjs +5 -2
  16. package/dist/components/Composer.cjs.map +1 -1
  17. package/dist/components/Composer.js +5 -2
  18. package/dist/components/Composer.js.map +1 -1
  19. package/dist/components/Thread.cjs +1 -2
  20. package/dist/components/Thread.cjs.map +1 -1
  21. package/dist/components/Thread.js +2 -3
  22. package/dist/components/Thread.js.map +1 -1
  23. package/dist/components/internal/AiChatAssistantMessage.cjs +1 -0
  24. package/dist/components/internal/AiChatAssistantMessage.cjs.map +1 -1
  25. package/dist/components/internal/AiChatAssistantMessage.js +1 -0
  26. package/dist/components/internal/AiChatAssistantMessage.js.map +1 -1
  27. package/dist/components/internal/AiChatUserMessage.cjs +16 -14
  28. package/dist/components/internal/AiChatUserMessage.cjs.map +1 -1
  29. package/dist/components/internal/AiChatUserMessage.js +16 -14
  30. package/dist/components/internal/AiChatUserMessage.js.map +1 -1
  31. package/dist/components/internal/CodeBlock.cjs +1 -1
  32. package/dist/components/internal/CodeBlock.cjs.map +1 -1
  33. package/dist/components/internal/CodeBlock.js +1 -1
  34. package/dist/components/internal/CodeBlock.js.map +1 -1
  35. package/dist/components/internal/Prose.cjs +3 -1
  36. package/dist/components/internal/Prose.cjs.map +1 -1
  37. package/dist/components/internal/Prose.js +3 -1
  38. package/dist/components/internal/Prose.js.map +1 -1
  39. package/dist/index.d.cts +4 -3
  40. package/dist/index.d.ts +4 -3
  41. package/dist/primitives/AiMessage/tool-invocation.cjs +5 -2
  42. package/dist/primitives/AiMessage/tool-invocation.cjs.map +1 -1
  43. package/dist/primitives/AiMessage/tool-invocation.js +5 -2
  44. package/dist/primitives/AiMessage/tool-invocation.js.map +1 -1
  45. package/dist/primitives/Composer/slate/plugins/custom-links.cjs +2 -9
  46. package/dist/primitives/Composer/slate/plugins/custom-links.cjs.map +1 -1
  47. package/dist/primitives/Composer/slate/plugins/custom-links.js +1 -8
  48. package/dist/primitives/Composer/slate/plugins/custom-links.js.map +1 -1
  49. package/dist/primitives/Markdown.cjs +409 -61
  50. package/dist/primitives/Markdown.cjs.map +1 -1
  51. package/dist/primitives/Markdown.js +410 -62
  52. package/dist/primitives/Markdown.js.map +1 -1
  53. package/dist/version.cjs +1 -1
  54. package/dist/version.js +1 -1
  55. package/package.json +4 -4
  56. package/src/styles/dark/index.css +26 -0
  57. package/src/styles/index.css +178 -45
  58. package/styles/dark/attributes.css +1 -1
  59. package/styles/dark/attributes.css.map +1 -1
  60. package/styles/dark/media-query.css +1 -1
  61. package/styles/dark/media-query.css.map +1 -1
  62. package/styles.css +1 -1
  63. package/styles.css.map +1 -1
  64. package/dist/utils/find-last-index.cjs +0 -16
  65. package/dist/utils/find-last-index.cjs.map +0 -1
  66. package/dist/utils/find-last-index.js +0 -14
  67. package/dist/utils/find-last-index.js.map +0 -1
@@ -41,6 +41,12 @@
41
41
  var(--lb-foreground-contrast),
42
42
  50
43
43
  );
44
+ --lb-background-foreground-subtle: color-mix-scale(
45
+ var(--lb-background),
46
+ var(--lb-foreground),
47
+ var(--lb-foreground-contrast),
48
+ 100
49
+ );
44
50
  --lb-background-accent-faint: color-mix-scale(
45
51
  var(--lb-background),
46
52
  var(--lb-accent),
@@ -496,7 +502,7 @@
496
502
  block-size: calc(0.8 * var(--lb-icon-size));
497
503
  margin-inline-start: -1px;
498
504
  margin-block-start: 1px;
499
- color: var(--lb-foreground-moderate);
505
+ opacity: 0.65;
500
506
  }
501
507
 
502
508
  @media (prefers-reduced-motion: no-preference) {
@@ -1117,7 +1123,7 @@
1117
1123
  *************************************/
1118
1124
 
1119
1125
  :is(.lb-avatar, .lb-name):where([data-loading]) {
1120
- animation: lb-animation-shimmer 8s linear infinite;
1126
+ animation: lb-animation-shimmer-skeleton 8s linear infinite;
1121
1127
  }
1122
1128
 
1123
1129
  /*************************************
@@ -1183,6 +1189,10 @@
1183
1189
  background: var(--lb-accent-subtle);
1184
1190
  }
1185
1191
 
1192
+ .lb-mention-symbol {
1193
+ display: contents;
1194
+ }
1195
+
1186
1196
  /*************************************
1187
1197
  * Composer *
1188
1198
  *************************************/
@@ -2400,9 +2410,11 @@
2400
2410
  *************************************/
2401
2411
 
2402
2412
  .lb-code-block {
2413
+ position: relative;
2403
2414
  min-inline-size: 0;
2404
2415
  border: 1px solid var(--lb-foreground-subtle);
2405
2416
  border-radius: var(--lb-radius);
2417
+ isolation: isolate;
2406
2418
 
2407
2419
  :where(.lb-code-block-header) {
2408
2420
  display: flex;
@@ -2535,17 +2547,51 @@
2535
2547
 
2536
2548
  .lb-ai-chat-user-message {
2537
2549
  :where(.lb-ai-chat-message-content) {
2538
- min-block-size: calc(1lh + var(--lb-spacing));
2539
- padding: calc(0.5 * var(--lb-spacing)) var(--lb-spacing);
2550
+ --lb-dynamic-background: var(--lb-background-foreground-faint);
2551
+ --lb-ai-chat-message-content-horizontal-padding: calc(
2552
+ 0.9375 * var(--lb-spacing)
2553
+ );
2554
+ --lb-ai-chat-message-content-vertical-padding: calc(
2555
+ 0.5625 * var(--lb-spacing)
2556
+ );
2557
+
2558
+ min-block-size: calc(
2559
+ 1lh + 2 * var(--lb-ai-chat-message-content-vertical-padding)
2560
+ );
2561
+ padding: var(--lb-ai-chat-message-content-vertical-padding)
2562
+ var(--lb-ai-chat-message-content-horizontal-padding);
2540
2563
 
2541
2564
  /**
2542
2565
  * Exactly half the height (line-height + padding) of a one line bubble,
2543
2566
  * so that it doesn't change when the text wraps and the bubble becomes taller.
2544
2567
  */
2545
- border-radius: calc((1lh + var(--lb-spacing)) / 2);
2546
- background: var(--lb-background-foreground-faint);
2568
+ border-radius: calc(
2569
+ (1lh + 2 * var(--lb-ai-chat-message-content-vertical-padding)) / 2
2570
+ );
2571
+ background: var(--lb-dynamic-background);
2547
2572
  color: var(--lb-foreground);
2548
2573
  line-height: var(--lb-line-height);
2574
+
2575
+ /**
2576
+ * Rich messages get more padding than plain text ones.
2577
+ */
2578
+ &:where(
2579
+ :has(h1, h2, h3, h4, h5, h6, ul, ol, blockquote, table, .lb-code-block)
2580
+ ) {
2581
+ --lb-ai-chat-message-content-horizontal-padding: calc(
2582
+ 1.375 * var(--lb-spacing)
2583
+ );
2584
+ --lb-ai-chat-message-content-vertical-padding: calc(
2585
+ 1.125 * var(--lb-spacing)
2586
+ );
2587
+ }
2588
+
2589
+ :where(.lb-code-block) {
2590
+ --lb-dynamic-background: var(--lb-background-foreground-subtle);
2591
+
2592
+ border: none;
2593
+ background: var(--lb-dynamic-background);
2594
+ }
2549
2595
  }
2550
2596
  }
2551
2597
 
@@ -2762,35 +2808,52 @@
2762
2808
 
2763
2809
  .lb-ai-chat-pending {
2764
2810
  user-select: none;
2765
- animation: lb-animation-shimmer-small 5s linear infinite;
2811
+ animation: lb-animation-shimmer-text 2s cubic-bezier(0.1, 0, 0.9, 1) infinite;
2766
2812
  }
2767
2813
 
2768
- .lb-ai-chat-message-thinking,
2769
- .lb-ai-chat-message-reasoning {
2814
+ .lb-ai-chat-message-thinking {
2770
2815
  inline-size: fit-content;
2771
2816
  max-inline-size: 100%;
2772
2817
  color: var(--lb-foreground-tertiary);
2818
+ transition-property: color;
2773
2819
 
2774
- &:where(.lb-ai-chat-pending),
2775
- :where(.lb-ai-chat-pending) {
2820
+ &:where(.lb-ai-chat-pending) {
2776
2821
  color: var(--lb-foreground);
2777
2822
  }
2778
2823
  }
2779
2824
 
2780
2825
  .lb-ai-chat-message-reasoning {
2826
+ position: relative;
2781
2827
  margin-block-end: calc(0.75 * var(--lb-spacing));
2782
2828
 
2829
+ &::after {
2830
+ content: "";
2831
+ position: absolute;
2832
+ inset: calc(-0.375 * var(--lb-spacing));
2833
+ border-radius: calc(0.75 * var(--lb-radius));
2834
+ pointer-events: none;
2835
+ transition-property: box-shadow;
2836
+ }
2837
+
2838
+ &:where(:has(.lb-collapsible-trigger:focus-visible)) {
2839
+ z-index: 1;
2840
+
2841
+ &::after {
2842
+ box-shadow:
2843
+ var(--lb-dynamic-background) 0 0 0 2px,
2844
+ var(--lb-accent) 0 0 0 4px;
2845
+ }
2846
+ }
2847
+
2783
2848
  :where(.lb-collapsible-trigger) {
2784
2849
  display: flex;
2785
2850
  gap: calc(0.25 * var(--lb-spacing));
2786
2851
  align-items: center;
2852
+ color: var(--lb-foreground-tertiary);
2853
+ transition-property: color;
2787
2854
 
2788
- &:where(:focus-visible) {
2789
- color: var(--lb-accent);
2790
-
2791
- :where(.lb-collapsible-chevron) {
2792
- color: var(--lb-accent-moderate);
2793
- }
2855
+ &:where(.lb-ai-chat-pending) {
2856
+ color: var(--lb-foreground);
2794
2857
  }
2795
2858
  }
2796
2859
 
@@ -2814,8 +2877,6 @@
2814
2877
 
2815
2878
  .lb-ai-tool {
2816
2879
  position: relative;
2817
- border-radius: var(--lb-radius);
2818
- box-shadow: inset 0 0 0 1px var(--lb-foreground-subtle);
2819
2880
 
2820
2881
  &::after {
2821
2882
  content: "";
@@ -2839,11 +2900,9 @@
2839
2900
 
2840
2901
  .lb-ai-tool-header {
2841
2902
  display: flex;
2842
- gap: calc(0.3125 * var(--lb-spacing));
2903
+ gap: calc(0.25 * var(--lb-spacing));
2843
2904
  align-items: center;
2844
2905
  inline-size: 100%;
2845
- block-size: calc($lb-button-size + var(--lb-spacing));
2846
- padding-inline: calc(0.5 * var(--lb-spacing));
2847
2906
  }
2848
2907
 
2849
2908
  .lb-ai-tool-header-icon-container,
@@ -2872,26 +2931,95 @@
2872
2931
 
2873
2932
  .lb-ai-tool-header-title {
2874
2933
  @include truncate;
2875
-
2876
- margin-inline-end: calc(0.25 * var(--lb-spacing));
2877
- color: var(--lb-foreground-secondary);
2878
- font-size: 0.9375em;
2879
-
2880
- &:where(:first-child) {
2881
- margin-inline-start: calc(0.3125 * var(--lb-spacing));
2882
- }
2883
2934
  }
2884
2935
 
2885
2936
  .lb-ai-tool-header-status {
2886
2937
  flex: none;
2887
- margin-inline-start: auto;
2888
- margin-inline-end: calc(0.1875 * var(--lb-spacing));
2889
2938
  color: var(--lb-foreground-moderate);
2890
2939
  }
2891
2940
 
2892
- .lb-ai-tool:where([data-result="error"]) {
2893
- box-shadow: inset 0 0 0 1px var(--lb-destructive-moderate);
2941
+ .lb-ai-tool:where(.lb-ai-tool\:variant-block) {
2942
+ border-radius: var(--lb-radius);
2943
+ box-shadow: inset 0 0 0 1px var(--lb-foreground-subtle);
2944
+
2945
+ :where(.lb-ai-tool-header) {
2946
+ block-size: calc($lb-button-size + var(--lb-spacing));
2947
+ padding-inline: calc(0.5 * var(--lb-spacing));
2948
+ color: var(--lb-foreground-secondary);
2949
+ }
2950
+
2951
+ :where(.lb-ai-tool-header-title) {
2952
+ font-size: 0.9375em;
2953
+
2954
+ &:where(:first-child) {
2955
+ margin-inline-start: calc(0.3125 * var(--lb-spacing));
2956
+ }
2957
+ }
2894
2958
 
2959
+ :where(.lb-ai-tool-header-status) {
2960
+ margin-inline-start: auto;
2961
+ margin-inline-end: calc(0.1875 * var(--lb-spacing));
2962
+ }
2963
+
2964
+ :where(.lb-ai-tool-content:not(:empty)) {
2965
+ padding: 0 calc(0.75 * var(--lb-spacing)) calc(0.75 * var(--lb-spacing));
2966
+ }
2967
+
2968
+ &:where([data-result="error"]) {
2969
+ box-shadow: inset 0 0 0 1px var(--lb-destructive-moderate);
2970
+ }
2971
+ }
2972
+
2973
+ .lb-ai-tool:where(.lb-ai-tool\:variant-minimal) {
2974
+ &::after {
2975
+ inset: calc(-0.375 * var(--lb-spacing));
2976
+ border-radius: calc(0.75 * var(--lb-radius));
2977
+ }
2978
+
2979
+ :where(.lb-ai-tool-header) {
2980
+ position: relative;
2981
+ inline-size: fit-content;
2982
+ max-inline-size: 100%;
2983
+ block-size: $lb-button-size;
2984
+ color: var(--lb-foreground-tertiary);
2985
+ transition-property: color;
2986
+
2987
+ &:where(.lb-ai-chat-pending),
2988
+ :where(.lb-ai-chat-pending) {
2989
+ color: var(--lb-foreground);
2990
+ }
2991
+
2992
+ /* Invisibly increase the header's hit target size */
2993
+ &::before {
2994
+ content: "";
2995
+ position: absolute;
2996
+ inset: calc(-0.375 * var(--lb-spacing));
2997
+ z-index: -1;
2998
+ }
2999
+ }
3000
+
3001
+ :where(.lb-ai-tool-header-icon-container) {
3002
+ margin-inline-start: calc(-0.125 * var(--lb-spacing));
3003
+ }
3004
+
3005
+ :where(.lb-ai-tool-header-title) {
3006
+ &:where(:not(:first-child)) {
3007
+ margin-inline-start: calc(-0.0625 * var(--lb-spacing));
3008
+ }
3009
+ }
3010
+
3011
+ :where(.lb-ai-tool-content:not(:empty)) {
3012
+ padding-block-start: calc(0.5 * var(--lb-spacing));
3013
+ }
3014
+
3015
+ &:where([data-result="cancelled"]) {
3016
+ :where(.lb-ai-tool-header) {
3017
+ color: var(--lb-foreground-moderate);
3018
+ }
3019
+ }
3020
+ }
3021
+
3022
+ .lb-ai-tool:where([data-result="error"]) {
2895
3023
  &:where(:has(.lb-ai-tool-header:focus-visible)) {
2896
3024
  &::after {
2897
3025
  box-shadow:
@@ -2900,13 +3028,18 @@
2900
3028
  }
2901
3029
  }
2902
3030
 
3031
+ :where(.lb-ai-tool-header),
2903
3032
  :where(.lb-ai-tool-header-status) {
2904
3033
  color: var(--lb-destructive);
2905
3034
  }
2906
- }
2907
3035
 
2908
- .lb-ai-tool-content:where(:not(:empty)) {
2909
- padding: 0 calc(0.75 * var(--lb-spacing)) calc(0.75 * var(--lb-spacing));
3036
+ :where(.lb-ai-tool-icon) {
3037
+ background: var(--lb-destructive-subtle);
3038
+ }
3039
+
3040
+ :where(.lb-ai-tool-header-icon-container) {
3041
+ color: var(--lb-destructive-secondary);
3042
+ }
2910
3043
  }
2911
3044
 
2912
3045
  .lb-ai-tool-inspector {
@@ -2977,7 +3110,7 @@
2977
3110
  }
2978
3111
  }
2979
3112
 
2980
- @keyframes lb-animation-shimmer {
3113
+ @keyframes lb-animation-shimmer-skeleton {
2981
3114
  from,
2982
3115
  to {
2983
3116
  mask-image: linear-gradient(
@@ -2999,25 +3132,25 @@
2999
3132
  }
3000
3133
  }
3001
3134
 
3002
- @keyframes lb-animation-shimmer-small {
3135
+ @keyframes lb-animation-shimmer-text {
3003
3136
  from,
3004
3137
  to {
3005
3138
  mask-image: linear-gradient(
3006
3139
  90deg,
3007
- #000 0%,
3008
- rgb(0 0 0 / 50%) 18%,
3009
- rgb(0 0 0 / 50%) 82%,
3010
- #000 100%
3140
+ rgb(0 0 0 / 75%) 36%,
3141
+ rgb(0 0 0 / 20%) 48%,
3142
+ rgb(0 0 0 / 20%) 52%,
3143
+ rgb(0 0 0 / 75%) 64%
3011
3144
  );
3012
3145
  mask-size: 300% 100%;
3013
3146
  }
3014
3147
 
3015
3148
  from {
3016
- mask-position: 200% 0;
3149
+ mask-position: 100% 0;
3017
3150
  }
3018
3151
 
3019
3152
  to {
3020
- mask-position: -100% 0;
3153
+ mask-position: 0% 0;
3021
3154
  }
3022
3155
  }
3023
3156
 
@@ -1 +1 @@
1
- .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%}
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 +1 @@
1
- {"version":3,"sources":["../../src/styles/dark/src/styles/dark/attributes.css","../../src/styles/dark/src/styles/dark/index.css"],"names":[],"mappings":"AAIA,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,CCqBE,qLAAA,oBAAA,CAAA,4BAAA,CAKA,+KAAA,uBAAA,CAAA,4BAAA","file":"attributes.css","sourcesContent":["/* 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","@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"]}
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 +1 @@
1
- @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%}}
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 +1 @@
1
- {"version":3,"sources":["../../src/styles/dark/src/styles/dark/media-query.css","../../src/styles/dark/src/styles/dark/index.css"],"names":[],"mappings":"AAEA,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,CCsBA,0CAAA,oBAAA,CAAA,4BAAA,CAKA,uCAAA,uBAAA,CAAA,4BAAA,CAAA","file":"media-query.css","sourcesContent":["@import \"./index\";\n\n@media (prefers-color-scheme: dark) {\n .lb-root {\n @include dark-styles;\n }\n}\n","@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"]}
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"]}