Tagify Versions Save

🔖 lightweight, efficient Tags input component in Vanilla JS / React / Angular / Vue

v4.26.0

2 weeks ago
  • [bugfix] in mix-mode, when pressing the ENTER key when typing non-tag text, there should be no tag entering edit-mode and also, entering edit-mode should should be allowed when the a11y.focusableTags setting it set to true and also the currently focusable element is a tag. (fixes #1331, fixes #1329) dbd7d77
  • fixes #1328 - setReadonly method should only blur if the current active element is that specific Tagify instance. This might not work if an external button was used to trigger this method. 69eb547
  • Added gulp-nunjucks devDependencies in order to completely refactor the index.html demos page
  • Added new Gulp task for compiling the homepage index.html containing all the examples
  • Added a new Gulp task for watching & compiling all the examples, individually, so each example could be used for testing purposes eacaa77

https://github.com/yairEO/tagify/compare/v4.25.1...v4.26.0

v4.25.1

3 weeks ago
  • Added files from the dist folder to the exports property in package.json. Seems like recent addition of the exports property had caused issues for some users when trying to import the CSS file which was not included in the exports and so I've added all the files, just in case fa82144
  • Added missing export for css file in package.json 58eaa24
  • Update README.md top screen captures to have links c4c2013

https://github.com/yairEO/tagify/compare/v4.25.0...v4.25.1

v4.25.0

3 weeks ago
  • [chore[ replaced unmaintained pkg-ok pre-check lib with package-json-validator (pjv) 0833599
  • Added a link for the RTL example in the demos page for the features section in the README file 02ff494
  • Replaced demo gif in the README with an APNG recording of another, better, Tagify example 92f6434
  • [bugfix] when editing a tag, pressing backspace key should not remove any tags b059350
  • [chore] re-instated react.tagify.js file in dist folder 1a9d1ab
  • [chore] minor change in index.html demos file afba253
  • Re-instated React pre-bundling as some users have reported their bundlers cannot handle unbundled 3rd-party modules with ES6 code imports mixed with commonjs. Output file saved in: ./dist/react.tagify.jsx 80a2af8
  • fixes #1295 - when calling removeTags method when there are no tags, there should not be an error in the console due to tagElms variable equals to[undefined] and not [] 2637510
  • [bugfix] select-mode should not re-show the dropdown once an option has been selected using the keyboard 4d3edf0
  • [bugfix] select-mode should support ENTER key for deleting current tag (when X button is in focus) and also KEYDOWN should toggle the dropdown so it's visible ff37bbf
  • Refactored wrapper HTML template by extracting the input into its own template function c52c6e3
  • [feat] added keyboard ENTER support for deleting selected tag using TAB navigation when in select-mode e0c6380
  • Fixed tagify.js file-path after recent search & replace mistake a868247
  • Replaced tagify.min.js script in index.html examples page to tagify.js c1fc042
  • [bugfix] when a suggestion is selected the suggestions dropdown should refilter itself to replenish the suggestions to reach to dropdown.maxItems setting ae8185b
  • replaced all tagify.min.js scripts in the test HTML files to tagify.js b185d7c
  • added additional exports to package.json to alias the deprecated tagify.min.js path to the new file name af08d05
  • fixes #1321 - clicking selected tags toggled the dropdown. it shouldn't affect the dropdown. 7c9a8e9
  • gulpfile main file output changed from tagify.min.js to tagify.js ed900bc
  • [chore] - README: simplified the way the React port is imported (@yaireo/tagify/react) 02a59cb
  • Added exports property in package.json for easier imports for the React port and also to eliminate errors after recent breaking-changes to the react.tagify.jsx file which is not in the dist folder d12daa6
  • [bugfix] getWhitelistItem method did not take into consideration whitelist array consisting of primitives of type number 99af32b

https://github.com/yairEO/tagify/compare/v4.24.0...v4.25.0

v4.24.0

1 month ago
  • Bugfix - when tags are styles to render "outside" of the tagify component, the dropdown should not be visible when clicking outside the input box 6779018
  • Updated the "Easy to customize" example in the demos page to improve some styles regarding the "remove tag" button appearance f5b8ac5
  • Bugfix - selecting an option with value:0 should work as expected 463a77a
  • Minor CSS change to tag's max width 57ba284
  • Fixes #1312 - clicking on the right side, inside an empty tag, should focus out the tag and hide the dropdown also 958b769
  • Added a new setting - focusable 65187c5
  • Simplified the condition because dropdown.enabled is changed to 0 automatically if userInput is set to false by the applySettings method caae620
  • [chore] comment alignment f82b102
  • cursor: text CSS property should only be applied if Tagify has an editable node within 3d36780
  • Fixes #1316 - The React port should be able to update callbacks references and remove old ones 7b97280
  • Example for removing all events callbacks d4264fe
  • Added a this.removeAllCustomListeners as a cleanup stage inside the destroy method d787493
  • Added ability to remove all the events listeners for a specific type of an event, without specifying the callbacks as they are saves internally - Added ability to remove all the events assigned on the instance c08a3d1
  • Fixed a README mistake where react.tagify should be imported from the src folder and not dist 619dba5

https://github.com/yairEO/tagify/compare/v4.23.0...v4.24.0

v4.23.0

1 month ago
  • Fixes #1314 - setting userInput to false has no effect in select mode f02d911
  • Added userInput setter/getter to dynamically change the setting after initialization 10fb5a4
  • fixes #1315 - Add ability to change placeholder after initialization efadc70
  • refactored ​ from templates into constants file aa61a38
  • Removed all occurrences of the deprecated Tagify.logger.enabled 62319cb
  • Replaced this with globalThis in es6-promise.js polyfill file after an error started to happened due to recent gulpfile changes: "The 'this' keyword is equivalent to 'undefined' at the top level of an ES module" 45c9166
  • Refactored the logger to be in the helpers file 6b64e6e
  • Deleted tagify.js from './dist as there is now only tagify.min.js. * Deleted jQuery.tagify.min.js as the jQuery port have been deprecated 6267add
  • Removed the deprecated jQuery example 75fe297
  • Replaced Babel with SWC
  • Upped minimal node version from 14.20 to 16.15
  • Updated Gulp from v4 to v5
  • Refactored gulpfile
  • Updated @rollup/stream package
  • Replaced unmaintained rollup-plugin-terser with @rollup/plugin-terser
  • Removed all peerDependencies in package.json 8e4a93b
  • Split event variable in onWindowKeyDown method to isFocused & lostFocus for better clarity and prevent possible mix-ups d2c78cb

Breaking Changes:

  • Deprecated jQuery port entirely.
  • Deprecated the React pre-bundled file in /dist/. Please use the source file from /src/react.tagify.jsx instead.

https://github.com/yairEO/tagify/compare/v4.22.2...v4.23.0

v4.22.2

1 month ago
  • fixes #1309 - focusing on the edge of Tagify should not create a tag. This is becuase the event was coming form the Tagify wrapper itself and the text variable was not specific enough when getting the input's text 00a96ba

https://github.com/yairEO/tagify/compare/v4.22.1...v4.22.2

v4.22.1

1 month ago
  • fixes #1307 - dropdown suggestions list isn't updated when search text changes 7708846
  • fixes #1301 - addMixTags method was using an undeclared variable. 4387cf8
  • added import example for React Tags & MixedTags components 57ee338

https://github.com/yairEO/tagify/compare/v4.22.0...v4.22.1

v4.22.0

2 months ago
  • fixes #996 - rephrased license restrictions for rebradning and selling the software eb7098a
  • minor code adjustment for select mode 8cd82a3
  • changed the focus and blur events for the input element to global focusin & focusout events because they can be propagated, and more flexible to work with because it doesn't resrict working only with the input element 669ed81
  • dropdown.show() method should do nothing if this.state.dropdown.visible is true 65abbb9
  • select mode should not auto-complete when pressing the TAB button because the autocomplete method cannot currently work for select mode since it only works for the input element which is hidden in select mode 10078f1
  • fixes #1296 - Updated templates file to allow select mode to have focus when being "Tabbed" into, by giving the tag's text node a contenteditable which makes it recieves focus aca03a0
  • added new helper method isWithinNodeTag to test if a certain node is nested inside a tag element d9595c9
  • fixed a minor issue in the "Easy to customize" demo section, where edited tag's text was breaking into a new line due to CSS pushing the X button over it 44fee24
  • updated packages 7ed4a07

https://github.com/yairEO/tagify/compare/v4.21.2...v4.22.0

v4.21.2

2 months ago
  • fixes #1303 - setting skipInvalid to true and enforceWhitelist also to true should not skip the adding logic if input is invalid and 5d58fbf
  • added Tagify.logger.enabled = true; to all test files and main demos page 3bc3361
  • fixes #1295 - added Tagify.logger static method to the constructor (disabled by default) and routed all console.warn statements in the code to it. 8c65593

https://github.com/yairEO/tagify/compare/v4.21.1...v4.21.2

v4.21.1

3 months ago
  • dropdownItemNoMatch content should not have empty spaces as it will show up in the HTML when injected 229d0e1
  • added custom validation setting to the mix mode example 283d512
  • refactored logic for post-processing a tag node which was just added to the DOM. 7635a44

https://github.com/yairEO/tagify/compare/v4.21.0...v4.21.1