2654 Commits

Author SHA1 Message Date
Vincent
61976dedf4 Prevent double value inclusions 2024-01-20 17:55:11 +01:00
Vincent
053b54da98 Linted code 2024-01-20 17:36:52 +01:00
Vincent
64de40a51c FomData fixes + some JSDoc. TODO prevent multiple inclusions 2024-01-20 17:35:43 +01:00
Deniz Akşimşek
d59205091e use form data instead of plain objects [wip] 2024-01-20 17:34:52 +01:00
Denis Palashevskii
7fe27dd275
Refactor and expose swap in public API (#2191)
* refactor and expose swapping as a single method

* fixes after rebasing on latest 2.0

* fix optional parameters for swapping

* add `fullSwap` to internal API

* swap refactor polishing

* make linter happy
2024-01-19 16:31:34 -07:00
Alexander Petros
4af2f75ae1 Run linter with 'npm run test' 2024-01-18 10:22:15 -05:00
Alexander Petros
5ea7767c1d Run formatter on source 2024-01-18 10:21:34 -05:00
Alexander Petros
0e67ac8081 Format tests 2024-01-18 10:20:34 -05:00
Alexander Petros
bf82b9c6b7 Update version in package.json 2024-01-13 17:27:02 -05:00
Alexander Petros
4e7baa3405 Remove libs for extension tests 2024-01-13 14:17:52 -05:00
Alexander Petros
569c29cb4e Remove test/ext files
This causes the timing issue in the shadow dom tests to reappear again.
2024-01-13 14:17:11 -05:00
Alexander Petros
7405e52895 Remove hyperscript tests 2024-01-13 14:12:37 -05:00
Alexander Petros
a49a98a991 Move extension-swap test and delete extension tests 2024-01-13 14:06:54 -05:00
Alexander Petros
dee5546f0e Increment version to 2.0a 2024-01-13 13:43:51 -05:00
Alexander Petros
0d8a87d4f3 Delete extensions that don't have tests 2024-01-13 12:29:27 -05:00
Alexander Petros
172fb88972 Skip leaky shadowdom test 2024-01-13 12:21:33 -05:00
Carson Gross
75a6341a3c remove head extension 2024-01-05 13:56:06 -07:00
Carson Gross
8b59cb9383 docs + config of head handling 2024-01-05 13:11:30 -07:00
Carson Gross
5cdd50ebbe fix test 2024-01-05 11:00:08 -07:00
Carson Gross
c445fa3b52 better naming 2023-12-27 19:27:26 -07:00
Carson Gross
d2d22c2903 restore old semantics w/ body returning its children 2023-12-27 19:10:35 -07:00
Carson Gross
f685b57332 docs update 2023-12-27 14:56:09 -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
8c61e71940 support revealed paired w/ other events 2023-12-26 16:42:16 -07:00
Carson Gross
9fbbd17672 reformat 2023-12-24 16:37:51 -07:00
Carson Gross
90096a6869 add some docs 2023-12-24 16:24:07 -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
adbdc71c81 add another test for inheritance disabling 2023-12-24 15:06:11 -07:00
Carson Gross
56d7cca777 indentation 2023-12-24 14:55:31 -07:00
Carson Gross
42668c6df7 Merge branch 'v2.0v2.0' into disable-inheritance
# Conflicts:
#	src/htmx.js
#	www/content/docs.md
2023-12-24 14:55:11 -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
Vincent
67cfbcf6bc update docs on oob swaps 2023-12-21 12:52:57 -07:00
Vincent
afb36ac6e6 Removed outdated note in oob swap documentation (#2119)
(cherry picked from commit 0b7a68e352bbbd54e22bf7f9e4301959cad2de99)
2023-12-21 12:45:41 -07:00
Vincent
b9da68d970
Support encapsulating oob swap elements in templates in response (#2120) 2023-12-21 12:39:23 -07: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
Alexander Petros
f0403924fb Add linter with our current violations disabled 2023-12-21 12:59:37 -05:00
Alexander Petros
1be703a142 Add standardJS format script
We're not enforcing it right now, but it's there if you want it.
2023-12-21 12:51:47 -05:00
Alexander Petros
157a06cb8d Use var at top-level
This is so that htmx can be acccessed from the window object. Not sure
if that's a good thing, but we have historically supported it and we're
not gonna stop now.
2023-12-21 12:40:03 -05:00
Alexander Petros
54c89e4e3e Add AMD distribution 2023-12-21 12:39:07 -05:00
Alexander Petros
e96037c4ed Remove extensions from dist 2023-12-21 12:36:58 -05:00
Alexander Petros
7e484f65a4 Replace UMD with distribution script
This also includes a massive reformat of the htmx code, since the
indenting was changed. I used standardJS for this.
2023-12-21 12:20:48 -05:00
Carson Gross
41e9ce3593 Merge branch 'dev' into v2.0v2.0 2023-12-20 15:48:47 -07:00
Carson Gross
b4080e71da remove psychotic test 2023-12-20 15:48:31 -07:00
Carson Gross
126187fe8e slight rename 2023-12-20 15:47:05 -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
Noa Aarts
1f4903c213
rewrite the HX-Retarget header to use extended query selectors (#2017) 2023-12-20 15:38:25 -07:00
Fernando Comunello
e9bce8db65
Improve head tag parsing on template fragments (#2024)
Fix https://github.com/bigskysoftware/htmx/issues/2018
2023-12-20 15:37:42 -07:00