Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Y.Color #236

Closed
wants to merge 246 commits into from
@apipkin

Full Y.Color with tests, docs, and harmony methods.

mention @jconniff
mention @msweeney
mention @allenrabinovich

ericf and others added some commits
@ericf ericf Move Base.js to BaseEvents.js 2d9f814
@ericf ericf Extract BaseEvents from Base.
Move the observablility of `Y.Base`'s lifecycle and attribute changes
into `Y.BaseEvents`, an extension for `Y.BaseCore`.
f1544a1
@ericf ericf Update `base` module and submodule metadata to include `base-events`. b1e13ff
@ericf ericf Update `Y.Base.create/mix` to work with `Y.BaseCore`.
This allows BaseCore to be the root Base-based superclass enabling the
ability to mix in BaseEvents at runtime. The following is now possible:

    Y.Foo = Y.Base.create('foo', Y.BaseCore, []);

    // And...

    Y.Bar = Y.Base.create('bar', Y.BaseCore, [Y.BaseEvents]);

    // Or...

    Y.Baz = Y.Base.create('baz', Y.BaseCore, []);
    Y.Base.mix(Y.Baz, [Y.BaseEvents]);
d92409c
@theaxel theaxel Don't overwrite already loaded cookie 1038444
@theaxel theaxel Make order of cookie loading with the same name configurabel 522d852
@theaxel theaxel Add builded cookie files df8da8c
@theaxel theaxel Merge branch 'master' of git://github.com/yui/yui3 48998b2
@rgrove rgrove Initial commit of Y.template().
ERB and Underscore-style templating for YUI.
5ee431d
@rgrove rgrove Trailing comma. 884289f
@rgrove rgrove Make precompiled templates work. 331245b
@rgrove rgrove Generic Y.Template API and Y.template() -> Y.Template.Micro
Moves Y.template() to a static Y.Template.Micro namespace and
adds Y.Template, a generic template engine API that supports
Y.Handlebars, Y.Template.Micro, and any other template engine
that adheres to a simple API interface.
d3ce3d7
@rgrove rgrove Don't rely on `with`, don't do extra work during precompilation.
Removing the `with` block in compiled templates makes rendering way
faster, bumping Micro ahead of both Underscore and Handlebars in
rendering speed.
173bf22
@rgrove rgrove Make Y.Template.Handlebars an alias for Y.Handlebars 7d9b214
@apipkin apipkin Initial release 07bbf6d
@travisbot

This pull request fails (merged 07bbf6d into 38da169).

@ericf
Owner

Move "color-brightness-chart.html" and "color-brightness-selector.html" under "src/color/tests/manual/".

@ericf
Owner

Move any of the raw assets like PSDs to the YUI Assets project. You can create a color dir in its components and organize things like the other components in there.

src/color/README.md
@@ -0,0 +1,4 @@
+Color
+=========
+
+Color is a beta Component. It provides static methods for color conversion.
@ericf Owner
ericf added a note

s/is a beta Component. It//

@ericf Owner
ericf added a note

You could describe each of the three modules in the Y.Color namespace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/docs/assets/README.md
@@ -0,0 +1,3 @@
+Documentation Assets
+====================
+
@ericf Owner
ericf added a note

Add URL to where these assets live in the YUI Assets project (once they are moved).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/docs/component.json
@@ -0,0 +1,11 @@
+{
+ "name" : "color",
+ "displayName": "Color",
+ "description": "The Sortable utility provides support for the creation of a sortable list as well as the ability to join lists in various ways.",
@ericf Owner
ericf added a note

Duplicate "description" key. Copy/paste error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color-base.js
@@ -0,0 +1,293 @@
+/**
+Color provides static methods for color conversion.
+
+<p>For all cases of option.type, valid types are:</p><dl>
@ericf Owner
ericf added a note

I think you should only use Markdown to format API docs in the JavaScript source files. The HTML is hard to read in the text editor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color-base.js
((37 lines not shown))
+**/
+var KEYWORDS = {'black': '000', 'silver': 'c0c0c0', 'gray': '808080', 'white': 'fff', 'maroon': '800000', 'red': 'f00', 'purple': '800080', 'fuchsia': 'f0f', 'green': '008000', 'lime': '0f0', 'olive': '808000', 'yellow': 'ff0', 'navy': '000080', 'blue': '00f', 'teal': '008080', 'aqua': '0ff'},
+ // regular expressions used for validation and identification
+ REXP_HEX = /^(#?)([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/,
+ REXP_HEX3 = /^(#?)([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})/,
+ REXP_RGB = /^rgb\(([0-9]{1,3}), ?([0-9]{1,3}), ?([0-9]{1,3})\)/,
+
+ HEX = 'hex',
+ RGB = 'rgb',
+ HSL = 'hsl',
+
+Color = {
+
+ KEYWORDS: KEYWORDS,
+
+ re_RGB: REXP_RGB,
@ericf Owner
ericf added a note

If these are constants, why not have them be all upper case (e.g. REGEX_RGB)?

I'd also use REGEX instead of REXP.

@apipkin
apipkin added a note

re_RGB and re_Hex were in Y.Dom. They are only added to Y.Color for back compat

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color-base.js
((55 lines not shown))
+
+ re_hex3: REXP_HEX3,
+
+ /**
+ Converts provided color value to an array of hex values or hash prepended string
+
+ @public
+ @method toHex
+ @param {Object} options
+ @param {String} options.type identifies the type of color provided
+ @param {String|Array} options.value color value to be converted
+ @param {Boolean} options.css denotes if the returned value should be a CSS string (true) or an array of color values
+ @returns {String|Array} returns array of values or CSS string if options.css is true
+ **/
+ toHex: function(options) {
+ if (Y.Lang.isString(options)) { // Preserve backwards compatability
@ericf Owner
ericf added a note

Back-compat for Y.DOM?

@apipkin
apipkin added a note

Yeah. Should that be added in?

@ericf Owner
ericf added a note

Sure, doesn't hurt. It just stood out to be that there's back-compat code for a new component.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@jconniff

Just curious on the origin of the name "harmony" in this.

src/color/js/color-base.js
((151 lines not shown))
+ @param {String} options.to desired converted color type
+ @returns {Object}
+ **/
+ _toArray: function(options) {
+ var arr = [],
+ matches = null,
+ type = null,
+ val = options.value;
+
+ if (options.type === 'auto' || typeof options.type === 'undefined') {
+ options = Color._findType(options);
+ }
+ type = options.type.toLowerCase();
+ val = (Y.Lang.isString(val)) ? val.toLowerCase() : val;
+
+ switch(type) {
@ericf Owner
ericf added a note

Not sure I'd use a switch with fall through for this since there are only two main cases. if/else might be more clear.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color-base.js
((208 lines not shown))
+ /**
+ Converts the color value from the adjusted type to desired return
+ values. Updates options.type with converted type. Updates
+ options.value with new value array.
+
+ @protected
+ @method _convertTo
+ @param {Object} options
+ @param {String} options.type identifies the type of color provided
+ @param {Array} options.value color value to be converted
+ @param {String} options.to desired converted color type
+ @param {String} [to] (Optional) Overrides options.to if defined
+ @returns {Object}
+ **/
+ _convertTo: function(options, to) {
+ var _options = Y.mix({}, options),
@ericf Owner
ericf added a note

This creates a shallow copy of an object:

options = Y.merge(options);
@apipkin
apipkin added a note

I wasn't aware of this. Should Y.merge() be used throughout?

@ericf Owner
ericf added a note

Not in all places, only when you want a shallow copy or a new object.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color-harmony.js
@@ -0,0 +1,632 @@
+/**
+Color provides static methods for color conversion.
+
+<p>For all cases of options.type, valid types are:</p><dl>
@ericf Owner
ericf added a note

HTML -> Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color.js
@@ -0,0 +1,543 @@
+/**
+Color provides static methods for color conversion.
+
+<p>For all cases of option.type, valid types are:</p><dl>
@ericf Owner
ericf added a note

HTML -> Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color.js
((54 lines not shown))
+ REXP_HEX = Y.Color.re_hex,
+ REXP_HEX3 = Y.Color.re_hex3,
+ REXP_RGB = Y.Color.re_RGB,
+ REXP_RGBA = /rgba\(([0-9]{1,3}), ?([0-9]{1,3}), ?([0-9]{1,3}), ?([.0-9]{1,3})\)/,
+ REXP_HSL = /hsl\(([0-9]{1,3}), ?([0-9]*\.?[0-9]+)%, ?([0-9]*\.?[0-9]+)%\)/,
+ REXP_HSLA = /hsla\(([0-9]{1,3}), ?([0-9]*\.?[0-9]+)%, ?([0-9]*\.?[0-9]+)%, ?([.0-9]{1,3})\)/,
+
+ HEX = 'hex',
+ RGB = 'rgb',
+ HSL = 'hsl',
+
+Color = {
+ //----------------------------
+ // C O N S T A N T S
+ //---------------------------
+ REXP: {
@ericf Owner
ericf added a note

Why not have all the Regexps in this object?

Also I think REGEX is a better name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@ericf
Owner

Looks like some of the text files are missing their ending newlines (they are pointed out in the diff view).

src/color/js/color.js
((436 lines not shown))
+ g = parseFloat(val[1], 10) / 255,
+ b = parseFloat(val[2], 10) / 255,
+ max = Math.max(r, g, b),
+ min = Math.min(r, g, b),
+ h,
+ s,
+ l,
+ sub = max - min,
+ sum = max + min;
+
+ // hue
+ if (sub === 0) {
+ h = 0;
+ } else if (r === max) {
+ h = ((60 * (g - b) / sub) + 360) % 360;
+ } else if (g == max) {
@okuryu Collaborator
okuryu added a note

Use ===.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/color/js/color-base.js
((69 lines not shown))
+
+ re_RGB: REGEX_RGB,
+
+ re_hex: REGEX_HEX,
+
+ re_hex3: REGEX_HEX3,
+
+ /**
+ Converts provided color value to an array of hex values or hash prepended string
+
+ @public
+ @method toHex
+ @param {Object} options
+ @param {String} options.type identifies the type of color provided
+ @param {String|Array} options.value color value to be converted
+ @param {Boolean} options.css denotes if the returned value should be a CSS string (true) or an array of color values
@apipkin
apipkin added a note

The original idea behind options.css was to denote if the return value should be a string to be used in CSS.

After the preliminary discussion there was an idea that "css" was too specific and that stringification shouldn't be limited to CSS use cases.

On that note, I have a few options to use for options that would specify returning a string value.

options.css: takes a boolean value. if true returns a string of the values such as "#ff00ff", "rgb(255, 0, 255)", "hsl(300, 100%, 50%)". returns an array if undefined or other falsey value

options.string: takes a boolean value. if true returns a string of the values such as "#ff00ff", "rgb(255, 0, 255)", "hsl(300, 100%, 50%)". returns an array if undefined or other falsey value

options.toString: takes a boolean value. if true returns a string of the values such as "#ff00ff", "rgb(255, 0, 255)", "hsl(300, 100%, 50%)". returns an array if undefined or other falsey value

options.return: takes a string of "array" or "string" or a callback function that can be used to parse the array of color values and return callback(values). if "string" returns a string of the values such as "#ff00ff", "rgb(255, 0, 255)", "hsl(300, 100%, 50%)". returns an array if "array'", undefined or other falsey value

@apipkin
apipkin added a note

I'm leaning towards options.return. This would add an additional check for isFunction, but allows Y.Color to be more versatile than it already is.

After that I would go with options.toString

@msweeney
msweeney added a note

Since the goal is to drive low-level DOM and graphics color with this module, it may be worth simplifying the API rather than complicating with more options. Minimal function and object/array overhead should also be goals.

In order to fast-path the public API, we may want to consider streamlining to string in/string out, and leave the config/return wrapper for Y.Color.convert(config) and expose Y.Color.toArray() for converting to array.

It would also be nice to have a way to test the type, for both internal use and developer convenience; maybe Y.Color.isType('#000', 'rbg') and/or Y.Color.isRGB('#f00') etc.

@apipkin
apipkin added a note

toHex and toRGB allow you to just pass the string just as Y.Color allows now through DOM, by auto setting options.css to true. Modifying this to another name wouldn't be adding complications, but maybe I'm misunderstanding.

I like the idea of an assert package in there too. Should that be part of 'color' or a new submodule 'color-assert'. The regular expressions used are attached to Y.Color, so they are ready to exec() for tests, just dont have sugar methods on them.

@msweeney
msweeney added a note

Right, but the task of Y.Color.toRGB('#f00') requires a hop through isString(), wrapping as an object, a hop through _convertTo(), isArray(), _fromHexToRGB(), and wrapping up as an Array(), then join() ing.

That's alot of overhead for a low-level utility method. Ideally the call stack would something like toRGB(str) -> isHex(str) -> hexToRGB(str).

The isType() tests will probably just wrap up the regexes, so it seems fine to include them in 'color'.

@apipkin
apipkin added a note

The isString() check was implemented mainly to support back compat. Would you suggest simplifying the logic for toHex and toRGB in 'color-base' for faster processing in the lower levels and having the logic as is when using 'color' for more varied conversions. That would be toHex and toRGB would only take a string and return a string (with no allowance of alpha) when you only use 'color-base' just as Y.Color does now.

Passing strings instead of arrays seems medial in since the reg ex will return the array for us and it makes it easier than doing a toArray on the string after it's been compared to the reg ex. So a check for isHex() or isRGB() would be great for sugar or in _findType(), but checking before converting would require the regex to be processed twice, no?

I can totally see the benefit of just passing the color value around instead of an object around when only the value is being used half the time (in color-harmony at least).

@msweeney
msweeney added a note

I see what you mean about the efficiency of passing around the match result. There's really no way to avoid the array creation in this context short of not using regex. It seems like bit-wise operators could simplify this.

How much of an influence does the underlying regex implementation have on the public api? If an alternate approach can be used, would you still prefer to pass arrays around?

@msweeney
msweeney added a note

As far as the options object, I still think this can be simplified. How about an optional arg for the type hint and wrapper, with helper methods for toArray/String?

Y.Color.toRGB('#f00', 'hex');
Y.Color.toRGBArray('#f00', 'hex');

versus:

Y.Color.toRGB({
    value:'#f00',
    type: 'hex',
    css: true
});

Y.Color.toRGB({
    value:'#f00',
    type: 'hex'
});

@msweeney
msweeney added a note

I setup a perf test comparing the bitshift approach with regex.
http://jsperf.com/torgb-re-vs-bit

Assuming I didn't botch anything, the results are promising, and seem worth further investigation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@vrennert

I'd like to see a method added to change the shading of a given color.

Here is a prototype which I've modified to work with your class.
This safes a lot of trouble when making sort of gradients on the fly.
Charts and graphics will profit from this.

shade is a signed integer which modifies the color to a lighter or darker value.

shadeColor: function(options, shade) {
    var css = options.css, colorInt;
    options.css = false;
    colorInt = Color.toRGB(options);

    colorInt[0] += Math.floor((shade/255)*colorInt[0]);
    colorInt[1] += Math.floor((shade/255)*colorInt[1]);
    colorInt[2] += Math.floor((shade/255)*colorInt[2]);

    return Color.toHex({value: colorInt, type: 'rgb', css: css});
}
@apipkin

@vrennert To change the shade of a color, you can use Y.Color.getOffset(colorStr, { l: -10 }); This will make the color's luminance 10% darker.

Note: there has been a change to how the API is laid out; it now only takes strings for color values. This would look like: Y.Color.getOffset('#ff00ff', { l: -20 }); // #cc00cc

@apipkin apipkin was assigned
juandopazo and others added some commits
@juandopazo juandopazo ScrollViewPaginator#scrollToIndex anim duration
ScrollViewPaginator#scrollToIndex takes an animation duration and easing
that aren't having any effect. This is because paginator.set('index',
index) triggers another call to scrollToIndex. This patch fixes that
behavior by passing an "src" option to paginator.set('index', index).

I added tests that check the time spent in the animation (with a margin
of error)
a99d6b2
@juandopazo juandopazo Rebuild ScrollView bf6205a
@juandopazo juandopazo Remove test for shorter duration
Shorter durations are usually very imprecise
0e82540
@davglass davglass Seed build after master -> 3.x merge 0980709
@davglass davglass Merge branch 'master' into 3.x 3e68db2
@derek derek Merge branch 'scrollview-scrollto' of git://github.com/juandopazo/yui…
…3 into juandopazo-scrollview-scrollto
cf87a49
@davglass davglass Merge branch 'master' into 3.x c0c7a04
@davglass davglass Merge branch 'master' into 3.x bff9074
@davglass davglass Merge branch 'master' into 3.x bd52cc6
@davglass davglass YUI build after master -> 3.x merge e11e34f
@davglass davglass Merge branch 'master' into 3.x 731d98c
@davglass davglass Merge branch 'master' into 3.x a78f4be
@ericf ericf Merge branch 'master' into 3.x b1635b7
@apipkin apipkin Create user guides for Color. 8346ac4
@apipkin apipkin Update alias 68375b2
@apipkin apipkin Add output colors for harmony 20a008a
@apipkin apipkin Merge remote-tracking branch 'upstream/master' into color f21a276
@ericf ericf Merge branch 'master' into base-events
Conflicts:
	src/base/base-base.properties
	src/base/build.xml
	src/base/tests/base-tests.js
547702f
@ericf ericf Update Base's build.json, and remove old base-events Ant build files. 0546dd9
@davglass davglass Merge branch 'master' into 3.x 212480a
@davglass davglass Seed and Loader build after master -> 3.x merge b25307a
@ericf ericf Merge branch 'master' into 3.x b7e4332
@ericf ericf Merge branch 'master' into 3.x 3b97593
@apipkin apipkin Add test for Color Harmony. 55493cc
@apipkin apipkin Merge branch 'master' of git://github.com/yui/yui3 into color 4d49fea
@derek derek Fixes #2532815 - MouseWheel no longer makes use of the _gesture prope…
…rty and this can be removed.
f847161
@derek derek Merge branch 'master' into juandopazo-scrollview-scrollto df83f45
@derek derek Merge branch '2532815_sv_mw' into juandopazo-scrollview-scrollto 77a4382
@derek derek Build scrollview 49f75f9
@derek derek Merge branch 'scrollview-scrollto' of git://github.com/juandopazo/yui…
…3 into juandopazo-scrollview-scrollto
2ba0279
@derek derek Fixes #2532815 - MouseWheel no longer makes use of the _gesture prope…
…rty and this can be removed.
58dd0c0
@derek derek Build scrollview 426e5ca
@derek derek Resolved conflict e081ec0
@derek derek Resolved conflict b0ac15f
@rgrove rgrove Support switch statements inside templates. 6b97684
@ericf ericf Merge branch 'master' into 3.x 7ebaf6e
@davglass davglass Seed build after master -> 3.x merge f48aabf
@davglass davglass Merge branch 'master' into 3.x 2c06cdf
@davglass davglass Seed build after master -> 3.x merge c45576b
@derek derek Merge remote-tracking branch 'build/master' 62653b1
@derek derek Merge branch 'master' into sv_master+pr258+pr259 cc2a63a
@derek derek Resolved conflict. Build scrollview 9636da8
@derek derek Updated scroll values in unit tests to a large enough value that will…
… trigger a page change.
23504f1
@ericf ericf Merge branch 'master' into 3.x 026ccb8
@davglass davglass Seed and Loader build with latest shifter to fix some issues 231a098
@davglass davglass Seed build after master -> 3.x merge b8a90f5
@ericf ericf Merge branch 'master' into 3.x 30e5938
@davglass davglass Merge branch 'master' into 3.x 4b1caae
@ericf ericf Merge branch 'master' into 3.x
Conflicts:
	build/simpleyui/simpleyui-min.js
	build/yui-base/yui-base-coverage.js
	build/yui-base/yui-base-min.js
	build/yui-core/yui-core-coverage.js
	build/yui-core/yui-core-min.js
	build/yui-nodejs/yui-nodejs-coverage.js
	build/yui-nodejs/yui-nodejs-min.js
	build/yui/yui-coverage.js
	build/yui/yui-min.js
47ea26a
@davglass davglass History Update for Parallel eeb3900
@davglass davglass Merge branch '3.x' of yuisource.corp:yui3 into 3.x d56ca51
@apipkin apipkin Merge branch 'master' of git://github.com/yui/yui3 into color aaba7f3
@ericf ericf Merge branch 'master' into 3.x 9210f93
@apipkin apipkin Fix #2532824. Scrub for Y.each and @description. Minor performance up…
…dates with Y.Object.keys and Y.Array.hash.
383b3fd
@davglass davglass Merge branch 'master' into 3.x 3605275
@ericf ericf Merge branch 'master' into 3.x 644932c
@ericf ericf Merge branch '3.x' of yuisource.corp.yahoo.com:yui3 into 3.x 8dd2637
@davglass davglass Merge branch 'master' of git://github.com/yui/yui3 into 3.x 196af61
@davglass davglass Fixed Loader api docs ab55eef
@davglass davglass Merge branch '3.x' of git://github.com/yui/yui3 into 3.x 06dd5cf
@davglass davglass Seed and Loader rebuild after master -> 3.x merge 19e512e
@ericf ericf Move Attribute's `_protectAttrs()` method to a static utility method.
This moves the protected `_protectAttrs()` method to a static utility
method on `Y.AttributeCore` and `Y.Attribute`.
19ba4d1
@ericf ericf Move hack to fix Attribute's IE Node clone issue down to AttributeCore. 8ced7fd
@ericf ericf Deprecate AttributeComplex and move its overrides into AttributeCore. b346ca0
@ericf ericf Change BaseEvents to mix AttributeEvents and Base to mix AttributeExtras
The reduces dependencies of BaseEvents, but does introduce the fact that
mixing BaseEvents into BaseCore does not equal the functionality of
Base. This is because Base now explicitly mixes in AttributeExtras.
bfcf08c
@davglass davglass Merge branch 'master' into 3.x b164597
@ericf ericf Give BaseCore and Base their own `_buildCfg` objects. a4cc1a7
@davglass davglass Seed and Loader build after master -> 3.x merge 5263e91
@davglass davglass Merge branch 'master' into 3.x 7a14cc2
@davglass davglass Merge branch 'master' into 3.x 834649f
@davglass davglass Seed build after master -> 3.x merge f361025
@ericf ericf Cache computation of Base/BaseCore's `_ATTR_CFG_HASH`.
A Base/BaseCore-based class will now compute its `_ATTR_CFG_HASH` on
demand, when it is needed. If an extension is mixed in via
`Y.Base.mix()`, then the cached hash will be nulled-out.
755e200
@davglass davglass Merge branch 'master' into 3.x 1d1ad39
@ericf ericf Move AttributeEvents.js -> AttributeObservable.js. 36156ce
@ericf ericf Rename AttributeEvents -> AttributeObservable and module names.
This renames:

* Y.AttributeEvents -> Y.AttributeObservable
* attribute-events -> attribute-observable
1ba3973
@davglass davglass Merge branch 'master' into 3.x 5b8b97f
@ericf ericf Move BaseEvents.js to BaseObservable.js 578a93f
@ericf ericf Rename BaseEvents -> BaseObservable.
This renames:

* Y.BaseEvents -> Y.BaseObservable
* base-events -> base-observable
a862773
@ericf ericf Merge branch 'master' into 3.x d49ca5f
@ericf ericf Merge branch 'template' of git://github.com/rgrove/yui3 into template a95400a
@ericf ericf Update `Y.Template`'s version and at-since tags to 3.8.0. 36101e1
@ericf ericf Get Y.Template's test to 100% coverage in all categories. defa03d
@ericf ericf Build Template and Template.Micro. dc68a6c
@ericf ericf Build YUI Seed and Loader for template. 41d6946
@ericf ericf Merge branch 'master' into 3.x
Conflicts:
	build/scrollview-base/scrollview-base-coverage.js
	build/scrollview-scrollbars/scrollview-scrollbars-coverage.js
	build/scrollview-scrollbars/scrollview-scrollbars-min.js
0d025ce
@ericf ericf Remove extra `new` in Y.Template's unit tests. 409fcf1
@rgrove rgrove Template docs: Clarify the diff. between a template and an engine. 66162f1
@ericf ericf Merge branch 'master' into 3.x
Conflicts:
	src/parallel/HISTORY.md
e87dd26
@ericf ericf Merge branch 'master' into 3.x
Conflicts:
	src/parallel/HISTORY.md
4790975
@ericf ericf Merge branch 'master' into 3.x e366fc6
@ericf ericf Merge branch 'master' into 3.x a9e1e4a
@rgrove rgrove Roughing out a user guide TOC for Template. 30b1658
@apipkin apipkin Update findType in color-base to use Y.Color.TYPES object for return …
…value look ups so new submodules do not need to overwrite method
e5c339f
@apipkin apipkin Write test to more than 95% coverage in Istanbul. Remove toArray bran…
…ch in _rgbToHex since it should never ever be true. Fix bugs proved by tests.
063dea7
@apipkin apipkin Update tests to cover non else branches. Update color-base for compre…
…ssion.
5c524a2
@apipkin apipkin Update tests for 100% coverage on color-hsl in istanbul. 06897e9
@apipkin apipkin Add constrain hue method to ensure subtractive and additive calculati…
…ons are within range.
d07851b
@apipkin apipkin Add tests to bring color-harmony coverage to 100% feaa3f1
@apipkin apipkin Move previous color-harmony tests to manual for swatch comparisons. 24ed9a8
@apipkin apipkin Update docs b456df4
@apipkin apipkin Add color-hsv submodule and unit tests. aa11213
@davglass davglass Merge branch 'dd-2532824' of git://github.com/apipkin/yui3 into apipk…
…in-dd-2532824
99ccc51
@davglass davglass Merge branch '3.x' into apipkin-dd-2532824 7e65cd0
@davglass davglass Merge branch '3.x' of yuisource.corp:yui3 into 3.x 7e28b55
@davglass davglass Build after master -> 3.x merge 1a55a78
@ericf ericf Add `@extensionfor` API doc tags to Attribute extensions. 6a7b55b
@ericf ericf Update Attribute's change history. ecdd37a
@ericf ericf Tweak Base's API docs and uses of file-level vars for classes on `Y`. 42045ea
@ericf ericf Update Base's change history. 5b3e4e0
@ericf ericf Merge branch 'base-events' into 3.x
Conflicts:
	src/attribute/HISTORY.md
	src/base/HISTORY.md
598c234
@ericf ericf Whitespace cleanup from `base-events` changes. a32a08c
@ericf ericf Build Attribute. 0b9392a
@ericf ericf Build Base. 8c4c246
@ericf ericf Build YUI Seed and Loader for Attribute and Base observability changes. ced2fd6
@ericf ericf Add `base-observable.js` script include in Get's tests. 963844d
@ericf ericf Merge branch 'template' of git://github.com/rgrove/yui3 into template
Conflicts:
	src/template/js/template-micro.js
9762fd5
@ericf ericf Build Y.Template. ddb7e2f
@ericf ericf Utilize `Y.Attribute.protectAttrs()` in App.Content. 1bd0b5c
@ericf ericf Remove old .gitignore file from src/app/. 11dcf2d
@ericf ericf Build App.Content. bc333cc
@mattparker

A few, pretty minor API comments...

Y.Color.convert(color, 'hex'); is described as a sugar method for Y.Color.toHex(color); Could it be Y.Color.to(color, Y.Color.STR_HEX) for consistency? I realise that's a pretty significant lot of refactoring for perhaps not good enough reason. Also Y.Color.toArray(color) could be Y.Color.to(color, Y.Color.STR_ARRAY) (and toString likewise?)

While I think of it, all the Harmony get... methods could lose the 'get'? There's no 'set' for them, so Y.Color.similar(purple) ?

I'm sorry if this it too late in the day. Do I have to volunteer to make all the changes all the way through?

davglass and others added some commits
@davglass davglass Seed build after master -> 3.x merge 9dc979f
@davglass davglass meta-join script updates f5926ab
@davglass davglass Updated md5 sum helper 7f4e21e
@apipkin apipkin Clean up jsHint errors. Update for color-harmony::getSimilar to bette…
…r calculate for saturation and luminance.
4bbad38
@davglass davglass Merge commit for master -> 3.x, build scrollview and seed 09e3a4a
@davglass davglass Merge branch 'master' into 3.x 0af05fa
@ericf ericf Merge branch 'master' into 3.x 96c15ae
@apipkin apipkin Fix typo causing color swatch tono update. d8b5e16
@apipkin apipkin Add optional user defined offset for splits 3cab2d2
@apipkin apipkin Update comment for api docs 68e2163
@apipkin apipkin Update docs for api changes and highlighting color-harmony. b2fbd5d
@ericf ericf Merge branch 'master' into 3.x ad9038e
@rgrove rgrove Template: Don't print `undefined` for falsy values.
Can't believe I forgot this.
1ecbf4f
@apipkin apipkin Update api to- methods with acronymns to uppercase methods. e87f9b0
@apipkin apipkin Update _convertTo to allow for direct methods if they are provided. fa26fe7
@ericf ericf Write the first sections of the Template user guide. 1f7a3de
@apipkin apipkin Update conversion methods to use Y.Color.TYPES constants. 008a368
@apipkin apipkin Update docs to include code changes. Separate color-hsl and color-hsv…
… as documented submodules.
711fc1a
@apipkin apipkin Update tests to use TYPES statics. c206679
@apipkin apipkin Merge branch '3.x' of yuisource.corp.yahoo.com:yui3 into color bde2109
@apipkin apipkin Build Y.Color aeb06c5
@apipkin apipkin Fix cli tests. d70bb7d
@davglass davglass Merge branch 'master' of git://github.com/yui/yui3 into 3.x a2b28ed
@davglass davglass Merge branch '3.x' of git://github.com/yui/yui3 into 3.x 89998b6
@ericf ericf Add "Instantiating a Template Engine" section to Template's user guide. 9a250bc
@ericf ericf Merge branch 'template' of git://github.com/rgrove/yui3 into template 94fd591
@ericf ericf Build Template.Micro. a1d76c8
@ericf ericf Add Compiling and Precompiling sections to Template's user guide. f2f8973
@ericf ericf Add Custom Engine and Micro Precompilation sections to Template's guide.
Also, fix Templace.Micro code examples to use `<%= data.animal %>`.
4d15b7f
@ericf ericf Add "Template Syntax" section to Template's user guide. 6efb183
@ericf ericf Add TODOs to Template's user guide. b1c4118
@ericf ericf Merge branch 'master' into 3.x 4c8a5af
@ericf ericf Merge branch 'template' into 3.x
Conflicts:
	build/loader-yui3/loader-yui3-coverage.js
	build/loader-yui3/loader-yui3-debug.js
	build/loader-yui3/loader-yui3-min.js
	build/loader-yui3/loader-yui3.js
	build/loader/loader-debug.js
	build/loader/loader-min.js
	build/loader/loader.js
	build/simpleyui/simpleyui-min.js
	build/yui-base/yui-base-coverage.js
	build/yui-base/yui-base-min.js
	build/yui-core/yui-core-coverage.js
	build/yui-core/yui-core-min.js
	build/yui-nodejs/yui-nodejs-coverage.js
	build/yui-nodejs/yui-nodejs-debug.js
	build/yui-nodejs/yui-nodejs-min.js
	build/yui-nodejs/yui-nodejs.js
	build/yui/yui-coverage.js
	build/yui/yui-debug.js
	build/yui/yui-min.js
	build/yui/yui.js
	src/loader/js/yui3.js
fc11874
@apipkin apipkin Update docs. 5db3948
@apipkin apipkin Merge branch '3.x' of yuisource.corp.yahoo.com:yui3 into color 2efc6c2
@davglass davglass Merge branch '3.x' of git://github.com/yui/yui3 into 3.x fab7ed0
@apipkin apipkin Build color f050939
@apipkin apipkin Update release version 9d4a3e3
@davglass davglass Merge branch '3.x' of git://github.com/yui/yui3 into 3.x 903d4f5
@davglass davglass HISTORY updates 1093921
@davglass davglass Merge branch '3.x' of yuisource.corp:yui3 into 3.x f26558a
@derek derek Added 3.8.0 ScrollView HISTORY entry. 4eebab1
@apipkin apipkin Refactor similar logic to private method to help with compression. 0d47e33
@apipkin apipkin Refactor similar logic to private method to help with compression. 18d7ec7
@apipkin apipkin Fix bug where large offsets in getSimilar produce too many white colo…
…r values.
1342a38
@apipkin apipkin Build Color 86752e6
@apipkin apipkin Merge branch '3.x' of yuisource.corp.yahoo.com:yui3 into color 1542421
@ericf ericf Update Color's change history from 3.7.1 to 3.8.0. 38149bd
@ericf ericf Use one table for code example in Template's user guide. dd663fa
@ericf ericf Merge branch '3.x' of git://github.com/yui/yui3 into 3.x 7de4320
@davglass davglass Fixed issue with aliases getting tossed directly to loader without ex…
…pansion
93e7e79
@davglass davglass Updated color tests for better grover/yogi printing and coverage d04fb46
@davglass davglass Seed and Loader build with new Gallery tag 90248c5
@ericf ericf Rebuild YUI and Loader for Gallery build. 5e24669
@ericf ericf Merge branch '3.x' of yuisource.corp.yahoo.com:yui3 into 3.x
Conflicts:
	build/yui-nodejs/yui-nodejs-coverage.js
	build/yui-nodejs/yui-nodejs-min.js
	build/yui/yui-coverage.js
	build/yui/yui-min.js
84ad856
@ericf ericf Merge branch 'master' into 3.x dd84c9e
@apipkin apipkin Merge branch 'color-tests' of https://github.com/davglass/yui3 into d…
…avglass-color-test
3479a99
@apipkin

In dev-3.x. Closing.

@apipkin apipkin closed this
@apipkin apipkin was unassigned by jlecomte
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.