ember-source 2.14.0.beta.3 → 2.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.14.0-beta.3
9
+ * @version 2.14.0
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -9746,7 +9746,14 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
9746
9746
  if (_emberUtils.HAS_NATIVE_PROXY) {
9747
9747
  var validator = {
9748
9748
  get: function (obj, prop) {
9749
- if (prop !== 'class' && prop !== 'create') {
9749
+ if (typeof prop === 'symbol') {
9750
+ return obj[prop];
9751
+ }
9752
+ if (prop === 'inspect') {
9753
+ return undefined; /* for nodes formatter */
9754
+ }
9755
+
9756
+ if (prop !== 'class' && prop !== 'create' && prop !== 'toString') {
9750
9757
  throw new Error('You attempted to access "' + prop + '" on a factory manager created by container#factoryFor. "' + prop + '" is not a member of a factory manager."');
9751
9758
  }
9752
9759
 
@@ -17507,7 +17514,7 @@ enifed('ember-glimmer/helpers/get', ['exports', 'ember-babel', 'ember-metal', 'e
17507
17514
  if (pathType === 'string') {
17508
17515
  innerReference = this.innerReference = (0, _reference.referenceFromParts)(this.sourceReference, path.split('.'));
17509
17516
  } else if (pathType === 'number') {
17510
- innerReference = this.innerReference = this.sourceReference.get(path);
17517
+ innerReference = this.innerReference = this.sourceReference.get('' + path);
17511
17518
  }
17512
17519
 
17513
17520
  innerTag.update(innerReference.tag);
@@ -17586,21 +17593,83 @@ enifed('ember-glimmer/helpers/if-unless', ['exports', 'ember-babel', 'ember-debu
17586
17593
  }(_references.CachedReference);
17587
17594
 
17588
17595
  /**
17596
+ The `if` helper allows you to conditionally render one of two branches,
17597
+ depending on the "truthiness" of a property.
17598
+ For example the following values are all falsey: `false`, `undefined`, `null`, `""`, `0`, `NaN` or an empty array.
17599
+
17600
+ This helper has two forms, block and inline.
17601
+
17602
+ ## Block form
17603
+
17604
+ You can use the block form of `if` to conditionally render a section of the template.
17605
+
17606
+ To use it, pass the conditional value to the `if` helper,
17607
+ using the block form to wrap the section of template you want to conditionally render.
17608
+ Like so:
17609
+
17610
+ ```handlebars
17611
+ {{! will not render if foo is falsey}}
17612
+ {{#if foo}}
17613
+ Welcome to the {{foo.bar}}
17614
+ {{/if}}
17615
+ ```
17616
+
17617
+ You can also specify a template to show if the property is falsey by using
17618
+ the `else` helper.
17619
+
17620
+ ```handlebars
17621
+ {{! is it raining outside?}}
17622
+ {{#if isRaining}}
17623
+ Yes, grab an umbrella!
17624
+ {{else}}
17625
+ No, it's lovely outside!
17626
+ {{/if}}
17627
+ ```
17628
+
17629
+ You are also able to combine `else` and `if` helpers to create more complex
17630
+ conditional logic.
17631
+
17632
+ ```handlebars
17633
+ {{#if isMorning}}
17634
+ Good morning
17635
+ {{else if isAfternoon}}
17636
+ Good afternoon
17637
+ {{else}}
17638
+ Good night
17639
+ {{/if}}
17640
+ ```
17641
+
17642
+ ## Inline form
17643
+
17589
17644
  The inline `if` helper conditionally renders a single property or string.
17590
- This helper acts like a ternary operator. If the first property is truthy,
17591
- the second argument will be displayed, otherwise, the third argument will be
17592
- displayed
17645
+
17646
+ In this form, the `if` helper receives three arguments, the conditional value,
17647
+ the value to render when truthy, and the value to render when falsey.
17648
+
17649
+ For example, if `useLongGreeting` is truthy, the following:
17593
17650
 
17594
17651
  ```handlebars
17595
17652
  {{if useLongGreeting "Hello" "Hi"}} Alex
17596
17653
  ```
17597
17654
 
17598
- You can use the `if` helper inside another helper as a subexpression.
17655
+ Will render:
17656
+
17657
+ ```html
17658
+ Hello Alex
17659
+ ```
17660
+
17661
+ ### Nested `if`
17662
+
17663
+ You can use the `if` helper inside another helper as a nested helper:
17599
17664
 
17600
17665
  ```handlebars
17601
17666
  {{some-component height=(if isBig "100" "10")}}
17602
17667
  ```
17603
17668
 
17669
+ One detail to keep in mind is that both branches of the `if` helper will be evaluated,
17670
+ so if you have `{{if condition "foo" (expensive-operation "bar")`,
17671
+ `expensive-operation` will always calculate.
17672
+
17604
17673
  @method if
17605
17674
  @for Ember.Templates.helpers
17606
17675
  @public
@@ -21554,6 +21623,25 @@ enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-
21554
21623
  });
21555
21624
  var UPDATE = exports.UPDATE = (0, _emberUtils.symbol)('UPDATE');
21556
21625
 
21626
+ var maybeFreeze = void 0;
21627
+ if (true) {
21628
+ // gaurding this in a DEBUG gaurd (as well as all invocations)
21629
+ // so that it is properly stripped during the minification's
21630
+ // dead code elimination
21631
+ maybeFreeze = function (obj) {
21632
+ // re-freezing an already frozen object introduces a significant
21633
+ // performance penalty on Chrome (tested through 59).
21634
+ //
21635
+ // See: https://bugs.chromium.org/p/v8/issues/detail?id=6450
21636
+ if (!Object.isFrozen(obj) && _emberUtils.HAS_NATIVE_WEAKMAP) {
21637
+ Object.freeze(obj);
21638
+ }
21639
+ };
21640
+ }
21641
+
21642
+ // @abstract
21643
+ // @implements PathReference
21644
+
21557
21645
  var EmberPathReference = function () {
21558
21646
  function EmberPathReference() {
21559
21647
  (0, _emberBabel.classCallCheck)(this, EmberPathReference);
@@ -21888,10 +21976,8 @@ enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-
21888
21976
  var namedValue = named.value();
21889
21977
 
21890
21978
  if (true) {
21891
- if (_emberUtils.HAS_NATIVE_WEAKMAP) {
21892
- Object.freeze(positionalValue);
21893
- Object.freeze(namedValue);
21894
- }
21979
+ maybeFreeze(positionalValue);
21980
+ maybeFreeze(namedValue);
21895
21981
  }
21896
21982
 
21897
21983
  var result = helper(positionalValue, namedValue);
@@ -21932,10 +22018,8 @@ enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-
21932
22018
  var namedValue = named.value();
21933
22019
 
21934
22020
  if (true) {
21935
- if (_emberUtils.HAS_NATIVE_WEAKMAP) {
21936
- Object.freeze(positionalValue);
21937
- Object.freeze(namedValue);
21938
- }
22021
+ maybeFreeze(positionalValue);
22022
+ maybeFreeze(namedValue);
21939
22023
  }
21940
22024
 
21941
22025
  return helper(positionalValue, namedValue);
@@ -21975,10 +22059,8 @@ enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-
21975
22059
  var namedValue = named.value();
21976
22060
 
21977
22061
  if (true) {
21978
- if (_emberUtils.HAS_NATIVE_WEAKMAP) {
21979
- Object.freeze(positionalValue);
21980
- Object.freeze(namedValue);
21981
- }
22062
+ maybeFreeze(positionalValue);
22063
+ maybeFreeze(namedValue);
21982
22064
  }
21983
22065
 
21984
22066
  return instance.compute(positionalValue, namedValue);
@@ -32134,7 +32216,7 @@ enifed('ember-routing/system/route', ['exports', 'ember-utils', 'ember-metal', '
32134
32216
  the server that is required to enter a route.
32135
32217
  @method beforeModel
32136
32218
  @param {Transition} transition
32137
- @return {Promise} if the value returned from this hook is
32219
+ @return {any | Promise<any>} if the value returned from this hook is
32138
32220
  a promise, the transition will pause until the transition
32139
32221
  resolves. Otherwise, non-promise return values are not
32140
32222
  utilized in any way.
@@ -32167,7 +32249,7 @@ enifed('ember-routing/system/route', ['exports', 'ember-utils', 'ember-metal', '
32167
32249
  @param {Object} resolvedModel the value returned from `model`,
32168
32250
  or its resolved value if it was a promise
32169
32251
  @param {Transition} transition
32170
- @return {Promise} if the value returned from this hook is
32252
+ @return {any | Promise<any>} if the value returned from this hook is
32171
32253
  a promise, the transition will pause until the transition
32172
32254
  resolves. Otherwise, non-promise return values are not
32173
32255
  utilized in any way.
@@ -43667,7 +43749,7 @@ enifed('ember-testing/helpers/click', ['exports', 'ember-testing/events'], funct
43667
43749
  @method click
43668
43750
  @param {String} selector jQuery selector for finding element on the DOM
43669
43751
  @param {Object} context A DOM Element, Document, or jQuery to use as context
43670
- @return {RSVP.Promise}
43752
+ @return {RSVP.Promise<undefined>}
43671
43753
  @public
43672
43754
  */
43673
43755
  function click(app, selector, context) {
@@ -43799,7 +43881,7 @@ enifed('ember-testing/helpers/fill_in', ['exports', 'ember-testing/events'], fun
43799
43881
  @param {String} selector jQuery selector finding an input element on the DOM
43800
43882
  to fill text with
43801
43883
  @param {String} text text to place inside the input element
43802
- @return {RSVP.Promise}
43884
+ @return {RSVP.Promise<undefined>}
43803
43885
  @public
43804
43886
  */
43805
43887
  function fillIn(app, selector, contextOrText, text) {
@@ -43924,7 +44006,7 @@ enifed('ember-testing/helpers/key_event', ['exports'], function (exports) {
43924
44006
  @param {String} selector jQuery selector for finding element on the DOM
43925
44007
  @param {String} type the type of key event, e.g. `keypress`, `keydown`, `keyup`
43926
44008
  @param {Number} keyCode the keyCode of the simulated key event
43927
- @return {RSVP.Promise}
44009
+ @return {RSVP.Promise<undefined>}
43928
44010
  @since 1.5.0
43929
44011
  @public
43930
44012
  */
@@ -44015,7 +44097,7 @@ enifed('ember-testing/helpers/trigger_event', ['exports', 'ember-testing/events'
44015
44097
  argument to find only within the context's children
44016
44098
  @param {String} type The event type to be triggered.
44017
44099
  @param {Object} [options] The options to be passed to jQuery.Event.
44018
- @return {RSVP.Promise}
44100
+ @return {RSVP.Promise<undefined>}
44019
44101
  @since 1.5.0
44020
44102
  @public
44021
44103
  */
@@ -44084,7 +44166,7 @@ enifed('ember-testing/helpers/visit', ['exports', 'ember-metal'], function (expo
44084
44166
 
44085
44167
  @method visit
44086
44168
  @param {String} url the name of the route
44087
- @return {RSVP.Promise}
44169
+ @return {RSVP.Promise<undefined>}
44088
44170
  @public
44089
44171
  */
44090
44172
  function visit(app, url) {
@@ -44142,7 +44224,7 @@ enifed('ember-testing/helpers/wait', ['exports', 'ember-testing/test/waiters', '
44142
44224
 
44143
44225
  @method wait
44144
44226
  @param {Object} value The value to be returned.
44145
- @return {RSVP.Promise}
44227
+ @return {RSVP.Promise<any>} Promise that resolves to the passed value.
44146
44228
  @public
44147
44229
  @since 1.0.0
44148
44230
  */
@@ -46153,7 +46235,7 @@ enifed('ember-views/mixins/text_support', ['exports', 'ember-metal', 'ember-runt
46153
46235
  exports.default = _emberMetal.Mixin.create(_emberRuntime.TargetActionSupport, {
46154
46236
  value: '',
46155
46237
 
46156
- attributeBindings: ['autocapitalize', 'autocorrect', 'autofocus', 'disabled', 'form', 'maxlength', 'placeholder', 'readonly', 'required', 'selectionDirection', 'spellcheck', 'tabindex', 'title'],
46238
+ attributeBindings: ['autocapitalize', 'autocorrect', 'autofocus', 'disabled', 'form', 'maxlength', 'minlength', 'placeholder', 'readonly', 'required', 'selectionDirection', 'spellcheck', 'tabindex', 'title'],
46157
46239
  placeholder: null,
46158
46240
  disabled: false,
46159
46241
  maxlength: null,
@@ -46608,7 +46690,7 @@ enifed('ember-views/mixins/view_support', ['exports', 'ember-babel', 'ember-util
46608
46690
 
46609
46691
  (true && !(false) && (0, _emberDebug.deprecate)('`eventManager` has been deprecated in ' + this + '.', false, {
46610
46692
  id: 'ember-views.event-dispatcher.canDispatchToEventManager',
46611
- until: '2.16.0'
46693
+ until: '2.17.0'
46612
46694
  }));
46613
46695
 
46614
46696
 
@@ -46787,7 +46869,7 @@ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-
46787
46869
  (true && !(_emberEnvironment.environment.hasDOM) && (0, _emberDebug.assert)('EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.', _emberEnvironment.environment.hasDOM));
46788
46870
  (true && !(!('canDispatchToEventManager' in this)) && (0, _emberDebug.deprecate)('`canDispatchToEventManager` has been deprecated in ' + this + '.', !('canDispatchToEventManager' in this), {
46789
46871
  id: 'ember-views.event-dispatcher.canDispatchToEventManager',
46790
- until: '2.16.0'
46872
+ until: '2.17.0'
46791
46873
  }));
46792
46874
  },
46793
46875
 
@@ -48078,7 +48160,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'node-module',
48078
48160
  enifed("ember/version", ["exports"], function (exports) {
48079
48161
  "use strict";
48080
48162
 
48081
- exports.default = "2.14.0-beta.3";
48163
+ exports.default = "2.14.0";
48082
48164
  });
48083
48165
  enifed("handlebars", ["exports"], function (exports) {
48084
48166
  "use strict";
@@ -1066,7 +1066,7 @@ o.sourceReference=n,o.pathReference=r,o.lastPath=null,o.innerReference=null
1066
1066
  var s=o.innerTag=new i.UpdatableTag(i.CONSTANT_TAG)
1067
1067
  return o.tag=(0,i.combine)([n.tag,r.tag,s]),o}return(0,t.inherits)(o,e),o.create=function(e,t){var n
1068
1068
  return(0,i.isConst)(t)?(n=t.value().split("."),(0,i.referenceFromParts)(e,n)):new o(e,t)},o.prototype.compute=function(){var e,t=this.lastPath,n=this.innerReference,r=this.innerTag,o=this.lastPath=this.pathReference.value()
1069
- return o!==t&&(o?(e=typeof o,"string"===e?n=this.innerReference=(0,i.referenceFromParts)(this.sourceReference,o.split(".")):"number"===e&&(n=this.innerReference=this.sourceReference.get(o)),r.update(n.tag)):(n=this.innerReference=null,r.update(i.CONSTANT_TAG))),n?n.value():null},o.prototype[r.UPDATE]=function(e){(0,n.set)(this.sourceReference.value(),this.pathReference.value(),e)},o}(r.CachedReference)}),e("ember-glimmer/helpers/hash",["exports"],function(e){"use strict"
1069
+ return o!==t&&(o?(e=typeof o,"string"===e?n=this.innerReference=(0,i.referenceFromParts)(this.sourceReference,o.split(".")):"number"===e&&(n=this.innerReference=this.sourceReference.get(""+o)),r.update(n.tag)):(n=this.innerReference=null,r.update(i.CONSTANT_TAG))),n?n.value():null},o.prototype[r.UPDATE]=function(e){(0,n.set)(this.sourceReference.value(),this.pathReference.value(),e)},o}(r.CachedReference)}),e("ember-glimmer/helpers/hash",["exports"],function(e){"use strict"
1070
1070
  e["default"]=function(e,t){return t.named}}),e("ember-glimmer/helpers/if-unless",["exports","ember-babel","ember-debug","ember-glimmer/utils/references","@glimmer/reference"],function(e,t,n,r,i){"use strict"
1071
1071
  e.inlineIf=function(e,t){var n=t.positional
1072
1072
  switch(n.length){case 2:return o.create(n.at(0),n.at(1),null)
@@ -2406,7 +2406,7 @@ e["default"]=n.Mixin.create({init:function(){this._super.apply(this,arguments),(
2406
2406
  var r=Object.freeze([])
2407
2407
  e["default"]=t.Mixin.create({concatenatedProperties:["classNames","classNameBindings"],init:function(){this._super.apply(this,arguments)},classNames:r,classNameBindings:r})}),e("ember-views/mixins/text_support",["exports","ember-metal","ember-runtime"],function(e,t,n){"use strict"
2408
2408
  function r(e,n,r){var i=(0,t.get)(n,"attrs."+e)||(0,t.get)(n,e),o=(0,t.get)(n,"onEvent"),s=(0,t.get)(n,"value");(o===e||"keyPress"===o&&"key-press"===e)&&n.sendAction("action",s),n.sendAction(e,s),(i||o===e)&&((0,t.get)(n,"bubbles")||r.stopPropagation())}var i={13:"insertNewline",27:"cancel"}
2409
- e["default"]=t.Mixin.create(n.TargetActionSupport,{value:"",attributeBindings:["autocapitalize","autocorrect","autofocus","disabled","form","maxlength","placeholder","readonly","required","selectionDirection","spellcheck","tabindex","title"],placeholder:null,disabled:!1,maxlength:null,init:function(){this._super.apply(this,arguments),this.on("paste",this,this._elementValueDidChange),this.on("cut",this,this._elementValueDidChange),this.on("input",this,this._elementValueDidChange)},action:null,onEvent:"enter",bubbles:!1,interpretKeyEvents:function(e){var t=i[e.keyCode]
2409
+ e["default"]=t.Mixin.create(n.TargetActionSupport,{value:"",attributeBindings:["autocapitalize","autocorrect","autofocus","disabled","form","maxlength","minlength","placeholder","readonly","required","selectionDirection","spellcheck","tabindex","title"],placeholder:null,disabled:!1,maxlength:null,init:function(){this._super.apply(this,arguments),this.on("paste",this,this._elementValueDidChange),this.on("cut",this,this._elementValueDidChange),this.on("input",this,this._elementValueDidChange)},action:null,onEvent:"enter",bubbles:!1,interpretKeyEvents:function(e){var t=i[e.keyCode]
2410
2410
  if(this._elementValueDidChange(),t)return this[t](e)},_elementValueDidChange:function(){(0,t.set)(this,"value",this.element.value)},change:function(e){this._elementValueDidChange(e)},insertNewline:function(e){r("enter",this,e),r("insert-newline",this,e)},cancel:function(e){r("escape-press",this,e)},focusIn:function(e){r("focus-in",this,e)},focusOut:function(e){this._elementValueDidChange(e),r("focus-out",this,e)},keyPress:function(e){r("key-press",this,e)},keyUp:function(e){this.interpretKeyEvents(e),this.sendAction("key-up",(0,t.get)(this,"value"),e)},keyDown:function(e){this.sendAction("key-down",(0,t.get)(this,"value"),e)}})}),e("ember-views/mixins/view_state_support",["exports","ember-metal"],function(e,t){"use strict"
2411
2411
  e["default"]=t.Mixin.create({_transitionTo:function(e){var t=this._currentState,n=this._currentState=this._states[e]
2412
2412
  this._state=e,t&&t.exit&&t.exit(this),n.enter&&n.enter(this)}})}),e("ember-views/mixins/view_support",["exports","ember-utils","ember-metal","ember-debug","ember-environment","ember-views/system/utils","ember-runtime/system/core_object","ember-views/system/jquery"],function(e,t,n,r,i,o,s,a){"use strict"
@@ -2476,7 +2476,7 @@ var b,_=s.computed
2476
2476
  _.alias=s.alias,s["default"].computed=_,s["default"].ComputedProperty=s.ComputedProperty,s["default"].cacheFor=s.cacheFor,s["default"].assert=u.assert,s["default"].warn=u.warn,s["default"].debug=u.debug,s["default"].deprecate=u.deprecate,s["default"].deprecateFunc=u.deprecateFunc,s["default"].runInDebug=u.runInDebug,s["default"].Debug={registerDeprecationHandler:u.registerDeprecationHandler,registerWarnHandler:u.registerWarnHandler},s["default"].merge=s.merge,s["default"].instrument=s.instrument,s["default"].subscribe=s.instrumentationSubscribe,s["default"].Instrumentation={instrument:s.instrument,subscribe:s.instrumentationSubscribe,unsubscribe:s.instrumentationUnsubscribe,reset:s.instrumentationReset},s["default"].Error=u.Error,s["default"].META_DESC=s.META_DESC,s["default"].meta=s.meta,s["default"].get=s.get,s["default"].getWithDefault=s.getWithDefault,s["default"]._getPath=s._getPath,s["default"].set=s.set,s["default"].trySet=s.trySet,s["default"].FEATURES=a.FEATURES,s["default"].FEATURES.isEnabled=u.isFeatureEnabled,s["default"]._Cache=s.Cache,s["default"].on=s.on,s["default"].addListener=s.addListener,s["default"].removeListener=s.removeListener,s["default"]._suspendListener=s.suspendListener,s["default"]._suspendListeners=s.suspendListeners,s["default"].sendEvent=s.sendEvent,s["default"].hasListeners=s.hasListeners,s["default"].watchedEvents=s.watchedEvents,s["default"].listenersFor=s.listenersFor,s["default"].accumulateListeners=s.accumulateListeners,s["default"].isNone=s.isNone,s["default"].isEmpty=s.isEmpty,s["default"].isBlank=s.isBlank,s["default"].isPresent=s.isPresent,s["default"].run=s.run,s["default"]._ObserverSet=s.ObserverSet,s["default"].propertyWillChange=s.propertyWillChange,s["default"].propertyDidChange=s.propertyDidChange,s["default"].overrideChains=s.overrideChains,s["default"].beginPropertyChanges=s.beginPropertyChanges,s["default"].endPropertyChanges=s.endPropertyChanges,s["default"].changeProperties=s.changeProperties,s["default"].platform={defineProperty:!0,hasPropertyAccessors:!0},s["default"].defineProperty=s.defineProperty,s["default"].watchKey=s.watchKey,s["default"].unwatchKey=s.unwatchKey,s["default"].removeChainWatcher=s.removeChainWatcher,s["default"]._ChainNode=s.ChainNode,s["default"].finishChains=s.finishChains,s["default"].watchPath=s.watchPath,s["default"].unwatchPath=s.unwatchPath,s["default"].watch=s.watch,s["default"].isWatching=s.isWatching,s["default"].unwatch=s.unwatch,s["default"].destroy=s.destroy,s["default"].libraries=s.libraries,s["default"].OrderedSet=s.OrderedSet,s["default"].Map=s.Map,s["default"].MapWithDefault=s.MapWithDefault,s["default"].getProperties=s.getProperties,s["default"].setProperties=s.setProperties,s["default"].expandProperties=s.expandProperties,s["default"].NAME_KEY=i.NAME_KEY,s["default"].addObserver=s.addObserver,s["default"].observersFor=s.observersFor,s["default"].removeObserver=s.removeObserver,s["default"]._suspendObserver=s._suspendObserver,s["default"]._suspendObservers=s._suspendObservers,s["default"].required=s.required,s["default"].aliasMethod=s.aliasMethod,s["default"].observer=s.observer,s["default"].immediateObserver=s._immediateObserver,s["default"].mixin=s.mixin,s["default"].Mixin=s.Mixin,s["default"].bind=s.bind,s["default"].Binding=s.Binding,s["default"].isGlobalPath=s.isGlobalPath,Object.defineProperty(s["default"],"ENV",{get:function(){return n.ENV},enumerable:!1}),Object.defineProperty(s["default"],"lookup",{get:function(){return n.context.lookup},set:function(e){n.context.lookup=e},enumerable:!1}),s["default"].EXTEND_PROTOTYPES=n.ENV.EXTEND_PROTOTYPES,Object.defineProperty(s["default"],"LOG_STACKTRACE_ON_DEPRECATION",{get:function(){return n.ENV.LOG_STACKTRACE_ON_DEPRECATION},set:function(e){n.ENV.LOG_STACKTRACE_ON_DEPRECATION=!!e},enumerable:!1}),Object.defineProperty(s["default"],"LOG_VERSION",{get:function(){return n.ENV.LOG_VERSION},set:function(e){n.ENV.LOG_VERSION=!!e},enumerable:!1}),Object.defineProperty(s["default"],"LOG_BINDINGS",{get:function(){return n.ENV.LOG_BINDINGS},set:function(e){n.ENV.LOG_BINDINGS=!!e},enumerable:!1}),Object.defineProperty(s["default"],"onerror",{get:s.getOnerror,set:s.setOnerror,enumerable:!1}),Object.defineProperty(s["default"],"K",{get:function(){return v}}),Object.defineProperty(s["default"],"testing",{get:u.isTesting,set:u.setTesting,enumerable:!1}),s["default"].Backburner=function(){function e(e){return c["default"].apply(this,e)}return e.prototype=c["default"].prototype,new e(arguments)},s["default"]._Backburner=c["default"],s["default"].Logger=l["default"],s["default"].String=p.String,s["default"].Object=p.Object,s["default"]._RegistryProxyMixin=p.RegistryProxyMixin,s["default"]._ContainerProxyMixin=p.ContainerProxyMixin,s["default"].compare=p.compare,s["default"].copy=p.copy,s["default"].isEqual=p.isEqual,s["default"].inject=p.inject,s["default"].Array=p.Array,s["default"].Comparable=p.Comparable,s["default"].Enumerable=p.Enumerable,s["default"].ArrayProxy=p.ArrayProxy,s["default"].ObjectProxy=p.ObjectProxy,s["default"].ActionHandler=p.ActionHandler,s["default"].CoreObject=p.CoreObject,s["default"].NativeArray=p.NativeArray,s["default"].Copyable=p.Copyable,s["default"].Freezable=p.Freezable,s["default"].FROZEN_ERROR=p.FROZEN_ERROR,s["default"].MutableEnumerable=p.MutableEnumerable,s["default"].MutableArray=p.MutableArray,s["default"].TargetActionSupport=p.TargetActionSupport,s["default"].Evented=p.Evented,s["default"].PromiseProxyMixin=p.PromiseProxyMixin,s["default"].Observable=p.Observable,s["default"].typeOf=p.typeOf,s["default"].isArray=p.isArray,s["default"].Object=p.Object,s["default"].onLoad=p.onLoad,s["default"].runLoadHooks=p.runLoadHooks,s["default"].Controller=p.Controller,s["default"].ControllerMixin=p.ControllerMixin,s["default"].Service=p.Service,s["default"]._ProxyMixin=p._ProxyMixin,s["default"].RSVP=p.RSVP,s["default"].Namespace=p.Namespace,_.empty=p.empty,_.notEmpty=p.notEmpty,_.none=p.none,_.not=p.not,_.bool=p.bool,_.match=p.match,_.equal=p.equal,_.gt=p.gt,_.gte=p.gte,_.lt=p.lt,_.lte=p.lte,_.oneWay=p.oneWay,_.reads=p.oneWay,_.readOnly=p.readOnly,_.deprecatingAlias=p.deprecatingAlias,_.and=p.and,_.or=p.or,_.any=p.any,_.sum=p.sum,_.min=p.min,_.max=p.max,_.map=p.map,_.sort=p.sort,_.setDiff=p.setDiff,_.mapBy=p.mapBy,_.filter=p.filter,_.filterBy=p.filterBy,_.uniq=p.uniq,_.uniqBy=p.uniqBy,_.union=p.union,_.intersect=p.intersect,_.collect=p.collect,Object.defineProperty(s["default"],"STRINGS",{configurable:!1,get:p.getStrings,set:p.setStrings}),Object.defineProperty(s["default"],"BOOTED",{configurable:!1,enumerable:!1,get:p.isNamespaceSearchDisabled,set:p.setNamespaceSearchDisabled}),s["default"].Component=h.Component,h.Helper.helper=h.helper,s["default"].Helper=h.Helper,s["default"].Checkbox=h.Checkbox,s["default"].TextField=h.TextField,s["default"].TextArea=h.TextArea,s["default"].LinkComponent=h.LinkComponent,n.ENV.EXTEND_PROTOTYPES.String&&(String.prototype.htmlSafe=function(){return(0,h.htmlSafe)(this)})
2477
2477
  var w=s["default"].Handlebars=s["default"].Handlebars||{},E=s["default"].HTMLBars=s["default"].HTMLBars||{},C=w.Utils=w.Utils||{}
2478
2478
  Object.defineProperty(w,"SafeString",{get:h._getSafeString}),E.template=w.template=h.template,C.escapeExpression=h.escapeExpression,p.String.htmlSafe=h.htmlSafe,p.String.isHTMLSafe=h.isHTMLSafe,Object.defineProperty(s["default"],"TEMPLATES",{get:h.getTemplates,set:h.setTemplates,configurable:!1,enumerable:!1}),e.VERSION=f["default"],s["default"].VERSION=f["default"],s.libraries.registerCoreLibrary("Ember",f["default"]),s["default"].$=d.jQuery,s["default"].ViewTargetActionSupport=d.ViewTargetActionSupport,s["default"].ViewUtils={isSimpleClick:d.isSimpleClick,getViewElement:d.getViewElement,getViewBounds:d.getViewBounds,getViewClientRects:d.getViewClientRects,getViewBoundingClientRect:d.getViewBoundingClientRect,getRootViews:d.getRootViews,getChildViews:d.getChildViews},s["default"].TextSupport=d.TextSupport,s["default"].ComponentLookup=d.ComponentLookup,s["default"].EventDispatcher=d.EventDispatcher,s["default"].Location=m.Location,s["default"].AutoLocation=m.AutoLocation,s["default"].HashLocation=m.HashLocation,s["default"].HistoryLocation=m.HistoryLocation,s["default"].NoneLocation=m.NoneLocation,s["default"].controllerFor=m.controllerFor,s["default"].generateControllerFactory=m.generateControllerFactory,s["default"].generateController=m.generateController,s["default"].RouterDSL=m.RouterDSL,s["default"].Router=m.Router,s["default"].Route=m.Route,s["default"].Application=g.Application,s["default"].ApplicationInstance=g.ApplicationInstance,s["default"].Engine=g.Engine,s["default"].EngineInstance=g.EngineInstance,s["default"].DefaultResolver=s["default"].Resolver=g.Resolver,(0,p.runLoadHooks)("Ember.Application",g.Application),s["default"].DataAdapter=y.DataAdapter,s["default"].ContainerDebugAdapter=y.ContainerDebugAdapter,(0,t.has)("ember-template-compiler")&&(0,t["default"])("ember-template-compiler"),(0,t.has)("ember-testing")&&(b=(0,t["default"])("ember-testing"),s["default"].Test=b.Test,s["default"].Test.Adapter=b.Adapter,s["default"].Test.QUnitAdapter=b.QUnitAdapter,s["default"].setupForTesting=b.setupForTesting),(0,p.runLoadHooks)("Ember"),e["default"]=s["default"],r.IS_NODE?r.module.exports=s["default"]:n.context.exports.Ember=n.context.exports.Em=s["default"]}),e("ember/version",["exports"],function(e){"use strict"
2479
- e["default"]="2.14.0-beta.3"}),e("node-module",["exports"],function(e){var t="object"==typeof module&&"function"==typeof module.require
2479
+ e["default"]="2.14.0"}),e("node-module",["exports"],function(e){var t="object"==typeof module&&"function"==typeof module.require
2480
2480
  t?(e.require=module.require,e.module=module,e.IS_NODE=t):(e.require=null,e.module=null,e.IS_NODE=t)}),e("route-recognizer",["exports"],function(e){"use strict"
2481
2481
  function t(){var e=g(null)
2482
2482
  return e.__=void 0,delete e.__,e}function n(e,t,r){return function(i,o){var s=e+i
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.14.0-beta.3
9
+ * @version 2.14.0
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -16927,7 +16927,7 @@ enifed('ember-glimmer/helpers/get', ['exports', 'ember-babel', 'ember-metal', 'e
16927
16927
  if (pathType === 'string') {
16928
16928
  innerReference = this.innerReference = (0, _reference.referenceFromParts)(this.sourceReference, path.split('.'));
16929
16929
  } else if (pathType === 'number') {
16930
- innerReference = this.innerReference = this.sourceReference.get(path);
16930
+ innerReference = this.innerReference = this.sourceReference.get('' + path);
16931
16931
  }
16932
16932
 
16933
16933
  innerTag.update(innerReference.tag);
@@ -16960,21 +16960,83 @@ enifed('ember-glimmer/helpers/if-unless', ['exports', 'ember-babel', 'ember-debu
16960
16960
  exports.inlineIf =
16961
16961
 
16962
16962
  /**
16963
+ The `if` helper allows you to conditionally render one of two branches,
16964
+ depending on the "truthiness" of a property.
16965
+ For example the following values are all falsey: `false`, `undefined`, `null`, `""`, `0`, `NaN` or an empty array.
16966
+
16967
+ This helper has two forms, block and inline.
16968
+
16969
+ ## Block form
16970
+
16971
+ You can use the block form of `if` to conditionally render a section of the template.
16972
+
16973
+ To use it, pass the conditional value to the `if` helper,
16974
+ using the block form to wrap the section of template you want to conditionally render.
16975
+ Like so:
16976
+
16977
+ ```handlebars
16978
+ {{! will not render if foo is falsey}}
16979
+ {{#if foo}}
16980
+ Welcome to the {{foo.bar}}
16981
+ {{/if}}
16982
+ ```
16983
+
16984
+ You can also specify a template to show if the property is falsey by using
16985
+ the `else` helper.
16986
+
16987
+ ```handlebars
16988
+ {{! is it raining outside?}}
16989
+ {{#if isRaining}}
16990
+ Yes, grab an umbrella!
16991
+ {{else}}
16992
+ No, it's lovely outside!
16993
+ {{/if}}
16994
+ ```
16995
+
16996
+ You are also able to combine `else` and `if` helpers to create more complex
16997
+ conditional logic.
16998
+
16999
+ ```handlebars
17000
+ {{#if isMorning}}
17001
+ Good morning
17002
+ {{else if isAfternoon}}
17003
+ Good afternoon
17004
+ {{else}}
17005
+ Good night
17006
+ {{/if}}
17007
+ ```
17008
+
17009
+ ## Inline form
17010
+
16963
17011
  The inline `if` helper conditionally renders a single property or string.
16964
- This helper acts like a ternary operator. If the first property is truthy,
16965
- the second argument will be displayed, otherwise, the third argument will be
16966
- displayed
17012
+
17013
+ In this form, the `if` helper receives three arguments, the conditional value,
17014
+ the value to render when truthy, and the value to render when falsey.
17015
+
17016
+ For example, if `useLongGreeting` is truthy, the following:
16967
17017
 
16968
17018
  ```handlebars
16969
17019
  {{if useLongGreeting "Hello" "Hi"}} Alex
16970
17020
  ```
16971
17021
 
16972
- You can use the `if` helper inside another helper as a subexpression.
17022
+ Will render:
17023
+
17024
+ ```html
17025
+ Hello Alex
17026
+ ```
17027
+
17028
+ ### Nested `if`
17029
+
17030
+ You can use the `if` helper inside another helper as a nested helper:
16973
17031
 
16974
17032
  ```handlebars
16975
17033
  {{some-component height=(if isBig "100" "10")}}
16976
17034
  ```
16977
17035
 
17036
+ One detail to keep in mind is that both branches of the `if` helper will be evaluated,
17037
+ so if you have `{{if condition "foo" (expensive-operation "bar")`,
17038
+ `expensive-operation` will always calculate.
17039
+
16978
17040
  @method if
16979
17041
  @for Ember.Templates.helpers
16980
17042
  @public
@@ -20696,6 +20758,9 @@ enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-
20696
20758
  });
20697
20759
  var UPDATE = exports.UPDATE = (0, _emberUtils.symbol)('UPDATE');
20698
20760
 
20761
+ // @abstract
20762
+ // @implements PathReference
20763
+
20699
20764
  var EmberPathReference = function () {
20700
20765
  function EmberPathReference() {}
20701
20766
 
@@ -30961,7 +31026,7 @@ enifed('ember-routing/system/route', ['exports', 'ember-utils', 'ember-metal', '
30961
31026
  the server that is required to enter a route.
30962
31027
  @method beforeModel
30963
31028
  @param {Transition} transition
30964
- @return {Promise} if the value returned from this hook is
31029
+ @return {any | Promise<any>} if the value returned from this hook is
30965
31030
  a promise, the transition will pause until the transition
30966
31031
  resolves. Otherwise, non-promise return values are not
30967
31032
  utilized in any way.
@@ -30994,7 +31059,7 @@ enifed('ember-routing/system/route', ['exports', 'ember-utils', 'ember-metal', '
30994
31059
  @param {Object} resolvedModel the value returned from `model`,
30995
31060
  or its resolved value if it was a promise
30996
31061
  @param {Transition} transition
30997
- @return {Promise} if the value returned from this hook is
31062
+ @return {any | Promise<any>} if the value returned from this hook is
30998
31063
  a promise, the transition will pause until the transition
30999
31064
  resolves. Otherwise, non-promise return values are not
31000
31065
  utilized in any way.
@@ -42000,7 +42065,7 @@ enifed('ember-views/mixins/text_support', ['exports', 'ember-metal', 'ember-runt
42000
42065
  exports.default = _emberMetal.Mixin.create(_emberRuntime.TargetActionSupport, {
42001
42066
  value: '',
42002
42067
 
42003
- attributeBindings: ['autocapitalize', 'autocorrect', 'autofocus', 'disabled', 'form', 'maxlength', 'placeholder', 'readonly', 'required', 'selectionDirection', 'spellcheck', 'tabindex', 'title'],
42068
+ attributeBindings: ['autocapitalize', 'autocorrect', 'autofocus', 'disabled', 'form', 'maxlength', 'minlength', 'placeholder', 'readonly', 'required', 'selectionDirection', 'spellcheck', 'tabindex', 'title'],
42004
42069
  placeholder: null,
42005
42070
  disabled: false,
42006
42071
  maxlength: null,
@@ -42394,7 +42459,7 @@ enifed('ember-views/mixins/view_support', ['exports', 'ember-utils', 'ember-meta
42394
42459
 
42395
42460
  false && !false && (0, _emberDebug.deprecate)('`eventManager` has been deprecated in ' + this + '.', false, {
42396
42461
  id: 'ember-views.event-dispatcher.canDispatchToEventManager',
42397
- until: '2.16.0'
42462
+ until: '2.17.0'
42398
42463
  });
42399
42464
 
42400
42465
  if (dispatcher && !('canDispatchToEventManager' in dispatcher)) {
@@ -42572,7 +42637,7 @@ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-
42572
42637
  false && !_emberEnvironment.environment.hasDOM && (0, _emberDebug.assert)('EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.', _emberEnvironment.environment.hasDOM);
42573
42638
  false && !!('canDispatchToEventManager' in this) && (0, _emberDebug.deprecate)('`canDispatchToEventManager` has been deprecated in ' + this + '.', !('canDispatchToEventManager' in this), {
42574
42639
  id: 'ember-views.event-dispatcher.canDispatchToEventManager',
42575
- until: '2.16.0'
42640
+ until: '2.17.0'
42576
42641
  });
42577
42642
  },
42578
42643
 
@@ -43821,7 +43886,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'node-module',
43821
43886
  enifed("ember/version", ["exports"], function (exports) {
43822
43887
  "use strict";
43823
43888
 
43824
- exports.default = "2.14.0-beta.3";
43889
+ exports.default = "2.14.0";
43825
43890
  });
43826
43891
  enifed('node-module', ['exports'], function(_exports) {
43827
43892
  var IS_NODE = typeof module === 'object' && typeof module.require === 'function';