ember-source 5.0.0 → 5.1.0-alpha.2
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.
- package/build-metadata.json +3 -3
- package/dist/ember-template-compiler.js +19 -35
- package/dist/ember-template-compiler.map +1 -1
- package/dist/ember-testing.js +8 -31
- package/dist/ember-testing.map +1 -1
- package/dist/ember.debug.js +798 -436
- package/dist/ember.debug.map +1 -1
- package/dist/header/license.js +1 -1
- package/dist/packages/@ember/-internals/glimmer/index.js +44 -89
- package/dist/packages/@ember/-internals/metal/index.js +7 -66
- package/dist/packages/@ember/-internals/utility-types/index.js +1 -1
- package/dist/packages/@ember/array/proxy.js +0 -1
- package/dist/packages/@ember/component/template-only.js +15 -27
- package/dist/packages/@ember/debug/index.js +6 -30
- package/dist/packages/@ember/debug/lib/warn.js +1 -0
- package/dist/packages/@ember/helper/index.js +139 -3
- package/dist/packages/@ember/modifier/index.js +11 -3
- package/dist/packages/@ember/object/core.js +37 -0
- package/dist/packages/@ember/object/mixin.js +1 -1
- package/dist/packages/@ember/object/proxy.js +1 -0
- package/dist/packages/@ember/routing/lib/utils.js +0 -1
- package/dist/packages/@ember/routing/route.js +8 -0
- package/dist/packages/@ember/routing/router-service.js +0 -1
- package/dist/packages/@ember/runloop/-private/backburner.js +10 -0
- package/dist/packages/@ember/runloop/index.js +6 -2
- package/dist/packages/@ember/test/index.js +5 -3
- package/dist/packages/ember/index.js +229 -220
- package/dist/packages/ember/version.js +1 -1
- package/dist/packages/ember-testing/lib/test/waiters.js +4 -1
- package/docs/data.json +478 -327
- package/package.json +26 -23
- package/types/publish.mjs +147 -354
- package/types/stable/@ember/-internals/glimmer/index.d.ts +6 -1
- package/types/stable/@ember/-internals/glimmer/lib/component.d.ts +256 -132
- package/types/stable/@ember/-internals/glimmer/lib/components/input.d.ts +5 -2
- package/types/stable/@ember/-internals/glimmer/lib/components/link-to.d.ts +5 -2
- package/types/stable/@ember/-internals/glimmer/lib/components/textarea.d.ts +8 -2
- package/types/stable/@ember/-internals/glimmer/lib/helper.d.ts +66 -56
- package/types/stable/@ember/-internals/glimmer/lib/templates/empty.d.ts +5 -0
- package/types/stable/@ember/-internals/glimmer/lib/templates/input.d.ts +5 -0
- package/types/stable/@ember/-internals/glimmer/lib/templates/link-to.d.ts +5 -0
- package/types/stable/@ember/-internals/glimmer/lib/templates/outlet.d.ts +5 -0
- package/types/stable/@ember/-internals/glimmer/lib/templates/root.d.ts +5 -0
- package/types/stable/@ember/-internals/glimmer/lib/templates/textarea.d.ts +5 -0
- package/types/stable/@ember/-internals/metal/lib/computed.d.ts +2 -1
- package/types/stable/@ember/-internals/metal/lib/computed_cache.d.ts +1 -0
- package/types/stable/@ember/-internals/metal/lib/get_properties.d.ts +4 -2
- package/types/stable/@ember/-internals/metal/lib/set_properties.d.ts +3 -5
- package/types/stable/@ember/-internals/utility-types/index.d.ts +5 -0
- package/types/stable/@ember/-internals/views/lib/component_lookup.d.ts +8 -1
- package/types/stable/@ember/-internals/views/lib/system/action_manager.d.ts +3 -4
- package/types/stable/@ember/-internals/views/lib/views/core_view.d.ts +4 -6
- package/types/stable/@ember/application/instance.d.ts +1 -1
- package/types/stable/@ember/array/index.d.ts +1 -1
- package/types/stable/@ember/array/proxy.d.ts +11 -13
- package/types/stable/@ember/component/helper.d.ts +6 -1
- package/types/stable/@ember/component/template-only.d.ts +36 -1
- package/types/stable/@ember/controller/index.d.ts +6 -5
- package/types/stable/@ember/debug/data-adapter.d.ts +10 -3
- package/types/stable/@ember/debug/index.d.ts +4 -1
- package/types/stable/@ember/debug/lib/warn.d.ts +6 -1
- package/types/stable/@ember/engine/index.d.ts +2 -1
- package/types/stable/@ember/engine/instance.d.ts +2 -1
- package/types/stable/@ember/helper/index.d.ts +141 -3
- package/types/stable/@ember/modifier/index.d.ts +11 -2
- package/types/stable/@ember/object/core.d.ts +14 -9
- package/types/stable/@ember/object/index.d.ts +3 -2
- package/types/stable/@ember/object/lib/computed/reduce_computed_macros.d.ts +1 -1
- package/types/stable/@ember/object/mixin.d.ts +2 -2
- package/types/stable/@ember/object/observable.d.ts +21 -1
- package/types/stable/@ember/object/proxy.d.ts +26 -2
- package/types/stable/@ember/routing/hash-location.d.ts +0 -6
- package/types/stable/@ember/routing/history-location.d.ts +0 -6
- package/types/stable/@ember/routing/lib/controller_for.d.ts +2 -7
- package/types/stable/@ember/routing/lib/router_state.d.ts +10 -6
- package/types/stable/@ember/routing/lib/routing-service.d.ts +3 -3
- package/types/stable/@ember/routing/lib/utils.d.ts +14 -15
- package/types/stable/@ember/routing/location-ext.d.ts +18 -0
- package/types/stable/@ember/routing/location.d.ts +0 -6
- package/types/stable/@ember/routing/none-location.d.ts +0 -6
- package/types/stable/@ember/routing/owner-ext.d.ts +11 -0
- package/types/stable/@ember/routing/route.d.ts +39 -24
- package/types/stable/@ember/routing/router-service.d.ts +18 -15
- package/types/stable/@ember/routing/router.d.ts +42 -44
- package/types/stable/@ember/routing/service-ext.d.ts +14 -0
- package/types/stable/@ember/runloop/-private/backburner.d.ts +7 -0
- package/types/stable/@ember/runloop/index.d.ts +12 -4
- package/types/stable/@ember/service/index.d.ts +20 -7
- package/types/stable/@ember/service/owner-ext.d.ts +11 -0
- package/types/stable/@ember/template-compilation/index.d.ts +16 -1
- package/types/stable/@ember/test/index.d.ts +6 -6
- package/types/stable/@ember/utils/lib/compare.d.ts +1 -1
- package/types/stable/ember/index.d.ts +320 -246
- package/types/stable/ember/version.d.ts +4 -0
- package/types/stable/ember-template-compiler/index.d.ts +1 -8
- package/types/stable/ember-template-compiler/lib/types.d.ts +20 -0
- package/types/stable/ember-testing/lib/adapters/adapter.d.ts +37 -1
- package/types/stable/ember-testing/lib/adapters/qunit.d.ts +18 -3
- package/types/stable/ember-testing/lib/test/helpers.d.ts +5 -1
- package/types/stable/ember-testing/lib/test/promise.d.ts +1 -1
- package/types/stable/index.d.ts +298 -4
- package/types/stable/loader/lib/index.d.ts +4 -0
- package/types/stable/require.d.ts +4 -0
- package/types/preview/@ember/application/-private/event-dispatcher.d.ts +0 -18
- package/types/preview/@ember/application/-private/registry.d.ts +0 -15
- package/types/preview/@ember/application/index.d.ts +0 -136
- package/types/preview/@ember/application/instance.d.ts +0 -9
- package/types/preview/@ember/application/types.d.ts +0 -29
- package/types/preview/@ember/array/-private/enumerable.d.ts +0 -13
- package/types/preview/@ember/array/-private/mutable-enumerable.d.ts +0 -13
- package/types/preview/@ember/array/-private/native-array.d.ts +0 -181
- package/types/preview/@ember/array/index.d.ts +0 -251
- package/types/preview/@ember/array/mutable.d.ts +0 -94
- package/types/preview/@ember/array/proxy.d.ts +0 -29
- package/types/preview/@ember/component/-private/class-names-support.d.ts +0 -27
- package/types/preview/@ember/component/-private/core-view.d.ts +0 -14
- package/types/preview/@ember/component/-private/glimmer-interfaces.d.ts +0 -49
- package/types/preview/@ember/component/-private/signature-utils.d.ts +0 -107
- package/types/preview/@ember/component/-private/view-mixin.d.ts +0 -59
- package/types/preview/@ember/component/helper.d.ts +0 -122
- package/types/preview/@ember/component/index.d.ts +0 -164
- package/types/preview/@ember/component/template-only.d.ts +0 -47
- package/types/preview/@ember/controller/index.d.ts +0 -47
- package/types/preview/@ember/debug/container-debug-adapter.d.ts +0 -14
- package/types/preview/@ember/debug/data-adapter.d.ts +0 -64
- package/types/preview/@ember/debug/index.d.ts +0 -98
- package/types/preview/@ember/destroyable/index.d.ts +0 -23
- package/types/preview/@ember/engine/-private/container-proxy-mixin.d.ts +0 -11
- package/types/preview/@ember/engine/-private/registry-proxy-mixin.d.ts +0 -12
- package/types/preview/@ember/engine/-private/types/initializer.d.ts +0 -8
- package/types/preview/@ember/engine/index.d.ts +0 -45
- package/types/preview/@ember/engine/instance.d.ts +0 -25
- package/types/preview/@ember/helper/index.d.ts +0 -49
- package/types/preview/@ember/modifier/index.d.ts +0 -33
- package/types/preview/@ember/object/-private/action-handler.d.ts +0 -31
- package/types/preview/@ember/object/-private/types.d.ts +0 -63
- package/types/preview/@ember/object/compat.d.ts +0 -9
- package/types/preview/@ember/object/computed.d.ts +0 -263
- package/types/preview/@ember/object/core.d.ts +0 -89
- package/types/preview/@ember/object/evented.d.ts +0 -45
- package/types/preview/@ember/object/events.d.ts +0 -47
- package/types/preview/@ember/object/index.d.ts +0 -126
- package/types/preview/@ember/object/internals.d.ts +0 -17
- package/types/preview/@ember/object/mixin.d.ts +0 -19
- package/types/preview/@ember/object/observable.d.ts +0 -89
- package/types/preview/@ember/object/observers.d.ts +0 -34
- package/types/preview/@ember/object/promise-proxy-mixin.d.ts +0 -37
- package/types/preview/@ember/object/proxy.d.ts +0 -27
- package/types/preview/@ember/routing/-private/router-dsl.d.ts +0 -20
- package/types/preview/@ember/routing/hash-location.d.ts +0 -26
- package/types/preview/@ember/routing/history-location.d.ts +0 -25
- package/types/preview/@ember/routing/index.d.ts +0 -17
- package/types/preview/@ember/routing/location.d.ts +0 -104
- package/types/preview/@ember/routing/none-location.d.ts +0 -27
- package/types/preview/@ember/routing/route-info.d.ts +0 -73
- package/types/preview/@ember/routing/route.d.ts +0 -532
- package/types/preview/@ember/routing/router-service.d.ts +0 -359
- package/types/preview/@ember/routing/router.d.ts +0 -41
- package/types/preview/@ember/routing/transition.d.ts +0 -126
- package/types/preview/@ember/routing/types.d.ts +0 -15
- package/types/preview/@ember/runloop/-private/backburner.d.ts +0 -43
- package/types/preview/@ember/runloop/-private/types.d.ts +0 -9
- package/types/preview/@ember/runloop/index.d.ts +0 -175
- package/types/preview/@ember/runloop/types.d.ts +0 -5
- package/types/preview/@ember/service/index.d.ts +0 -32
- package/types/preview/@ember/template/-private/handlebars.d.ts +0 -7
- package/types/preview/@ember/template/index.d.ts +0 -6
- package/types/preview/@ember/template-compilation/index.d.ts +0 -28
- package/types/preview/@ember/test/adapter.d.ts +0 -22
- package/types/preview/@ember/test/index.d.ts +0 -49
- package/types/preview/@ember/utils/-private/types.d.ts +0 -39
- package/types/preview/@ember/utils/index.d.ts +0 -42
- package/types/preview/ember/-private/type-utils.d.ts +0 -57
- package/types/preview/ember/index.d.ts +0 -347
- package/types/preview/index.d.ts +0 -121
- /package/dist/dependencies/{backburner.js → backburner.js.js} +0 -0
|
@@ -20,6 +20,136 @@ declare module '@ember/-internals/glimmer/lib/component' {
|
|
|
20
20
|
/**
|
|
21
21
|
@module @ember/component
|
|
22
22
|
*/
|
|
23
|
+
interface ComponentMethods {
|
|
24
|
+
/**
|
|
25
|
+
Called when the attributes passed into the component have been updated.
|
|
26
|
+
Called both during the initial render of a container and during a rerender.
|
|
27
|
+
Can be used in place of an observer; code placed here will be executed
|
|
28
|
+
every time any attribute updates.
|
|
29
|
+
@method didReceiveAttrs
|
|
30
|
+
@public
|
|
31
|
+
@since 1.13.0
|
|
32
|
+
*/
|
|
33
|
+
didReceiveAttrs(): void;
|
|
34
|
+
/**
|
|
35
|
+
Called when the attributes passed into the component have been updated.
|
|
36
|
+
Called both during the initial render of a container and during a rerender.
|
|
37
|
+
Can be used in place of an observer; code placed here will be executed
|
|
38
|
+
every time any attribute updates.
|
|
39
|
+
@event didReceiveAttrs
|
|
40
|
+
@public
|
|
41
|
+
@since 1.13.0
|
|
42
|
+
*/
|
|
43
|
+
/**
|
|
44
|
+
Called after a component has been rendered, both on initial render and
|
|
45
|
+
in subsequent rerenders.
|
|
46
|
+
@method didRender
|
|
47
|
+
@public
|
|
48
|
+
@since 1.13.0
|
|
49
|
+
*/
|
|
50
|
+
didRender(): void;
|
|
51
|
+
/**
|
|
52
|
+
Called after a component has been rendered, both on initial render and
|
|
53
|
+
in subsequent rerenders.
|
|
54
|
+
@event didRender
|
|
55
|
+
@public
|
|
56
|
+
@since 1.13.0
|
|
57
|
+
*/
|
|
58
|
+
/**
|
|
59
|
+
Called before a component has been rendered, both on initial render and
|
|
60
|
+
in subsequent rerenders.
|
|
61
|
+
@method willRender
|
|
62
|
+
@public
|
|
63
|
+
@since 1.13.0
|
|
64
|
+
*/
|
|
65
|
+
willRender(): void;
|
|
66
|
+
/**
|
|
67
|
+
Called before a component has been rendered, both on initial render and
|
|
68
|
+
in subsequent rerenders.
|
|
69
|
+
@event willRender
|
|
70
|
+
@public
|
|
71
|
+
@since 1.13.0
|
|
72
|
+
*/
|
|
73
|
+
/**
|
|
74
|
+
Called when the attributes passed into the component have been changed.
|
|
75
|
+
Called only during a rerender, not during an initial render.
|
|
76
|
+
@method didUpdateAttrs
|
|
77
|
+
@public
|
|
78
|
+
@since 1.13.0
|
|
79
|
+
*/
|
|
80
|
+
didUpdateAttrs(): void;
|
|
81
|
+
/**
|
|
82
|
+
Called when the attributes passed into the component have been changed.
|
|
83
|
+
Called only during a rerender, not during an initial render.
|
|
84
|
+
@event didUpdateAttrs
|
|
85
|
+
@public
|
|
86
|
+
@since 1.13.0
|
|
87
|
+
*/
|
|
88
|
+
/**
|
|
89
|
+
Called when the component is about to update and rerender itself.
|
|
90
|
+
Called only during a rerender, not during an initial render.
|
|
91
|
+
@method willUpdate
|
|
92
|
+
@public
|
|
93
|
+
@since 1.13.0
|
|
94
|
+
*/
|
|
95
|
+
willUpdate(): void;
|
|
96
|
+
/**
|
|
97
|
+
Called when the component is about to update and rerender itself.
|
|
98
|
+
Called only during a rerender, not during an initial render.
|
|
99
|
+
@event willUpdate
|
|
100
|
+
@public
|
|
101
|
+
@since 1.13.0
|
|
102
|
+
*/
|
|
103
|
+
/**
|
|
104
|
+
Called when the component has updated and rerendered itself.
|
|
105
|
+
Called only during a rerender, not during an initial render.
|
|
106
|
+
@method didUpdate
|
|
107
|
+
@public
|
|
108
|
+
@since 1.13.0
|
|
109
|
+
*/
|
|
110
|
+
didUpdate(): void;
|
|
111
|
+
/**
|
|
112
|
+
Called when the component has updated and rerendered itself.
|
|
113
|
+
Called only during a rerender, not during an initial render.
|
|
114
|
+
@event didUpdate
|
|
115
|
+
@public
|
|
116
|
+
@since 1.13.0
|
|
117
|
+
*/
|
|
118
|
+
/**
|
|
119
|
+
The HTML `id` of the component's element in the DOM. You can provide this
|
|
120
|
+
value yourself but it must be unique (just as in HTML):
|
|
121
|
+
|
|
122
|
+
```handlebars
|
|
123
|
+
{{my-component elementId="a-really-cool-id"}}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
```handlebars
|
|
127
|
+
<MyComponent @elementId="a-really-cool-id" />
|
|
128
|
+
```
|
|
129
|
+
If not manually set a default value will be provided by the framework.
|
|
130
|
+
Once rendered an element's `elementId` is considered immutable and you
|
|
131
|
+
should never change it. If you need to compute a dynamic value for the
|
|
132
|
+
`elementId`, you should do this when the component or element is being
|
|
133
|
+
instantiated:
|
|
134
|
+
|
|
135
|
+
```javascript
|
|
136
|
+
export default Component.extend({
|
|
137
|
+
init() {
|
|
138
|
+
this._super(...arguments);
|
|
139
|
+
|
|
140
|
+
var index = this.get('index');
|
|
141
|
+
this.set('elementId', `component-id${index}`);
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
@property elementId
|
|
147
|
+
@type String
|
|
148
|
+
@public
|
|
149
|
+
*/
|
|
150
|
+
layoutName?: string;
|
|
151
|
+
}
|
|
152
|
+
const SIGNATURE: unique symbol;
|
|
23
153
|
/**
|
|
24
154
|
A component is a reusable UI element that consists of a `.hbs` template and an
|
|
25
155
|
optional JavaScript class that defines its behavior. For example, someone
|
|
@@ -634,136 +764,7 @@ declare module '@ember/-internals/glimmer/lib/component' {
|
|
|
634
764
|
@uses Ember.ViewStateSupport
|
|
635
765
|
@public
|
|
636
766
|
*/
|
|
637
|
-
interface
|
|
638
|
-
/**
|
|
639
|
-
Called when the attributes passed into the component have been updated.
|
|
640
|
-
Called both during the initial render of a container and during a rerender.
|
|
641
|
-
Can be used in place of an observer; code placed here will be executed
|
|
642
|
-
every time any attribute updates.
|
|
643
|
-
@method didReceiveAttrs
|
|
644
|
-
@public
|
|
645
|
-
@since 1.13.0
|
|
646
|
-
*/
|
|
647
|
-
didReceiveAttrs(): void;
|
|
648
|
-
/**
|
|
649
|
-
Called when the attributes passed into the component have been updated.
|
|
650
|
-
Called both during the initial render of a container and during a rerender.
|
|
651
|
-
Can be used in place of an observer; code placed here will be executed
|
|
652
|
-
every time any attribute updates.
|
|
653
|
-
@event didReceiveAttrs
|
|
654
|
-
@public
|
|
655
|
-
@since 1.13.0
|
|
656
|
-
*/
|
|
657
|
-
/**
|
|
658
|
-
Called after a component has been rendered, both on initial render and
|
|
659
|
-
in subsequent rerenders.
|
|
660
|
-
@method didRender
|
|
661
|
-
@public
|
|
662
|
-
@since 1.13.0
|
|
663
|
-
*/
|
|
664
|
-
didRender(): void;
|
|
665
|
-
/**
|
|
666
|
-
Called after a component has been rendered, both on initial render and
|
|
667
|
-
in subsequent rerenders.
|
|
668
|
-
@event didRender
|
|
669
|
-
@public
|
|
670
|
-
@since 1.13.0
|
|
671
|
-
*/
|
|
672
|
-
/**
|
|
673
|
-
Called before a component has been rendered, both on initial render and
|
|
674
|
-
in subsequent rerenders.
|
|
675
|
-
@method willRender
|
|
676
|
-
@public
|
|
677
|
-
@since 1.13.0
|
|
678
|
-
*/
|
|
679
|
-
willRender(): void;
|
|
680
|
-
/**
|
|
681
|
-
Called before a component has been rendered, both on initial render and
|
|
682
|
-
in subsequent rerenders.
|
|
683
|
-
@event willRender
|
|
684
|
-
@public
|
|
685
|
-
@since 1.13.0
|
|
686
|
-
*/
|
|
687
|
-
/**
|
|
688
|
-
Called when the attributes passed into the component have been changed.
|
|
689
|
-
Called only during a rerender, not during an initial render.
|
|
690
|
-
@method didUpdateAttrs
|
|
691
|
-
@public
|
|
692
|
-
@since 1.13.0
|
|
693
|
-
*/
|
|
694
|
-
didUpdateAttrs(): void;
|
|
695
|
-
/**
|
|
696
|
-
Called when the attributes passed into the component have been changed.
|
|
697
|
-
Called only during a rerender, not during an initial render.
|
|
698
|
-
@event didUpdateAttrs
|
|
699
|
-
@public
|
|
700
|
-
@since 1.13.0
|
|
701
|
-
*/
|
|
702
|
-
/**
|
|
703
|
-
Called when the component is about to update and rerender itself.
|
|
704
|
-
Called only during a rerender, not during an initial render.
|
|
705
|
-
@method willUpdate
|
|
706
|
-
@public
|
|
707
|
-
@since 1.13.0
|
|
708
|
-
*/
|
|
709
|
-
willUpdate(): void;
|
|
710
|
-
/**
|
|
711
|
-
Called when the component is about to update and rerender itself.
|
|
712
|
-
Called only during a rerender, not during an initial render.
|
|
713
|
-
@event willUpdate
|
|
714
|
-
@public
|
|
715
|
-
@since 1.13.0
|
|
716
|
-
*/
|
|
717
|
-
/**
|
|
718
|
-
Called when the component has updated and rerendered itself.
|
|
719
|
-
Called only during a rerender, not during an initial render.
|
|
720
|
-
@method didUpdate
|
|
721
|
-
@public
|
|
722
|
-
@since 1.13.0
|
|
723
|
-
*/
|
|
724
|
-
didUpdate(): void;
|
|
725
|
-
/**
|
|
726
|
-
Called when the component has updated and rerendered itself.
|
|
727
|
-
Called only during a rerender, not during an initial render.
|
|
728
|
-
@event didUpdate
|
|
729
|
-
@public
|
|
730
|
-
@since 1.13.0
|
|
731
|
-
*/
|
|
732
|
-
/**
|
|
733
|
-
The HTML `id` of the component's element in the DOM. You can provide this
|
|
734
|
-
value yourself but it must be unique (just as in HTML):
|
|
735
|
-
|
|
736
|
-
```handlebars
|
|
737
|
-
{{my-component elementId="a-really-cool-id"}}
|
|
738
|
-
```
|
|
739
|
-
|
|
740
|
-
```handlebars
|
|
741
|
-
<MyComponent @elementId="a-really-cool-id" />
|
|
742
|
-
```
|
|
743
|
-
If not manually set a default value will be provided by the framework.
|
|
744
|
-
Once rendered an element's `elementId` is considered immutable and you
|
|
745
|
-
should never change it. If you need to compute a dynamic value for the
|
|
746
|
-
`elementId`, you should do this when the component or element is being
|
|
747
|
-
instantiated:
|
|
748
|
-
|
|
749
|
-
```javascript
|
|
750
|
-
export default Component.extend({
|
|
751
|
-
init() {
|
|
752
|
-
this._super(...arguments);
|
|
753
|
-
|
|
754
|
-
var index = this.get('index');
|
|
755
|
-
this.set('elementId', `component-id${index}`);
|
|
756
|
-
}
|
|
757
|
-
});
|
|
758
|
-
```
|
|
759
|
-
|
|
760
|
-
@property elementId
|
|
761
|
-
@type String
|
|
762
|
-
@public
|
|
763
|
-
*/
|
|
764
|
-
layoutName?: string;
|
|
765
|
-
}
|
|
766
|
-
interface Component
|
|
767
|
+
interface Component<S = unknown>
|
|
767
768
|
extends CoreView,
|
|
768
769
|
ChildViewsSupport,
|
|
769
770
|
ViewStateSupport,
|
|
@@ -773,9 +774,12 @@ declare module '@ember/-internals/glimmer/lib/component' {
|
|
|
773
774
|
ViewMixin,
|
|
774
775
|
ComponentMethods {}
|
|
775
776
|
const Component_base: Readonly<typeof CoreView> &
|
|
776
|
-
(new (owner?: import('@ember/-internals/owner').default | undefined) => CoreView)
|
|
777
|
-
|
|
777
|
+
(new (owner?: import('@ember/-internals/owner').default | undefined) => CoreView) &
|
|
778
|
+
import('@ember/object/mixin').default &
|
|
779
|
+
ComponentMethods;
|
|
780
|
+
class Component<S = unknown> extends Component_base implements PropertyDidChange {
|
|
778
781
|
isComponent: boolean;
|
|
782
|
+
private [SIGNATURE];
|
|
779
783
|
_superRerender: ViewMixin['rerender'];
|
|
780
784
|
[IS_DISPATCHING_ATTRS]: boolean;
|
|
781
785
|
[DIRTY_TAG]: DirtyableTag;
|
|
@@ -824,6 +828,126 @@ declare module '@ember/-internals/glimmer/lib/component' {
|
|
|
824
828
|
*/
|
|
825
829
|
readDOMAttr(name: string): any;
|
|
826
830
|
attributeBindings?: string[];
|
|
831
|
+
/**
|
|
832
|
+
Enables components to take a list of parameters as arguments.
|
|
833
|
+
For example, a component that takes two parameters with the names
|
|
834
|
+
`name` and `age`:
|
|
835
|
+
|
|
836
|
+
```app/components/my-component.js
|
|
837
|
+
import Component from '@ember/component';
|
|
838
|
+
|
|
839
|
+
let MyComponent = Component.extend();
|
|
840
|
+
|
|
841
|
+
MyComponent.reopenClass({
|
|
842
|
+
positionalParams: ['name', 'age']
|
|
843
|
+
});
|
|
844
|
+
|
|
845
|
+
export default MyComponent;
|
|
846
|
+
```
|
|
847
|
+
|
|
848
|
+
It can then be invoked like this:
|
|
849
|
+
|
|
850
|
+
```hbs
|
|
851
|
+
{{my-component "John" 38}}
|
|
852
|
+
```
|
|
853
|
+
|
|
854
|
+
The parameters can be referred to just like named parameters:
|
|
855
|
+
|
|
856
|
+
```hbs
|
|
857
|
+
Name: {{name}}, Age: {{age}}.
|
|
858
|
+
```
|
|
859
|
+
|
|
860
|
+
Using a string instead of an array allows for an arbitrary number of
|
|
861
|
+
parameters:
|
|
862
|
+
|
|
863
|
+
```app/components/my-component.js
|
|
864
|
+
import Component from '@ember/component';
|
|
865
|
+
|
|
866
|
+
let MyComponent = Component.extend();
|
|
867
|
+
|
|
868
|
+
MyComponent.reopenClass({
|
|
869
|
+
positionalParams: 'names'
|
|
870
|
+
});
|
|
871
|
+
|
|
872
|
+
export default MyComponent;
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+
It can then be invoked like this:
|
|
876
|
+
|
|
877
|
+
```hbs
|
|
878
|
+
{{my-component "John" "Michael" "Scott"}}
|
|
879
|
+
```
|
|
880
|
+
The parameters can then be referred to by enumerating over the list:
|
|
881
|
+
|
|
882
|
+
```hbs
|
|
883
|
+
{{#each names as |name|}}{{name}}{{/each}}
|
|
884
|
+
```
|
|
885
|
+
|
|
886
|
+
@static
|
|
887
|
+
@public
|
|
888
|
+
@property positionalParams
|
|
889
|
+
@since 1.13.0
|
|
890
|
+
*/ /**
|
|
891
|
+
Enables components to take a list of parameters as arguments.
|
|
892
|
+
For example, a component that takes two parameters with the names
|
|
893
|
+
`name` and `age`:
|
|
894
|
+
|
|
895
|
+
```app/components/my-component.js
|
|
896
|
+
import Component from '@ember/component';
|
|
897
|
+
|
|
898
|
+
let MyComponent = Component.extend();
|
|
899
|
+
|
|
900
|
+
MyComponent.reopenClass({
|
|
901
|
+
positionalParams: ['name', 'age']
|
|
902
|
+
});
|
|
903
|
+
|
|
904
|
+
export default MyComponent;
|
|
905
|
+
```
|
|
906
|
+
|
|
907
|
+
It can then be invoked like this:
|
|
908
|
+
|
|
909
|
+
```hbs
|
|
910
|
+
{{my-component "John" 38}}
|
|
911
|
+
```
|
|
912
|
+
|
|
913
|
+
The parameters can be referred to just like named parameters:
|
|
914
|
+
|
|
915
|
+
```hbs
|
|
916
|
+
Name: {{name}}, Age: {{age}}.
|
|
917
|
+
```
|
|
918
|
+
|
|
919
|
+
Using a string instead of an array allows for an arbitrary number of
|
|
920
|
+
parameters:
|
|
921
|
+
|
|
922
|
+
```app/components/my-component.js
|
|
923
|
+
import Component from '@ember/component';
|
|
924
|
+
|
|
925
|
+
let MyComponent = Component.extend();
|
|
926
|
+
|
|
927
|
+
MyComponent.reopenClass({
|
|
928
|
+
positionalParams: 'names'
|
|
929
|
+
});
|
|
930
|
+
|
|
931
|
+
export default MyComponent;
|
|
932
|
+
```
|
|
933
|
+
|
|
934
|
+
It can then be invoked like this:
|
|
935
|
+
|
|
936
|
+
```hbs
|
|
937
|
+
{{my-component "John" "Michael" "Scott"}}
|
|
938
|
+
```
|
|
939
|
+
The parameters can then be referred to by enumerating over the list:
|
|
940
|
+
|
|
941
|
+
```hbs
|
|
942
|
+
{{#each names as |name|}}{{name}}{{/each}}
|
|
943
|
+
```
|
|
944
|
+
|
|
945
|
+
@static
|
|
946
|
+
@public
|
|
947
|
+
@property positionalParams
|
|
948
|
+
@since 1.13.0
|
|
949
|
+
*/
|
|
950
|
+
static positionalParams: string | string[];
|
|
827
951
|
/**
|
|
828
952
|
Layout can be used to wrap content in a component.
|
|
829
953
|
@property layout
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
declare module '@ember/-internals/glimmer/lib/components/input' {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { type Opaque } from '@ember/-internals/utility-types';
|
|
3
|
+
import { type OpaqueInternalComponentConstructor } from '@ember/-internals/glimmer/lib/components/internal';
|
|
4
|
+
const Input: Input;
|
|
5
|
+
interface Input extends Opaque<'component:input'>, OpaqueInternalComponentConstructor {}
|
|
6
|
+
export default Input;
|
|
4
7
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
declare module '@ember/-internals/glimmer/lib/components/link-to' {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { type OpaqueInternalComponentConstructor } from '@ember/-internals/glimmer/lib/components/internal';
|
|
3
|
+
import { type Opaque } from '@ember/-internals/utility-types';
|
|
4
|
+
const LinkTo: LinkTo;
|
|
5
|
+
interface LinkTo extends Opaque<'component:link-to'>, OpaqueInternalComponentConstructor {}
|
|
6
|
+
export default LinkTo;
|
|
4
7
|
}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
declare module '@ember/-internals/glimmer/lib/components/textarea' {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
@module @ember/component
|
|
4
|
+
*/
|
|
5
|
+
import { type Opaque } from '@ember/-internals/utility-types';
|
|
6
|
+
import { type OpaqueInternalComponentConstructor } from '@ember/-internals/glimmer/lib/components/internal';
|
|
7
|
+
const Textarea: Textarea;
|
|
8
|
+
interface Textarea extends Opaque<'component:textarea'>, OpaqueInternalComponentConstructor {}
|
|
9
|
+
export default Textarea;
|
|
4
10
|
}
|
|
@@ -2,57 +2,30 @@ declare module '@ember/-internals/glimmer/lib/helper' {
|
|
|
2
2
|
/**
|
|
3
3
|
@module @ember/component
|
|
4
4
|
*/
|
|
5
|
-
import type { InternalFactory } from '@ember/-internals/owner';
|
|
6
5
|
import { FrameworkObject } from '@ember/object/-internals';
|
|
7
|
-
import type { Arguments,
|
|
6
|
+
import type { Arguments, HelperManager } from '@glimmer/interfaces';
|
|
8
7
|
import type { DirtyableTag } from '@glimmer/validator';
|
|
9
8
|
export const RECOMPUTE_TAG: unique symbol;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
P extends unknown[],
|
|
17
|
-
N extends Dict<unknown>
|
|
18
|
-
> = InternalFactory<SimpleHelper<T, P, N>, HelperFactory<SimpleHelper<T, P, N>>>;
|
|
19
|
-
export type ClassHelperFactory = InternalFactory<HelperInstance, HelperFactory<HelperInstance>>;
|
|
9
|
+
type GetOr<T, K, Else> = K extends keyof T ? T[K] : Else;
|
|
10
|
+
type Args<S> = GetOr<S, 'Args', {}>;
|
|
11
|
+
type DefaultPositional = unknown[];
|
|
12
|
+
type Positional<S> = GetOr<Args<S>, 'Positional', DefaultPositional>;
|
|
13
|
+
type Named<S> = GetOr<Args<S>, 'Named', object>;
|
|
14
|
+
type Return<S> = GetOr<S, 'Return', unknown>;
|
|
20
15
|
export interface HelperFactory<T> {
|
|
21
16
|
isHelperFactory: true;
|
|
22
17
|
create(): T;
|
|
23
18
|
}
|
|
24
|
-
export interface HelperInstance<
|
|
25
|
-
compute(positional:
|
|
19
|
+
export interface HelperInstance<S> {
|
|
20
|
+
compute(positional: Positional<S>, named: Named<S>): Return<S>;
|
|
26
21
|
destroy(): void;
|
|
27
22
|
[RECOMPUTE_TAG]: DirtyableTag;
|
|
28
23
|
}
|
|
29
24
|
const IS_CLASSIC_HELPER: unique symbol;
|
|
30
|
-
export interface SimpleHelper<
|
|
31
|
-
compute:
|
|
25
|
+
export interface SimpleHelper<S> {
|
|
26
|
+
compute: (positional: Positional<S>, named: Named<S>) => Return<S>;
|
|
32
27
|
}
|
|
33
|
-
|
|
34
|
-
In many cases it is not necessary to use the full `Helper` class.
|
|
35
|
-
The `helper` method create pure-function helpers without instances.
|
|
36
|
-
For example:
|
|
37
|
-
|
|
38
|
-
```app/helpers/format-currency.js
|
|
39
|
-
import { helper } from '@ember/component/helper';
|
|
40
|
-
|
|
41
|
-
export default helper(function([cents], {currency}) {
|
|
42
|
-
return `${currency}${cents * 0.01}`;
|
|
43
|
-
});
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
@static
|
|
47
|
-
@param {Function} helper The helper function
|
|
48
|
-
@method helper
|
|
49
|
-
@for @ember/component/helper
|
|
50
|
-
@public
|
|
51
|
-
@since 1.13.0
|
|
52
|
-
*/
|
|
53
|
-
export function helper<T, P extends unknown[], N extends Dict<unknown>>(
|
|
54
|
-
helperFn: HelperFunction<T, P, N>
|
|
55
|
-
): HelperFactory<SimpleHelper<T, P, N>>;
|
|
28
|
+
const SIGNATURE: unique symbol;
|
|
56
29
|
/**
|
|
57
30
|
Ember Helpers are functions that can compute values, and are used in templates.
|
|
58
31
|
For example, this code calls a helper named `format-currency`:
|
|
@@ -98,24 +71,25 @@ declare module '@ember/-internals/glimmer/lib/helper' {
|
|
|
98
71
|
@public
|
|
99
72
|
@since 1.13.0
|
|
100
73
|
*/
|
|
101
|
-
interface Helper {
|
|
74
|
+
export default interface Helper<S = unknown> {
|
|
102
75
|
/**
|
|
103
76
|
Override this function when writing a class-based helper.
|
|
104
77
|
|
|
105
78
|
@method compute
|
|
106
|
-
@param {Array}
|
|
107
|
-
@param {Object}
|
|
79
|
+
@param {Array} positional The positional arguments to the helper
|
|
80
|
+
@param {Object} named The named arguments to the helper
|
|
108
81
|
@public
|
|
109
82
|
@since 1.13.0
|
|
110
83
|
*/
|
|
111
|
-
compute(
|
|
84
|
+
compute(positional: Positional<S>, named: Named<S>): Return<S>;
|
|
112
85
|
}
|
|
113
|
-
class Helper extends FrameworkObject {
|
|
86
|
+
export default class Helper<S = unknown> extends FrameworkObject {
|
|
114
87
|
static isHelperFactory: boolean;
|
|
115
88
|
static [IS_CLASSIC_HELPER]: boolean;
|
|
116
89
|
/** @deprecated */
|
|
117
90
|
static helper: typeof helper;
|
|
118
91
|
[RECOMPUTE_TAG]: DirtyableTag;
|
|
92
|
+
private [SIGNATURE];
|
|
119
93
|
init(properties: object | undefined): void;
|
|
120
94
|
/**
|
|
121
95
|
On a class-based helper, it may be useful to force a recomputation of that
|
|
@@ -152,18 +126,11 @@ declare module '@ember/-internals/glimmer/lib/helper' {
|
|
|
152
126
|
export const CLASSIC_HELPER_MANAGER:
|
|
153
127
|
| import('@glimmer/interfaces').Helper<object>
|
|
154
128
|
| import('@glimmer/manager').CustomHelperManager<object>;
|
|
155
|
-
class Wrapper<
|
|
156
|
-
|
|
157
|
-
P extends unknown[] = unknown[],
|
|
158
|
-
N extends Dict<unknown> = Dict<unknown>
|
|
159
|
-
> implements HelperFactory<SimpleHelper<T, P, N>>
|
|
160
|
-
{
|
|
161
|
-
compute: HelperFunction<T, P, N>;
|
|
129
|
+
class Wrapper<S = unknown> implements HelperFactory<SimpleHelper<S>> {
|
|
130
|
+
compute: (positional: Positional<S>, named: Named<S>) => Return<S>;
|
|
162
131
|
readonly isHelperFactory = true;
|
|
163
|
-
constructor(compute:
|
|
164
|
-
create():
|
|
165
|
-
compute: HelperFunction<T, P, N>;
|
|
166
|
-
};
|
|
132
|
+
constructor(compute: (positional: Positional<S>, named: Named<S>) => Return<S>);
|
|
133
|
+
create(): SimpleHelper<S>;
|
|
167
134
|
}
|
|
168
135
|
class SimpleClassicHelperManager implements HelperManager<() => unknown> {
|
|
169
136
|
capabilities: import('@glimmer/interfaces').HelperCapabilities;
|
|
@@ -172,5 +139,48 @@ declare module '@ember/-internals/glimmer/lib/helper' {
|
|
|
172
139
|
getDebugName(definition: Wrapper): string;
|
|
173
140
|
}
|
|
174
141
|
export const SIMPLE_CLASSIC_HELPER_MANAGER: SimpleClassicHelperManager;
|
|
175
|
-
|
|
142
|
+
/**
|
|
143
|
+
* The type of a function-based helper.
|
|
144
|
+
*
|
|
145
|
+
* @note This is *not* user-constructible: it is exported only so that the type
|
|
146
|
+
* returned by the `helper` function can be named (and indeed can be exported
|
|
147
|
+
* like `export default helper(...)` safely).
|
|
148
|
+
*/
|
|
149
|
+
export type FunctionBasedHelper<S> = abstract new () => FunctionBasedHelperInstance<S>;
|
|
150
|
+
export abstract class FunctionBasedHelperInstance<S> extends Helper<S> {
|
|
151
|
+
protected abstract __concrete__: never;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
In many cases it is not necessary to use the full `Helper` class.
|
|
155
|
+
The `helper` method create pure-function helpers without instances.
|
|
156
|
+
For example:
|
|
157
|
+
|
|
158
|
+
```app/helpers/format-currency.js
|
|
159
|
+
import { helper } from '@ember/component/helper';
|
|
160
|
+
|
|
161
|
+
export default helper(function([cents], {currency}) {
|
|
162
|
+
return `${currency}${cents * 0.01}`;
|
|
163
|
+
});
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
@static
|
|
167
|
+
@param {Function} helper The helper function
|
|
168
|
+
@method helper
|
|
169
|
+
@for @ember/component/helper
|
|
170
|
+
@public
|
|
171
|
+
@since 1.13.0
|
|
172
|
+
*/
|
|
173
|
+
export function helper<P extends DefaultPositional, N extends object, R = unknown>(
|
|
174
|
+
helperFn: (positional: P, named: N) => R
|
|
175
|
+
): FunctionBasedHelper<{
|
|
176
|
+
Args: {
|
|
177
|
+
Positional: P;
|
|
178
|
+
Named: N;
|
|
179
|
+
};
|
|
180
|
+
Return: R;
|
|
181
|
+
}>;
|
|
182
|
+
export function helper<S>(
|
|
183
|
+
helperFn: (positional: Positional<S>, named: Named<S>) => Return<S>
|
|
184
|
+
): FunctionBasedHelper<S>;
|
|
185
|
+
export {};
|
|
176
186
|
}
|
|
@@ -331,7 +331,8 @@ declare module '@ember/-internals/metal/lib/computed' {
|
|
|
331
331
|
@chainable
|
|
332
332
|
@public
|
|
333
333
|
*/
|
|
334
|
-
meta(
|
|
334
|
+
meta(): unknown;
|
|
335
|
+
meta(meta: unknown): ComputedDecorator;
|
|
335
336
|
/** @internal */
|
|
336
337
|
get _getter(): ComputedPropertyGetterFunction | undefined;
|
|
337
338
|
/** @internal */
|