See the history for older changelog entries.
9.3.1 (2022-09-21)
- Build: Upgrade pat-upload to 3.1.1 to fix the previous pat-upload brown bag release. (030b801)pat-upload 3.1.0 did not include the advertised changes and was basically the same as 3.0.0.
9.3.0 (2022-09-20)
- pat navigation: Mark the navigation items after injection. (ec2a795)After a pat-inject has updated the navigation, re-mark all navigation items. This is an alternative and approach to the previous mutation observer based one.
- Build: Upgrade dependencies. (60b4e2e)
9.3.0-beta.0 (2022-09-16)
- core base: Remove console.log statement from tests. (09d533e)
- pat navigation: Improve performance by removing the unnecessary mutation observer. (7c28913)Since we're almost always using pat-inject for replacing or adding DOM nodes and we already have support for pat-inject here, the mutation observer is not necessary. Removing it improves the performance in situations where the navigation structure is updated - for example off-canvas navigation updates with pat-tabs would invoke many mutation observer callback hits. The previous performance improvement solved the performance penalty by deferring the callback for 10ms, but this is taking that further by avoiding it at all.
9.2.1 (2022-09-16)
-
pat navigation: Do not break when no item wrapper is found. (6c84a41)
-
pat navigation: Improve the performance when the navigation elements change. (a6ec32b)Debounce the mutation observer callback which initialized the markings for 100ms for better performance.
-
pat navigation: Initialize the click handler on the element directly. (0b099cc)This way it needs to be initialized only once, even if the subtree changes. Remove the init_listeners from the mutation observer for better performance.
-
pat navigation: Only search within the current element. (417085e)
-
pat navigation: Remove mockup-related checking of input fields. (1e5afe7)
9.2.0 (2022-09-15)
-
pat close panel: Support for closing dialog panels. (7593048)
-
pat navigation: Add URL-based navigation markers. (9a0f7a3)That feature was also present in the old implementation but is now improved.
-
pat navigation: Always set in-path classes. (16bc8a2)When doing URL based checkings do always set the in-path classes for an active submenu item, even if it does not match the URL path hierachy.
-
pat navigation: Support click-only markings. (904e54f)Mark the navigation items also on clicks on anchors without pat-inject.
-
pat navigation: When a navigation wrapper is in-path, also mark the corresponding anchor as in-path. (e9da003)
-
Build: Register jQuery globally. (e72f41a)Since the module federation support jQuery was registered globally too late for some scripts. Now jQuery is registered as soon as the index.js is loaded. This allows for following scripts to use jQuery.
-
core base: Do not break when initialized with no element. (cd16107)
- pat navigation: Set explicit pattern trigger. (968edca)Do only trigger the pattern on the
.pat-navigation
class and remove the trigger for.navigation
classes and<nav>
elements.
-
core dom: Code optimization for dom.find_parents. (de1fb71)
-
core dom: Update documentation. (4ac25cc)
-
HTMLDialogElement support not in @patternslib/dev 2.7.0. (d2c279f)
-
Modernize header markup in demo files. (2f366e9)
-
pat inject: Move core.utils.rebaseURL to inject patterns. (144240d)core.utils.rebaseURL was only used by the inject pattern and is in this form not useful for broader use. If you need to rebase an relative or absolute URL against a base url, use: new URL(url, base_url)
-
pat inject: Specify allowed values for the history parameter. (e36c58c)
-
pat navigation: Modernize code. (f5269de)
-
pat navigation: Refactor implementation for more stability. (458e76b)
-
Upgrade dependencies. (806fc24)
9.1.1 (2022-09-08)
- pat display time: Fix relative time for timezone corner cases. (3c62c65)For date-only from-now, just use Intl.RelativeTimeFormat to avoid any timezone calculation mistakes. This prevents a case where in days in the future or past were shown as 9 days due to timezone differences in some circumstances.
-
pat display time: Extend the demo. (2bd1ff6)
-
pat inject: Correct docs that the history parameter does not have record set as default. (7f06eda)
-
pat inject: Re-organize the demos. (3d3e8c3)- Create dedicated
demo
folder and move demo files in there.
- Remove inject-history folder and move demo into inject.
9.1.0 (2022-09-06)
- pat sortable: Fix sorting functionality when sort item has any other class than .sortable. (75815a6)
- pat display time: Fix tests and demo which failed due to timezone offsets around midnight. (a5d0695)
9.1.0-beta.4 (2022-09-05)
- Build: Resolve to jquery 3.6.1 to not include mutliple jquery versions. (e1c7d01)
9.1.0-beta.3 (2022-09-05)
- pat sortable: Trigger pat-update after sorting changes. (3bb5513)Other patterns can react on that for example submitting the form with pat-auto-submit.
- pat auto submit: Support pat-clone and pat-sortable. (4ec72ef)When pat-clone adds an element, initialize that element to listen for changes. When pat-clone removes an element or pat-sortable changes the order, submit the form.
- Build: Upgrade dependencies. (e5e2c7b)
9.1.0-beta.2 (2022-08-23)
- Upgrade pat-tiptap to 4.5.0. (423dfc7)
9.1.0-beta.1 (2022-08-19)
-
core base: Add pattern property autoregister to allow patterns which are not automatically registered in the patternslib registry. (ef4d234)
-
pat inject: Dispatch a patterns-injected-delayed event 10ms after the injection has been done and pass the injected content with it. This allows to re-scan the injected content in cases where a pattern wasn't registered at injection time. (00b66fe)
-
pat inject: Fix code error with not scanning and triggering for comment nodes. (c281ae4)
-
pat validation: Do not trigger a pat-update after validation. (b4603c9)
-
Build: Unlink all eventually linked @patternslib dependencies before building bundles. (debeeea)
-
Build: Upgrade dependencies. (515bf42)
-
pat inject: Minor test restructuring. (e740a88)
-
pat validation: Add input with type URL example to demo. (b3e98e0)
9.1.0-beta.0 (2022-08-11)
-
core utils: Add date_diff to calculate the difference in days between two dates, respecting DST offsets. (dd5cc7b)
-
core utils: Add is_iso_date check for testing for iso dates only. (a90afd6)
-
pat display time: Improve the output for date-only dates in relative mode. (e3909a4)When output is from-now (relative date) and the date is a date-only date without a time component, do not include the time in the output.
-
Build: Include bundle name and version in generated files (Feature of @patternslib/dev 2.4.0.) (392998e)
-
pat display time: Improve the documentation. (ef13602)
-
Upgrade dependencies. (070b262)
9.0.1 (2022-07-20)
-
Build: Fix luxon to 2.4.0 to avoid webpack MF error due to non standard package.json setup. (784f036)
-
pat tooltip: Avoid repositioning of the tooltip arrow. (880ebdb)- Setting the tooltip-container class before async calls.
- Avoid unnecessary repaints by grouping dom manipulations together.
- Merge onMount and onShow into onShow method.
9.0.0 (2022-07-17)
- Webpack Module Federation: Dispatch the event patternslib_mf--loaded when all remotes have been initialized. (9c86483)
-
pat modal: Trigger
pat-modal-ready
event only once. (ddb7c5d)For pat-modal instances on anchor elements where pat-inject is involved the eventpat-modal-ready
was triggered twice. This is now fixed and the event is only triggered after the modal was inserted. -
pat tooltip: Fix problem with misaligned tooltip arrow with remote content. (4656100)
-
pat tooltip: Initialize Patterns directly after getting content. (e601fd8)This fixes a problem where onMount was initializing Patterns before get_content returned and inserted the content.
-
Bundle: Upgrade pat-tiptap to 4.3.0. (24bfa4b)
-
core base: Document prevention of pattern double initialization in asynchronous cases. (1d9bb38)
-
pat modal: Document how pat-modal works. (2015e89)
9.0.0-beta.1 (2022-07-08)
- pat depends: Allow input names with colons in the parser, as used in Plone. (48298c2)
-
Build: Upgrade Moment to 2.29.4. (a0bf6fd)
-
Build: Upgrade to @patternslib/dev 2.3.0. (a02619e)
-
pat checkbox: Do not include styles and make the demo better usable. (7cd1dc3)
-
pat depends: Change Makefile to generate the parser optimized for size and output it as ES module. (3bfd39f)
-
pat depends: Depend on latest pegjs for generating the depends parser. (5339822)
-
pat depends demo: Add demo with optional date fields. (bfd5dbe)
-
pat depends demo: Demo colons in input names. (e882f4f)
-
pat depends demo: Demo multiselection. (85a824a)
-
pat depends demo: Set to import styles in JavaScript so that auto-suggest is styled. (e8b2ea2)
-
Add .eslintignore and ignore generated depends_parse.js file. (f9bc55f)
-
Do not define __patternslib_import_styles, so that it can be defined by another script without being overwritten. (7101d23)
9.0.0-beta.0 (2022-06-29)
-
Configure module alias for @patternslib/patternslib so that extended jest config from dev does not fail. (ce89f24)
-
pat scroll box: Fix issue where elastic scrolling on Safari would remove the scroll-position-top class for a moment when overscrolling on top. (596fd06)
-
Build: Adapt to latest module federation changes in @patternslib/dev 2.2.0. (c2f4d37)
-
Build: Add a watch Makefile target and package.json script. (c48ff3e)
-
Build: Update @patternslib/dev to 2.2.0. (a1550ca)
-
Build: Upgrade all pat-* dependency packages to it's latest version. (4628120)
-
Build: Upgrade dependencies. (eaeed1a)
-
pat scroll box: Document that scroll-down and scroll-up classes are not cleared after scrolling has stopped. (52f4343)
-
pat scroll box: Improve demo styles. (61fa3d8)
9.0.0-alpha.1 (2022-06-15)
-
Build: Allow Patternslib add-ons to be built within the Patternslib package as part of a Patternslib bundle distribution by defining an alias for @patternslib/patternslib. (d4ae08b)
-
Bundle: Create a universal bundle. (9215532)Add more external patterns in order to create a universal drop-in bundle for Patternslib. Patterns added:
- pat-content-mirror
- pat-doclock
- pat-shopping-cart
- pat-sortable-table
- pat-tiptap
- pat-upload
-
Depend on @patternslib/dev and extend config from there. (aea3681)
-
Extend babel config from @patternslib/dev. (83cef90)
-
Extend commitlint config from @patternslib/dev. (9216ed7)
-
Extend eslint config from @patternslib/dev. (2cfeadc)
-
Extend jest config from @patternslib/dev. (125a4f7)
-
Extend Makefile from @patternslib/dev. (923efe3)
-
Extend prettier config from @patternslib/dev. (0bbbdca)
-
Extend release-it config from @patternslib/dev. (b692ce0)
-
Extend webpack config from @patternslib/dev. (208726f)
-
Do not eslint the generated depends_parse file. (dbfd33f)
-
Move webpack.dist.js back to webpack.config.js. (20f1d68)
-
Remove unused variables from Makefile. (141ade4)
9.0.0-alpha.0 (2022-06-14)
-
Build: Create Module Federation enabled bundles within Patternslib. (ef28e21)
-
Build: Externalize Patternslib core webpack config to allow customizing Patternslib bundles without affecting add-on packages which depend on webpack.config.js. (3e9dd6c)
- Build: Do not re-initialize already initialized bundles. (8c0499f)
-
Build: Extend jest.config.js in a way that it is extendable by add-on packages. (f16b3a5)
-
Build: Extend test setup code. (00f1a34)Add more setup code to mock Web API features for tests from other Patternslib add-on packages.
-
Build: Remove dependency @babel/plugin-proposal-optional-chaining which is included in Babel since 7.8. (cfd5cd4)
-
Build: Remove dependency regenerator-runtime except from test setup. The async/await runtime handling is already built-in in current Babel. (f8a9889)
-
Build: Remove unused @testing-library/jest-dom. (6aeefc5)
-
Build: Remove unused inspectpack. (a586a5d)
-
Build: Upgrade dependencies. (d0739d6)
-
docs: Move upgrade 2 to 3 guide to history section. (5449491)
-
docs: Remove outdated roadmap and version files. (8f9e0cb)