209 Commits

Author SHA1 Message Date
Carson Gross
3fa7df1d23 Merge branch 'dev' into v2.0v2.0
# Conflicts:
#	dist/ext/sse.js
#	dist/htmx.d.ts
#	dist/htmx.js
#	dist/htmx.min.js
#	dist/htmx.min.js.gz
#	src/htmx.js
#	test/core/parameters.js
#	www/content/docs.md
2024-01-15 14:26:50 -07:00
Alexander Petros
a49a98a991 Move extension-swap test and delete extension tests 2024-01-13 14:06:54 -05:00
Alexander Petros
172fb88972 Skip leaky shadowdom test 2024-01-13 12:21:33 -05:00
Carson Gross
d2d22c2903 restore old semantics w/ body returning its children 2023-12-27 19:10:35 -07:00
Carson Gross
ff96b78e77 move to template parsing by default (prep for head support) 2023-12-27 14:42:14 -07:00
Carson Gross
9fbbd17672 reformat 2023-12-24 16:37:51 -07:00
Carson Gross
3903e51672 fix up after merge 2023-12-24 15:33:09 -07:00
Carson Gross
0e61b21440 Merge branch 'v2.0v2.0' into config-return-behavor
# Conflicts:
#	src/htmx.js
2023-12-24 15:17:53 -07:00
Carson Gross
66599ef887 Merge branch 'master' into dev
# Conflicts:
#	www/content/docs.md
2023-12-21 17:28:58 -07:00
Vincent
23d473291d
Updated mocha, tests now work with node 20 (#2122)
* Updated mocha, tests now work with node 20

* Update package-lock.json

* Enable Node CI for v2.0v2.0 branch (#2123)

Run tests for v2.0v2.0 branch too

* Bump CI's node version to 20.x
2023-12-21 16:54:02 -05:00
Alexander Petros
f4f35aec76 Format the rest of tests 2023-12-21 13:26:41 -05:00
Alexander Petros
290a78f6b0 Fix delete statement in two tests 2023-12-21 13:25:46 -05:00
Alexander Petros
4b890ce72d Run linter on the tests too 2023-12-21 13:22:10 -05:00
Carson Gross
41e9ce3593 Merge branch 'dev' into v2.0v2.0 2023-12-20 15:48:47 -07:00
Thomas Cowart
078d5da5b4
Update parseInterval to handle "0" correctly (#1835)
* Update parseInterval to handle "0" correctly

When a parameter like "0ms" is passed in to parseInterval it gets parsed to 0.
Previously this would result in a return value of "undefined" because 0 is falsy
and thus the `return 0 || undefined` statements return undefined.

The purpose of the form `parseFloat(str) || undefined` was to return "undefined" if
parseFloat failed (parseFloat returns NaN, a falsy value, if it can't parse its
argument). Unfortunately, as mentioned, parseFloat can also succeed and return a
falsy value -- when the argument is "0" (or "0.0", etc.). So the new code, rather
than depending on the falsiness of the result of parseFloat, explicitly checks for
a NaN.

* Adds some semicolons

Adds some semicolons to parseInterval (and tests) for consistency.

* Add one more parseInterval test for "0"

Adds test test to make sure parseInterval works on "0".

* Adds functional tests for every, swap, settle, throttle, and delay

* Explcitly check that setTimeout values are > 0

These values come from user settings that are read from parseInterval,
so they could be a number or undefined.

If the value being checked is > 0 setTimeout will be called with some
associated function. If the value is 0 or 'undefined' the associated function
will be called immediately ('undefined' is not greater than 0).

* Change '!== undefined' to '> 0'

`pollInterval !== undefined` is a subtly different conditional than just `pollInterval` or `pollInterval > 0` (which are equivalent). Changes the conditional to `pollInterval > 0` so as to not change the behavior but also be more explicit in the test.
2023-12-20 15:46:04 -07:00
Carson Gross
46a1502a84 fix the shadow root tests interfering w/ other tests 2023-12-20 13:45:13 -07:00
Carson Gross
7c1c406efc Merge branch 'v2.0v2.0' into merge-2075
# Conflicts:
#	src/htmx.js
2023-12-20 13:22:49 -07:00
Carson Gross
b9dbbf52ca Merge branch 'v2.0v2.0' into config-return-behavor
# Conflicts:
#	src/htmx.js
2023-12-14 11:59:14 -07:00
Carson Gross
22fde35674 Merge branch 'dev' into v2.0v2.0 2023-12-13 14:46:37 -07:00
Katrina Scialdone
edc31073a7 Add tests for new extended selector syntax 2023-12-07 08:58:28 -07:00
Katrina Scialdone
4d9adabe6c Make shadow DOM tests actually pass 2023-12-07 08:48:20 -07:00
Katrina Scialdone
5f92e2cc92 Add shadow DOM tests 2023-12-07 08:07:00 -07:00
flixcor
4dc97a400f
Exclude form elements within disabled fieldsets (#2012)
* Exclude form elements within disabled fieldsets

* add test for disabled fieldsets

* cleanup
2023-11-30 15:18:16 -07:00
Sascha Woo
b89e4f4bf6
HX-Request and HX-Current-URL headers are missing in the request to restore from history (#2013) 2023-11-30 15:17:39 -07:00
Vincent
200c503f31
Removed IE-specific tests (#2039) 2023-11-24 11:30:11 -05:00
Carson Gross
5c42b3442b flip defaults for 2.0 2023-11-21 14:57:52 -07:00
gbourant
6a9a861ad9
Allow user to override Content-Type header (#1906)
* allow user to override Content-Type header

* reorder the code so it won't use userSetContentType variable

* remove userSetContentType

* clarification

* remove unrelated changes

---------

Co-authored-by: gbourant <root@gbourant.com>
2023-11-16 13:42:45 -07:00
Jacob Scott
cabff5db14
Add select option to htmx.ajax() (#1985)
adds select to ajax api
2023-11-16 13:37:38 -07:00
Carson Gross
3287445049 make response handling configurable 2023-11-14 14:03:14 -07:00
RBRi
31908e4839
Add missing '})' in core ajax tests (#1998) 2023-11-14 15:27:50 -05:00
Vincent
8ddd079b90
IE11 compatibility fixes (#1948) 2023-11-02 16:40:33 -06:00
Eric Kwoka
bdcb040a2f
Fix stale form references (#1820)
* 🐛 ensures form reference is accurate

*  Adds test

* 🐛 Fixes null checks

* Revert www updates

This reverts commit d2d14056e2635688fdcb0e6abe572034f77c0bef.

* Revert www updates

This reverts commit 3de585e02997a7877f47ef84f6c2f1a5fcc91ac3.

* ♻️ Refactors code

*  Passes tests
2023-10-31 16:32:58 -06:00
matiboy
712ee759f1
Fix confirmed being ignored in htmx:confirm event (#1610)
* Current behavior testing

Testing current library behavior

* Test should remove correct handler

* Add question in htmx:confirm event detail

* Allow skipping window.confirm

* Additional test without hx-confirm value

* Wrap htmx.off in finally

* More correct assertion in case of no calls to confirm

* Remove erroneously added formatting

* Remove erroneously added formatting

* Documentation, fix loop

---------

Co-authored-by: mat <matt@techspace.asia>
2023-10-26 14:43:41 -06:00
EliasPrescott
0718daa3ac
Fix: form submission of email inputs with multiple attribute (#1917)
fixing multiple email input values
2023-10-26 11:53:58 -06:00
Sam Dudley
355a4fad65
Ignore formmethod when value is "dialog" (#1867)
Fixes #1866
2023-10-06 22:04:02 -06:00
Sascha Woo
32b58c41cb
Add support for event cancellation (preventDefault) in extensions (#1456)
ext: add support for event cancellation via preventDefault()
2023-09-21 15:44:42 -06:00
Vincent
bb5413dfd2
[Tests] Fix test pipeline timing issues (#1818)
Fix test pipeline timing issues
2023-09-21 15:43:49 -06:00
Vincent
1f55266c47
[Test] Add a test to ensure inputs outside form with form attribute work properly (#1815)
Add a test to ensure inputs external to form work properly
2023-09-21 12:08:51 -06:00
Vincent
55c30b5607
Make htmx IE11 compatible again + tests IE11 compatible (#1687)
* Make htmx IE11 compatible again + tests IE11 compatible

* IE11 compatible handmade socket mock for ws-ext tests

* Fallback when xpath isn't supported, hx-on wildcard now working on IE11

* Merge remote-tracking branch 'upstream/relative-url-in-hx-boost' into ie11-compatibility
2023-09-06 09:55:18 -06:00
Alexander Petros
bfd7965dec
Disable logAll in headless mode (#1673)
Enabling logAll in just one test has the capacity to overwhelm the CI
with log output, so we disable it if the webdriver is automated.
2023-08-06 18:06:17 -06:00
Alexander Petros
c126d90588
Move load tests to the bottom of the core file (#1677)
This "resolves" a timing bug that was ocurring in the CI, where these
tests would run before htmx was loaded (only in the GitHub actions
servers). Not proud of this as a fix but I would like the CI to work
again ASAP.
2023-08-05 16:15:49 -06:00
Carson Gross
295d9f83eb remove a logAll() 2023-08-04 17:05:42 -06:00
Carson Gross
14e2a8c611 Merge remote-tracking branch 'origin/dev' into dev 2023-08-04 14:59:19 -06:00
Carson Gross
1acbbe5057 add test to ensure I don't screw up the sameHost value 2023-08-04 14:59:10 -06:00
Alexander Petros
fc4723c95f
Remove logAll from tests (#1657) 2023-08-01 18:04:44 -05:00
Carson Gross
36e6a426f9 security improvement
- add the `htmx.config.allowScriptTags` option
2023-07-31 12:12:44 -06:00
Carson Gross
19cb15caef security improvements
- add the `htmx.config.selfRequestsOnly` option
- add the `htmx:validateUrl` event
- better security documentation (incomplete, need to finish CORS)
2023-07-31 11:31:42 -06:00
Vincent
88a57cbc39
[Bugfix] Fix submit buttons/inputs handling (#1559)
* Fix submit buttons/inputs handling

* Removed useless concatenation

* Don't initNode links and forms that shouldn't be initialized

* Removed selectors filtering to alleviate PR

* Add @1cg 's addValueToValues function to factor code

* Use formValues variable for clicked button's value including
2023-07-25 12:55:22 -06:00
Vincent
91d06309dc
[New feature] Comma separated list syntax for HX-Trigger response header (#1479)
* Comma separated list syntax for HX-Trigger response header

* Fix wording
2023-07-18 13:10:43 -06:00
Vincent
e89c9c6402
[Bugfix] Handle dynamically added hx-disable (#1567)
Handle dynamically added hx-disable, clean up element #1176
2023-07-18 10:12:28 -06:00