composeai 0.1.7 → 0.1.9

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "composeai",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "The modern React composer for AI applications — a drop-in Lexical-powered chat input with markdown, mentions, slash commands, attachments, voice, streaming stop, and opt-in plugins for copilots, chatbots, and agent UIs.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
package/src/composer.css CHANGED
@@ -851,6 +851,37 @@
851
851
  text-overflow: ellipsis;
852
852
  }
853
853
 
854
+ /* Animated (typewriter) placeholder — a blinking caret trails the revealed
855
+ * text so the empty editor reads as if it's being typed into live. The caret
856
+ * is a pseudo-element so it never becomes part of the placeholder string. */
857
+ .composer-placeholder--animated::after {
858
+ content: "";
859
+ display: inline-block;
860
+ width: 1px;
861
+ height: 1em;
862
+ margin-inline-start: 1px;
863
+ vertical-align: text-bottom;
864
+ background: currentColor;
865
+ opacity: 0.8;
866
+ animation: composer-caret-blink 1.1s steps(1, end) infinite;
867
+ }
868
+ @keyframes composer-caret-blink {
869
+ 0%,
870
+ 50% {
871
+ opacity: 0.8;
872
+ }
873
+ 50.01%,
874
+ 100% {
875
+ opacity: 0;
876
+ }
877
+ }
878
+ @media (prefers-reduced-motion: reduce) {
879
+ .composer-placeholder--animated::after {
880
+ animation: none;
881
+ opacity: 0;
882
+ }
883
+ }
884
+
854
885
  .composer-inline-row {
855
886
  display: flex;
856
887
  align-items: center;