changed implementation to use TypeScript
Updated the info with the new feature using TypeScript and added demo link