Rich Harris
c9435fc87f
Merge pull request #1279 from jacwright/action-this
...
Make actions execute with the component context
7 years ago
Luke Edwards
a412f11907
update test samples’ expectants
7 years ago
Jacob Wright
9b0a884035
Make actions execute with the component context
7 years ago
Rich Harris
e77988b195
Merge pull request #1247 from jacwright/behaviors
...
Adds actions to components
7 years ago
Alan Palazzolo
3c61655e93
Add option preserve comments in SSR rendering.
7 years ago
Jacob Wright
04f5d5c975
Adds actions to components
...
Actions add additional functionality to elements within your component's template that may be difficult to add with other mechanisms. Examples of functionality which actions makes trivial to attach are:
* tooltips
* image lazy loaders
* drag and drop functionality
Actions can be added to an element with the `use` directive.
```html
<img use:lazyload data-src="giant-photo.jpg>
```
Data may be passed to the action as an object literal (e.g. `use:b="{ setting: true }"`, a literal value (e.g. `use:b="'a string'"`), or a value or function from your component's state (e.g. `add:b="foo"` or `add:b="foo()"`).
Actions are defined in a "actions" property on your component definition.
```html
<script>
export default {
actions: {
b(node, data) {
// do something
return {
update(data) {},
destroy() {}
}
}
}
}
</script>
```
A action is a function which receives a reference to an element and optionally the data if it is added in the HTML. This function can then attach listeners or alter the element as needed. The action can optionally return an object with the methods `update(data)` and `destroy()`.
When data is added in the HTML and comes from state, the action's `update(data)` will be called if defined whenever the state is changed.
When the element is removed from the DOM `destroy()` will be called if provided, allowing for cleanup of event listeners, etc.
See https://github.com/sveltejs/svelte/issues/469 for discussion around this feature and more examples of how it could be used.
7 years ago
Rich Harris
86a151a7ea
Merge pull request #1243 from sveltejs/gh-1240
...
fix #1240
7 years ago
Rich Harris
7c25eb32fa
skip missing property warning for computed/global properties
7 years ago
Rich Harris
ce607d5ab3
add local variable for list values - fixes #1240
7 years ago
Rich Harris
26239463c5
Merge pull request #1237 from sveltejs/gh-1209
...
use setAttribute with inputs, for benefit of IE - fixes #1209
7 years ago
Rich Harris
4e99eb8d37
use setAttribute with inputs, for benefit of IE - fixes #1209
7 years ago
Rich Harris
01f6f9fa4d
alias listName to deconflict with shared helpers - fixes #1229
7 years ago
Rich Harris
d680356622
update test
7 years ago
Rich Harris
428784d570
Merge branch 'gh-1118' into gh-1118-base36
7 years ago
Rich Harris
2f01115a41
merge master -> gh-1118
7 years ago
Rich Harris
0c66e9e2f7
merge
7 years ago
ekhaled
2e9cd4742c
fix snapshots for the actual mounting code
7 years ago
ekhaled
270be984ac
fix bundle snapshots
7 years ago
ekhaled
2e3724f7d3
fix snapshots
7 years ago
Rich Harris
94c76308a1
update deps to get tests to pass again
7 years ago
Conduitry
a2873df711
update js if-block-no-update test
7 years ago
Rich Harris
e95a0b60a9
Merge branch 'master' into gh-1175
7 years ago
Rich Harris
a5cc451c9c
only use page[XY]Offset
7 years ago
Rich Harris
1ad28e6fe6
use base36 for style classes
7 years ago
Rich Harris
81743a2562
update more tests
7 years ago
Rich Harris
9971283671
update tests
7 years ago
Rich Harris
602f13ae6b
fix out of date test
7 years ago
Rich Harris
805c72fefc
Merge pull request #1173 from sveltejs/gh-1122
...
[WIP] Simplify everything
7 years ago
Rich Harris
036277df64
update tests
7 years ago
Rich Harris
4ccc2ade2f
Merge pull request #1169 from sveltejs/gh-1166
...
use ["default"] instead of .default in legacy mode
7 years ago
Rich Harris
af5a73cc11
update tests
7 years ago
Robert Hall
836cc36598
Using pageYOffset & pageXOffset
7 years ago
Rich Harris
d162ce9968
Merge branch 'master' into gh-1122
7 years ago
Rich Harris
1b599bd57b
put _differs on prototype, remove runtime option
7 years ago
Rich Harris
27f6d560b5
remove some unused code etc
7 years ago
Rich Harris
7baba8bf8c
all tests passing
7 years ago
Rich Harris
b94f63ed70
everything working except some destructuring stuff
7 years ago
Rich Harris
c0292cbca1
update tests
7 years ago
Jacob Wright
046a8000e6
Add another test
7 years ago
Jacob Wright
405c4f6371
Adding compiler option for immutable back in
...
This will keep existing code smaller and _mostly_ only add size when using the `immutable` compiler option.
7 years ago
Jacob Wright
9e877d9da1
Makes immutable a component option rather than a compile option
...
This allows components to opt in (or out) of using immutable data checking for greater flexibility in app design. It also removes the compiler option.
7 years ago
Jacob Wright
9a1d87494d
Removes date checks and simplifies NaN checks, adds tests
7 years ago
Rich Harris
38bf5b1d3f
use ["default"] instead of .default in legacy mode - fixes #1166
7 years ago
Jacob Wright
d2f8e472a5
Add support to computed and store for immutable structures
...
Adds optional performance support for apps using an immutable data structure such as redux. Adds the `immutable` boolean option for compile and an `immutable` option to store as well. When these options are used, computed will not recompute if the object has not changed. If your data structure is not immutable you should not use this as svelte cannot know if a mutation was made on objects.
This PR also adds support for Dates and NaN values so computed properties will not recompute if a date has not changed or a value did not change from NaN.
This closes out these issues:
* https://github.com/sveltejs/svelte/issues/1146
* https://github.com/sveltejs/svelte/issues/1161
This is my first PR for Svelte. Any feedback would be appreciated!
7 years ago
Jacob Mischka
b5a3e2224d
Add audio video volume binding ( #1148 )
...
* Add audio/video volume binding
Fixes #1143
* Update test and add volumechange event
* Set volume on initial update
* Update test after setting volume initially
Oops.
7 years ago
Rich Harris
d411a82a32
update snapshot tests
7 years ago
Emil Ajdyna
f9fc7c9e91
Base scoping hashes on CSS content rather than entire file
7 years ago
Rich Harris
728d2fa9fb
deconflict referenced globals - fixes #1079
7 years ago
Rich Harris
6ccc7b812b
reuse timeout function
7 years ago
Rich Harris
297ea67ebe
lock scroll bindings to allow tweening - fixes #1071
7 years ago
Rich Harris
976c278d37
prevent main fragment being created twice - fixes #1063
7 years ago
Rich Harris
a8f7d57c3a
only optimise <title> inside <:Head>
7 years ago
Rich Harris
b7d8c49dc8
Merge branch 'master' into gh-1027
7 years ago
Rich Harris
1f31ba52c3
dont create text nodes inside <:Head> - fixes #1026
7 years ago
Rich Harris
646b0c0e01
optimise <title> - fixes #1027
7 years ago
Rich Harris
f8362fe5fb
fix toString method in SSR output - closes #1044
7 years ago
Rich Harris
ca7e90083e
can just use options here
7 years ago
Emil Ajdyna
d398b34a41
Add state() method handling for components
7 years ago
Rich Harris
394dec9f11
Merge pull request #1024 from sveltejs/gh-1013
...
update SSR render method, and introduce <:Head>
7 years ago
Rich Harris
8a3898c6cb
fix unrelated bug that was causing tests to fail
7 years ago
Rich Harris
ed44f7d1fa
server-side <:Head>
7 years ago
Rich Harris
ca6a4a7708
Merge pull request #1021 from sveltejs/gh-1015
...
implement preload
7 years ago
Rich Harris
22ba8f74ca
deprecate renderCss
7 years ago
Rich Harris
0127f9f0ca
change server-side render method signature
7 years ago
Emil Ajdyna
fadeeaf177
Expose root as a public property
7 years ago
Rich Harris
6bd410c886
implement preload
7 years ago
Rich Harris
797165b5a8
trim SSR'd output more intelligently - fixes #998
7 years ago
Rich Harris
c799230164
don't use dataset with svg elements - fixes #995
7 years ago
Rich Harris
82fc0f2713
Merge branch 'master' into gh-654
7 years ago
Rich Harris
8a0813e96b
SSR await-then-catch
7 years ago
Rich Harris
945d8ce526
store bindings
7 years ago
Rich Harris
be68cd9de2
use store in SSR mode
7 years ago
Rich Harris
75e911b05a
update snapshot tests
7 years ago
Rich Harris
dc154987da
remove whitespace around <:Window/> - fixes #943
7 years ago
Rich Harris
0a01aa0243
Increase code coverage
7 years ago
Rich Harris
51901442c9
attach globals to state object on initialisation
...
fixes #908
7 years ago
Rich Harris
775866780e
combine multiple bindings in single handler, implement bind:indeterminate — fixes #910
7 years ago
Rich Harris
4411ab116e
update snapshot tests
7 years ago
Rich Harris
0a4e795498
Merge pull request #921 from sveltejs/gh-917
...
check component exists after _bind before continuing
7 years ago
esarbanis
ea3f58a786
Use el.dataset.foo = bar instead of setAttribute(el, 'data-foo', bar)
...
Closes #858
7 years ago
Rich Harris
fb675fd5e3
update snapshot tests
7 years ago
Rich Harris
f659fd8391
remove unused _yield property
7 years ago
Conduitry
2800b5cacc
update tests
7 years ago
Rich Harris
1dc4882183
merge master -> no-template-iife
7 years ago
Rich Harris
d27e4734d5
Merge branch 'master' into short-method-names
7 years ago
Rich Harris
6436886500
exclude irrelevant stuff from SSR output
7 years ago
Rich Harris
4dbfc65e74
fix indentation, update snapshot tests
7 years ago
Rich Harris
fcf2b03ba6
take template object out of IIFE
7 years ago
Rich Harris
94e280e430
merge master -> gh-23
7 years ago
Rich Harris
dabc2d1fdf
dont wrap ESM in IIFE
7 years ago
Rich Harris
2da0e252c7
merge master => iife
7 years ago
Rich Harris
2b2a1b40ce
use short method names
7 years ago
Rich Harris
c8f094cf80
remove unused destroyEach and destroy arguments
7 years ago
Rich Harris
1f9fc04d27
simplify module wrapping
7 years ago
Rich Harris
fdd7ac71c2
Merge branch 'master' into iife
7 years ago
Rich Harris
cf56c0ba04
Merge branch 'master' into gh-23
7 years ago
Rich Harris
5d84a93c99
shorten each block var names
7 years ago
Rich Harris
4f1d48c4a6
more readable each block values
7 years ago
Rich Harris
74d84d81e9
remove incorrect argument
7 years ago
Rich Harris
66ae0d9c94
use textContent and innerHTML where appropriate ( #23 )
7 years ago
Rich Harris
5cd76be290
various fixes
7 years ago
Rich Harris
3b68d1f5dc
update tests
7 years ago
Rich Harris
6b70825ac3
Merge pull request #856 from sveltejs/remove-is-initial
...
remove isInitial check on recompute
7 years ago
Rich Harris
21f6dd8cef
Merge branch 'master' into static-components
7 years ago
Rich Harris
bd282df921
remove version numbers from snapshot tests
7 years ago
Rich Harris
e2ef1fdb96
dont update components with only static bindings
7 years ago
Rich Harris
4d6e95d799
update snapshot tests
7 years ago
Rich Harris
b1cbffece6
remove excess parentheses
7 years ago
Rich Harris
33dbc18a10
merge master -> shared-init
7 years ago
Rich Harris
0b71a93779
update tests
7 years ago
Rich Harris
bd002f94bc
extract some shared init logic
7 years ago
Rich Harris
1d34bd886e
put version comment above imports
7 years ago
Rich Harris
6e57fa3ced
add debugging comments
7 years ago
Rich Harris
fbbaff5404
typo
7 years ago
Rich Harris
770c14955d
escape shadow DOM CSS - fixes #840
7 years ago
P
072f541855
Change let -> var, solves #838
7 years ago
Rich Harris
bf3afe955c
Merge pull request #833 from sveltejs/nightmare
...
use nightmare to test custom element stuff
7 years ago
Rich Harris
ef2a2b329a
use nightmare to test custom element stuff
7 years ago
Rich Harris
d75ab8544e
remove requestAnimationFrame stuff, convert time ranges to {start, end} objects
7 years ago
Rich Harris
1a99c515ff
add snapshot test for #830
7 years ago
Rich Harris
073cbc0460
update some tests
7 years ago
Rich Harris
5e325d5a87
remove redundant input blowback guard - closes #645
7 years ago
Rich Harris
e993ae0748
more consistent style for generated code
7 years ago
Rich Harris
81a04ad86c
merge master -> gh-797
7 years ago
Rich Harris
7401590fba
Merge branch 'master' into gh-797
7 years ago
Rich Harris
2380109f15
handly directly instantiated custom elements, and slots
7 years ago
Rich Harris
186b770ef4
use helper for setting styles
7 years ago
Rich Harris
824998fdaa
update tests
7 years ago
Rich Harris
f5f35b5a50
scoped styles
7 years ago
Rich Harris
29fc3e5169
update tests
7 years ago
Rich Harris
afe3e2e669
basic custom element generation ( #797 )
7 years ago
Rich Harris
d54d00cac1
handle url(...) and quoted values
7 years ago
Rich Harris
228a7808ac
optimize style attributes
7 years ago
Rich Harris
f5958584d9
dont noop set/get until after component is destroyed ( fixes #788 )
7 years ago
Rich Harris
6499d4714d
only use noscript if necessary
7 years ago
Rich Harris
5f5f09b94e
update snapshot tests
7 years ago
Andrew Worcester
caa67b5325
updated tests to reflect anchor change
7 years ago
Rich Harris
f7b829820f
add legacy option, use it for setInputType ( #773 )
7 years ago
Rich Harris
8818357fc4
tidy up
7 years ago
Rich Harris
3daa7aa6b3
we can now do changed.foo instead of "foo" in changed - is faster and smaller
7 years ago
Rich Harris
f31c206b73
tidy up, dedupe a bit
7 years ago
Rich Harris
4dd5fc5594
apply optimisation to raw tags
7 years ago
Rich Harris
5636506fc0
update tests
7 years ago
Rich Harris
427a0b5925
update tests
7 years ago
Rich Harris
9b9aa0416f
make errors easier to track down
7 years ago
Rich Harris
fd3792bd60
replace destroy with noop on destroy
7 years ago
Rich Harris
44b73191c7
update tests
7 years ago
Rich Harris
86fb0e4ced
handle set after destroy, and move destroy into shared helpers
7 years ago
Rich Harris
f3f85841a5
Merge pull request #751 from sveltejs/hoist-if-block-selectors
...
Hoist if block selectors
7 years ago
Hunter Perrin
ba74297a19
Changed from this keyword to argument in setup method.
7 years ago
Hunter Perrin
59d01f737d
Added setup function which can supply static methods/properties. Closes #480 . Closes #578 .
7 years ago
Rich Harris
fef2367c11
rename to select_block_type and current_block_type
7 years ago
Rich Harris
177e7d09c3
hoist if block selectors
7 years ago
Rich Harris
ae060cfa3b
Merge pull request #737 from sveltejs/update-deps
...
[WIP] Update dependencies etc
7 years ago
Rich Harris
e02c248456
update rollup and plugins
7 years ago
Rich Harris
962f04f4bf
dont throw error if component is destroyed twice ( closes #643 )
7 years ago
Rich Harris
608f8943f3
Merge pull request #733 from sveltejs/gh-375
...
use helper to encapsulate styles, rather than being repetitious
7 years ago
Rich Harris
70a99925a9
use helper to encapsulate styles, rather than being repetitious ( fixes #375 )
7 years ago
Rich Harris
7b1299904b
minify css and remove unused styles ( #697 )
7 years ago
Zhuravlev Yury
ab607269f9
Update css-media-query test. It's look like somebody forgot about that.
7 years ago
Rich Harris
5f09421a18
Merge pull request #719 from sveltejs/gh-712
...
Fix escaping bugs
7 years ago
Rich Harris
9085c0a22a
update tests
7 years ago
Rich Harris
343d66538b
failing test for #712
7 years ago
Rich Harris
3f73f252ac
update tests
7 years ago
Rich Harris
1733966d18
tidy up
7 years ago
Rich Harris
2d2c68c26b
NAILED IT
7 years ago
Rich Harris
84e6d0c5b7
remove _flush in favour of callAll
7 years ago
Rich Harris
e9f17f34ff
fire intro.start and outro.start events ( #702 )
7 years ago
Rich Harris
d89d70e7a3
rename _renderHooks to _oncreate, since thats all its used for
7 years ago
Rich Harris
d707f6a3b2
call oncreate functions before bindings
7 years ago
Rich Harris
203e123d94
Merge pull request #676 from sveltejs/gh-608
...
Preserve whitespace inside nodes if necessary
7 years ago
Rich Harris
df1870df8b
update tests
7 years ago
Rich Harris
f87c3328b5
Merge branch 'master' into codegen
7 years ago
Rich Harris
21a8b1dd06
fix tests
7 years ago
Rich Harris
334772a11d
use #foo instead of block.alias("foo")
7 years ago
Rich Harris
9feee3a0bf
use @foo for generator.alias("foo")
7 years ago
Rich Harris
0250398ee6
update tests
7 years ago
Rich Harris
d10ddc0c51
fix most non-hydration tests
7 years ago
Rich Harris
e9516abffd
fix bad indentation in generated code
8 years ago
Paul Sauve
dc0dedf3fe
Fix #643
8 years ago
Rich Harris
10ecd81734
prettierfy test files
8 years ago
Rich Harris
84595fb381
run prettier on src, update tests
8 years ago
Rich Harris
3b70920991
merge master -> gh-592
8 years ago
Rich Harris
ce8dd647f0
Merge branch 'fix-each-block' of https://github.com/hperrin/svelte into hperrin-fix-each-block
8 years ago
Hunter Perrin
41c214a986
Fixed each block producing elements in wrong order after change. Fixes #610 .
8 years ago
Rich Harris
a538f7a071
update tests to use new assign helper
8 years ago
Rich Harris
c4b68ca8cb
remove TODO
8 years ago
Rich Harris
288d1c9d74
update tests
8 years ago
Rich Harris
739a832c37
remove some files from repo
8 years ago
Rich Harris
015ef56b18
make transitionManager treeshakeable ( fixes #593 )
8 years ago
Rich Harris
34170a5e76
compare bundled output with expectations
8 years ago
Rich Harris
86e05aaf74
Merge pull request #571 from sveltejs/gh-569
...
Fix insertion order of if blocks and their anchors
8 years ago
Rich-Harris
6dfb568d2a
fix insertion order of if blocks and their anchors
8 years ago
Rich-Harris
23331e605a
dont store keyed block iterations in an array
8 years ago
Rich-Harris
7db27152fb
increase test coverage
8 years ago
Rich Harris
3a7f7e29c2
Merge pull request #559 from sveltejs/simpler-codegen
...
Simpler codegen
8 years ago
Rich-Harris
d8364f6e0a
remove unnecessary if statement
8 years ago
Rich-Harris
43091431d1
simplify SSR codegen
8 years ago
Rich-Harris
3efb5ab993
fix test
8 years ago
Rich-Harris
c1a1a01bf0
generate less code for if-blocks with else-blocks ( closes #540 )
8 years ago
Conduitry
e6d2571e34
label <style> element with id instead of with attribute, for performance
8 years ago
Conduitry
a1c8ada088
when creating a component, always check whether its css is still in the dom ( #554 )
8 years ago
Rich-Harris
22ac50abb6
outros on keyed each-blocks
8 years ago
Rich-Harris
7f76ab24f9
Merge branch 'master' into gh-7
8 years ago
Conduitry
f74941b293
fix simple if blocks with top-level or conditions ( #532 )
8 years ago
Rich-Harris
6ed2a6c785
update tests
8 years ago
Conduitry
a0284a4c67
Merge branch 'master' into gh-3
8 years ago
Rich Harris
bfe9904db7
Update expected.js
8 years ago
Rich Harris
5f2846ae00
Merge branch 'master' into gh-507
8 years ago
Rich-Harris
9480f349ec
anchor-less each blocks
8 years ago
Rich-Harris
d274d08734
only create anchors for if blocks when necessary
8 years ago
Rich-Harris
162281ef4f
populate state in preprocess step, including naming DOM nodes
8 years ago
Rich-Harris
e345287a76
rename root to state, and allow state to be used as context
8 years ago
Rich-Harris
f82d04913f
hoist variables where appropriate ( #504 )
8 years ago
Rich-Harris
86413ef4fa
optimise simple if-blocks
8 years ago
Rich-Harris
9f2bd988a0
collapse text around comments
8 years ago
Rich-Harris
3629c9e9a1
exclude indexes from dependencies
8 years ago
Rich-Harris
0c013cfd9b
use correct dependencies for each-block updates
8 years ago
Rich-Harris
080afc99a8
simplify if-block switching code
8 years ago
Rich-Harris
c9a2bf98a5
rename some variables so that they make more sense
8 years ago
Rich-Harris
2e7a429684
get rid of tmp variable, we dont need it
8 years ago
Rich-Harris
950f2ce2fd
dont update static subtrees, even with a noop
8 years ago
Rich-Harris
b574c405eb
conditionalise each-block updates
8 years ago
Rich-Harris
db7fe861b2
failing test for #381
8 years ago
Rich Harris
2852b96e65
collapse consecutive if-statements with the same condition ( #450 )
8 years ago
Rich Harris
1e2c8593f2
hoist some event handlers, rewrite non-hoisted ones to avoid binding
8 years ago
Rich-Harris
31269e84f0
failing test for #433
8 years ago
Rich-Harris
858c6b5e82
add gitkeep file so tests pass in CI
8 years ago
Rich Harris
f43e71b959
remove #433 test for now
8 years ago
Rich Harris
803d1d2746
move test/generator to test/runtime, and have separate input -> output tests for codegen. add test for #433
8 years ago