* Fixes issue 1537 - OOB does not escape query selector
* Adds test cases for oob swaps where the id contains special characters
* Updated oob multiple elements with the same ID test
* fix(issue-1537): resolved conflicts with master
* fix(issue-1537): fixed codestyle issues
---------
Co-authored-by: Fraser Chapman <fraser.chapman@gmail.com>
Co-authored-by: David Martiník <david.martinik@powerflow.cz>
* Remove old IE support
* don't need regex in normalizePath
* fix verifyPath to handle about: situations like some iframes now that there is no fallback
* improve diff
* fix logic mistake in last diff improvment
* Update url normlization test post testing upgrade
* remove un-needed document
* Improve loc coverage by removing dead paths caused by bad type checks and add some tests for other paths
* removed exception for https://github.com/microsoft/playwright/issues/5894 that was fixed in 2022 with webkit 16.0
* Fix old npm dependencies
* implement web-test-runner tests for headless alongside Mocha browser tests
* Increase test and code coverage
* update to 100% coverage and impove eslint
* Update testing Doco
* revert all htmx changes and updates/disable tests needed
* fix browser mocha test
* Default testing to use playwrite only instead of puppeter
* playwright install fix
* Imporve test summary reporting
* flatten false looks closer to original
* Initial suggestion (squashed)
Support multiple extended selectors for hx-include
Additional test for nested standard selector
Add @MichaelWest22 hx-disabled-elt multiple selector test
Add hx-trigger `from` test with multiple extended selectors
Simplify
Include #2915 fix
Update htmx.js
Split for readability
Don't apply global to previous selectors
Rewrite loop, restore global recursive call, minimize diff
Use break for better readability
Co-Authored-By: MichaelWest22 <12867972+MichaelWest22@users.noreply.github.com>
* Keep global as a first-position-only keyword
* Wrapped selector syntax
* Replace substring check by individual chars check
* Fix format
---------
Co-authored-by: MichaelWest22 <12867972+MichaelWest22@users.noreply.github.com>
boosted forms that issue a `GET` (and only a `GET`) and have no `action` attribute or an empty `action` attribute should clear the existing parameters of the current path when submitting lmao
* Failing test for oob-swap within web components
* hx-swap-oob respects shadow roots
* Lint and type fixes
* fix jsdoc types for rootNode parameter
* Fix for linter issue I was confused about before
* oob swaps handle global correctly
* swap uses contextElement if available, document if not
Previous a commit made swapOptions.contextElement a required field. This
could have harmful ramifications for extensions and users, so instead,
the old behavior of assuming document as a root will be used if the
contextElement is not provided.
* rootNode parameter is optional in oobSwap
If not provided, it will fall back to using document as rootNode. jsdocs
have been updated for oobSwap and findAndSwapElements accordingly.
* remove shared tag regex utility function that is no longer really needed
* fix head-support manual test to point to externally hosted extension
* minimize regex
* Adjust hx-trigger's changed modifier for multiple sources
The `changed` trigger modifier can see different event targets, either due
to the `from` modifier or event bubbling. The existing behavior trigger
only for one node (`from` modifier) or inconsistently (bubbling).
Use a nested weak map to keep track of the last value per distinguished
(trigger specification, event target node) pair. The weak map ensures
that Garbage Collection can still recycle the nodes.
If a event target was not seen via `from`, it is assumed changed for the
first time the trigger is hit.
* Add test case for separate triggers with changed modifier