748 Commits

Author SHA1 Message Date
Carson Gross
fd775f84be fix version and lint 2024-01-23 12:53:58 -07:00
Carson Gross
1023193b01 fix script tag double execution 2024-01-23 12:48:39 -07:00
Carson Gross
0a2c375970 Merge remote-tracking branch 'origin/v2.0v2.0' into v2.0v2.0 2024-01-23 12:16:08 -07:00
Vincent
b9322450ff
Migrate to FormData (#2226)
* use form data instead of plain objects [wip]

* FomData fixes + some JSDoc. TODO prevent multiple inclusions

* Linted code

* Prevent double value inclusions

---------

Co-authored-by: Deniz Akşimşek <deniz@denizaksimsek.com>
2024-01-23 12:15:18 -07: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
5ea7767c1d Run formatter on source 2024-01-18 10:21:34 -05:00
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
dee5546f0e Increment version to 2.0a 2024-01-13 13:43:51 -05: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
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
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
Carson Gross
66599ef887 Merge branch 'master' into dev
# Conflicts:
#	www/content/docs.md
2023-12-21 17:28:58 -07:00
Vincent
b9da68d970
Support encapsulating oob swap elements in templates in response (#2120) 2023-12-21 12:39:23 -07: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
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
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
Carson Gross
7c1c406efc Merge branch 'v2.0v2.0' into merge-2075
# Conflicts:
#	src/htmx.js
2023-12-20 13:22:49 -07:00
Denis Palashevskii
23256373fc
Remove legacy WS/SSE code (#2095)
* apply updated patch with legacy WS/SSE removal

* remove legace WS/SSE from the test server also

* remove sse mention from getTriggerSpec()

* clean up sse.js implementation after removal of hx-sse
2023-12-14 15:54:16 -07:00
Carson Gross
0eb8190342 Merge branch 'dev' into v2.0v2.0 2023-12-14 14:34:29 -07:00
Mark Croxton
9052a4d520
Prevent references to nodes swapped out of the dom accumulating as detached elements in memory (#2091)
* Prevent references to elements swapped out of the dom accumulating as detached nodes (memory leak).

* Safely delete internal data when we tear down a node
2023-12-14 12:12:34 -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
Vincent
4057f9c465
Trigger specs cache indentation fix + documentation & tests (#2094)
* Fix parseAndCacheTrigger indentation as discussed in #1540

https://github.com/bigskysoftware/htmx/pull/1540#issuecomment-1834651800

* Trigger specs cache documentation + tests
2023-12-14 11:44:11 -07:00
Carson Gross
c4d8548406 being annoying, but remove a lookup of the cache 2023-12-13 18:29:39 -07:00
Vincent
da546050c3
Cache evaluated trigger specs (#1540)
* Cache evaluated trigger specs

* Removed spec array copy

* parseAndCacheTrigger func (wrong indentation for more readable diff)

* triggerSpecsCache config property

* Avoid htmx.config.triggerSpecsCache repetition
2023-12-13 18:27:58 -07:00
Carson Gross
ad871a9576 Merge branch 'v2.0v2.0' into disable-inheritance
# Conflicts:
#	src/htmx.js
2023-12-13 17:08:52 -07:00
Carson Gross
f84b332d19 Merge branch 'dev' into v2.0v2.0 2023-12-13 15:44:14 -07:00
Carson Gross
73ec692e6c remove some lets that snuck in 2023-12-13 15:01:16 -07:00
Carson Gross
cd176d61d7 remove legacy hx-on= syntax 2023-12-13 14:59:48 -07:00
Carson Gross
22fde35674 Merge branch 'dev' into v2.0v2.0 2023-12-13 14:46:37 -07:00
Carson Gross
3be4202e5e add support for dashes in hx-on* attributes 2023-12-07 15:15:10 -07:00
Katrina Scialdone
4d9adabe6c Make shadow DOM tests actually pass 2023-12-07 08:48:20 -07:00
Katrina Scialdone
bf949749d3 Add basic support for shadow DOM 2023-12-07 07:40:38 -07:00
Viliam Mihálik
24b6ee194e
Improve performance of lib during initialization phase (#2045)
* perf: prevent initialization of all links on page

* perf: changed loop to queryselector

* removed spread operator

* fixed selector

* use only one query to retrieve elements
2023-12-05 16:57:59 -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
Yaroslav Lapin
52826aaeec
fix src/htmx.js(3842,25): error TS2769: No overload matches this call. (#2038) 2023-11-30 15:16:45 -07:00