* Added getAdditionalSelectors function so that nativescript-theme can be functional again in NS 4.x
* Change to a better more extensible additional css system.
* removed redunant function on the name.
* Fix lint issues
* Adding mergeSelectors to the remove function
* Added test of new add/remove css functions.
* fix: revert testRunner.ts changes that disabled all tests except style
* refactor: fix typo
* chore: fix typo and change test to no not affect global styles
* feat(animation): support animating width/height properties
- width/height can be specified in any valid PercentLength form that can be parsed.
- make width/height properties be based on animatable CSS property. TODO: affectsLayout????
- add a few basic tests. Could probably use a few more?
- fix a few null pointer exceptions in PercentLength helpers
* test(ui): add animation examples to ui-tests-app
- basic height animation
- height animation in StackLayout
- fix an issue where strings were not automatically converted to PercentLength when calling directly into `View.animate`
* test(ui): cleanup and add summary/details layout example
- use height transition to cover textview content.
- when clicking on the summary view, animate the summary height up to a small header and show the text view.
- fake animating the height on the textview by very subtly animating its translateY value while shrinking the header height. This tricks your mind into think that the text view is also vertically growing, even thought it's just slightly moving up along the Y axis.
* test(ui): add animation curves test page
- verify all built-in animation curve types work as expected.
* test(ui): update animation curve example for multiple properties
- add a segmented bar that allows choosing which properties to animate using the various curves.
- interestingly, a whole bunch of properties fail with spring on iOS.
- refactor width/height animations handlers to remove duplication on iOS.
- implement proper spring animation for width/height on iOS.
* test(ui): add stress example with 100 labels animating and fps meter
- same curve/property selector as the curves example, but with 10x10 grid of items that stagger animate, and an FPS meter.
- sadly it looks like width/height animations are considerably slower than the others when you have a bunch of them. I'm not sure that's entirely surprising since they interact with the layout system.
- the better news is that even with the army example, my really old android 4 tablet manages ~30fps. On height/width animations from the curves example, the old tablet does fine with no noticeable FPS hit.
* refactor: deduplicate existing droid width/height animations
- stash to prep for replacing with LayoutTransition.
* test(animation): unit tests for extent animation and PercentLength parse
- update animation scaffold to allow specifying the parent stack layout height/width
- test basic supported units, px, %
- test basic percent length parser behaviors
* chore: cleanup cruft and remove noise from diff
- undo the import mangling that WebStorm helpfully applied
- remove .editorconfig file
- clean up in tests, remove cruft
* chore: cleanup from review
- more import changes
* chore: remove .editorconfig
Add parsers for the background css shorthand property, make ViewBase unit testable in node environment
Add background parser and linear-gradient parser
Use sticky regexes
Simplify some types, introduce generic Parsed<T> instead of & TokenRange
Apply each parser to return a { start, end, value } object
Move the css selector parser to the css/parser and unify types
Add the first steps toward building homegrown css parser
Add somewhat standards compliant tokenizer, add baseline, rework and shady css parsers
Enable all tests again, skip flaky perf test
Improve css parser tokenizer by converting some char token types to simple string
Implement 'parse a stylesheet'
Add gonzales css-parser
Add parseLib and css-tree perf
Add a thin parser layer that will convert CSS3 tokens to values, for now output is compatible with rework
Make root tsc green
Return the requires of tns-core-modules to use relative paths for webpack to work
Implement support for '@import 'url-string';
Fix function parser, function-token is no-longer neglected
Make the style-scope be able to load from "css" and "css-ast" modules
Add a loadAppCss event so theme can be added to snapshot separately from loaded
* Move the applyStyleFromScope to onLoaded, when the views are created and id or className properties are set the CSS selectors are queried and applied multiple times
* Condense the changes when applying properties
* Image corners were blinking in #4322 and CSS border will now draw non uniform corner radiuses if the border color is uniform
* Implement per-side corner radiuses for iOS
* Update stretch-mode example
* Update matrix-mode example
* Update image resources
* Add clipping for non uniform radii without border width, don't throw for missing image resources in css
Call native setters once when a page is instantiated.
Fix background not being reset, Label's background is now set to background, not layer
Make the nativeView field instead of property for performance reasons
Setup direct siblings apps tests
Fix direct child test
Add direct sibling test on class and type element
Add sibling combinator handling for id selectors
Completely redo sibling selector and add attributes and pseudo class selectors tests
Handle sibling via a custom group instead of a selector
Fix Selector groups creation
Add unit test for sibling selection
Fix tslint errors
TKUnit default message change to empty string
isSet method is now instance method of Property classes
fix detaching from parent bindingContext - were using oldParent.parent instead of parent
editable-text-base.android - onTextChanged implementation commented. Does nothing.
frame - onCreateView wrapped in try/catch and shows label with exception message if any
text-base.android - should support reset of nativeView. TransformationMethod won’t be set if TextField is secure
Change some types to their string couterparts
TextField.android won’t support multilines anymore in order to work as iOS
In android when page is removed from native backstack we won’t call tearDownUI again a second time
* Change image.android to use the new image.Cahce class from widgets.
* fix npm scripts
* npm tsc will compile all so no need for npm run dev-tsc-tests
* fix tslint error
* image-tests use memory only cache.
* fix exception in image.android
* Change image-tests so that Image won't be GC immediately.
* Change cacheMode to enum
Less than 30 erros left, let's hope it still works
Added lib.*.d.ts from typescript, removed lib and dom stuff, added by hand XHR, alert etc. .d.ts-es for polyfills
Roll back some changes involved in separating UIEvent for dom and ios
Test combined dts-es will now use lib, while internally we will not to avoid UIEvent conflict with dom stuff
Split type.class from CssTypeSelector to CssCompositeSelector, probably support type#id.class selectors
Apply review comments, refactor css-selectors internally
Applied refactoring, all tests pass, button does not notify changes
Add tests for the css selectors parser.
Added tests for css-selectors
Added basic implementation of mayMatch and changeMap for css match state
Implemented TKUnit.assertDeepEqual to check key and key/values in Map and Set
Watch for property and pseudoClass changes
Add one child group test
Add typings for animations
Added mechanism to enable/disable listeners for pseudo classes
Count listeners instead of checking handlers, reverse subscription and unsubscription
* Add css-perf app.
* Style properties now check only properties that are set.
Image utils module required on top (instead of in onMeasure) to improve performance.
Remove try/catch block when Style applies native property.
* fix tslint
* Fix broken merge
Update package.json version
* Failed miserably - if the try/catch around applyProperty method is removed - TextField fails big time.
TextField needs some good refactoring as well as calls to _updateTextDecoration & _updateTextTransform
utils - setTextTransform & setTextDecoration should be split, typing support should be added.