# Changelog of version 7


## [7.12.0](https://github.com/Patternslib/patterns/compare/7.11.0...7.12.0) (2022-05-13)


### Features

* **core dom:** Add get_data and set_data methods to get or set data directly on DOM nodes. ([1c21f05](https://github.com/Patternslib/patterns/commit/1c21f05eb1a312d3c8ea4df1c29517b3c3ec5c6d))

* **pat close-panel:** New technical/internal pattern to close panels. ([0c9231d](https://github.com/Patternslib/patterns/commit/0c9231d34b438dcc975c050f2c2bb11cc2541621))
Add new pattern close-panel for internal use to close panels.
This allows to initialize the close buttons after content injections.
It also allows for nested panels where a later opened panel doesn't close a previous opened panel.


### Bug Fixes

* **pat notification demo:** Place close-button in each notification seperately. ([2c57e3c](https://github.com/Patternslib/patterns/commit/2c57e3ccfd9ba9657c347aec4d523a9463f66f7c))


### Maintenance

* **Build:** Supress console log messages in tests where HTMLFormElement.prototype.submit is not implemented. ([a3bdc78](https://github.com/Patternslib/patterns/commit/a3bdc7866a151ddf00344cd1231e1a1e23b4e1a2))

* **Build:** Upgrade dependencies. ([22129ea](https://github.com/Patternslib/patterns/commit/22129ea7d76b24d0fa581ae085c8f418fb7fea27))

* **pat calendar:** Change console.log statement to a debug statement. ([92a5999](https://github.com/Patternslib/patterns/commit/92a5999ccf9107cc1e44def804433cc99e4c2f83))

* **pat modal:** Add numbers to test case names for easier starting individual cases. ([62a38c9](https://github.com/Patternslib/patterns/commit/62a38c9d196a2e6502bdc5a67f265791d19ed78e))

* **pat modal:** Use new close-panel pattern for closing modals. ([4a6029d](https://github.com/Patternslib/patterns/commit/4a6029d5f34b22d3895c548c5e34c8be32091620))

* **pat notification:** Code simplification and modernization. ([f9d1492](https://github.com/Patternslib/patterns/commit/f9d14923161c3a4937d9c0b1bca9edf61377b269))

* **pat notification:** Use new close-panel pattern for closing notifications. ([b186066](https://github.com/Patternslib/patterns/commit/b186066666c60c3bffc4f286b0b2ae4a327faa57))

* **pat tooltip:** Fix demo to use the referenced tooltip content. ([6013b4b](https://github.com/Patternslib/patterns/commit/6013b4bfd403e054d813a62c66142d57843f12f5))

* **pat tooltip:** Use new close-panel pattern for closing tooltips. ([ca9fc9c](https://github.com/Patternslib/patterns/commit/ca9fc9ceb4cc9eaa6788a53326a7c4dab2d2c27d))


## [7.11.0](https://github.com/Patternslib/patterns/compare/7.10.0...7.11.0) (2022-05-06)


### Features

* **core events:** Add mousedown and mouseup event factories. ([62e1978](https://github.com/Patternslib/patterns/commit/62e1978e9e1ad1cc661c87adc83c6b713f1a2f6c))

* **core parser:** Allow values to span multiple lines. Can be useful to nicely format bigger JSON values. ([54a10c5](https://github.com/Patternslib/patterns/commit/54a10c51ec46712ee2852715e56f3eca5f8939ce))


### Bug Fixes

* **pat auto suggest:** Fix regression introduced in 7.0 where auto suggest wasn't able to handle pre-filled json items properly. ([4c39332](https://github.com/Patternslib/patterns/commit/4c393324f97823f1c5adc031bbd8b5f08c287016))


### Maintenance

* **docs:** Add note to Makefile about GITHUB_TOKEN in .env file. ([2d10732](https://github.com/Patternslib/patterns/commit/2d107328760fe963a07f77b74592e244f628fdcf))


## [7.10.0](https://github.com/Patternslib/patterns/compare/7.9.0...7.10.0) (2022-05-05)


### Features

* **core utils:** Add is_iso_date_time method to check for valid ISO 8601 date/time strings. ([d9fcfac](https://github.com/Patternslib/patterns/commit/d9fcfac6774561ffbef77c4383dd755d2865ac4a))


### Bug Fixes

* **pat validation:** Also validate date/time inputs when the value is empty. ([39249b2](https://github.com/Patternslib/patterns/commit/39249b23c6511990a1eb6965b9f2f03dfd7dd682))
This clears eventual validation errors when the date input is cleared.

* **pat validation:** Fix issue where Google Chrome would interpret an invalid date value like "ok-1" as a valid date. ([0fb2359](https://github.com/Patternslib/patterns/commit/0fb2359992ed1fca8574fefb6f6d3f7a275aa270))


## [7.9.0](https://github.com/Patternslib/patterns/compare/7.8.0...7.9.0) (2022-04-28)


### Features

* **pat push:** Add support for desktop notifications. ([009b7a9](https://github.com/Patternslib/patterns/commit/009b7a9cbf0158ff652a305d15715f4a8f767187))

* **pat push:** Added the option to append the fetched content at the end of the pat-push element ([6e3c6dc](https://github.com/Patternslib/patterns/commit/6e3c6dcf296692f3d3d1832638f2fe69ff3d9a78)), closes [#876](https://github.com/Patternslib/patterns/issues/876)
Fixes #876

* **pat push:** Scan the injected element for patterns. ([8c75fa1](https://github.com/Patternslib/patterns/commit/8c75fa17719afe5c083cdc5db02170ca5f1d6ed6))


## [7.8.0](https://github.com/Patternslib/patterns/compare/7.7.0...7.8.0) (2022-04-15)


### Features

* **pat tooltip:** Initialize the tooltip's content after each refresh via get_content. This re-initializes any patterns after an update to the tooltip's contents. ([665bea5](https://github.com/Patternslib/patterns/commit/665bea5d5656eb913412c9577b886bc6683a6660))


### Maintenance

* **Build:** Remove customized main changelog template as due to conventional-changelog 4.3.0 the previous header's line break is preserved. ([9e8ecbd](https://github.com/Patternslib/patterns/commit/9e8ecbd42e2b029acb67168ad617aad8993ff10d))

* **Build:** Upgrade dependencies. ([9ea9c21](https://github.com/Patternslib/patterns/commit/9ea9c215ccd71dd561e6a6c67494f098e5f5201b))

* **pat tooltip:** Use add_event_listener from core.events which better handles double registrations and makes it easier to unregister event handlers. ([fe0f0d7](https://github.com/Patternslib/patterns/commit/fe0f0d714a839f3c67b2dfad4b0f8d8fc4b507c3))


## [7.7.0](https://github.com/Patternslib/patterns/compare/7.6.0...7.7.0) (2022-04-12)


### Features

* Introduce ``disable-patterns`` class to prevent from initializing. ([5f137f0](https://github.com/Patternslib/patterns/commit/5f137f0adc8f254a1904148ce7eae66295b23f93))
To disable patterns when scanning markup for patterns, use the ``disable-patterns`` CSS class.

Previously we did use the ``dont-touch-this`` class.
This is deprecated due to a ambiguous name and will be removed in the next major version.


### Bug Fixes

* **Build:** Fix changelog template. ([96f7bac](https://github.com/Patternslib/patterns/commit/96f7bacfc94c30f132d1b9bd175fd499b1162eac))
Since conventional-changelog 4.2.0 the previous header is merged to the
end of the new changelog entry block.
This is documented here: https://github.com/release-it/conventional-changelog/issues/46
As long as this issue is not resolved, we're adding a ``#`` at the end
of the changelog block, intending the previous entry in the heading
hierarchy, but that's better than a even more messed up changelog file.


## [7.6.0](https://github.com/Patternslib/patterns/compare/7.5.0...7.6.0) (2022-04-08)


### Features

* **pat tooltip:** For ajax requests, define the accept header. ([a65642e](https://github.com/Patternslib/patterns/commit/a65642ebe4d478bf5591ce23b0075712b1087bf9))
We're expecting HTML or XML as the response.
This solves a problem with ``*/*`` or json requests being handled by plone.restapi only.

* **pat tooltip:** Support query strings in remote tooltip content URLs. ([252ee17](https://github.com/Patternslib/patterns/commit/252ee17a155629b5b6141d708f54a23ae9278276))


### Bug Fixes

* **Build:** Fix changelog template as per @release-it/conventional-changelog v4.2.0 the header was improperly appended at the end of the new changelog entry. ([276b2d5](https://github.com/Patternslib/patterns/commit/276b2d5253742af7d7d7eef349568a663b2d9aa7))


### Maintenance

* **Build:** Upgrade dependencies. ([900eedb](https://github.com/Patternslib/patterns/commit/900eedb47112aba2e8b1b96f31888510af066436))


## [7.5.0](https://github.com/Patternslib/patterns/compare/7.4.0...7.5.0) (2022-04-01)


### Features

* **pat tooltip:** Expose get_content API method and allow to reload the tooltip's content. ([16ba9c1](https://github.com/Patternslib/patterns/commit/16ba9c12d6e8683f5e689a61dbc4cf3e585094ee))


### Bug Fixes

* **pat inject tests:** Fix one failing test in GH actions, where document is null. ([0f8d4aa](https://github.com/Patternslib/patterns/commit/0f8d4aaa1a334c682fce3b1d4703553591d1b4ef))


### Maintenance

* **Build:** Upgrade dependencies. ([21b911f](https://github.com/Patternslib/patterns/commit/21b911ffab4eff6cbcd765ddcf85eb192d52ad7d))

* **pat inject:** Minor code improvements. ([8f507ab](https://github.com/Patternslib/patterns/commit/8f507ab7c6451d0aaf0622297b8cbd343fac959b))

* **pat inject tests:** Restore all mocks. ([82cc049](https://github.com/Patternslib/patterns/commit/82cc049d12469fda8d7db2d310d1f92fce4c2cee))

* **pat tooltip:** Remove ajax_state. With async/await based loading we do not need to set the ajax_state to avoid multiple ajax calls. ([b5deb4b](https://github.com/Patternslib/patterns/commit/b5deb4becd9f10f7ff948216679abaa18f1f9cf1))

* **pat tooltip tests:** Add numbers to test cases so that they can be esier run selectively by filtering. ([72611af](https://github.com/Patternslib/patterns/commit/72611afe0953939e4ac81bac74a9706628e5c520))

* **pat tooltip tests:** Restore all mocks completly after each test run. ([8edba74](https://github.com/Patternslib/patterns/commit/8edba744c9ece324b83db12ccfb4a429cc56e3e5))


## [7.4.0](https://github.com/Patternslib/patterns/compare/7.3.0...7.4.0) (2022-03-24)


### Features

* **core parser:** Also convert on/off values to boolean for boolean arguments. ([985f4e2](https://github.com/Patternslib/patterns/commit/985f4e23716ce1509b2a4217ca046906414ca57f))

* **pat ajax:** Allow caching of ajax requests by using the option cache which can be set to caching or no-caching. ([49dbecf](https://github.com/Patternslib/patterns/commit/49dbecff6a2189092b1d83b0d3d0c8f490e9290f))

* **pat inject:** Allow caching of ajax requests by using the option cache which can be set to caching or no-caching. ([8376c56](https://github.com/Patternslib/patterns/commit/8376c5612464071825cbe380a059363570846685))


### Bug Fixes

* **pat inject:** Fix logic for adding executing-class to the pat-inject element. ([e8531de](https://github.com/Patternslib/patterns/commit/e8531de0e4bc2a4626d8c8aa702415975f4c58f4))


### Breaking Changes

* **core pluggable:** Remove unused pluggable module. ([c5c2e1b](https://github.com/Patternslib/patterns/commit/c5c2e1b2f938a1be1e78574a8f7987d224e57088))


### Maintenance

* **Build:** Upgrade dependencies. ([e5b8fe4](https://github.com/Patternslib/patterns/commit/e5b8fe4bf838f0ff14e279cdf71eb1d23c634b49))

* **Build:** Use node version 16 and upgrade setup-node and checkout actions. ([3c98bfa](https://github.com/Patternslib/patterns/commit/3c98bfa2137b15c6159f56e8c8adecd859992ba8))

* **core base:** Un-underscore core.base tests. ([4a0ad4b](https://github.com/Patternslib/patterns/commit/4a0ad4b5187dcfe6bd3567a4c8917482f0a66d12))

* **core logging:** Cleanup - remove IE8 compatibility code for console.log. ([da0d9d9](https://github.com/Patternslib/patterns/commit/da0d9d92c5f5315b1ea7f1016ea7440c97c8a316))

* **core parser:** Un-underscore core.parser tests. ([5faec93](https://github.com/Patternslib/patterns/commit/5faec93378edab0abc23878c9fbb5204ae144ad5))

* **core utils:** Un-underscore core.utils. ([cd9c00d](https://github.com/Patternslib/patterns/commit/cd9c00d02d0f4a0c42befd1f1090a768c60370c7))

* **Dependencies:** Remove now unused dependency Underscore.js. ([874c6c1](https://github.com/Patternslib/patterns/commit/874c6c15ae54ac8acc2310e9ed0fd82dc4eef3b4))

* **pat inject:** Remove console.log statements from tests. ([3db47fe](https://github.com/Patternslib/patterns/commit/3db47fe6c9367bdf17bb5a47939367ad47a174a6))

* **pat inject:** Un-underscore pat-inject. ([584420c](https://github.com/Patternslib/patterns/commit/584420ce5f77b1afaa0c84cee11d1dc36b133b88))

* **pat navigation:** Remove console.log statement from tests. ([a20fbd4](https://github.com/Patternslib/patterns/commit/a20fbd4c051d6f619f33a5af2d219c560653e7a3))


## [7.3.0](https://github.com/Patternslib/patterns/compare/7.2.0...7.3.0) (2022-03-17)


### Features

* **core base:** Add one event listener to listen for Pattern events only once. ([1028a6d](https://github.com/Patternslib/patterns/commit/1028a6d3a2a15dd72d62b9652e4d39e3c98577e8))

* **core dom:** Add a fallback option to find_scroll_container to return something else than document.body if no other scroll container can be found. ([ac220fd](https://github.com/Patternslib/patterns/commit/ac220fd2a38c50acc27b0abe6f900077d4fa9bbb))

* **core events:** Add await_event for using await statements to wait for an event to happen. ([1e264c1](https://github.com/Patternslib/patterns/commit/1e264c1fe301beb4b9f95614ffc4e3f000cf570f))

* **core events:** Add await_pattern_init helper which can be used to await the event when a pattern instance is initialized. ([ac371e0](https://github.com/Patternslib/patterns/commit/ac371e0ecc57ffd204cfaef1be5b44f266c94fe2))


### Bug Fixes

* **pat bumper:** Fallback to null if no scroll container can be found. Fixes a problem with initalization of the IntersectionObserver introduced in 7.2.0. ([c04ea75](https://github.com/Patternslib/patterns/commit/c04ea752f47609f06368b73b6ca3783bc108b55f))


### Maintenance

* **pat bumper:** Minor code cleanup. ([edfec61](https://github.com/Patternslib/patterns/commit/edfec619e7c54786b5a82914dce8efaf7fd2c3c8))


## [7.2.0](https://github.com/Patternslib/patterns/compare/7.1.3...7.2.0) (2022-03-16)


### Features

* **core dom:** Add ``find_scroll_container`` to find a scrollable element up in the DOM tree. ([d9eef9e](https://github.com/Patternslib/patterns/commit/d9eef9ec9af4e189f6da91d860fa671f8cc4aa92))

* **pat inject:** Rework autoload-visible to use an IntersectionObserver. ([4f26006](https://github.com/Patternslib/patterns/commit/4f260066f9b66a12540e6360d02ab2135870a46b))
The autoload-visible trigger of pat-inject now uses an IntersectionObserver.
This simplifies the code and improves performance because there are no more complex position calculations involved.

Fixes: https://github.com/Patternslib/Patterns/issues/955
* **pat inject:** Support delay time for trigger: autoload-visible. ([d951817](https://github.com/Patternslib/patterns/commit/d951817b7ab165deeea2014c8b353dcbfb9fd9b0))


### Maintenance

* Upgrade dependencies. ([2590bcf](https://github.com/Patternslib/patterns/commit/2590bcf109e91a7d4f44e3def76b15f4bd3c39e9))

* **core dom:** Move utils.getCSSValue to dom.get_css_value and keep a BBB import. ([25e1846](https://github.com/Patternslib/patterns/commit/25e1846c5f43bc77a51d52ef4b88b744be94147e))
Move utils.getCSSValue to dom.get_css_value and keep a BBB import in utils.
This change is made for these reasons:

- Avoid circular imports (even if supported).

- Code cleanup - move DOM related methods to dom module.

* **pat bumper:** Update import for get_css_value. ([ccff688](https://github.com/Patternslib/patterns/commit/ccff688ccf2c3fd06800471a5739a63e949bb482))

* **pat bumper:** Use new core.dom.find_scroll_container instead own implementation. ([ab98985](https://github.com/Patternslib/patterns/commit/ab989851a444cdafcd37c66da6ee189b62cea878))

* **pat gallery:** Update import for get_css_value. ([3268b1e](https://github.com/Patternslib/patterns/commit/3268b1efd2ddca5a26604957d339f4da34389408))

* **pat inject:** Update import for get_css_value. ([e378e51](https://github.com/Patternslib/patterns/commit/e378e51f5afd4d1c237baa27bff560a2e5b547b4))

* **pat scroll:** Use new core.dom.find_scroll_container instead own implementation. ([3872aaf](https://github.com/Patternslib/patterns/commit/3872aaf90c5bd9f0293cb1ea21256414224f4f93))

* **pat tabs:** Update import for get_css_value. ([ce50044](https://github.com/Patternslib/patterns/commit/ce500448d87358f86ee7be9833301afa0577c7cc))

* **tests:** Add an IntersectionObserver mock for testing. ([8e84d0f](https://github.com/Patternslib/patterns/commit/8e84d0fc63e04e1d044e23546543c6cdc67f5927))


## [7.1.3](https://github.com/Patternslib/patterns/compare/7.1.2...7.1.3) (2022-03-14)


### Bug Fixes

* **core logging:** Fix invalid use of typeof. ([e2e992d](https://github.com/Patternslib/patterns/commit/e2e992dbb8057f5fde13d521cbbafdc4e9e163ae))


### Maintenance

* Upgrade dependencies. ([c0206d1](https://github.com/Patternslib/patterns/commit/c0206d18767042d3b29f472fc744eb5c67c655a3))


## [7.1.2](https://github.com/Patternslib/patterns/compare/7.1.1...7.1.2) (2022-03-14)


### Bug Fixes

* **pat validation:** With depending date validation also validate the dependend date. ([5060fa4](https://github.com/Patternslib/patterns/commit/5060fa4421ed581d5e64717e75eadff8f0c391d7)), closes [#970](https://github.com/Patternslib/patterns/issues/970)
Fixes: #970


### Maintenance

* **Build:** Makefile - Resolve package version for ZIP bundle at target runtime. ([2d799f8](https://github.com/Patternslib/patterns/commit/2d799f8ad2d29870cca8c8f371c6af11c6e2c924))

* **pat tabs:** Fix test for error not thrown. ([c4e00aa](https://github.com/Patternslib/patterns/commit/c4e00aae51df79922893b01a9f593e0f0b1b91e0))
Fix an ``UnhandledPromiseRejection`` error with an asynchronous test.
The problem popped up in node version 16 and was passing in node version 14.


## [7.1.1](https://github.com/Patternslib/patterns/compare/7.1.0...7.1.1) (2022-02-16)


### Features

* **core polyfills:** Add polyfills module for modern browsers. ([69402f6](https://github.com/Patternslib/patterns/commit/69402f60c7d80a3cf702a55518404c634bda2eda))
Currently this holds a polyfill for SubmitEvent.submitter, which isn't available in Safari < 15.4 and jsDOM.


### Bug Fixes

* **pat validation:** Fix release 7.1.0. ([3afb42b](https://github.com/Patternslib/patterns/commit/3afb42bc0ac6f82c634471560f8a73ea58144ce6))
The event-submitter-polyfill package isn't universally built.
Let's use our new core/polyfills.js module instead and fix the previous release.


## [7.1.0](https://github.com/Patternslib/patterns/compare/7.0.2...7.1.0) (2022-02-16)


### Features

* **core events:** Standard JavaScript event factories - add "click" event. ([8c7ce5f](https://github.com/Patternslib/patterns/commit/8c7ce5ffdaed0c9fd5641052ca2f0c095c42da1d))

* **pat validation:** Do not submit when a formnovalidate buttons was used. ([35f4227](https://github.com/Patternslib/patterns/commit/35f4227227b4acdfe5f202b7d5d996724081beec))

* **pat validation:** Set novalidation to pat-validation forms to prevent the browser's validation bubbles to appear. ([a6a8188](https://github.com/Patternslib/patterns/commit/a6a8188dbb11fc56c16f3f0b9aa20a87abb0cd92))


### Bug Fixes

* **pat toggle:** Don't let pat-toggle steal the click event and prevent double clicks. ([8b75b8e](https://github.com/Patternslib/patterns/commit/8b75b8eaca157e19e2ccb18354e3e876a23c84ee))
Do not let pat-toggle prevent the click event after it was catched.
This makes pat-toggle work together with other Patterns, like pat-checklist.
Also, when clicking on a label wrapping a checkbox, the checkbox also emits a click event which results in a unmodified toggle-state.
Prevent double-clicks by debouncing and canceling events.


### Maintenance

* **core events:** Show behvavior of two click events emitted when clicking on a lable wrapping a checkbox. ([259173f](https://github.com/Patternslib/patterns/commit/259173fd6bce27ccfbc7d1ba7091227a96da8417))

* **Dependencies:** Upgrade dependencies. ([6a7ea33](https://github.com/Patternslib/patterns/commit/6a7ea330f8ced3c27f08ada1e4d37b0024e367f6))

* **pat toggle:** Modernize code. ([5a478a4](https://github.com/Patternslib/patterns/commit/5a478a4576b3f2c9469ca02e1eaed6a45598985e))

* **pat validation:** Demo - remove pat-validation type options. ([d60e39b](https://github.com/Patternslib/patterns/commit/d60e39bc48b57ba35308b3cbec1c65c24f457888))


## [7.0.2](https://github.com/Patternslib/patterns/compare/7.0.1...7.0.2) (2022-02-15)


### Bug Fixes

* **pat auto suggest:** Fix issue with pat-auto-submit. ([bbf5735](https://github.com/Patternslib/patterns/commit/bbf5735e05717d4faa0c1bab5a3398691775641e))
Also dispatch a input event after a value has changed to let auto-submit do a form submit.
This fixes an issue introduced in Patternslib 7.0.0.
Note: this will be revisited when reworking auto-submit and input-change-events for standard JavaScript event compatibility.


### Maintenance

* **core events tests:** Add jQuery vs native JavaScript events tests. ([bb3a8e8](https://github.com/Patternslib/patterns/commit/bb3a8e87ce8f201518b4aa4239d14ddc0b233d50))
Add test showing that jQuery catches native events, but native listeners do not catch jQuery events.
In the mid-term we want to switch to native-only to get rid of this difference.
* **Dependencies:** Upgrade dependencies. ([d5fd1ad](https://github.com/Patternslib/patterns/commit/d5fd1ad41776d1a7ed9b5cc674ef107319317c27))

* **pat auto submit:** Cleanup code, improve tests. ([8d289eb](https://github.com/Patternslib/patterns/commit/8d289ebff716ab9a30e7f8ce8c7c47f21835582a))

* **pat auto suggest:** Improve and extend tests. ([d4d2e99](https://github.com/Patternslib/patterns/commit/d4d2e994716b7f01647128aad888b3250ed0a4de))


## [7.0.1](https://github.com/Patternslib/patterns/compare/7.0.0...7.0.1) (2022-02-08)


### Bug Fixes

* **Build:** Use public_path script while also having publicPath set to auto. ([b8dfdbd](https://github.com/Patternslib/patterns/commit/b8dfdbdd2087f8012defa45aa4ce40ab52c604da))
We still need to use the ``src/public_path.js`` script as first import in our bundles to correctly resolve the loading path for chunks.
publicPath set to auto does not work in certain environments (e.g. the Plone resource registry).

Partially reverts 1b6143127f61e5e1c41b088e70ec636c629cd5bb, "Use automatic publicPath determination instead of manually setting it."


### Maintenance

* **build:** Add and expose a "install" target alias to the Makefile as an alias to stamp-yarn. ([e204037](https://github.com/Patternslib/patterns/commit/e2040374eaee37c54f88cc83e89cc2d967eeb8c4))

* **build:** Remove unnecessary double-colon from targets. ([070e4d9](https://github.com/Patternslib/patterns/commit/070e4d9d8fa42b1998043cc7715355ce64acc14c))

* **Cleanup:** Remove reference to moment-timezone-with-data in .eslintrc - a file which was removed some time ago. ([5de91cc](https://github.com/Patternslib/patterns/commit/5de91cc48ee8f38d8fa8a9f3b1276462a583b0b9))

* **Cleanup:** Restructure package.json entries to move less relevant info down. ([a25043b](https://github.com/Patternslib/patterns/commit/a25043b924332ea3410777e92cb400f211d233f4))

* **Docs:** Update developer styleguide with simpler commit message scope naming guidelines. ([1b391cb](https://github.com/Patternslib/patterns/commit/1b391cb381a252c54b56f7fb11d41d5f58175eef))

* Change the bundle name whichis uploaded to the GitHub release page from patternslib-VERSION.zip to patternslib-bundle-VERSION.zip to better distinguish it from the automatically created Patterns-VERSION.zip source distribution. ([c489a8c](https://github.com/Patternslib/patterns/commit/c489a8ca3c0ce151cf17dd30698fde4d0c7df44e))

* **pat validation:** Test and demo validation of datetime-local. ([dc58887](https://github.com/Patternslib/patterns/commit/dc5888773a291f4065eafde183d355eb4b842720))


## [7.0.0](https://github.com/Patternslib/patterns/compare/6.4.0...7.0.0) (2022-01-28)


### Features

* **core dom:** Hide method: also set hidden attribute for better semantics. ([379e4a9](https://github.com/Patternslib/patterns/commit/379e4a92992919ddc20d07df59f3af09625c716f))

* **core events:** Standard JavaScript event factories - add "scroll" event. ([949b1dc](https://github.com/Patternslib/patterns/commit/949b1dcb05145f1b00e261606aeea794ca65f90d))

* **core events:** Standard JavaScript event factories. ([951084f](https://github.com/Patternslib/patterns/commit/951084ffa2eab7a3e96b0f99eaa3f19a778dae8e))
Provide a library with standard JavaScript event factories, beginning with ``changed`` and ``submit`` events.

* **pat scroll-box:** Allow detection of scroll-stop. ([b226aeb](https://github.com/Patternslib/patterns/commit/b226aebddc3e67ba9e6cf4f8334b0b0c1be5af78))
Add ``scrolling-up`` and ``scrolling-down`` classes which will be removed after the user has stopped scrolling.
This allows for detection of a scrolling situation vs non-scrolling situation.

* **pat scroll-box:** Optimize performance. ([9caf2be](https://github.com/Patternslib/patterns/commit/9caf2bea348839856c286ae35aedd87ae829cbcd))
Optimize performance by grouping together DOM manipulation calls.
The browser is now able to better optimize the code in regard to the reflow/repaint cycles.
Also see: https://areknawo.com/dom-performance-case-study/

* **pat validation:** Allow to define a custom error template. ([986a092](https://github.com/Patternslib/patterns/commit/986a092f892582585a97b5e2f7c1af5780bb6b32))


### Bug Fixes

* **pat auto suggest:** Do not change input field to type "hidden". ([ab12b36](https://github.com/Patternslib/patterns/commit/ab12b363db484257f2f8368ffb7dad061fa5ccbc))
Don't change the date field to a hidden field which would prevent it from validation.
Instead just hide it.
Also, do this not in the transform method but on initialization.

* **pat auto suggest:** Instead of searching for a reset button, listen on the form's reset event for clearing the data. ([cd69e92](https://github.com/Patternslib/patterns/commit/cd69e92cb62b43406d54a0178b392141613d2798))

* **pat auto suggest:** Invoke standard JS change event. ([31da974](https://github.com/Patternslib/patterns/commit/31da9748a9288652685ce069f538ea87e6893eea))
Work around the situation that a jQuery "change" event, submitted by select2, isn't caught by pat-validation.
Select2 also triggers a click event, which we will use here to trigger a standard JS change event.

* **pat date picker:** Do not change input field to type "hidden". ([66f4333](https://github.com/Patternslib/patterns/commit/66f4333bd1f16ed0661a1da0d0cc30256751fe1d))
Don't change the date field to a hidden field which would prevent it from validation.
Instead just hide it.
Also disable click on label as this would focus/click-forward to the invisible input field and invokes some weird behavior.

* **pat scroll-box:** Immediately and correctly set CSS classes. ([7e7fd23](https://github.com/Patternslib/patterns/commit/7e7fd233480f9eeb9da3b5d01c3f4d283560c179))
Fix pat-scroll-box to immediately and correctly set the CSS classes by using requestAnimationFrame instead timeouts.


### Breaking Changes

* **core dom create_from_string:** Change create_from_string to be able to create multiple siblings from a string. ([062991c](https://github.com/Patternslib/patterns/commit/062991c45bf5604f36dd38f3da3c7d8661b8a150))
Returns now a DocumentFragment instead of a single DOM node.
This method wasn't used in Patternslib or any of the core addons.
If you used it and it breaks your code, let me know.

* **core events:** Move add_event_listener and remove_event_listener to core.events. ([661b74c](https://github.com/Patternslib/patterns/commit/661b74c137f5a10ac5144216742386d6f756632c))
Move add_event_listener and remove_event_listener from core.dom to core.events.
Provide backwards compatibility imports in core.dom.
Those imports will be removed in an upcoming version.

* **pat validation:** Refactor pat-validation for full HTML5 compatibility. ([9999c8f](https://github.com/Patternslib/patterns/commit/9999c8f484ddefd2d043a9dd728451cbb6b173b9))

- Use the Web API validation framework.

- Define custom errors with the Web API method ``setCustomValidity`` (e.g. the custom error for the start date not being after the end date with the not ``not-after`` option).

- Make use and set the Web API ``validityState`` according to validity of the form inputs.

- Making use of the Web API validation framework allows to use the ``:invalid`` and ``:valid`` CSS selevtors - including for those inpyts with custom validity messages.

- Validate the form on ``input``, ``change``, ``blur`` and ``submit`` events but make sure only one is run at once.

- Remove default validation error messages from the configuration.
  If no validation message is defined the browser will show a default validation message, already translated into the language of the browser.

- Remove configuration option ``type``.
  Use the ``type`` attribute of the input element instead. For a date field, use ``date``.
  For ``integer`` just use ``number``.
  If you want to support real, floating numbers, use ``step="any"`` or a real number as step size.

- Remove dependency on validate.js.


### Maintenance

* Remove unused core/scroll_detection.js. ([19779d2](https://github.com/Patternslib/patterns/commit/19779d227d9a5f79e4438d283fbfe131552bccd6))

* **core parser:** Minimal code simplification. ([3c28bb2](https://github.com/Patternslib/patterns/commit/3c28bb241b4c6e508e0627e16e0629cafdc5dc30))

* **dependencies:** Remove now unused dependency on validate.js. ([d698930](https://github.com/Patternslib/patterns/commit/d698930e040cb8fca2ae74108d8a587d3ef0d6c3))

* **dependencies:** Update browserslist database / caniuse-lite. ([60ac00f](https://github.com/Patternslib/patterns/commit/60ac00fa40beda67f4173839692819b656b7bb9e))

* **dependencies:** Upgrade dependencies. ([9f0d41f](https://github.com/Patternslib/patterns/commit/9f0d41fba2448db6f0b33d8b141f35a6b01b7616))

* **docs:** Add improve JSDoc strings a bit. ([5f0f6ec](https://github.com/Patternslib/patterns/commit/5f0f6ec08b4b7b7800034d86cce5cff22e044de3))

* **pat ajax:** Modernize code. ([3953112](https://github.com/Patternslib/patterns/commit/3953112122a2b05ecfde8e6e2fce18d53af1a54f))

* **tests:** Use global instead of window in node based tools like Jest for registering global variables. ([634325c](https://github.com/Patternslib/patterns/commit/634325c7f7c6c2c3dc928a20207c95fdab4e2f9d))

* Use caching in GitHub actions. ([504e342](https://github.com/Patternslib/patterns/commit/504e342f58115c66fb563f6eedca8a33e7062beb))

