ember-source 7.1.0-alpha.5 → 7.1.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.
- package/build-metadata.json +3 -3
- package/dist/dev/packages/@ember/-internals/glimmer/index.js +11 -11
- package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +1 -1
- package/dist/dev/packages/@ember/-internals/views/index.js +0 -1
- package/dist/dev/packages/@ember/-internals/views/lib/views/core_view.js +1 -1
- package/dist/dev/packages/@ember/application/index.js +1 -1
- package/dist/dev/packages/@ember/application/instance.js +1 -1
- package/dist/dev/packages/@ember/array/index.js +4 -0
- package/dist/dev/packages/@ember/component/helper.js +1 -1
- package/dist/dev/packages/@ember/component/index.js +15 -9
- package/dist/dev/packages/@ember/component/template-only.js +1 -1
- package/dist/dev/packages/@ember/engine/index.js +1 -3
- package/dist/dev/packages/@ember/helper/index.js +8 -37
- package/dist/dev/packages/@ember/modifier/index.js +2 -2
- package/dist/dev/packages/@ember/modifier/on.js +1 -1
- package/dist/dev/packages/@ember/object/index.js +22 -17
- package/dist/dev/packages/@ember/reactive/collections.js +2 -0
- package/dist/dev/packages/@ember/renderer/index.js +1 -1
- package/dist/dev/packages/@ember/routing/index.js +11 -7
- package/dist/dev/packages/@ember/routing/route.js +3 -3
- package/dist/dev/packages/@ember/routing/router-service.js +20 -13
- package/dist/dev/packages/@ember/template-compiler/lib/compile-options.js +3 -3
- package/dist/dev/packages/@ember/template-compiler/lib/template.js +3 -3
- package/dist/dev/packages/@ember/template-factory/index.js +1 -1
- package/dist/dev/packages/@glimmer/destroyable/index.js +1 -1
- package/dist/dev/packages/@glimmer/manager/index.js +3 -3
- package/dist/dev/packages/@glimmer/node/index.js +2 -2
- package/dist/dev/packages/@glimmer/opcode-compiler/index.js +2 -5
- package/dist/dev/packages/@glimmer/program/index.js +4 -4
- package/dist/dev/packages/@glimmer/runtime/index.js +10 -12
- package/dist/dev/packages/@glimmer/vm/index.js +1 -1
- package/dist/dev/packages/ember/version.js +1 -1
- package/dist/dev/packages/ember-template-compiler/index.js +2 -2
- package/dist/dev/packages/shared-chunks/{api-AYt3zE12.js → api-BAmlf_CN.js} +1 -1
- package/dist/dev/packages/shared-chunks/{api-WvJPuo9z.js → api-BawZUDYD.js} +1 -1
- package/dist/dev/packages/shared-chunks/assert-Zqc4wiAV.js +6 -0
- package/dist/dev/packages/shared-chunks/{compiler-CXB_8GdR.js → compiler-QUSl_urU.js} +2 -3
- package/dist/dev/packages/shared-chunks/{curly-CvC8E_4-.js → curly-BBzF_bI8.js} +1 -1
- package/dist/dev/packages/shared-chunks/curried-BZnYakIg.js +5 -0
- package/dist/dev/packages/shared-chunks/{debug-to-string-CFb7h0lY.js → debug-to-string-C6LsA_qz.js} +1 -2
- package/dist/dev/packages/shared-chunks/{element-C-QcIABg.js → element-Cf3hqNOD.js} +4 -2
- package/dist/dev/packages/shared-chunks/{element-builder-kHVx0F__.js → element-builder--iTIJyCB.js} +1 -1
- package/dist/dev/packages/shared-chunks/{get-CpJjYeJO.js → get-BehtPmsu.js} +31 -34
- package/dist/dev/packages/shared-chunks/{hash-D3BENmhU.js → hash-BTwOuDGQ.js} +17 -11
- package/dist/dev/packages/shared-chunks/{helper-DlC4YesW.js → helper-BubrhyuN.js} +20 -8
- package/dist/dev/packages/shared-chunks/{index-CTxkmV78.js → index-CL1zjHwo.js} +91 -113
- package/dist/dev/packages/shared-chunks/{index-DmGmwWPJ.js → index-CyZiGiEI.js} +5 -6
- package/dist/dev/packages/shared-chunks/{internal-CbQSKXEm.js → internal-CAL-jHZt.js} +2 -2
- package/dist/dev/packages/shared-chunks/{internal-helper-Dsl9_7H_.js → internal-helper-Ez7zbEIa.js} +1 -1
- package/dist/dev/packages/shared-chunks/{invoke-B6j6DdDz.js → invoke-B8M5fQQS.js} +2 -2
- package/dist/dev/packages/shared-chunks/{on-D8QwT-eN.js → on-BQii6ILK.js} +8 -8
- package/dist/dev/packages/shared-chunks/{or-DBU9Ge4r.js → or-BTH3yuFG.js} +1 -1
- package/dist/dev/packages/shared-chunks/{program-context-CqcQMsfa.js → program-context-CadjldRr.js} +4 -3
- package/dist/{prod/packages/shared-chunks/registers-DoamZwaG.js → dev/packages/shared-chunks/registers-C_W2qYHJ.js} +1 -1
- package/dist/dev/packages/shared-chunks/{rehydrate-builder-DdzXTaJk.js → rehydrate-builder-DCyIgnCR.js} +2 -2
- package/dist/dev/packages/shared-chunks/{render-DDdabL30.js → render-CpKaO-BO.js} +9 -8
- package/dist/dev/packages/shared-chunks/{chunk-3SQBS3Y5-Cj4eryg1.js → runtime-CYyqkz5q-BOdRhmsS.js} +4 -59
- package/dist/dev/packages/shared-chunks/{serialize-builder-B3u9Wr3n.js → serialize-builder-DxgGRvH_.js} +1 -1
- package/dist/dev/packages/shared-chunks/{setup-registry-XxD0xvgf.js → setup-registry-BQZJfq-Y.js} +7 -7
- package/dist/dev/packages/shared-chunks/syscall-ops-BPFtDquC.js +133 -0
- package/dist/dev/packages/shared-chunks/{template-kM-7TTcc.js → template-R_5UMHhb.js} +1 -1
- package/dist/dev/packages/shared-chunks/{template-only-Yluyu0DY.js → template-only-BqOt8bDl.js} +1 -1
- package/dist/dev/packages/shared-chunks/{textarea-C0Us0PNJ.js → textarea-lD4apgrP.js} +9 -5
- package/dist/dev/packages/shared-chunks/{unique-id-A83bjEE-.js → unique-id-CgmHQiwi.js} +1 -1
- package/dist/dev/packages/shared-chunks/{untouchable-this-cH6_N2LJ.js → untouchable-this-B3DVwpHS.js} +6 -6
- package/dist/dev/packages/shared-chunks/vm-ops-ImHv0Wtg.js +12 -0
- package/dist/prod/packages/@ember/-internals/container/index.js +2 -3
- package/dist/prod/packages/@ember/-internals/glimmer/index.js +9 -9
- package/dist/prod/packages/@ember/-internals/meta/lib/meta.js +0 -2
- package/dist/prod/packages/@ember/-internals/metal/index.js +16 -17
- package/dist/prod/packages/@ember/-internals/routing/index.js +1 -2
- package/dist/prod/packages/@ember/-internals/runtime/lib/ext/rsvp.js +0 -1
- package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +4 -5
- package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +1 -2
- package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/registry_proxy.js +0 -1
- package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -4
- package/dist/prod/packages/@ember/-internals/utils/index.js +0 -1
- package/dist/prod/packages/@ember/-internals/views/index.js +0 -1
- package/dist/prod/packages/@ember/-internals/views/lib/mixins/action_support.js +1 -2
- package/dist/prod/packages/@ember/-internals/views/lib/system/event_dispatcher.js +2 -3
- package/dist/prod/packages/@ember/-internals/views/lib/system/utils.js +0 -1
- package/dist/prod/packages/@ember/-internals/views/lib/views/core_view.js +2 -2
- package/dist/prod/packages/@ember/-internals/views/lib/views/states.js +0 -1
- package/dist/prod/packages/@ember/application/index.js +3 -3
- package/dist/prod/packages/@ember/application/instance.js +3 -4
- package/dist/prod/packages/@ember/application/namespace.js +1 -2
- package/dist/prod/packages/@ember/array/index.js +9 -6
- package/dist/prod/packages/@ember/array/proxy.js +5 -6
- package/dist/prod/packages/@ember/component/helper.js +1 -1
- package/dist/prod/packages/@ember/component/index.js +15 -10
- package/dist/prod/packages/@ember/controller/index.js +3 -3
- package/dist/prod/packages/@ember/debug/data-adapter.js +1 -1
- package/dist/prod/packages/@ember/engine/index.js +3 -6
- package/dist/prod/packages/@ember/engine/instance.js +0 -1
- package/dist/prod/packages/@ember/helper/index.js +5 -34
- package/dist/prod/packages/@ember/modifier/on.js +1 -1
- package/dist/prod/packages/@ember/object/-internals.js +0 -1
- package/dist/prod/packages/@ember/object/compat.js +1 -2
- package/dist/prod/packages/@ember/object/computed.js +2 -2
- package/dist/prod/packages/@ember/object/core.js +5 -6
- package/dist/prod/packages/@ember/object/evented.js +2 -2
- package/dist/prod/packages/@ember/object/events.js +1 -1
- package/dist/prod/packages/@ember/object/index.js +30 -25
- package/dist/prod/packages/@ember/object/internals.js +0 -1
- package/dist/prod/packages/@ember/object/lib/computed/computed_macros.js +4 -5
- package/dist/prod/packages/@ember/object/lib/computed/reduce_computed_macros.js +2 -3
- package/dist/prod/packages/@ember/object/mixin.js +4 -5
- package/dist/prod/packages/@ember/object/observable.js +7 -8
- package/dist/prod/packages/@ember/object/observers.js +1 -1
- package/dist/prod/packages/@ember/object/promise-proxy-mixin.js +3 -3
- package/dist/prod/packages/@ember/reactive/collections.js +2 -0
- package/dist/prod/packages/@ember/renderer/index.js +1 -1
- package/dist/prod/packages/@ember/routing/history-location.js +0 -1
- package/dist/prod/packages/@ember/routing/index.js +10 -7
- package/dist/prod/packages/@ember/routing/lib/dsl.js +0 -2
- package/dist/prod/packages/@ember/routing/lib/generate_controller.js +1 -2
- package/dist/prod/packages/@ember/routing/lib/routing-service.js +2 -3
- package/dist/prod/packages/@ember/routing/lib/utils.js +1 -2
- package/dist/prod/packages/@ember/routing/none-location.js +0 -1
- package/dist/prod/packages/@ember/routing/route.js +9 -10
- package/dist/prod/packages/@ember/routing/router-service.js +22 -16
- package/dist/prod/packages/@ember/routing/router.js +3 -4
- package/dist/prod/packages/@ember/runloop/index.js +1 -2
- package/dist/prod/packages/@ember/service/index.js +1 -1
- package/dist/prod/packages/@ember/template-compiler/lib/compile-options.js +3 -4
- package/dist/prod/packages/@ember/template-compiler/lib/plugins/assert-against-attrs.js +0 -1
- package/dist/prod/packages/@ember/template-compiler/lib/plugins/assert-against-named-outlets.js +0 -1
- package/dist/prod/packages/@ember/template-compiler/lib/plugins/assert-input-helper-without-block.js +0 -1
- package/dist/prod/packages/@ember/template-compiler/lib/plugins/assert-reserved-named-arguments.js +0 -2
- package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-each-track-array.js +0 -1
- package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-in-element.js +0 -1
- package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-resolutions.js +0 -1
- package/dist/prod/packages/@ember/template-compiler/lib/template.js +2 -2
- package/dist/prod/packages/@ember/template-factory/index.js +1 -1
- package/dist/prod/packages/@ember/utils/lib/compare.js +0 -1
- package/dist/prod/packages/@ember/utils/lib/is_empty.js +1 -1
- package/dist/prod/packages/@glimmer/node/index.js +2 -2
- package/dist/prod/packages/@glimmer/opcode-compiler/index.js +2 -5
- package/dist/prod/packages/@glimmer/program/index.js +2 -2
- package/dist/prod/packages/@glimmer/runtime/index.js +9 -11
- package/dist/prod/packages/@glimmer/tracking/index.js +1 -1
- package/dist/prod/packages/@glimmer/vm/index.js +1 -1
- package/dist/prod/packages/ember/version.js +1 -1
- package/dist/prod/packages/ember-template-compiler/index.js +2 -3
- package/dist/prod/packages/shared-chunks/{alias-CLuFeKoV.js → alias-DBW_V5vD.js} +5 -6
- package/dist/prod/packages/shared-chunks/{array-DHdr4__s.js → array-D6Couewv.js} +2 -3
- package/dist/prod/packages/shared-chunks/assert-Zqc4wiAV.js +6 -0
- package/dist/prod/packages/shared-chunks/{chain-tags-BJqcuCM1.js → chain-tags-C9rFtQ_x.js} +0 -1
- package/dist/prod/packages/shared-chunks/{compiler-DjQtTQGk.js → compiler-c4yUVrl_.js} +2 -3
- package/dist/prod/packages/shared-chunks/{computed-2Udcmflw.js → computed-DjCIU_ht.js} +3 -4
- package/dist/prod/packages/shared-chunks/{container-D5NwW5Fd.js → container-BYOnjnwz.js} +0 -1
- package/dist/prod/packages/shared-chunks/{curly-BsqvV8G0.js → curly-ZzX43b50.js} +2 -3
- package/dist/prod/packages/shared-chunks/curried-BZnYakIg.js +5 -0
- package/dist/prod/packages/shared-chunks/{debug-render-tree-BLtnOSbb.js → debug-render-tree-CF5O4-WI.js} +4 -4
- package/dist/prod/packages/shared-chunks/{decorator-DBCISop4.js → decorator-9ikVwsjY.js} +0 -1
- package/dist/prod/packages/shared-chunks/{element-BjFr0tO0.js → element-9DRa_9dO.js} +2 -1
- package/dist/prod/packages/shared-chunks/{element-builder-BPjq0rxK.js → element-builder-CnlTPNyw.js} +1 -1
- package/dist/prod/packages/shared-chunks/{events-970OxD6Q.js → events-DYrYz3V8.js} +0 -1
- package/dist/prod/packages/shared-chunks/{get-D5wxdTkY.js → get-Dt5L0TcU.js} +31 -34
- package/dist/prod/packages/shared-chunks/{get_properties-BcAC5sGx.js → get_properties-Nn08mLAH.js} +1 -1
- package/dist/prod/packages/shared-chunks/{hash-DcUe-meU.js → hash-Dkj3I4L4.js} +16 -10
- package/dist/prod/packages/shared-chunks/{helper-Da672z4a.js → helper-CN6UzshW.js} +18 -7
- package/dist/prod/packages/shared-chunks/{index--2U-v2nf.js → index-Bj71BDDA.js} +4 -5
- package/dist/prod/packages/shared-chunks/{index-D87qoERP.js → index-ClxHbCe9.js} +90 -112
- package/dist/prod/packages/shared-chunks/{injected_property-D9B-fPiH.js → injected_property--eJunJph.js} +2 -3
- package/dist/prod/packages/shared-chunks/{invoke-Dr_CRwA_.js → invoke-Cj5zMqHz.js} +1 -1
- package/dist/prod/packages/shared-chunks/{libraries-DaXpIDYN.js → libraries-_k-4KK5_.js} +1 -2
- package/dist/prod/packages/shared-chunks/{observers-Co4JALkS.js → observers-CDkeR0nI.js} +2 -2
- package/dist/prod/packages/shared-chunks/{on-C3ZQiUUD.js → on-CWgOWNSL.js} +7 -7
- package/dist/prod/packages/shared-chunks/{or-oTVMuHc8.js → or-Crsa2wci.js} +1 -1
- package/dist/prod/packages/shared-chunks/{program-context-CGMN-aQM.js → program-context-B8HKU7wu.js} +4 -3
- package/dist/prod/packages/shared-chunks/{property_get-hWJ0nGhW.js → property_get-CAFdpRyu.js} +0 -1
- package/dist/prod/packages/shared-chunks/{property_set-Dj5-ScWk.js → property_set-BunbMFtp.js} +3 -4
- package/dist/{dev/packages/shared-chunks/registers-DoamZwaG.js → prod/packages/shared-chunks/registers-C_W2qYHJ.js} +1 -1
- package/dist/prod/packages/shared-chunks/{rehydrate-builder-BKg2X6Lo.js → rehydrate-builder-DJ8k-6fg.js} +2 -2
- package/dist/prod/packages/shared-chunks/{render-nx5-PsDW.js → render-DkJJmoI4.js} +7 -6
- package/dist/prod/packages/shared-chunks/{chunk-3SQBS3Y5-Cj4eryg1.js → runtime-CYyqkz5q-BOdRhmsS.js} +4 -59
- package/dist/prod/packages/shared-chunks/{serialize-builder-BGbC30SN.js → serialize-builder-R3Ozg0sC.js} +1 -1
- package/dist/prod/packages/shared-chunks/{set_properties-oPyURk67.js → set_properties-LT3RzRmJ.js} +2 -2
- package/dist/prod/packages/shared-chunks/{setup-registry-TiaKLj5k.js → setup-registry-B3DhqtxX.js} +7 -8
- package/dist/prod/packages/shared-chunks/syscall-ops-BPFtDquC.js +133 -0
- package/dist/prod/packages/shared-chunks/{textarea-CPKZ1c_O.js → textarea-Byj32raR.js} +9 -6
- package/dist/prod/packages/shared-chunks/{tracked-CffAABMz.js → tracked-DAVrVqJl.js} +2 -3
- package/dist/prod/packages/shared-chunks/vm-ops-ImHv0Wtg.js +12 -0
- package/docs/data.json +196 -216
- package/lib/index.js +0 -1
- package/package.json +14 -15
- package/types/stable/@ember/-internals/glimmer/index.d.ts +165 -121
- package/types/stable/@ember/-internals/glimmer/lib/component.d.ts +8 -2
- package/types/stable/@ember/-internals/glimmer/lib/glimmer-tracking-docs.d.ts +12 -12
- package/types/stable/@ember/-internals/glimmer/lib/helper.d.ts +18 -6
- package/types/stable/@ember/-internals/glimmer/lib/helpers/array.d.ts +3 -1
- package/types/stable/@ember/-internals/glimmer/lib/helpers/component.d.ts +65 -121
- package/types/stable/@ember/-internals/glimmer/lib/helpers/concat.d.ts +8 -4
- package/types/stable/@ember/-internals/glimmer/lib/helpers/each-in.d.ts +16 -14
- package/types/stable/@ember/-internals/glimmer/lib/helpers/element.d.ts +2 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/fn.d.ts +11 -7
- package/types/stable/@ember/-internals/glimmer/lib/helpers/get.d.ts +23 -29
- package/types/stable/@ember/-internals/glimmer/lib/helpers/hash.d.ts +3 -1
- package/types/stable/@ember/-internals/glimmer/lib/helpers/if-unless.d.ts +95 -49
- package/types/stable/@ember/-internals/glimmer/lib/helpers/mut.d.ts +23 -54
- package/types/stable/@ember/-internals/glimmer/lib/helpers/page-title.d.ts +6 -2
- package/types/stable/@ember/-internals/glimmer/lib/helpers/readonly.d.ts +4 -8
- package/types/stable/@ember/-internals/glimmer/lib/modifiers/on.d.ts +10 -10
- package/types/stable/@ember/-internals/glimmer/lib/syntax/in-element.d.ts +2 -0
- package/types/stable/@ember/-internals/glimmer/lib/syntax/let.d.ts +2 -14
- package/types/stable/@ember/-internals/glimmer/lib/syntax/mount.d.ts +15 -11
- package/types/stable/@ember/-internals/glimmer/lib/syntax/outlet.d.ts +17 -10
- package/types/stable/@ember/-internals/runtime/lib/mixins/target_action_support.d.ts +1 -1
- package/types/stable/@ember/-internals/views/index.d.ts +0 -1
- package/types/stable/@ember/array/index.d.ts +4 -0
- package/types/stable/@ember/controller/index.d.ts +1 -1
- package/types/stable/@ember/helper/index.d.ts +0 -29
- package/types/stable/@ember/object/index.d.ts +4 -3
- package/types/stable/@ember/object/observable.d.ts +4 -0
- package/types/stable/@ember/routing/route.d.ts +1 -1
- package/types/stable/@ember/routing/router-service.d.ts +20 -12
- package/types/stable/@glimmer/runtime/lib/helpers/array.d.ts +1 -1
- package/types/stable/@glimmer/runtime/lib/helpers/concat.d.ts +8 -3
- package/types/stable/@glimmer/runtime/lib/helpers/fn.d.ts +13 -7
- package/types/stable/@glimmer/runtime/lib/helpers/get.d.ts +21 -29
- package/types/stable/@glimmer/runtime/lib/helpers/hash.d.ts +1 -1
- package/types/stable/@glimmer/syntax/lib/get-template-locals.d.ts +1 -1
- package/types/stable/@glimmer/tracking/index.d.ts +12 -12
- package/types/stable/index.d.ts +0 -1
- package/dist/dev/packages/@ember/-internals/views/lib/component_lookup.js +0 -14
- package/dist/dev/packages/shared-chunks/assert-CUCJBR2C.js +0 -19
- package/dist/dev/packages/shared-chunks/curried-BVwSNqpf.js +0 -628
- package/dist/dev/packages/shared-chunks/opcode-metadata-9iSW5JGP.js +0 -285
- package/dist/prod/packages/@ember/-internals/views/lib/component_lookup.js +0 -14
- package/dist/prod/packages/shared-chunks/assert-CUCJBR2C.js +0 -19
- package/dist/prod/packages/shared-chunks/curried-BVwSNqpf.js +0 -628
- package/dist/prod/packages/shared-chunks/opcode-metadata-9iSW5JGP.js +0 -285
- package/types/stable/@ember/-internals/views/lib/component_lookup.d.ts +0 -8
package/lib/index.js
CHANGED
|
@@ -47,7 +47,6 @@ const shim = addonV1Shim(path.join(__dirname, '..'), {
|
|
|
47
47
|
'./dist/dev/packages/@ember/-internals/utils/index.js',
|
|
48
48
|
'./dist/dev/packages/@ember/-internals/views/index.js',
|
|
49
49
|
'./dist/dev/packages/@ember/-internals/views/lib/compat/attrs.js',
|
|
50
|
-
'./dist/dev/packages/@ember/-internals/views/lib/component_lookup.js',
|
|
51
50
|
'./dist/dev/packages/@ember/-internals/views/lib/mixins/action_support.js',
|
|
52
51
|
'./dist/dev/packages/@ember/-internals/views/lib/system/utils.js',
|
|
53
52
|
'./dist/dev/packages/@ember/-internals/views/lib/views/core_view.js',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ember-source",
|
|
3
|
-
"version": "7.1.0
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"description": "A JavaScript framework for creating ambitious web applications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ember-addon"
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"test": "testem ci -f testem.js --host 127.0.0.1 --port 13141",
|
|
54
54
|
"test:blueprints": "mocha node-tests/blueprints/**/*-test.js",
|
|
55
55
|
"test:node": "qunit tests/node/**/*-test.js",
|
|
56
|
+
"test:node:vitest": "pnpm --filter ember-test-node-vitest test:node",
|
|
56
57
|
"test:browserstack": "node bin/run-browserstack-tests.js",
|
|
57
58
|
"test:wip": "vite build --mode development --minify false && testem ci",
|
|
58
59
|
"type-check:internals": "tsc --noEmit",
|
|
@@ -98,23 +99,24 @@
|
|
|
98
99
|
"@tsconfig/ember": "3.0.8",
|
|
99
100
|
"@types/qunit": "^2.19.4",
|
|
100
101
|
"@types/rsvp": "^4.0.4",
|
|
102
|
+
"@typescript-eslint/typescript-estree": "^8.59.2",
|
|
101
103
|
"ast-types": "^0.14.2",
|
|
102
104
|
"auto-dist-tag": "^2.1.1",
|
|
103
|
-
"babel-plugin-debug-macros": "1.0.
|
|
105
|
+
"babel-plugin-debug-macros": "1.0.2",
|
|
104
106
|
"babel-plugin-ember-template-compilation": "^4.0.0",
|
|
105
107
|
"dag-map": "^2.0.2",
|
|
106
|
-
"decorator-transforms": "2.
|
|
108
|
+
"decorator-transforms": "2.3.2",
|
|
107
109
|
"ember-cli": "^6.11.1",
|
|
108
110
|
"ember-cli-blueprint-test-helpers": "^0.19.2",
|
|
109
|
-
"ember-cli-browserstack": "^
|
|
111
|
+
"ember-cli-browserstack": "^4.0.0",
|
|
110
112
|
"ember-cli-dependency-checker": "^3.3.1",
|
|
111
113
|
"ember-cli-yuidoc": "^0.9.1",
|
|
112
114
|
"eslint": "^9.21.0",
|
|
113
|
-
"eslint-import-resolver-node": "^0.3.
|
|
115
|
+
"eslint-import-resolver-node": "^0.3.10",
|
|
114
116
|
"eslint-plugin-disable-features": "^0.1.3",
|
|
115
117
|
"eslint-plugin-ember-internal": "^3.0.0",
|
|
116
118
|
"eslint-plugin-import": "^2.31.0",
|
|
117
|
-
"eslint-plugin-n": "^
|
|
119
|
+
"eslint-plugin-n": "^18.0.1",
|
|
118
120
|
"eslint-plugin-qunit": "^8.1.2",
|
|
119
121
|
"execa": "^9.0.0",
|
|
120
122
|
"expect-type": "^0.15.0",
|
|
@@ -138,7 +140,7 @@
|
|
|
138
140
|
"testem-failure-only-reporter": "^1.0.0",
|
|
139
141
|
"tracerbench": "^8.0.1",
|
|
140
142
|
"typescript": "^5.7.3",
|
|
141
|
-
"typescript-eslint": "^8.
|
|
143
|
+
"typescript-eslint": "^8.59.2",
|
|
142
144
|
"vite": "^7.0.0"
|
|
143
145
|
},
|
|
144
146
|
"resolutions": {
|
|
@@ -157,7 +159,8 @@
|
|
|
157
159
|
"esbuild"
|
|
158
160
|
],
|
|
159
161
|
"patchedDependencies": {
|
|
160
|
-
"@tracerbench/core@8.0.1": "patches/@tracerbench__core@8.0.1.patch"
|
|
162
|
+
"@tracerbench/core@8.0.1": "patches/@tracerbench__core@8.0.1.patch",
|
|
163
|
+
"agadoo": "patches/agadoo.patch"
|
|
161
164
|
}
|
|
162
165
|
},
|
|
163
166
|
"peerDependencies": {
|
|
@@ -196,7 +199,6 @@
|
|
|
196
199
|
"@ember/-internals/views/index.js": "ember-source/@ember/-internals/views/index.js",
|
|
197
200
|
"@ember/-internals/views/lib/compat/attrs.js": "ember-source/@ember/-internals/views/lib/compat/attrs.js",
|
|
198
201
|
"@ember/-internals/views/lib/compat/fallback-view-registry.js": "ember-source/@ember/-internals/views/lib/compat/fallback-view-registry.js",
|
|
199
|
-
"@ember/-internals/views/lib/component_lookup.js": "ember-source/@ember/-internals/views/lib/component_lookup.js",
|
|
200
202
|
"@ember/-internals/views/lib/mixins/action_support.js": "ember-source/@ember/-internals/views/lib/mixins/action_support.js",
|
|
201
203
|
"@ember/-internals/views/lib/system/event_dispatcher.js": "ember-source/@ember/-internals/views/lib/system/event_dispatcher.js",
|
|
202
204
|
"@ember/-internals/views/lib/system/utils.js": "ember-source/@ember/-internals/views/lib/system/utils.js",
|
|
@@ -360,10 +362,7 @@
|
|
|
360
362
|
]
|
|
361
363
|
}
|
|
362
364
|
},
|
|
363
|
-
"packageManager": "pnpm@10.
|
|
364
|
-
"_originalVersion": "7.1.0
|
|
365
|
-
"_versionPreviouslyCalculated": true
|
|
366
|
-
"publishConfig": {
|
|
367
|
-
"tag": "alpha"
|
|
368
|
-
}
|
|
365
|
+
"packageManager": "pnpm@10.33.2",
|
|
366
|
+
"_originalVersion": "7.1.0",
|
|
367
|
+
"_versionPreviouslyCalculated": true
|
|
369
368
|
}
|
|
@@ -2,6 +2,23 @@ declare module '@ember/-internals/glimmer' {
|
|
|
2
2
|
/**
|
|
3
3
|
[Glimmer](https://github.com/tildeio/glimmer) is a templating engine used by Ember.js that is compatible with a subset of the [Handlebars](http://handlebarsjs.com/) syntax.
|
|
4
4
|
|
|
5
|
+
Ember ships with two types of JavaScript classes for components:
|
|
6
|
+
|
|
7
|
+
1. Glimmer components, imported from `@glimmer/component`, which are the
|
|
8
|
+
default component's for Ember Octane (3.15) and more recent editions.
|
|
9
|
+
2. Classic components, imported from `@ember/component`, which were the
|
|
10
|
+
default for older editions of Ember (pre 3.15) but are still supported.
|
|
11
|
+
|
|
12
|
+
Below is the documentation for Classic components. If you are looking for the
|
|
13
|
+
API documentation for Template-only or Glimmer components, it is [available
|
|
14
|
+
here](/ember/release/modules/@glimmer%2Fcomponent).
|
|
15
|
+
|
|
16
|
+
Note: Prior to Ember 6.8, by default, components were authored in paired `.hbs` and `.js`
|
|
17
|
+
files. This is still supported, but the default authoring format is now `.gjs` or "template tag".
|
|
18
|
+
The documentation for `@ember/component` still refers to the older authoring format. To read about
|
|
19
|
+
the new authoring format, see the
|
|
20
|
+
[Glimmer Component API documentation](/ember/release/modules/@glimmer%2Fcomponent).
|
|
21
|
+
|
|
5
22
|
### Showing a property
|
|
6
23
|
|
|
7
24
|
Templates manage the flow of an application's UI, and display state (through
|
|
@@ -96,16 +113,24 @@ declare module '@ember/-internals/glimmer' {
|
|
|
96
113
|
When designing components `{{yield}}` is used to denote where, inside the component's
|
|
97
114
|
template, an optional block passed to the component should render:
|
|
98
115
|
|
|
99
|
-
```app/templates/application.
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
116
|
+
```app/templates/application.gjs
|
|
117
|
+
import LabeledTextField from '../components/labeled-textfield';
|
|
118
|
+
|
|
119
|
+
<template>
|
|
120
|
+
<LabeledTextField @value={{@model.name}}>
|
|
121
|
+
First name:
|
|
122
|
+
</LabeledTextField>
|
|
123
|
+
</template>
|
|
103
124
|
```
|
|
104
125
|
|
|
105
|
-
```app/components/labeled-textfield.
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
126
|
+
```app/components/labeled-textfield.gjs
|
|
127
|
+
import { Input } from '@ember/component';
|
|
128
|
+
|
|
129
|
+
<template>
|
|
130
|
+
<label>
|
|
131
|
+
{{yield}} <Input @value={{@value}} />
|
|
132
|
+
</label>
|
|
133
|
+
</template>
|
|
109
134
|
```
|
|
110
135
|
|
|
111
136
|
Result:
|
|
@@ -118,19 +143,34 @@ declare module '@ember/-internals/glimmer' {
|
|
|
118
143
|
|
|
119
144
|
Additionally you can `yield` properties into the context for use by the consumer:
|
|
120
145
|
|
|
121
|
-
```app/templates/application.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
146
|
+
```app/templates/application.gjs
|
|
147
|
+
import Component from '@glimmer/component';
|
|
148
|
+
import LabeledTextField from '../components/labeled-textfield';
|
|
149
|
+
|
|
150
|
+
export default class Application extends Component {
|
|
151
|
+
firstNameValidator = (value) => {
|
|
152
|
+
// validates
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
<template>
|
|
156
|
+
<LabeledTextField @value={{@model.validation}} @validator={{this.firstNameValidator}} as |validationError|>
|
|
157
|
+
{{#if validationError}}
|
|
158
|
+
<p class="error">{{validationError}}</p>
|
|
159
|
+
{{/if}}
|
|
160
|
+
First name:
|
|
161
|
+
</LabeledTextField>
|
|
162
|
+
</template>
|
|
163
|
+
}
|
|
128
164
|
```
|
|
129
165
|
|
|
130
|
-
```app/components/labeled-textfield.
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
166
|
+
```app/components/labeled-textfield.gjs
|
|
167
|
+
import { Input } from '@ember/component';
|
|
168
|
+
|
|
169
|
+
<template>
|
|
170
|
+
<label>
|
|
171
|
+
{{yield this.validationError}} <Input @value={{@value}} />
|
|
172
|
+
</label>
|
|
173
|
+
</template>
|
|
134
174
|
```
|
|
135
175
|
|
|
136
176
|
Result:
|
|
@@ -144,17 +184,23 @@ declare module '@ember/-internals/glimmer' {
|
|
|
144
184
|
|
|
145
185
|
`yield` can also be used with the `hash` helper:
|
|
146
186
|
|
|
147
|
-
```app/templates/application.
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
187
|
+
```app/templates/application.gjs
|
|
188
|
+
import DateRanges from '../components/date-ranges';
|
|
189
|
+
|
|
190
|
+
<template>
|
|
191
|
+
<DateRanges @value={{@model.date}} as |range|>
|
|
192
|
+
Start date: {{range.start}}
|
|
193
|
+
End date: {{range.end}}
|
|
194
|
+
</DateRanges>
|
|
195
|
+
</template>
|
|
152
196
|
```
|
|
153
197
|
|
|
154
|
-
```app/components/date-ranges.
|
|
155
|
-
<
|
|
156
|
-
|
|
157
|
-
|
|
198
|
+
```app/components/date-ranges.gjs
|
|
199
|
+
<template>
|
|
200
|
+
<div>
|
|
201
|
+
{{yield (hash start=@value.start end=@value.end)}}
|
|
202
|
+
</div>
|
|
203
|
+
</template>
|
|
158
204
|
```
|
|
159
205
|
|
|
160
206
|
Result:
|
|
@@ -167,19 +213,25 @@ declare module '@ember/-internals/glimmer' {
|
|
|
167
213
|
```
|
|
168
214
|
|
|
169
215
|
Multiple values can be yielded as block params:
|
|
170
|
-
|
|
171
|
-
```app/templates/application.
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
{{
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
216
|
+
|
|
217
|
+
```app/templates/application.gjs
|
|
218
|
+
import Banner from '../components/banner';
|
|
219
|
+
|
|
220
|
+
<template>
|
|
221
|
+
<Banner @value={{@model}} as |title subtitle body|>
|
|
222
|
+
<h1>{{title}}</h1>
|
|
223
|
+
<h2>{{subtitle}}</h2>
|
|
224
|
+
{{body}}
|
|
225
|
+
</Banner>
|
|
226
|
+
</template>
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
```app/components/banner.gjs
|
|
230
|
+
<template>
|
|
231
|
+
<div>
|
|
232
|
+
{{yield "Hello title" "hello subtitle" "body text"}}
|
|
233
|
+
</div>
|
|
234
|
+
</template>
|
|
183
235
|
```
|
|
184
236
|
|
|
185
237
|
Result:
|
|
@@ -196,15 +248,19 @@ declare module '@ember/-internals/glimmer' {
|
|
|
196
248
|
|
|
197
249
|
Multiple components can be yielded with the `hash` and `component` helper:
|
|
198
250
|
|
|
199
|
-
```app/templates/application.
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
<
|
|
204
|
-
|
|
251
|
+
```app/templates/application.gjs
|
|
252
|
+
import Banner from '../components/banner';
|
|
253
|
+
|
|
254
|
+
<template>
|
|
255
|
+
<Banner @value={{@model}} as |banner|>
|
|
256
|
+
<banner.Title>Banner title</banner.Title>
|
|
257
|
+
<banner.Subtitle>Banner subtitle</banner.Subtitle>
|
|
258
|
+
<banner.Body>A load of body text</banner.Body>
|
|
259
|
+
</Banner>
|
|
260
|
+
</template>
|
|
205
261
|
```
|
|
206
262
|
|
|
207
|
-
```app/components/banner.
|
|
263
|
+
```app/components/banner.gjs
|
|
208
264
|
import Title from './banner/title';
|
|
209
265
|
import Subtitle from './banner/subtitle';
|
|
210
266
|
import Body from './banner/body';
|
|
@@ -213,19 +269,19 @@ declare module '@ember/-internals/glimmer' {
|
|
|
213
269
|
Title = Title;
|
|
214
270
|
Subtitle = Subtitle;
|
|
215
271
|
Body = Body;
|
|
272
|
+
|
|
273
|
+
<template>
|
|
274
|
+
<div>
|
|
275
|
+
{{yield (hash
|
|
276
|
+
Title=this.Title
|
|
277
|
+
Subtitle=this.Subtitle
|
|
278
|
+
Body=(component this.Body defaultArg="some value")
|
|
279
|
+
)}}
|
|
280
|
+
</div>
|
|
281
|
+
</template>
|
|
216
282
|
}
|
|
217
283
|
```
|
|
218
284
|
|
|
219
|
-
```app/components/banner.hbs
|
|
220
|
-
<div>
|
|
221
|
-
{{yield (hash
|
|
222
|
-
Title=this.Title
|
|
223
|
-
Subtitle=this.Subtitle
|
|
224
|
-
Body=(component this.Body defaultArg="some value")
|
|
225
|
-
)}}
|
|
226
|
-
</div>
|
|
227
|
-
```
|
|
228
|
-
|
|
229
285
|
Result:
|
|
230
286
|
|
|
231
287
|
```html
|
|
@@ -238,12 +294,16 @@ declare module '@ember/-internals/glimmer' {
|
|
|
238
294
|
|
|
239
295
|
A benefit of using this pattern is that the user of the component can change the order the components are displayed.
|
|
240
296
|
|
|
241
|
-
```app/templates/application.
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
<
|
|
246
|
-
|
|
297
|
+
```app/templates/application.gjs
|
|
298
|
+
import Banner from '../components/banner';
|
|
299
|
+
|
|
300
|
+
<template>
|
|
301
|
+
<Banner @value={{@model}} as |banner|>
|
|
302
|
+
<banner.Subtitle>Banner subtitle</banner.Subtitle>
|
|
303
|
+
<banner.Title>Banner title</banner.Title>
|
|
304
|
+
<banner.Body>A load of body text</banner.Body>
|
|
305
|
+
</Banner>
|
|
306
|
+
</template>
|
|
247
307
|
```
|
|
248
308
|
|
|
249
309
|
Result:
|
|
@@ -259,27 +319,33 @@ declare module '@ember/-internals/glimmer' {
|
|
|
259
319
|
Another benefit to using `yield` with the `hash` and `component` helper
|
|
260
320
|
is you can pass attributes and arguments to these components:
|
|
261
321
|
|
|
262
|
-
```app/templates/application.
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
<
|
|
267
|
-
|
|
322
|
+
```app/templates/application.gjs
|
|
323
|
+
import Banner from '../components/banner';
|
|
324
|
+
|
|
325
|
+
<template>
|
|
326
|
+
<Banner @value={{@model}} as |banner|>
|
|
327
|
+
<banner.Subtitle class="mb-1">Banner subtitle</banner.Subtitle>
|
|
328
|
+
<banner.Title @variant="loud">Banner title</banner.Title>
|
|
329
|
+
<banner.Body>A load of body text</banner.Body>
|
|
330
|
+
</Banner>
|
|
331
|
+
</template>
|
|
268
332
|
```
|
|
269
333
|
|
|
270
|
-
```app/components/banner/subtitle.
|
|
334
|
+
```app/components/banner/subtitle.gjs
|
|
271
335
|
{{!-- note the use of ..attributes --}}
|
|
272
336
|
<h2 ...attributes>
|
|
273
337
|
{{yield}}
|
|
274
338
|
</h2>
|
|
275
339
|
```
|
|
276
340
|
|
|
277
|
-
```app/components/banner/title.
|
|
278
|
-
|
|
341
|
+
```app/components/banner/title.gjs
|
|
342
|
+
<template>
|
|
343
|
+
{{#if (eq @variant "loud")}}
|
|
279
344
|
<h1 class="loud">{{yield}}</h1>
|
|
280
|
-
|
|
345
|
+
{{else}}
|
|
281
346
|
<h1 class="quiet">{{yield}}</h1>
|
|
282
|
-
|
|
347
|
+
{{/if}}
|
|
348
|
+
</template>
|
|
283
349
|
```
|
|
284
350
|
|
|
285
351
|
Result:
|
|
@@ -304,36 +370,28 @@ declare module '@ember/-internals/glimmer' {
|
|
|
304
370
|
This component is invoked with a block:
|
|
305
371
|
|
|
306
372
|
```handlebars
|
|
307
|
-
|
|
373
|
+
<MyComponent>
|
|
308
374
|
Hi Jen!
|
|
309
|
-
|
|
375
|
+
</MyComponent>
|
|
310
376
|
```
|
|
311
377
|
|
|
312
378
|
This component is invoked without a block:
|
|
313
379
|
|
|
314
380
|
```handlebars
|
|
315
|
-
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
Using angle bracket invocation, this looks like:
|
|
319
|
-
|
|
320
|
-
```html
|
|
321
|
-
<MyComponent>Hi Jen!</MyComponent> {{! with a block}}
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
```html
|
|
325
|
-
<MyComponent/> {{! without a block}}
|
|
381
|
+
<MyComponent />
|
|
326
382
|
```
|
|
327
383
|
|
|
328
384
|
This is useful when you want to create a component that can optionally take a block
|
|
329
385
|
and then render a default template when it is not invoked with a block.
|
|
330
386
|
|
|
331
|
-
```app/
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
387
|
+
```app/components/my-component.gjs
|
|
388
|
+
<template>
|
|
389
|
+
{{#if (has-block)}}
|
|
390
|
+
Welcome {{yield}}, we are happy you're here!
|
|
391
|
+
{{else}}
|
|
392
|
+
Hey you! You're great!
|
|
393
|
+
{{/if}}
|
|
394
|
+
</template>
|
|
337
395
|
```
|
|
338
396
|
|
|
339
397
|
@method has-block
|
|
@@ -346,26 +404,10 @@ declare module '@ember/-internals/glimmer' {
|
|
|
346
404
|
`{{(has-block-params)}}` indicates if the component was invoked with block params.
|
|
347
405
|
|
|
348
406
|
This component is invoked with block params:
|
|
349
|
-
|
|
350
|
-
```handlebars
|
|
351
|
-
{{#my-component as |favoriteFlavor|}}
|
|
352
|
-
Hi Jen!
|
|
353
|
-
{{/my-component}}
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
This component is invoked without block params:
|
|
357
|
-
|
|
407
|
+
|
|
358
408
|
```handlebars
|
|
359
|
-
{{#my-component}}
|
|
360
|
-
Hi Jenn!
|
|
361
|
-
{{/my-component}}
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
With angle bracket syntax, block params look like this:
|
|
365
|
-
|
|
366
|
-
```handlebars
|
|
367
409
|
<MyComponent as |favoriteFlavor|>
|
|
368
|
-
|
|
410
|
+
Hi Jen!
|
|
369
411
|
</MyComponent>
|
|
370
412
|
```
|
|
371
413
|
|
|
@@ -373,21 +415,23 @@ declare module '@ember/-internals/glimmer' {
|
|
|
373
415
|
|
|
374
416
|
```handlebars
|
|
375
417
|
<MyComponent>
|
|
376
|
-
|
|
418
|
+
Hi Jen!
|
|
377
419
|
</MyComponent>
|
|
378
420
|
```
|
|
379
421
|
|
|
380
422
|
This is useful when you want to create a component that can render itself
|
|
381
423
|
differently when it is not invoked with block params.
|
|
382
424
|
|
|
383
|
-
```app/
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
425
|
+
```app/components/my-component.gjs
|
|
426
|
+
<template>
|
|
427
|
+
{{#if (has-block-params)}}
|
|
428
|
+
Welcome {{yield this.favoriteFlavor}}, we're happy you're here and hope you
|
|
429
|
+
enjoy your favorite ice cream flavor.
|
|
430
|
+
{{else}}
|
|
431
|
+
Welcome {{yield}}, we're happy you're here, but we're unsure what
|
|
432
|
+
flavor ice cream you would enjoy.
|
|
433
|
+
{{/if}}
|
|
434
|
+
</template>
|
|
391
435
|
```
|
|
392
436
|
|
|
393
437
|
@method has-block-params
|
|
@@ -168,6 +168,12 @@ declare module '@ember/-internals/glimmer/lib/component' {
|
|
|
168
168
|
API documentation for Template-only or Glimmer components, it is [available
|
|
169
169
|
here](/ember/release/modules/@glimmer%2Fcomponent).
|
|
170
170
|
|
|
171
|
+
Note: Prior to Ember 6.8, by default, components were authored in paired `.hbs` and `.js`
|
|
172
|
+
files. This is still supported, but the default authoring format is now `.gjs` or "template tag".
|
|
173
|
+
The documentation for `@ember/component` still refers to the older authoring format. To read about
|
|
174
|
+
the new authoring format, see the
|
|
175
|
+
[Glimmer Component API documentation](/ember/release/modules/@glimmer%2Fcomponent).
|
|
176
|
+
|
|
171
177
|
## Defining a Classic Component
|
|
172
178
|
|
|
173
179
|
If you want to customize the component in order to handle events, transform
|
|
@@ -194,7 +200,7 @@ declare module '@ember/-internals/glimmer/lib/component' {
|
|
|
194
200
|
|
|
195
201
|
And then use it in the component's template:
|
|
196
202
|
|
|
197
|
-
```app/
|
|
203
|
+
```app/components/person-profile.hbs
|
|
198
204
|
<h1>{{this.displayName}}</h1>
|
|
199
205
|
{{yield}}
|
|
200
206
|
```
|
|
@@ -582,7 +588,7 @@ declare module '@ember/-internals/glimmer/lib/component' {
|
|
|
582
588
|
The `layout` property should be set to the default export of a template
|
|
583
589
|
module, which is the name of a template file without the `.hbs` extension.
|
|
584
590
|
|
|
585
|
-
```app/
|
|
591
|
+
```app/components/person-profile.hbs
|
|
586
592
|
<h1>Person's Title</h1>
|
|
587
593
|
<div class='details'>{{yield}}</div>
|
|
588
594
|
```
|
|
@@ -26,17 +26,7 @@ declare module '@ember/-internals/glimmer/lib/glimmer-tracking-docs' {
|
|
|
26
26
|
property changes, any templates that used that property, directly or
|
|
27
27
|
indirectly, will rerender. For instance, consider this component:
|
|
28
28
|
|
|
29
|
-
```
|
|
30
|
-
<div>Count: {{this.count}}</div>
|
|
31
|
-
<div>Times Ten: {{this.timesTen}}</div>
|
|
32
|
-
<div>
|
|
33
|
-
<button {{on "click" this.plusOne}}>
|
|
34
|
-
Plus One
|
|
35
|
-
</button>
|
|
36
|
-
</div>
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
```javascript
|
|
29
|
+
```gjs
|
|
40
30
|
import Component from '@glimmer/component';
|
|
41
31
|
import { tracked } from '@glimmer/tracking';
|
|
42
32
|
import { action } from '@ember/object';
|
|
@@ -52,6 +42,16 @@ declare module '@ember/-internals/glimmer/lib/glimmer-tracking-docs' {
|
|
|
52
42
|
plusOne() {
|
|
53
43
|
this.count += 1;
|
|
54
44
|
}
|
|
45
|
+
|
|
46
|
+
<template>
|
|
47
|
+
<div>Count: {{this.count}}</div>
|
|
48
|
+
<div>Times Ten: {{this.timesTen}}</div>
|
|
49
|
+
<div>
|
|
50
|
+
<button {{on "click" this.plusOne}}>
|
|
51
|
+
Plus One
|
|
52
|
+
</button>
|
|
53
|
+
</div>
|
|
54
|
+
</template>
|
|
55
55
|
}
|
|
56
56
|
```
|
|
57
57
|
|
|
@@ -61,7 +61,7 @@ declare module '@ember/-internals/glimmer/lib/glimmer-tracking-docs' {
|
|
|
61
61
|
will cause a rerender when updated - this includes through method calls and
|
|
62
62
|
other means:
|
|
63
63
|
|
|
64
|
-
```
|
|
64
|
+
```gjs
|
|
65
65
|
import Component from '@glimmer/component';
|
|
66
66
|
import { tracked } from '@glimmer/tracking';
|
|
67
67
|
|
|
@@ -29,20 +29,32 @@ declare module '@ember/-internals/glimmer/lib/helper' {
|
|
|
29
29
|
Ember Helpers are functions that can compute values, and are used in templates.
|
|
30
30
|
For example, this code calls a helper named `format-currency`:
|
|
31
31
|
|
|
32
|
-
```app/templates/application.
|
|
33
|
-
|
|
32
|
+
```app/templates/application.gjs
|
|
33
|
+
import Cost from '../components/cost';
|
|
34
|
+
|
|
35
|
+
<template>
|
|
36
|
+
<Cost @cents={{230}} />
|
|
37
|
+
</template>
|
|
34
38
|
```
|
|
35
39
|
|
|
36
|
-
```app/components/cost.
|
|
37
|
-
|
|
40
|
+
```app/components/cost.gjs
|
|
41
|
+
import formatCurrency from '../helpers/format-currency';
|
|
42
|
+
|
|
43
|
+
<template>
|
|
44
|
+
<div>{{formatCurrency @cents currency="$"}}</div>
|
|
45
|
+
</template>
|
|
38
46
|
```
|
|
39
47
|
|
|
40
48
|
Additionally a helper can be called as a nested helper.
|
|
41
49
|
In this example, we show the formatted currency value if the `showMoney`
|
|
42
50
|
named argument is truthy.
|
|
43
51
|
|
|
44
|
-
```
|
|
45
|
-
|
|
52
|
+
```gjs
|
|
53
|
+
import formatCurrency from '../helpers/format-currency';
|
|
54
|
+
|
|
55
|
+
<template>
|
|
56
|
+
{{if @showMoney (formatCurrency @cents currency="$")}}
|
|
57
|
+
</template>
|
|
46
58
|
```
|
|
47
59
|
|
|
48
60
|
Helpers defined using a class must provide a `compute` function. For example:
|
|
@@ -15,7 +15,7 @@ declare module '@ember/-internals/glimmer/lib/helpers/array' {
|
|
|
15
15
|
```
|
|
16
16
|
or
|
|
17
17
|
```handlebars
|
|
18
|
-
{{
|
|
18
|
+
{{yield people=(array
|
|
19
19
|
'Tom Dale'
|
|
20
20
|
'Yehuda Katz'
|
|
21
21
|
this.myOtherPerson)
|
|
@@ -29,6 +29,8 @@ declare module '@ember/-internals/glimmer/lib/helpers/array' {
|
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
Where the 3rd item in the array is bound to updates of the `myOtherPerson` property.
|
|
32
|
+
|
|
33
|
+
The `array` helper is built-in keyword and does not need to be imported as of v7.1.0.
|
|
32
34
|
|
|
33
35
|
@method array
|
|
34
36
|
@for @ember/helper
|