All notable changes to this project will be documented in this file.
- Add
Intl.Segmenter
polyfill to support Firefox
- Prevent multiple emojis in a row from being (un)typed all at once
- Write/unwrite emojis as a whole instead of byte-by-byte (#11)
- Trigger "done" event on loop mode each time text gets fully erased
- Adjust package publish settings
- Use proper return types on svelte actions
- Update dependencies
- Solve conflicts when resolving svelte source files
- Emit
done
event on concurrent mode withkeepCursorOnFinish
- Add missing word on installation instructions hint
- Use docker buildkit subcommand instead of environment variable
- Update
tagit
to version 0.7.0
- Include javascript files when publishing to npm
- Include definition files when publishing to npm
- Automaticaly generate package before publishing to npm
- Adjust entry point component path
- Adjust summary items indentation level
- Allow setting cursor timeout after animation ends
- Include modes and helpers when publishing to npm
- Adjust path of entry point file
- Replace deprecated config option
- Update demo url
- Add pada to the projects showcase
- Remove sourcehut migration notice
- Migrate project structure to SvelteKit
- Set base path on correct config property
- Update repository URLs on
package.json
- Separate author name from email in
package.json
- Update dependencies
- Export animation directives instead of their types
- Remove unnecessary
accessors
option from component - Migrate example project deployments to sourcehut pages
- Include animation modes functions on type definitions
- Fix markdown table formatting on sourcehut
- Fix showcase projects logos breaking on sourcehut
- Re-add getters and setters on example project
- Ensure unused props fallback to their default values
- Add notice about sourcehut migration
- Make
git-cliff
sort git tags chronologically - Remove dangling release docker images before building
- Remove getters and setters from example project props
- Allow keeping cursor after animation has finished (#64)
- Re-add
git-cliff
configuration file
- Optimize warnings of unnecessary prop usage
- Allow showing cursor during delay period (#61)
- Properly display loop modes props on example project
- Wrap component child elements on a div when disabled
- Update the default values of mode-specific props
- Add one-time loop mode (#46)
- Prevent loop modes from hiding static elements
- Add plebeian.market to the "Used by" section
- Add usage instructions for directive-based animation modes
- Allow using animation modes through Svelte directives
- Remove references to nonexistent
isScrambleMode
variable
- Update demo url
- Allow specifying the container element tag (#43)
- Add Fronvo to the "Used by" section
- Remove unneeded attributes from SVG links
- Fix formatting on the "Modes" table
- Allow disabling the typewriter animation (#77)
- [breaking] Add
mode
prop for setting the animation mode
- Replace
npm
withpnpm
as package manager - Remove
git-cliff
config file - Setup example application deploy process
- Replace vitebook with example project
- Reinitialize component when props are changed
- Update
Unexpected token
FAQ description and solution - Add link to issue 73 on
Unexpected token
FAQ
- Allow changing the cursor width (#78)
- [breaking] Set cursor color through CSS variable instead of
cursor
prop
- Simplify version release process
- Replace example project with Vitebook
- Set typewriter component as commonjs entrypoint #73
- Add jest
Unexpected token
issue to FAQ section
- Use style directive to pass cursor color to css
- Render children elements when js is disabled
- Update dependencies
- Include types on npm releases
- Add component typings
- Ensure scrambled text always ends like the expected text
- Prevent static elements from being hidden during delay
- Include FAQs on summary
- Highlight prop types
- Add section for projects using
svelte-typewriter
- Properly align dependent projects logos
- Open dependent projects links on a new tab
- Include "Child attributes" section on summary
- Add
unwriteInterval
prop for loop modes
- Add usage examples for
unwriteInterval
prop
- Pass
parentElement
parameter when calling itself recursively
- Properly animate elements containing a single text node
- Update dependencies
- Replace
svelte-routing
withtinro
- Lock
svelte
version on 3.38.0 - Add note regarding semantic versioning on header
- Show commits scope
- Remove square brackets around versions
- Document the
data-static
attribute
- Allow specifying static elements inside typewriter component (#41, #49)
- Bump
svelte-typewriter
version on example lockfile before release
- Remove unnecessary
cleanChildNodes
helper
- Set svelte 3.28.x as
peerDependency
#60
- Create FAQs section
- Update package version on lockfile
- [breaking] Re-add scramble and solve previous implementation issues (#35, #37)
- Add "change preview" step on contribution guide
- Include missing import on "Usage" section
- Remove unnecessary section from summary
- Re-add scramble mode props to their respective sections
- Remove old build script
- Remove unnecessary dependency
- Remove svelte-preprocessor-esbuild (lukeed/svelte-preprocess-esbuild#4)
- Remove redundant script
example:start
from package.json - Remove esbuild (#38)
- Set
start
script tovite preview
(#38) - Include example build output on .gitignore
- Adjust favicon path
- Remove
example:
prefix from scripts - Remove unnecessary package
rimraf
- Rewrite example files in js with JSDoc typings
- Change favicon path
- Remove unnecessary package.json fields
- Replace
yarn
withnpm
- Install example project dependencies on
postinstall
- Import
svelte-typewriter
through local dependency instead alias - Set vite svelte plugin as devDependency instead dependency
- Replace
auto-changelog
withgit-cliff
- Update
package.json
scripts to use--prefix
instead ofcd
- Remove
cross-env
fromdevDependencies
- Update
husky
to7.0.4
- Remove
post-push
git hook - Amend changelog to include current commit
- Update dependencies
- Create a separate section for breaking changes
- Update changelog file name to be staged
- Include missing version header on release entries
- Simplify release process with
npm version
- Tag release commit after changelog
- Add descriptive comment to each git hook
- Allow specifying custom version
- [breaking] Remove scramble mode
- Avoid circular dependencies (#35)
- Remove unused parent element references (#35)
- Remove unneeded types (#35)
- Convert example project to typescript (#35)
- Add alias for svelte-typewriter src
- Convert example components to typescript (#35)
- Rewrite lib files in js with JSDoc typings
- Replace import aliases with relative paths
- Get all child elements instead just top-level ones
- Adapt modes to properly animate nested elements
- Remove unnecessary "any" types
- Remove duplicated "isInRange" helper types
- Bump dependencies
- Remove unnecessary cursor hiding function
- Switch from default to named exports
- Add a component for each animation mode
- Bump dependencies
- Add import alias
- Replace cursor radio button by color picker
- Convert "utils" into separated "helpers" (#33)
- Convert helpers and modes to typescript (#33)
- Add proper types for helpers and modes (#33)
- Add writeEffect
- Modularize cursor hiding module (#33)
- Integrate loop logic into "writeEffect" (#33)
- Unify loop and loopRandom modes
- Modularize "getLongestTextElement"
- Return Element rather TypewriterElement
- Unify both cascade and default modes (#33)
- Modularize getRandomElement from loop mode (#33)
- Reinitialize component on state update
- Properly filter innerHTML tags, closes #32
- Escape ampersand unicode entity, closes #31
- Bump dependencies
- Output css to ./public/build
- Preserve element attributes (#29)
- Preserve element attributes, closes #29
- Re-add cursor, closes #30
- Add contribution steps
- Set changelog template to "keepachangelog"
- Bump dependencies
- Properly animate single text nodes
- Add "loopMode" details #23
- Improve description of "loop" and "loopRandom"
- Write jsdoc annotations for "cleanChildNodes"
- Dedupe "typewriterEffect"
- Dedupe "cleanChilNodes"
- Add "loopRandom" mode #23
- Bump rollup from 2.32.1 to 2.33.0
- Automate pushing of git tags to remote
- Remove "git push" from "post-commit" hook
- Bump dependencies
- Rewrite changelog generation scripts
- Add missing import on example
- Bump dependencies
- Solve animation issue with multiple elements
- Properly animate single text elements on scramble mode
- Properly emit "done" event
- Add npm stats badges
- Add notice about dynamic imports issue on rollup #21
- Move jsdoc annotations into a single file
- Add
scramble
mode details
- Add proof-of-concept version of scramble mode
- Split scramble mode into smaller functions
- Simplify helper functions
- Solve regression in package.json
files
field #18
- Add jsdoc annotations to animation modes
- Add
delay
prop details
- Implement
delay
prop
- Remove changelog "Unreleased" section on
publish
script
- Solve single text node elements regression
- Annotate
utils
andtypewriter-effect
with jsdoc #15
- Bump node-fetch from 2.6.0 to 2.6.1
- Add favicon
- Add build script to pre-commit hook
- Bump node-fetch from 2.6.0 to 2.6.1
- Implement new architecture PoC #15
- Modularize modes and actions #15
- Simplify
getElements
function - Replace mode components with actions #15
- Move cursor styles to Typewriter.svelte
- Remove unnecessary code
- Split non-loop into default and cascade modes
- Update "Modes" and "Event listeners" sections
- Refactor changelog generation script
- Bump dependencies
- Change loop mode behavior to use all child tags
- Solve imprecise trigger of
on:done
event on default mode
- Refactor documentation
- Solve problem with on:done listener on loop mode
- Modify options related to changelog generation
- Include "Unreleased" commits on changelog
- Add husky pre-push hook for changelog generation
- Update CHANGELOG.md
- Add prettier script to husky hooks
- Simplify conditional expressions
- Bump "auto-changelog" from 1.16.2 to 2.2.0
- Add "build" directory to .gitignore
- Add prettier linting script
- Add typings to rollup config
- Solve animation issue on nested DOM elements
- Add
example
directory for testing purposes
- Change svelte version from latest to 3.x
- Bump svelte from 3.17.2 to 3.18.2
- Add
on:done
section, closes #8
- Implement animation callback event #8
- Add "Made with Svelte" badge
- Update directives deprecation notice
- Add demo repl for
cursor
option - Remove directives deprecation notice
- Add repl link for
loop
option
- Document
cursor
option #7
- Simplify verification of animation props
- Resolve
use
directive not working on single text node elements
- Document the "directive-based" animation approach
- Remove unused properties from default parameters object
- Create
use:typewriter
directive, closes #6
- Rewrite typewriter function for svelte
use
directive
- Change the default value of
loop
to false
- Add custom timing array to
interval
section, closes #4
- Enable custom timing on
interval
#4
- Prevent flash of unstyled content
- Add
loop
option, closes #3
- Change CHANGELOG generation commit message
- Add auto-changelog
version
script
- Update svelte version on demo link
- Add separated demos for each option
- Add
interval
andcascade
options
- Add PR's welcome badge
- Update the main field