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

13 participants

Anthony Pipkin Don't Add Me To Your Organization a.k.a The Travis Bot Eric Ferraiuolo Jeff Conniff Viktor Rennert Matt Parker Ryuichi Okumura Matt Sweeney Axel K. Ryan Grove Dav Glass Derek Gathright Juan Ignacio Dopazo
Anthony Pipkin
Collaborator

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

mention @jconniff
mention @msweeney
mention @allenrabinovich

ericf and others added some commits
Eric Ferraiuolo ericf Move Base.js to BaseEvents.js 2d9f814
Eric Ferraiuolo 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
Eric Ferraiuolo ericf Update `base` module and submodule metadata to include `base-events`. b1e13ff
Eric Ferraiuolo 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
Axel K. theaxel Don't overwrite already loaded cookie 1038444
Axel K. theaxel Make order of cookie loading with the same name configurabel 522d852
Axel K. theaxel Add builded cookie files df8da8c
Axel K. theaxel Merge branch 'master' of git://github.com/yui/yui3 48998b2
Ryan Grove rgrove Initial commit of Y.template().
ERB and Underscore-style templating for YUI.
5ee431d
Ryan Grove rgrove Trailing comma. 884289f
Ryan Grove rgrove Make precompiled templates work. 331245b
Ryan Grove 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
Ryan Grove 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
Ryan Grove rgrove Make Y.Template.Handlebars an alias for Y.Handlebars 7d9b214
Anthony Pipkin apipkin Initial release 07bbf6d
Don't Add Me To Your Organization a.k.a The Travis Bot

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

Eric Ferraiuolo
Owner

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

Eric Ferraiuolo
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.
Eric Ferraiuolo Owner
ericf added a note

s/is a beta Component. It//

Eric Ferraiuolo 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
+====================
+
Eric Ferraiuolo 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.",
Eric Ferraiuolo 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>
Eric Ferraiuolo 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,
Eric Ferraiuolo 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.

Anthony Pipkin Collaborator
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
Eric Ferraiuolo Owner
ericf added a note

Back-compat for Y.DOM?

Anthony Pipkin Collaborator
apipkin added a note

Yeah. Should that be added in?

Eric Ferraiuolo 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
Jeff Conniff
Collaborator

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) {
Eric Ferraiuolo 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),
Eric Ferraiuolo Owner
ericf added a note

This creates a shallow copy of an object:

options = Y.merge(options);
Anthony Pipkin Collaborator
apipkin added a note

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

Eric Ferraiuolo 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>
Eric Ferraiuolo 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>
Eric Ferraiuolo 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: {
Eric Ferraiuolo 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
Eric Ferraiuolo
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) {
Ryuichi Okumura 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
Anthony Pipkin Collaborator
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

Anthony Pipkin Collaborator
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

Matt Sweeney Collaborator
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.

Anthony Pipkin Collaborator
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.

Matt Sweeney Collaborator
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'.

Anthony Pipkin Collaborator
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).

Matt Sweeney Collaborator
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?

Matt Sweeney Collaborator
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'
});

Matt Sweeney Collaborator
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
Viktor Rennert

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});
}
Anthony Pipkin
Collaborator

@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

Anthony Pipkin apipkin was assigned
juandopazo and others added some commits
Juan Ignacio Dopazo 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
Juan Ignacio Dopazo juandopazo Rebuild ScrollView bf6205a
Juan Ignacio Dopazo juandopazo Remove test for shorter duration
Shorter durations are usually very imprecise
0e82540
Dav Glass davglass Seed build after master -> 3.x merge 0980709
Dav Glass davglass Merge branch 'master' into 3.x 3e68db2
Derek Gathright derek Merge branch 'scrollview-scrollto' of git://github.com/juandopazo/yui…
…3 into juandopazo-scrollview-scrollto
cf87a49
Dav Glass davglass Merge branch 'master' into 3.x c0c7a04
Dav Glass davglass Merge branch 'master' into 3.x bff9074
Dav Glass davglass Merge branch 'master' into 3.x bd52cc6
Dav Glass davglass YUI build after master -> 3.x merge e11e34f
Dav Glass davglass Merge branch 'master' into 3.x 731d98c
Dav Glass davglass Merge branch 'master' into 3.x a78f4be
Eric Ferraiuolo ericf Merge branch 'master' into 3.x b1635b7
Anthony Pipkin apipkin Create user guides for Color. 8346ac4
Anthony Pipkin apipkin Update alias 68375b2
Anthony Pipkin apipkin Add output colors for harmony 20a008a
Anthony Pipkin apipkin Merge remote-tracking branch 'upstream/master' into color f21a276
Eric Ferraiuolo ericf Merge branch 'master' into base-events
Conflicts:
	src/base/base-base.properties
	src/base/build.xml
	src/base/tests/base-tests.js
547702f
Eric Ferraiuolo ericf Update Base's build.json, and remove old base-events Ant build files. 0546dd9
Dav Glass davglass Merge branch 'master' into 3.x 212480a
Dav Glass davglass Seed and Loader build after master -> 3.x merge b25307a
Eric Ferraiuolo ericf Merge branch 'master' into 3.x b7e4332
Eric Ferraiuolo ericf Merge branch 'master' into 3.x 3b97593
Anthony Pipkin apipkin Add test for Color Harmony. 55493cc
Anthony Pipkin apipkin Merge branch 'master' of git://github.com/yui/yui3 into color 4d49fea
Derek Gathright derek Fixes #2532815 - MouseWheel no longer makes use of the _gesture prope…
…rty and this can be removed.
f847161
Derek Gathright derek Merge branch 'master' into juandopazo-scrollview-scrollto df83f45
Derek Gathright derek Merge branch '2532815_sv_mw' into juandopazo-scrollview-scrollto 77a4382
Derek Gathright derek Build scrollview 49f75f9
Derek Gathright derek Merge branch 'scrollview-scrollto' of git://github.com/juandopazo/yui…
…3 into juandopazo-scrollview-scrollto
2ba0279
Derek Gathright derek Fixes #2532815 - MouseWheel no longer makes use of the _gesture prope…
…rty and this can be removed.
58dd0c0
Derek Gathright derek Build scrollview 426e5ca
Derek Gathright derek Resolved conflict e081ec0
Derek Gathright derek Resolved conflict b0ac15f
Ryan Grove rgrove Support switch statements inside templates. 6b97684
Eric Ferraiuolo ericf Merge branch 'master' into 3.x 7ebaf6e
Dav Glass davglass Seed build after master -> 3.x merge f48aabf
Dav Glass davglass Merge branch 'master' into 3.x 2c06cdf
Dav Glass davglass Seed build after master -> 3.x merge c45576b
Derek Gathright derek Merge remote-tracking branch 'build/master' 62653b1
Derek Gathright derek Merge branch 'master' into sv_master+pr258+pr259 cc2a63a
Derek Gathright derek Resolved conflict. Build scrollview 9636da8
Derek Gathright derek Updated scroll values in unit tests to a large enough value that will…
… trigger a page change.
23504f1
Eric Ferraiuolo ericf Merge branch 'master' into 3.x 026ccb8
Dav Glass davglass Seed and Loader build with latest shifter to fix some issues 231a098
Dav Glass davglass Seed build after master -> 3.x merge b8a90f5
Eric Ferraiuolo ericf Merge branch 'master' into 3.x 30e5938
Dav Glass davglass Merge branch 'master' into 3.x 4b1caae
Eric Ferraiuolo 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
Dav Glass davglass History Update for Parallel eeb3900
Dav Glass davglass Merge branch '3.x' of yuisource.corp:yui3 into 3.x d56ca51
Anthony Pipkin apipkin Merge branch 'master' of git://github.com/yui/yui3 into color aaba7f3
Eric Ferraiuolo ericf Merge branch 'master' into 3.x 9210f93
Anthony Pipkin apipkin Fix #2532824. Scrub for Y.each and @description. Minor performance up…
…dates with Y.Object.keys and Y.Array.hash.
383b3fd
Dav Glass davglass Merge branch 'master' into 3.x 3605275
Eric Ferraiuolo ericf Merge branch 'master' into 3.x 644932c
Eric Ferraiuolo ericf Merge branch '3.x' of yuisource.corp.yahoo.com:yui3 into 3.x 8dd2637
Dav Glass davglass Merge branch 'master' of git://github.com/yui/yui3 into 3.x 196af61
Dav Glass davglass Fixed Loader api docs ab55eef
Dav Glass davglass Merge branch '3.x' of git://github.com/yui/yui3 into 3.x 06dd5cf
Dav Glass davglass Seed and Loader rebuild after master -> 3.x merge 19e512e
Eric Ferraiuolo 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
Eric Ferraiuolo ericf Move hack to fix Attribute's IE Node clone issue down to AttributeCore. 8ced7fd
Eric Ferraiuolo ericf Deprecate AttributeComplex and move its overrides into AttributeCore. b346ca0
Eric Ferraiuolo 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
Dav Glass davglass Merge branch 'master' into 3.x b164597
Eric Ferraiuolo ericf Give BaseCore and Base their own `_buildCfg` objects. a4cc1a7
Dav Glass davglass Seed and Loader build after master -> 3.x merge 5263e91
Dav Glass davglass Merge branch 'master' into 3.x 7a14cc2
Dav Glass davglass Merge branch 'master' into 3.x 834649f
Dav Glass davglass Seed build after master -> 3.x merge f361025
Eric Ferraiuolo 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
Dav Glass davglass Merge branch 'master' into 3.x 1d1ad39
Eric Ferraiuolo ericf Move AttributeEvents.js -> AttributeObservable.js. 36156ce
Eric Ferraiuolo ericf Rename AttributeEvents -> AttributeObservable and module names.
This renames:

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

* Y.BaseEvents -> Y.BaseObservable
* base-events -> base-observable
a862773
Eric Ferraiuolo ericf Merge branch 'master' into 3.x d49ca5f
Eric Ferraiuolo ericf Merge branch 'template' of git://github.com/rgrove/yui3 into template a95400a
Eric Ferraiuolo ericf Update `Y.Template`'s version and at-since tags to 3.8.0. 36101e1
Eric Ferraiuolo ericf Get Y.Template's test to 100% coverage in all categories. defa03d
Eric Ferraiuolo ericf Build Template and Template.Micro. dc68a6c
Eric Ferraiuolo ericf Build YUI Seed and Loader for template. 41d6946
Eric Ferraiuolo 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
Eric Ferraiuolo ericf Remove extra `new` in Y.Template's unit tests. 409fcf1
Ryan Grove rgrove Template docs: Clarify the diff. between a template and an engine. 66162f1
Eric Ferraiuolo ericf Merge branch 'master' into 3.x
Conflicts:
	src/parallel/HISTORY.md
e87dd26
Eric Ferraiuolo ericf Merge branch 'master' into 3.x
Conflicts:
	src/parallel/HISTORY.md
4790975
Eric Ferraiuolo ericf Merge branch 'master' into 3.x e366fc6
Eric Ferraiuolo ericf Merge branch 'master' into 3.x a9e1e4a
Ryan Grove rgrove Roughing out a user guide TOC for Template. 30b1658
Anthony Pipkin 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
Anthony Pipkin 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
Anthony Pipkin apipkin Update tests to cover non else branches. Update color-base for compre…
…ssion.
5c524a2
Anthony Pipkin apipkin Update tests for 100% coverage on color-hsl in istanbul. 06897e9
Anthony Pipkin apipkin Add constrain hue method to ensure subtractive and additive calculati…
…ons are within range.
d07851b
Anthony Pipkin apipkin Add tests to bring color-harmony coverage to 100% feaa3f1
Anthony Pipkin apipkin Move previous color-harmony tests to manual for swatch comparisons. 24ed9a8
Anthony Pipkin apipkin Update docs b456df4
Anthony Pipkin apipkin Add color-hsv submodule and unit tests. aa11213
Dav Glass davglass Merge branch 'dd-2532824' of git://github.com/apipkin/yui3 into apipk…
…in-dd-2532824
99ccc51
Dav Glass davglass Merge branch '3.x' into apipkin-dd-2532824 7e65cd0
Dav Glass davglass Merge branch '3.x' of yuisource.corp:yui3 into 3.x 7e28b55
Dav Glass davglass Build after master -> 3.x merge 1a55a78
Eric Ferraiuolo ericf Add `@extensionfor` API doc tags to Attribute extensions. 6a7b55b
Eric Ferraiuolo ericf Update Attribute's change history. ecdd37a
Eric Ferraiuolo ericf Tweak Base's API docs and uses of file-level vars for classes on `Y`. 42045ea
Eric Ferraiuolo ericf Update Base's change history. 5b3e4e0
Eric Ferraiuolo ericf Merge branch 'base-events' into 3.x
Conflicts:
	src/attribute/HISTORY.md
	src/base/HISTORY.md
598c234
Eric Ferraiuolo ericf Whitespace cleanup from `base-events` changes. a32a08c
Eric Ferraiuolo ericf Build Attribute. 0b9392a
Eric Ferraiuolo ericf Build Base. 8c4c246
Eric Ferraiuolo ericf Build YUI Seed and Loader for Attribute and Base observability changes. ced2fd6
Eric Ferraiuolo ericf Add `base-observable.js` script include in Get's tests. 963844d
Eric Ferraiuolo ericf Merge branch 'template' of git://github.com/rgrove/yui3 into template
Conflicts:
	src/template/js/template-micro.js
9762fd5
Eric Ferraiuolo ericf Build Y.Template. ddb7e2f
Eric Ferraiuolo ericf Utilize `Y.Attribute.protectAttrs()` in App.Content. 1bd0b5c
Eric Ferraiuolo ericf Remove old .gitignore file from src/app/. 11dcf2d
Eric Ferraiuolo ericf Build App.Content. bc333cc
Matt Parker

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

In dev-3.x. Closing.

Anthony Pipkin apipkin closed this
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.